:root {
    --op-black: #08080a;
    --op-black-soft: #121114;
    --op-charcoal: #1c1a1e;
    --op-charcoal-light: #2a2730;
    --op-gold: #c9a24d;
    --op-gold-light: #ecd08c;
    --op-gold-dark: #8f6d28;
    --op-ivory: #faf7f0;
    --op-cream: #f4efe2;
    --op-muted: #6f6a63;
    --op-ivory-muted: rgba(250, 247, 240, .72);
    --op-radius-lg: 28px;
    --op-radius-md: 18px;
    --op-radius-sm: 12px;
    --op-shadow-soft: 0 14px 34px rgba(20, 16, 8, .10);
    --op-shadow-lift: 0 24px 48px rgba(20, 16, 8, .18);
    --op-shadow-gold: 0 14px 34px rgba(201, 162, 77, .35);
    --op-font-serif: 'Cormorant Garamond', 'Georgia', serif;
    --op-font-logo: 'Dancing Script', 'Cormorant Garamond', cursive;
    --op-font-sans: 'Poppins', 'Segoe UI', sans-serif;
}

* { scroll-behavior: smooth; }

body {
    background-color: var(--op-ivory);
    color: var(--op-charcoal);
    font-family: var(--op-font-sans);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .font-serif {
    font-family: var(--op-font-serif);
    font-weight: 700;
    letter-spacing: .01em;
}

a { text-decoration: none; }

.text-onca-gold { color: var(--op-gold-light) !important; }
.text-onca-muted { color: var(--op-muted); }
.text-onca-ivory { color: var(--op-ivory); }
.text-onca-ivory-muted { color: var(--op-ivory-muted); }

.eyebrow {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .78rem;
    font-weight: 600;
    color: var(--op-gold-dark);
    margin-bottom: .75rem;
}

.eyebrow-light { color: var(--op-gold-light); }

/* ===== Botões ===== */
.btn-onca {
    background: linear-gradient(135deg, var(--op-gold-light) 0%, var(--op-gold) 55%, var(--op-gold-dark) 100%);
    color: var(--op-black);
    border: none;
    border-radius: 999px;
    font-weight: 600;
    padding: .7rem 1.6rem;
    box-shadow: var(--op-shadow-gold);
    transition: transform .25s ease, box-shadow .25s ease;
}

.btn-onca:hover, .btn-onca:focus {
    color: var(--op-black);
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(201, 162, 77, .45);
}

.btn-onca-outline {
    background: transparent;
    color: var(--op-gold-light);
    border: 1.5px solid var(--op-gold);
    border-radius: 999px;
    font-weight: 600;
    padding: .68rem 1.6rem;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.btn-onca-outline:hover, .btn-onca-outline:focus {
    background: var(--op-gold);
    color: var(--op-black);
    transform: translateY(-3px);
}

.section-sobre .btn-onca-outline,
.section-colecao .btn-onca-outline {
    color: var(--op-gold-dark);
    border-color: var(--op-gold-dark);
}

.section-sobre .btn-onca-outline:hover,
.section-colecao .btn-onca-outline:hover {
    color: var(--op-black);
}

/* ===== Header ===== */
.navbar-onca {
    padding: 1.1rem 0;
    background: transparent;
    transition: background .3s ease, padding .3s ease, box-shadow .3s ease;
}

.navbar-onca.navbar-scrolled {
    background: rgba(8, 8, 10, .92);
    backdrop-filter: blur(10px);
    padding: .65rem 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}

/* Páginas sem hero escuro por trás (produto, login, cadastro, etc.) precisam do
   header já sólido desde o início — sem isso, o menu fica invisível sobre fundo claro. */
.navbar-onca.navbar-onca-solida {
    background: rgba(8, 8, 10, .95);
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}

.brand-logo-chip {
    display: inline-flex;
    align-items: center;
    background: var(--op-ivory);
    border-radius: var(--op-radius-sm);
    padding: .3rem .65rem;
    box-shadow: var(--op-shadow-soft);
    transition: transform .2s ease;
}

.navbar-brand:hover .brand-logo-chip { transform: translateY(-2px); }

.brand-logo-img { display: block; height: 42px; width: auto; object-fit: contain; }

.brand-logo-chip-footer { padding: .25rem .5rem; }
.brand-logo-chip-footer .brand-logo-img { height: 34px; }

.navbar-onca .nav-link {
    color: var(--op-ivory-muted);
    font-weight: 500;
    padding: .5rem 1rem !important;
    position: relative;
}

.navbar-onca .nav-link:hover { color: var(--op-ivory); }

.navbar-onca .nav-link::after {
    content: "";
    position: absolute;
    left: 1rem; right: 1rem; bottom: .2rem;
    height: 2px;
    background: var(--op-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}

.navbar-onca .nav-link:hover::after { transform: scaleX(1); }

.navbar-toggler {
    border: none;
    color: var(--op-ivory);
    font-size: 1.5rem;
    box-shadow: none !important;
}

.icon-btn {
    width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(250, 247, 240, .25);
    background: rgba(250, 247, 240, .06);
    color: var(--op-ivory);
    transition: background .2s ease, transform .2s ease, border-color .2s ease;
}

.icon-btn:hover {
    background: var(--op-gold);
    border-color: var(--op-gold);
    color: var(--op-black);
    transform: translateY(-2px);
}

.cart-badge {
    position: absolute;
    top: -4px; right: -4px;
    background: var(--op-gold-light);
    color: var(--op-black);
    font-size: .65rem;
    font-weight: 700;
    min-width: 18px; height: 18px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--op-black);
}

.navbar-onca .container { flex-wrap: nowrap; }

.navbar-busca {
    position: relative;
    order: 2;
    flex: 0 1 460px;
    margin: 0 1.5rem;
}

.navbar-onca .navbar-toggler { order: 3; }
.navbar-onca .navbar-collapse { order: 4; }

.busca-form {
    align-items: center;
    background: rgba(250, 247, 240, .08);
    border: 1px solid rgba(250, 247, 240, .16);
    border-radius: 999px;
    padding: .55rem .9rem;
    gap: .5rem;
}

.busca-form i { color: var(--op-ivory-muted); }

.busca-form .form-control {
    background: transparent;
    border: none;
    color: var(--op-ivory);
    box-shadow: none;
    padding: 0;
}

.busca-form .form-control::placeholder { color: var(--op-ivory-muted); }

.busca-aviso {
    position: absolute;
    top: calc(100% + .5rem);
    left: 0;
    right: 0;
    background: var(--op-black-soft);
    border: 1px solid rgba(201, 162, 77, .3);
    border-radius: var(--op-radius-sm);
    padding: .6rem .9rem;
    color: var(--op-gold-light);
    box-shadow: var(--op-shadow-lift);
    z-index: 10;
}

/* ===== Offcanvas / Modal ===== */
.offcanvas-onca, .modal-onca {
    background: var(--op-black-soft);
    color: var(--op-ivory);
}

.offcanvas-onca .offcanvas-title, .modal-onca .modal-title { font-family: var(--op-font-serif); }

.empty-paw {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: rgba(201, 162, 77, .12);
    color: var(--op-gold-light);
    font-size: 2rem;
    display: flex; align-items: center; justify-content: center;
}

/* ===== Sacola (carrinho) ===== */
#sacolaRodape { border-top: 1px solid rgba(250, 247, 240, .14); }

.sacola-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 0;
    border-bottom: 1px solid rgba(250, 247, 240, .1);
}

.sacola-item:first-child { padding-top: 0; }

.sacola-item-img {
    width: 56px; height: 56px;
    border-radius: 8px;
    object-fit: cover;
    background: rgba(250, 247, 240, .08);
    flex-shrink: 0;
}

.sacola-item-img-placeholder {
    display: flex; align-items: center; justify-content: center;
    color: var(--op-ivory-muted);
}

.sacola-item-info { flex: 1 1 auto; min-width: 0; }

.sacola-item-nome {
    font-size: .88rem;
    font-weight: 600;
    color: var(--op-ivory);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sacola-item-preco {
    font-size: .82rem;
    color: var(--op-gold-light);
    margin-bottom: .35rem;
}

.sacola-item-qtd { display: flex; align-items: center; gap: .6rem; }

.sacola-item-qtd button {
    width: 22px; height: 22px;
    border-radius: 50%;
    border: 1px solid rgba(250, 247, 240, .25);
    background: transparent;
    color: var(--op-ivory);
    font-size: .85rem;
    line-height: 1;
    padding: 0;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .2s ease, color .2s ease;
}

.sacola-item-qtd button:hover { border-color: var(--op-gold); color: var(--op-gold-light); }

.sacola-item-qtd span { font-size: .85rem; color: var(--op-ivory-muted); min-width: 14px; text-align: center; }

.sacola-item-remover {
    background: none;
    border: none;
    color: var(--op-ivory-muted);
    padding: .25rem;
    align-self: flex-start;
    transition: color .2s ease;
}

.sacola-item-remover:hover { color: #e17c7c; }

.modal-onca .form-control {
    background: rgba(250, 247, 240, .06);
    border: 1px solid rgba(250, 247, 240, .18);
    color: var(--op-ivory);
}

.modal-onca .form-label { color: var(--op-ivory-muted); font-size: .85rem; }

/* ===== Hero ===== */
.hero-onca {
    min-height: 100vh;
    background-size: cover;
    background-position: center 30%;
    position: relative;
    color: var(--op-ivory);
    padding-top: 6rem;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    background: rgba(250, 247, 240, .1);
    border: 1px solid rgba(201, 162, 77, .4);
    color: var(--op-gold-light);
    border-radius: 999px;
    padding: .45rem 1.1rem;
    font-size: .85rem;
    margin-bottom: 1.5rem;
}

.hero-brandname {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2rem;
}

.hero-brandname-main {
    font-family: var(--op-font-logo);
    font-weight: 700;
    font-size: clamp(3.4rem, 9vw, 7.5rem);
    letter-spacing: .01em;
    color: var(--op-ivory);
    text-shadow: 0 10px 40px rgba(0, 0, 0, .4);
    line-height: 1;
}

.hero-brandname-o {
    display: inline-block;
    font-size: 1.2em;
    color: var(--op-gold-light);
}

.hero-brandname-sub {
    font-family: var(--op-font-sans);
    font-size: .85rem;
    font-weight: 400;
    letter-spacing: .55em;
    text-transform: uppercase;
    color: var(--op-ivory-muted);
    margin-top: .65rem;
    padding-left: .55em;
}

.hero-title {
    font-size: clamp(1.9rem, 3.6vw, 2.75rem);
    line-height: 1.15;
    margin-bottom: 1.25rem;
    text-shadow: 0 8px 30px rgba(0, 0, 0, .35);
}

.hero-subtitle {
    max-width: 640px;
    margin: 0 auto 2.25rem;
    font-size: 1.15rem;
    color: var(--op-ivory-muted);
}

.hero-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

.hero-scroll-cue {
    position: absolute;
    bottom: 2rem; left: 50%;
    transform: translateX(-50%);
    color: var(--op-ivory);
    font-size: 1.4rem;
    opacity: .8;
    animation: onca-bounce 2.2s ease-in-out infinite;
}

@keyframes onca-bounce {
    0%, 100% { transform: translate(-50%, 0); }
    50% { transform: translate(-50%, 10px); }
}

/* ===== Faixa de confiança ===== */
.trust-strip {
    background: var(--op-cream);
    padding: 2.25rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
}

.trust-item {
    display: flex; flex-direction: column; align-items: center; gap: .5rem;
    font-weight: 500;
    color: var(--op-charcoal);
}

.trust-item i {
    font-size: 1.6rem;
    color: var(--op-gold-dark);
}

/* ===== Promoções ===== */
.section-promocoes { padding: 5rem 0 1rem; }

.carousel-promocoes { border-radius: var(--op-radius-lg); overflow: hidden; box-shadow: var(--op-shadow-lift); }

.promo-banner {
    aspect-ratio: 21 / 9;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    padding: 0 3rem;
}

.promo-banner-conteudo { max-width: 480px; color: var(--op-ivory); }

.promo-banner-selo {
    display: inline-block;
    background: rgba(201, 162, 77, .16);
    border: 1px solid rgba(201, 162, 77, .5);
    color: var(--op-gold-light);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: .75rem;
    font-weight: 700;
    padding: .4rem 1rem;
    border-radius: 999px;
    margin-bottom: 1rem;
}

.promo-banner-titulo {
    font-size: clamp(1.8rem, 3.4vw, 2.6rem);
    margin-bottom: .6rem;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .35);
}

.promo-banner-subtitulo {
    color: var(--op-ivory-muted);
    margin-bottom: 1.5rem;
}

.carousel-promocoes .carousel-control-prev,
.carousel-promocoes .carousel-control-next { width: 4rem; opacity: 1; }

.promo-carousel-nav {
    width: 42px; height: 42px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%;
    background: rgba(8, 8, 10, .45);
    border: 1px solid rgba(250, 247, 240, .3);
    color: var(--op-ivory);
    font-size: 1.1rem;
    transition: background .2s ease, border-color .2s ease;
}

.carousel-promocoes .carousel-control-prev:hover .promo-carousel-nav,
.carousel-promocoes .carousel-control-next:hover .promo-carousel-nav {
    background: var(--op-gold);
    border-color: var(--op-gold);
    color: var(--op-black);
}

.carousel-promocoes .carousel-indicators { margin-bottom: 1.1rem; }

.carousel-promocoes .carousel-indicators [data-bs-target] {
    width: 9px; height: 9px;
    border-radius: 50%;
    background-color: var(--op-ivory);
    opacity: .5;
    border: none;
}

.carousel-promocoes .carousel-indicators .active { opacity: 1; background-color: var(--op-gold); }

@media (max-width: 575.98px) {
    .promo-banner { padding: 0 1.5rem; aspect-ratio: 4 / 5; }
}

/* ===== Seção Coleção ===== */
.section-colecao { padding: 6rem 0; }

.section-heading { max-width: 640px; margin: 0 auto 2.5rem; }
.section-heading p { margin-top: .75rem; }

.filtro-sidebar {
    position: sticky;
    top: 100px;
}

.filtro-sidebar-titulo {
    font-family: var(--op-font-sans);
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--op-charcoal);
    margin-bottom: .85rem;
}

.filtro-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .1rem; }

.filtro-item {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    border-left: 3px solid transparent;
    padding: .45rem .25rem .45rem .75rem;
    font-size: .88rem;
    color: var(--op-charcoal);
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.filtro-item:hover { background: var(--op-cream); color: var(--op-gold-dark); }

.filtro-item.active {
    background: var(--op-cream);
    border-left-color: var(--op-gold);
    color: var(--op-gold-dark);
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .filtro-sidebar { position: static; margin-bottom: .5rem; }
    .filtro-lista { flex-direction: row; flex-wrap: wrap; gap: .5rem; }
    .filtro-item { width: auto; border-left: none; border: 1.5px solid rgba(0, 0, 0, .12); border-radius: 999px; padding: .5rem 1.1rem; }
    .filtro-item.active { border-color: var(--op-black); background: var(--op-black); color: var(--op-gold-light); }
}

.produto-col { transition: opacity .25s ease, transform .25s ease; }
.produto-col.filtrado-oculto { display: none; }

.card-produto {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--op-shadow-soft);
    transition: box-shadow .25s ease, border-color .25s ease;
    display: flex;
    flex-direction: column;
}

.card-produto:hover {
    border-color: rgba(0, 0, 0, .14);
    box-shadow: var(--op-shadow-lift);
}

.card-produto-imagem {
    position: relative;
    /*aspect-ratio: 4 / 5;*/
    overflow: hidden;
    background: var(--op-cream);
}

.card-produto-imagem-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--op-muted);
    font-size: 2.5rem;
}

.card-produto-imagem img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.card-produto:hover .card-produto-imagem img { transform: scale(1.08); }

.btn-favorito {
    position: absolute;
    top: 12px; right: 12px;
    width: 38px; height: 38px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, .85);
    color: var(--op-charcoal);
    display: flex; align-items: center; justify-content: center;
    transition: all .2s ease;
}

.btn-favorito:hover { background: var(--op-gold); color: var(--op-black); transform: scale(1.08); }

.card-produto-corpo {
    padding: 1rem 1.1rem 1.2rem;
    border-top: 1px solid rgba(0, 0, 0, .08);
}

.card-produto-nome {
    font-family: var(--op-font-sans);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    margin: .3rem 0 .5rem;
}

.card-produto-preco { display: flex; align-items: baseline; gap: .6rem; margin-bottom: .85rem; }

.preco-original {
    text-decoration: line-through;
    color: var(--op-muted);
    font-size: .9rem;
}

.preco-atual {
    font-family: var(--op-font-sans);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--op-charcoal);
}

.card-produto-acoes { display: flex; flex-direction: column; gap: .5rem; }
.card-produto-acoes .btn { border-radius: 8px; }

/* ===== Essência da marca ===== */
.section-essencia {
    background-size: cover;
    background-position: center;
    padding: 7rem 0;
    color: var(--op-ivory);
}

.essencia-titulo { font-size: clamp(1.9rem, 3.6vw, 2.75rem); margin-bottom: 1.25rem; }

.essencia-valor {
    display: flex; align-items: center; gap: .6rem;
    background: rgba(250, 247, 240, .08);
    border: 1px solid rgba(201, 162, 77, .3);
    border-radius: var(--op-radius-sm);
    padding: .85rem 1rem;
    font-size: .88rem;
    font-weight: 500;
    height: 100%;
}

.essencia-valor i { color: var(--op-gold-light); font-size: 1.2rem; }

/* ===== Sobre nós ===== */
.section-sobre { padding: 7rem 0; }
.section-sobre p { text-align: justify; text-justify: inter-word; }

.sobre-imagem-wrapper { position: relative; }

.sobre-imagem-principal {
    width: 100%;
    border-radius: var(--op-radius-lg);
    box-shadow: var(--op-shadow-lift);
    object-fit: cover;
    aspect-ratio: 4 / 5;
}

.sobre-imagem-selo {
    position: absolute;
    bottom: -1.5rem; left: -1.5rem;
    background: var(--op-black);
    color: var(--op-ivory);
    border-radius: var(--op-radius-md);
    padding: 1rem 1.35rem;
    display: flex; align-items: center; gap: .75rem;
    box-shadow: var(--op-shadow-lift);
    border: 1px solid rgba(201, 162, 77, .35);
}

.sobre-imagem-selo i { color: var(--op-gold-light); font-size: 1.6rem; }
.sobre-imagem-selo strong { display: block; font-family: var(--op-font-serif); font-size: 1.1rem; }
.sobre-imagem-selo span { font-size: .75rem; color: var(--op-ivory-muted); }

.sobre-stat {
    display: flex; flex-direction: column;
    border-left: 3px solid var(--op-gold);
    padding-left: 1rem;
}

.sobre-stat-numero { font-family: var(--op-font-serif); font-size: 2.1rem; font-weight: 700; color: var(--op-charcoal); }
.sobre-stat-label { color: var(--op-muted); font-size: .88rem; }

/* ===== Página de produto ===== */
.section-produto-detalhe { padding: 7rem 0 5rem; }

.breadcrumb-produto a { color: var(--op-muted); }
.breadcrumb-produto a:hover { color: var(--op-gold-dark); }

.produto-galeria {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.produto-galeria-principal {
    flex: 1 1 auto;
    min-width: 0;
    aspect-ratio: 4 / 5;
    border-radius: var(--op-radius-lg);
    overflow: hidden;
    background: var(--op-cream);
    box-shadow: var(--op-shadow-soft);
}

.produto-galeria-principal img { width: 100%; height: 100%; object-fit: cover; }

.produto-galeria-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--op-muted);
    font-size: 3rem;
}

.produto-galeria-miniaturas {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    flex-shrink: 0;
    max-height: 520px;
    overflow-y: auto;
}

.produto-miniatura-btn {
    width: 68px;
    height: 68px;
    flex-shrink: 0;
    border-radius: var(--op-radius-sm);
    overflow: hidden;
    border: 2px solid transparent;
    padding: 0;
    background: var(--op-cream);
    transition: border-color .2s ease;
}

.produto-miniatura-btn:hover,
.produto-miniatura-btn.active { border-color: var(--op-gold); }

.produto-miniatura-btn img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 767.98px) {
    .produto-galeria { flex-direction: column-reverse; }

    .produto-galeria-miniaturas {
        flex-direction: row;
        max-height: none;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: visible;
        padding-bottom: .25rem;
    }
}

.produto-detalhe-nome { font-size: clamp(1.8rem, 3vw, 2.6rem); margin: .5rem 0 1rem; }

.produto-detalhe-preco {
    font-family: var(--op-font-serif);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--op-charcoal);
}

.produto-detalhe-descricao { color: var(--op-muted); line-height: 1.7; }
.produto-detalhe-descricao img { max-width: 100%; border-radius: var(--op-radius-sm); }

/* ===== Autenticação (login/cadastro) e área do cliente ===== */
.section-auth {
    padding: 8rem 0 5rem;
    min-height: 70vh;
    display: flex;
    align-items: center;
}

.auth-card {
    max-width: 460px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--op-radius-lg);
    box-shadow: var(--op-shadow-soft);
    padding: 2.5rem;
}

.auth-card h1 { font-size: 1.8rem; margin-bottom: .35rem; }

.auth-card .form-control {
    border-radius: var(--op-radius-sm);
    padding: .65rem .9rem;
    border-color: rgba(0, 0, 0, .12);
}

.auth-card .form-control:focus {
    border-color: var(--op-gold);
    box-shadow: 0 0 0 .2rem rgba(201, 162, 77, .15);
}

.auth-card .btn-onca { width: 100%; margin-top: .5rem; }

.auth-card-footer {
    text-align: center;
    margin-top: 1.5rem;
    font-size: .9rem;
    color: var(--op-muted);
}

.auth-card-footer a { color: var(--op-gold-dark); font-weight: 600; }

.section-conta-logada { padding: 8rem 0 5rem; min-height: 60vh; }

/* ===== Menu do usuário (hover) ===== */
.nav-user-dropdown { position: relative; }

.nav-user-trigger {
    display: inline-flex;
    align-items: center;
    color: var(--op-ivory);
    font-weight: 600;
    font-size: .92rem;
    cursor: default;
    padding: .5rem .25rem;
}

.nav-user-menu {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 190px;
    background: var(--op-black-soft);
    border: 1px solid rgba(201, 162, 77, .25);
    border-radius: var(--op-radius-sm);
    box-shadow: var(--op-shadow-lift);
    padding: .5rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 1030;
}

.nav-user-dropdown:hover .nav-user-menu,
.nav-user-dropdown:focus-within .nav-user-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-user-menu a,
.nav-user-menu button {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    color: var(--op-ivory-muted);
    font-size: .9rem;
    padding: .55rem .75rem;
    border-radius: 6px;
    transition: background .15s ease, color .15s ease;
}

.nav-user-menu a:hover,
.nav-user-menu button:hover {
    background: rgba(201, 162, 77, .12);
    color: var(--op-gold-light);
}

.nav-user-menu hr { border-color: rgba(250, 247, 240, .12); margin: .4rem 0; }

/* ===== Footer ===== */
.footer-onca {
    background: var(--op-black);
    color: var(--op-ivory-muted);
    padding-top: 4rem;
    position: relative;
}

.footer-onca::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--op-gold), transparent);
}

.footer-newsletter-title {
    font-size: 1.9rem;
    color: var(--op-ivory);
    margin-bottom: .5rem;
}


.footer-divider { border-color: rgba(250, 247, 240, .12); margin: 2.5rem 0 0; }

.footer-heading {
    color: var(--op-ivory);
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 1.1rem;
}

.footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .6rem; font-size: .9rem; }
.footer-links a { color: var(--op-ivory-muted); transition: color .2s ease; }
.footer-links a:hover { color: var(--op-gold-light); }
.footer-links li { color: var(--op-ivory-muted); }

.footer-mapa-frame {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(201, 162, 77, .25);
    box-shadow: var(--op-shadow-lift);
}

.footer-mapa-frame iframe {
    width: 100%;
    height: 150px;
    border: 0;
    display: block;
}

.payment-icons { font-size: .8rem; color: var(--op-ivory-muted); }
.payment-icons i { color: var(--op-gold-light); margin-right: .3rem; }

.social-icons .icon-btn { width: 38px; height: 38px; }

.footer-bottom { color: var(--op-ivory-muted); }

/* ===== Microinterações / reveal on scroll ===== */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease, transform .7s ease;
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== Responsivo ===== */
@media (max-width: 991.98px) {
    .navbar-onca { background: rgba(8, 8, 10, .95); }
    .navbar-onca .container { flex-wrap: wrap; }
    .navbar-busca { order: 3; flex: 1 1 100%; max-width: none; margin: .85rem 0 0; }
    .navbar-onca .navbar-toggler { order: 2; }
    .navbar-onca .navbar-collapse { order: 4; }
    .navbar-collapse {
        background: var(--op-black-soft);
        border-radius: var(--op-radius-md);
        padding: 1.25rem;
        margin-top: 1rem;
    }
    .header-actions { border-top: 1px solid rgba(250, 247, 240, .12); padding-top: 1rem; }
    .hero-onca { padding-top: 5rem; }
    .sobre-imagem-selo { left: 1rem; bottom: -1.25rem; }
}

@media (max-width: 575.98px) {
    .hero-title { font-size: 2.4rem; }
    .section-colecao, .section-sobre, .section-essencia, .section-promocoes { padding: 3rem 0 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
    .reveal-on-scroll { opacity: 1; transform: none; }
}

/* ============ BOTÕES FLUTUANTES (WHATSAPP / INSTAGRAM) ============ */
.fab-social-container {
    position: fixed;
    right: 22px;
    bottom: 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    z-index: 1040;
}

.fab-social {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    color: #fff;
    box-shadow: var(--op-shadow-lift);
    transition: transform .2s ease, box-shadow .2s ease;
}

.fab-social:hover,
.fab-social:focus {
    color: #fff;
    transform: translateY(-3px) scale(1.06);
}

.fab-whatsapp { background: #25d366; }

.fab-instagram {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

@media (max-width: 575.98px) {
    .fab-social-container { right: 14px; bottom: 14px; gap: 10px; }
    .fab-social { width: 48px; height: 48px; font-size: 1.35rem; }
}
