:root{
    --caramelo:#a2553f;
    --caramelo-escuro:#7e3d2d;
    --caramelo-claro:#cf9a83;

    --creme:#fdf8f3;
    --creme-escuro:#f5ece3;

    --trufa:#261712;
    --texto:#5e4a43;

    --branco:#ffffff;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    background:var(--creme);
    color:var(--trufa);
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

h1,h2,h3,h4{
    font-family:'Cormorant Garamond',serif;
}

.container{
    width:min(1180px,90%);
    margin:auto;
}

/* HEADER */

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;

    background:rgba(253,248,243,0.40);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    border-bottom:1px solid rgba(0,0,0,0.05);
}

.header-wrapper{
    display:grid;
    grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);
    align-items:center;
    padding:6px 0;
    column-gap:40px;
}

.logo{
    text-decoration:none;
    color:var(--trufa);

    display:inline-flex;
    flex-direction:column;
    align-items:center;
    flex-shrink:0;
    width:max-content;
    z-index:2;
}

.logo span{
    font-family:'Cormorant Garamond',serif;
    font-size:25px;
    font-weight:550;
    letter-spacing:2px;
}

.logo small{
    font-size:7px;
    letter-spacing:4px;
    margin-top:2px;
    color:var(--caramelo);
    white-space: nowrap;
}

/* LOGO COM SÍMBOLO NO HEADER */

header .logo-header{
    flex-direction:row;
    align-items:center;
    gap:10px;
}

header .logo-simbolo{
    width:36px;
    height:36px;

    object-fit:contain;

    flex-shrink:0;
}

header .logo-texto{
    display:flex;
    flex-direction:column;
    align-items:center;
}


nav{
    position:absolute;
    left:50%;
    transform:translateX(-50%);

    display:flex;
    gap:28px;
}

nav a{
    text-decoration:none;
    color:var(--trufa);
    font-size:13px;
    font-weight:500;
    position:relative;
}



nav a:hover::after{
    width:100%;
}

nav a::after{
    display:none;
}

nav a span{
    position:relative;
    display:inline-block;
}

nav a span::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-5px;
    width:0%;
    height:1px;
    background:var(--caramelo);
    transition:0.3s;
}

nav a:hover span::after{
    width:100%;
}

.menu-toggle{
    display:none;
    width:38px;
    height:38px;

    border:none;
    background:transparent;

    cursor:pointer;

    position:relative;
    z-index:1001;
}

.menu-toggle span{
    display:block;

    width:22px;
    height:1.7px;

    background:var(--trufa);

    margin:6px auto;

    border-radius:999px;

    transition:0.3s ease;
}

/* BOTÃO */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:16px 32px;

    border-radius:999px;
    text-decoration:none;

    background:linear-gradient(135deg,var(--caramelo),var(--caramelo-escuro));
    color:white;

    font-size:14px;
    font-weight:600;

    transition:0.35s;
}

.btn-full{
    width:100%;
}

.btn:hover{
    transform:translateY(-4px);
}

/* HERO */

.hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    padding-top:95px;
    padding-bottom:80px;

    position:relative;
    overflow:hidden;

    background:
        radial-gradient(circle at 85% 20%,
        rgba(162,85,63,0.28),
        transparent 30%),

        radial-gradient(circle at 15% 80%,
        rgba(207,154,131,0.20),
        transparent 25%);
}

.hero-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:50px;
    align-items:center;

    position:static;
}

.hero-text{
    position:relative;
    z-index:3;
    transform:translateY(20px);
}

.hero-text .tag{
    display:inline-block;

    padding:10px 18px;

    background:#f1dfd6;
    color:var(--caramelo);

    border-radius:999px;

    font-size:12px;
    font-weight:700;
    letter-spacing:2px;

    margin-bottom:25px;
}

.hero-text h1{
    font-size:64px;
    line-height:0.98;
    margin-bottom:24px;
}

.hero-text h1 span{
    color:var(--caramelo);
}

.hero-text p{
    max-width:560px;
    color:var(--texto);
    font-size:16px;
    line-height:1.8;
    margin-bottom:40px;
}



.hero-image{
    position:absolute;

    top:0;
    right:0;
    bottom:0;

    width:64vw;
    height:100%;

    z-index:1;
    overflow:hidden;
    pointer-events:none;

}


/* IMAGENS DO CARROSSEL DO HERO */

.hero-slide{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    background-size:cover;
    background-position:center right;
    background-repeat:no-repeat;

    opacity:0;

    transition:opacity 1.4s ease;

    z-index:1;
}

.hero-slide.active{
    opacity:1;
}

.hero-image::before{
    content:"";
    position:absolute;

    top:0;
    left:0;
    bottom:0;

    width:32%;

    background:linear-gradient(
        to right,
        var(--creme) 0%,
        rgba(253,248,243,0.88) 22%,
        rgba(253,248,243,0.42) 58%,
        rgba(253,248,243,0.12) 82%,
        transparent 100%
    );

    z-index:2;
    pointer-events:none;
}


/* INDICADORES DO HERO */

.hero-indicators{
    position:absolute;

    bottom:28px;
    left:50%;
    transform:translateX(-50%);

    z-index:4;

    display:flex;
    align-items:center;
    gap:8px;

    padding:8px 10px;

    border-radius:999px;

    background:rgba(38,23,18,0.24);

    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
}


.hero-indicator{
    width:8px;
    height:8px;

    padding:0;

    border:none;
    border-radius:999px;

    background:rgba(255,255,255,0.55);

    cursor:pointer;

    transition:
        width .4s cubic-bezier(0.22,1,0.36,1),
        background .3s ease,
        transform .3s ease;
}


.hero-indicator:hover{
    background:rgba(255,255,255,0.82);

    transform:scale(1.12);
}


/* INDICADOR DA FOTO ATUAL */

.hero-indicator.active{
    width:28px;

    background:var(--creme);

    box-shadow:
        0 3px 12px rgba(38,23,18,0.22);
}


/* SOBRE */

.sobre{
    min-height:100vh;

    display:flex;
    align-items:center;

    position:relative;
    overflow:hidden;

    padding:95px 0 90px;

    background:var(--creme-escuro);
}

.sobre-grid{
    display:grid;
    grid-template-columns:0.95fr 1.05fr;
    gap:70px;
    align-items:center;

    position:static;
}

/* imagem integrada à esquerda, igual ao hero, mas invertida */
.sobre-image{
    position:absolute;

    top:0;
    left:0;
    bottom:0;

    width:60vw;
    height:100%;

    background-image:url("../imagens/sobre/sobre-calda-bowl.png");
    background-size:cover;
    background-position:32% center;
    background-repeat:no-repeat;

    z-index:1;
    pointer-events:none;
}

/* fade da imagem para o fundo, indo para o lado do texto */
.sobre-image::before{
    content:"";
    position:absolute;

    top:0;
    right:0;
    bottom:0;

    width:30%;

    background:linear-gradient(
        to right,
        transparent 0%,
        rgba(245,236,227,0.18) 34%,
        rgba(245,236,227,0.58) 72%,
        var(--creme-escuro) 100%
    );

    pointer-events:none;
}

/* fade sutil no topo e embaixo para não parecer um retângulo */
.sobre-image::after{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        to bottom,
        var(--creme-escuro) 0%,
        transparent 16%,
        transparent 84%,
        var(--creme-escuro) 100%
    );

    pointer-events:none;
}

/* joga o texto para a coluna da direita */
/* ======================================
SÍMBOLO DA LAMELT AO FUNDO DO SOBRE
====================================== */

.sobre-content{
    grid-column:2;

    position:relative;
    z-index:3;
}


.sobre-marca{
    position:absolute;

    width:430px;
    max-width:none;

    top:50%;
    right:-90px;

    transform:
        translateY(-50%)
        rotate(-7deg);

    opacity:0.09;

    pointer-events:none;
    user-select:none;

    z-index:-1;
}

#inicio,
#sobre,
#cardapio,
#tortas-bascas,
#encomendas,
#contato,
#seguranca{
    scroll-margin-top:90px;
}

.section-top{
    margin-bottom:25px;
}

.section-top span{
    color:var(--caramelo);

    text-transform:uppercase;

    font-size:12px;
    font-weight:700;
    letter-spacing:4px;
}

.sobre-content h2{
    font-size:54px;
    line-height:1;
    margin-bottom:25px;
}

.sobre-content p{
    font-size:17px;
    line-height:1.9;
    color:var(--texto);
    margin-bottom:22px;
}

.sobre-texto{
    max-width:570px;
}

/* ======================================
PILARES DO SOBRE
====================================== */

.sobre-pilares{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    margin-top:42px;
    padding-top:26px;

    border-top:1px solid rgba(107,66,51,0.15);
}


.sobre-pilar{
    position:relative;

    padding:0 22px;
}


.sobre-pilar:first-child{
    padding-left:0;
}


.sobre-pilar:not(:first-child)::before{
    content:"";

    position:absolute;

    left:0;
    top:3px;
    bottom:3px;

    width:1px;

    background:rgba(107,66,51,0.15);
}


.sobre-pilar span{
    display:block;

    margin-bottom:8px;

    color:var(--caramelo);

    font-size:10px;
    font-weight:700;

    letter-spacing:2.2px;
}


.sobre-pilar small{
    display:block;

    color:var(--texto);

    font-size:12px;
    line-height:1.55;

    opacity:0.78;
}





/* CARDÁPIO */

.cardapio{
    padding:90px 0;
}

.cardapio-header{
    text-align:center;
    margin-bottom:80px;
}

.cardapio-header h2{
    font-size:54px;
}

.menu-category{
    margin-bottom:90px;
}

.menu-category:not(:first-child){
    margin-top:20px;
}

.category-header{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:35px;
}

.category-header span{
    display:block;
    color:var(--caramelo);
    font-size:25px;
    letter-spacing:4px;
    font-weight:700;
    margin-bottom:8px;
}

.category-header h3{
    font-size:48px;
    margin-bottom:6px;
    font-weight:600;
    color:var(--trufa);
    white-space:nowrap;
}

.category-header p{
    color:var(--texto);
    font-size:14px;
}

.category-header::before,
.category-header::after{
    content:"";
    height:2px;
    flex:1;
   background:rgba(162,85,63,0.25);
}

.category-description{
    text-align:center;
    color:var(--texto);
    font-size:14px;
    margin-top:-15px;
    margin-bottom:30px;
}

/* CARROSSEL */

.slider{
    display:flex;
    gap:24px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x proximity;
    scroll-padding-left:5px;
    
    padding:18px 14px 20px;


    scroll-behavior:smooth;

    -webkit-overflow-scrolling:touch;

    overscroll-behavior-x:contain;

    scrollbar-width:thin;

    cursor:grab;
}

.slider:active{
    cursor:grabbing;
}

.slider::-webkit-scrollbar{
    height:6px;
}

.slider::-webkit-scrollbar-track{
    background:transparent;
}

.slider::-webkit-scrollbar-thumb{
    background:var(--caramelo-claro);
    border-radius:999px;
}

/* SLIDER WRAPPER */

.slider-wrapper{
    position:relative;
}

.slider-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:42px;
    height:42px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    box-shadow:0 10px 25px rgba(0,0,0,.12);

    cursor:pointer;
    z-index:10;
    opacity: 0;
    transition:.3s;
}

.slider-wrapper:hover .slider-btn{
    opacity:1;
}

.slider-btn:hover{
    transform:translateY(-50%) scale(1.08);
}

.slider-btn.prev{
    left:-15px;
}

.slider-btn.next{
    right:-15px;
}

/* SLIDER WRAPPER */

.product-card{
    width:370px;
    max-width:370px;
    min-width:370px;
    display:flex;
    flex-direction:column;

    flex:0 0 auto;

    scroll-snap-align:start;

    background:white;

    border-radius:30px;
    overflow:hidden;

    border:1px solid #f1e7dd;

    transition:transform 0.45s cubic-bezier(0.22,1,0.36,1),box-shadow 0.45s ease;
}

/* CARD ESPECIAL / EDIÇÃO LIMITADA */

.product-card.product-special{
    position:relative;

    border:3px solid transparent;

    background:
        linear-gradient(#fffdf9, #fffdf9) padding-box,
        linear-gradient(
            135deg,
            #7a5220 0%,
            #d9ad54 18%,
            #fff0ad 35%,
            #b77b25 52%,
            #f4d477 72%,
            #80541d 100%
        ) border-box;

    box-shadow:
        inset 0 0 0 1px rgba(255,240,170,0.45),
        inset 0 0 22px rgba(217,173,84,0.10);

    transform:translateY(-3px);

    transition:
        transform .45s cubic-bezier(0.22,1,0.36,1),
        box-shadow .45s ease;
}

/* FILETE DOURADO INTERNO */

.product-card.product-special::after{
    content:"";

    position:absolute;
    inset:7px;

    border:1px solid rgba(197,145,50,0.55);

    border-radius:22px;

    pointer-events:none;

    z-index:5;
}

.product-card.product-special .product-content h4::after{
    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:58px;
    height:3px;

    border-radius:999px;

    background:
        linear-gradient(
            to right,
            #8b5b21,
            #e6bd5b,
            #fff0a8,
            #b57624
        );

    box-shadow:
        0 2px 8px rgba(190,137,42,.24);
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,0.08);
}

/* DESTAQUE NO HOVER */

.product-card.product-special:hover{
    transform:
        translateY(-10px)
        scale(1.015);

    box-shadow:
        inset 0 0 0 1px rgba(255,240,170,0.65),
        inset 0 0 30px rgba(217,173,84,0.16);
}



.product-media{
    position:relative;
    width:100%;
    height:210px;
    overflow:hidden;
}

/* SEPARAÇÃO DOURADA ENTRE FOTO E CONTEÚDO */

.product-card.product-special .product-media{
    border-bottom:2px solid rgba(190,137,42,0.65);
}

.product-card img{ /* Mãozinha indicando que pode clicar */
    width:100%;
    height:100%;
    object-fit:cover;
    cursor:pointer;
    transition:0.4s ease;
}

.product-card:hover .product-media img{
    transform:scale(1.05);
}

/* Etiquetas sobre a imagem */

.product-status{
    position:absolute;
    z-index:2;

    top:14px;
    right:14px;

    padding:8px 12px;

    border-radius:999px;

    font-size:11px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

/* DETALHE NO NOME DO PRODUTO */

.product-card.product-special .product-content h4{
    position:relative;

    color:#6f431b;

    padding-bottom:13px;
}

.product-status-promo{
    background:rgba(253,248,243,0.86);
    color:var(--caramelo-escuro);

    border:1px solid rgba(126,61,45,0.14);

    box-shadow:0 10px 24px rgba(38,23,18,0.08);
}

.product-status-unavailable{
    top:50%;
    left:50%;
    right:auto;

    transform:translate(-50%,-50%);

    padding:12px 22px;

    background:rgba(38,23,18,0.76);
    color:white;

    border:1px solid rgba(255,255,255,0.20);

    font-size:13px;
    letter-spacing:1px;    

    box-shadow:0 14px 34px rgba(0,0,0,0.20);
}

.product-status-special{
    top:8px;
    left:8px;
    right:auto;

    padding:4px 8px;

    background:
        linear-gradient(
            135deg,
            #241510,
            #6a3522,
            #301912
        );

    color:#ffe59b;

    border:1px solid rgba(255,224,145,0.75);

    box-shadow:
        0 8px 22px rgba(38,23,18,0.34),
        0 0 18px rgba(217,173,84,0.20);

    font-size:10px;
    font-weight:800;

    letter-spacing:0.8px;

    text-shadow:
        0 1px 2px rgba(0,0,0,.35);
}

/* ESTRELINHA / DETALHE PREMIUM */

.product-status-special::before{
    content:"✦";

    margin-right:3px;

    color:#ffd875;

    font-size:8px;
}

/* Estado indisponível */

.product-card.product-unavailable .product-media img{
    filter:brightness(0.62) saturate(0.75);
}

.product-card.product-unavailable:hover{
    transform:none;
    box-shadow:none;
}

.product-card.product-unavailable:hover .product-media img{
    transform:none;
}

.product-card.product-unavailable .badges,
.product-card.product-unavailable .price-list,
.product-card.product-unavailable h4,
.product-card.product-unavailable p{
    opacity:.72;
}

.product-card.product-unavailable .btn{
    background:linear-gradient(135deg,#8b7469,#6f5a51);
}

.product-content{
    padding:24px;
    overflow-wrap:break-word;
    word-break:normal;
    min-height:260px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.badge{
    display:inline-flex;
    width: fit-content;
    white-space: nowrap;
    align-items: center;

    background:#f3e2da;
    color:var(--caramelo);

    padding:6px 12px;

    border-radius:999px;

    font-size:12px;
    font-weight:700;

    margin-bottom:10px;
}

.badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:12px;
}

.encomenda{ /* aqui está todos o badges com o nome encomenda, apenas para alterar visual */
    background:#f0d7d0;
    color:#9b7434;
    padding:6px 10px;
    letter-spacing:.3px;
}

.product-content h4{
    font-size:28px;
    margin-bottom:10px;
}

.product-content p{
    color:var(--texto);
    line-height:1.7;
    font-size:14px;
    margin-bottom:20px;
}

.price-list{
    display:flex;
    flex-direction:column;
    gap:8px;

    margin-top:auto;
    margin-bottom:20px;
}

.price-item{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:10px 12px;

    background:#f8eee8;

    border-radius:14px;

    color:var(--texto);

    font-size:13px;
}

.price-item strong{
    color:var(--trufa);
    font-size:15px;
    font-weight:600;
}

.price-values{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
}

.price-old{
    color:rgba(94,74,67,0.82);

    font-size:12px;
    font-weight:600;

    text-decoration:line-through;
    text-decoration-thickness:1.2px;
    text-decoration-color:rgba(126,61,45,0.55);

    line-height:1;    
}

.price-item-promo{
    background:#f4e4dc;

    box-shadow:
        inset 0 0 0 1px rgba(162,85,63,0.10);
}

.price-item-promo strong{
    color:var(--caramelo-escuro);
}

.encomendas{
padding:90px 0;
background:var(--creme-escuro);
}

.encomendas-content{
text-align:center;
}

.encomendas-content span{
color:var(--caramelo);
font-size:12px;
letter-spacing:4px;
font-weight:700;
}

.encomendas h2{
font-size:54px;
margin:20px 0;
}

.encomendas p{
max-width:700px;
margin:auto;

color:var(--texto);

line-height:1.9;
}

.encomendas-grid{
margin:70px auto;

display:grid;

grid-template-columns:repeat(3,1fr);

gap:24px;
}

.encomendas-actions{
    display:flex;
    justify-content:center;

    margin-top:-25px;
}

.encomenda-icon{
    width:58px;
    height:58px;

    margin:0 auto 20px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            rgba(162,85,63,0.22),
            rgba(126,61,45,0.16)
        );

    color:var(--caramelo-escuro);

    font-size:21px;

    box-shadow:
        inset 0 0 0 1px rgba(126,61,45,0.12),
        0 14px 30px rgba(38,23,18,0.06);
}


.encomendas-grid > div{
    background:white;

    padding:40px;

    border-radius:28px;

    box-shadow:0 20px 40px rgba(0,0,0,.06);
}

.encomendas-grid h3{
    font-size:30px;
    margin-bottom:12px;
}

@media(max-width:768px){

    .encomendas-grid{
        grid-template-columns:1fr;
    }

    .encomendas h2{
        font-size:44px;
    }

    .logo{
        margin-bottom:-2px;
    }
}

/* CTA */

.cta{
    padding:90px 0;
}

.cta-box{
    background:
    linear-gradient(rgba(38,23,18,0.75),rgba(38,23,18,0.75)),
    url("../imagens/contato/cta-fundo.jpg"); /*IMAGEM DE FUNDO DO FINAL DA PÁGINA*/

    background-size:cover;
    background-position:center;

    border-radius:40px;

    padding:90px 60px;

    text-align:center;

    color:white;
}

.cta-box h2{
    font-size:56px;
    line-height:1;
    margin-bottom:25px;
}

.cta-box p{
    max-width:700px;
    margin:auto auto 35px auto;
    line-height:1.9;
}

/* SEGURANÇA / CANAIS OFICIAIS */

.seguranca{
    padding:90px 0;
    background:var(--creme);
}

.seguranca-box{
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.72),
            rgba(245,236,227,0.72)
        );

    border:1px solid rgba(162,85,63,0.12);
    border-radius:38px;

    padding:65px 55px;

    box-shadow:0 24px 60px rgba(38,23,18,0.06);

    text-align:center;
}

.seguranca-top span{
    display:inline-block;

    color:var(--caramelo);

    text-transform:uppercase;

    font-size:12px;
    font-weight:700;
    letter-spacing:4px;

    margin-bottom:18px;
}

.seguranca-top h2{
    font-size:52px;
    line-height:1;

    margin-bottom:22px;
}

.seguranca-top p{
    max-width:720px;

    margin:0 auto 45px;

    color:var(--texto);

    font-size:15px;
    line-height:1.9;
}

.seguranca-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:18px;

    margin-bottom:35px;
}

.seguranca-item{
    background:white;

    border-radius:22px;

    padding:26px 18px;

    border:1px solid rgba(162,85,63,0.10);

    box-shadow:0 14px 32px rgba(38,23,18,0.045);

    /* Todo o card passa a funcionar como link, mantendo o design original */
    display:block;
    text-decoration:none;
    color:inherit;
    cursor:pointer;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

/* Destaque sutil, sem interferir nos demais cards do site */
.seguranca-item:hover{
    transform:translateY(-3px);
    border-color:rgba(162,85,63,0.45);
    box-shadow:0 18px 38px rgba(38,23,18,0.10);
}

/* Mostra claramente qual link está selecionado pelo teclado */
.seguranca-item:focus-visible{
    outline:2px solid var(--caramelo);
    outline-offset:4px;
    border-color:var(--caramelo);
}

@media (prefers-reduced-motion:reduce){
    .seguranca-item{transition:none;}
    .seguranca-item:hover{transform:none;}
}

.seguranca-icon{
    width:50px;
    height:50px;

    margin:0 auto 16px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:
        linear-gradient(
            135deg,
            rgba(162,85,63,0.20),
            rgba(126,61,45,0.14)
        );

    color:var(--caramelo-escuro);

    font-size:19px;

    box-shadow:
        inset 0 0 0 1px rgba(126,61,45,0.10),
        0 12px 26px rgba(38,23,18,0.045);
}

.seguranca-item strong{
    display:block;

    font-size:14px;
    font-weight:700;

    color:var(--trufa);

    margin-bottom:10px;
}

.canal-dado{
    display:inline-block;

    padding:7px 12px;

    border-radius:999px;

    background:rgba(162,85,63,0.09);
    color:var(--caramelo-escuro);

    font-size:12px;
    font-weight:700;
    line-height:1.4;
}

.seguranca-alerta{
    max-width:780px;

    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    padding:18px 24px;

    border-radius:999px;

    background:rgba(162,85,63,0.09);

    color:var(--caramelo-escuro);

    font-size:13px;
    font-weight:600;
    line-height:1.6;
}

.seguranca-alerta i{
    font-size:16px;
    flex-shrink:0;
}


/* FOOTER */

footer{
    background:var(--trufa);
    color:white;
    padding:80px 0 40px;
}

.footer-content{
    text-align:center;
}

footer .logo{
    color:white;
}

footer .logo small{
    color:var(--caramelo-claro);
}

.footer-content p{
    max-width:550px;
    margin:25px auto 30px auto;

    color:rgba(255,255,255,0.75);

    line-height:1.8;
}

footer .logo-footer{
    flex-direction:column;
    align-items:center;
    gap:1px;
}
footer .logo-texto-footer{
    display:flex;
    flex-direction:column;
    align-items:center;
}

footer .logo-simbolo-footer{
    width:40px;
    height:40px;
    object-fit:contain;
    flex-shrink:0;
}

.socials{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-bottom:35px;
}

.socials a{
    width:52px;
    height:52px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(255,255,255,0.08);

    color:white;
    text-decoration:none;
}

.copy{
    border-top:1px solid rgba(255,255,255,0.08);

    padding-top:25px;

    font-size:13px;
    color:rgba(255,255,255,0.55);
}


/* RESPONSIVO */

@media(max-width:900px){

    .hero-grid{
        grid-template-columns:1fr;
    }

    .hero-text{
        text-align:center;
    }

    .hero-image{
        margin:auto;
    }
}

/* =========================
ANIMAÇÕES AO SCROLL
========================= */

.reveal{

    opacity:0;

    transform:translateY(50px);

    transition:
    opacity 1s ease,
    transform 1s cubic-bezier(0.22,1,0.36,1);

    will-change:transform, opacity;
}

.reveal.active{

    opacity:1;

    transform:translateY(0);
}

@media(max-width:1100px){
    .seguranca-grid{
        grid-template-columns:repeat(2,1fr);
    }
}


/* ======================================
CARDS DO CARROSSEL - MOBILE
Ajusta o tamanho dos cards em celulares
====================================== */

@media(max-width:900px){

    .header-wrapper{
        display: flex;
        flex-direction:row;
        justify-content: space-between;
        align-items: center;

        padding: 10px 0;
    }

    .slider-wrapper .slider-btn{
        top:50%;
    }

    .slider-wrapper .slider-btn.prev{
        left:-10px;
    }

    .slider-wrapper .slider-btn.next{
        right:-10px;
    }



    .container{
        width: 94%;
    }

    .menu-toggle{
        display: block;
    }

    header .logo span{
        font-size:21px;
        letter-spacing:2.4px;
    }

    header .logo small{
        font-size:7px;
        letter-spacing:3px;
        margin-top:1px;
    }

    nav{
    position:absolute;
    top:100%;
    left:0;

    width:100%;

    transform:none;

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;

    background:rgba(253,248,243,0.92);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    border-bottom:1px solid rgba(0,0,0,0.06);

    padding:0;

    max-height:0;
    overflow:hidden;

    visibility:hidden;
    pointer-events:none;

    transition:
        max-height 0.35s ease,
        padding 0.35s ease,
        visibility 0s linear 0.35s;
}

    nav.active{
    max-height:320px;
    padding:18px 0;

    visibility:visible;
    pointer-events:auto;

    transition:
        max-height 0.35s ease,
        padding 0.35s ease,
        visibility 0s;
}

    nav a{
    width:100%;
    text-align:center;

    padding:14px 0;
}

    .hero{
        padding-top:95px;
        position:relative;
        overflow:hidden;
    }

    .hero-text{
        transform:translateY(45px);
    }

    .hero-text h1{
        font-size:46px;
    }

    .hero-image{
        position:relative;

        width:100vw;
        height:430px;

        top:auto;
        right:auto;
        bottom:auto;

        margin-left:50%;
        transform:translateX(-50%);

        margin-top:45px;


        overflow:hidden;

        -webkit-mask-image:linear-gradient(
            to bottom,
            transparent 0%,
            black 10%,
            black 86%,
            transparent 100%
        );

        mask-image:linear-gradient(
            to bottom,
            transparent 0%,
            black 10%,
            black 86%,
            transparent 100%
        );
    }

    .hero-slide{
        background-position:center center;
    }

    .hero-indicators{
        bottom:24px;

        padding:7px 9px;

        gap:7px;
    }

    .hero-indicator.active{
        width:25px;
    }

    .hero-image::before{
        content:"";
        position:absolute;
        inset:0;
        display: none;
        width:auto;

        background:
            linear-gradient(
                to bottom,
                var(--creme) 0%,
                rgba(253,248,243,0.45) 18%,
                transparent 42%,
                transparent 76%,
                var(--creme) 100%
            );

        pointer-events:none;
    }

    .sobre-content h2,
    .cardapio-header h2,
    .cta-box h2{
        font-size:44px;
    }

    .sobre{
        min-height:auto;

        padding:70px 0 75px;
    }

    .sobre-grid{
        grid-template-columns:1fr;
        gap:38px;
    }
    
    /* no mobile, o texto vem primeiro */
    .sobre-content{
        order:1;
        grid-column:auto;
        text-align:center;
    }

    /* a imagem vem depois do texto */
    .sobre-image{
        order:2;
        position:relative;

        width:100vw;
        height:330px;

        top:auto;
        left:auto;
        bottom:auto;

        margin-left:50%;
        transform:translateX(-50%);

        border-radius:0;

        background-size:cover;
        background-position:42% center;
        background-repeat:no-repeat;

        overflow:hidden;

        -webkit-mask-image:linear-gradient(
            to bottom,
            transparent 0%,
            black 12%,
            black 84%,
            transparent 100%
        );

        mask-image:linear-gradient(
            to bottom,
            transparent 0%,
            black 12%,
            black 84%,
            transparent 100%
        );
    }

    .sobre-image::before,
    .sobre-image::after{
        display:none;
    }

    .sobre-marca{
        width:320px;

        top:45%;
        right:50%;

        transform:
            translate(50%, -50%)
            rotate(-7deg);

        opacity:0.04;
    }


    .sobre-texto{
        max-width:600px;
        margin-left:auto;
        margin-right:auto;
    }


    .sobre-pilares{
        max-width:600px;

        margin:
            38px auto 0;

        padding-top:24px;

        text-align:center;
    }


    .sobre-pilar{
        padding:0 14px;
    }


    .sobre-pilar:first-child{
        padding-left:14px;
    }



    .product-card{
        width:320px;
        min-width:320px;
        max-width:320px;
        flex:0 0 auto;
        border-radius:26px;

        scroll-snap-align:start;
        scroll-snap-stop:always;
    }


    .cta-box{
        padding:70px 30px;
    } 

    .seguranca{
        padding:70px 0;
    }

    .seguranca-box{
        padding:50px 24px;
        border-radius:30px;
    }

    .seguranca-top h2{
        font-size:42px;
    }

    .seguranca-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .seguranca-item{
        padding:28px 22px;
    }

    .seguranca-alerta{
        border-radius:22px;
        align-items:flex-start;
        text-align:left;
    }


    .menu-toggle.active span:nth-child(1){
        transform:translateY(8px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2){
        opacity:0;
    }

    .menu-toggle.active span:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
    }

}

/* ======================================
CARDS DO CARROSSEL - MOBILE
Ajusta o tamanho dos cards em celulares
====================================== */

@media(max-width:480px){

    .product-card{
        width:calc(100vw - 40px);
        min-width:calc(100vw - 40px);
        max-width:calc(100vw - 40px);
    }
    .slider{
        gap:12px;
        padding:10px 10px 20px;
    }

}


/* =========================
MODAL DAS IMAGENS
========================= */

.image-modal{
    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100vh;

    background:rgba(0,0,0,0.88);

    display:flex;
    justify-content:center;
    align-items:center;

    opacity:0;
    visibility:hidden;

    transition:0.35s;

    z-index:9999;

    backdrop-filter:blur(4px);
}

.image-modal.active{
    opacity:1;
    visibility:visible;
}

.image-modal img{
    max-width:90%;
    max-height:85vh;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,0.45);

    animation:zoomIn 0.35s ease;
}

.close-modal{
    position:absolute;

    top:30px;
    right:40px;

    color:white;

    background:none;
    border:none;
    font-size:48px;

    cursor:pointer;

    transition:0.3s;
}

.close-modal:hover{
    transform:scale(1.15);
}

@keyframes zoomIn{

    from{
        transform:scale(0.8);
        opacity:0;
    }

    to{
        transform:scale(1);
        opacity:1;
    }

}

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* LINKS */
nav a,
.logo,
.socials a {
    cursor: pointer;
}

/* BOTÕES */
.btn,
.slider-btn {
    cursor: pointer;
}

/* ELEMENTOS INTERATIVOS */
.product-card img {
    cursor: pointer;
}

a:focus-visible,
button:focus-visible,
.product-card img:focus-visible{
    outline:2px solid var(--caramelo);
    outline-offset:4px;
}

.slider-wrapper:focus-within .slider-btn{
    opacity:1;
}

@media (prefers-reduced-motion: reduce){

    *{
        scroll-behavior:auto !important;
    }

    .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }

    .btn,
    .product-card,
    .product-card img,
    .slider-btn{
        transition:none;
    }

    .btn:hover,
    .product-card:hover,
    .product-card:hover .product-media img{
        transform:none;
    }
}

/* ============================================================
   ESPECIALIDADES LAMELT — TORTAS BASCAS
   Estilos isolados para não alterar os cards dos pudins.
   ============================================================ */

.basca-section{
    padding:96px 0 104px;
    background:linear-gradient(180deg,var(--creme) 0%,var(--creme-escuro) 100%);
}

.basca-section-header{
    text-align:center;
    margin:0 auto 44px;
    max-width:740px;
}

.basca-eyebrow{
    display:inline-block;
    margin-bottom:12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
    color:var(--caramelo);
}

.basca-section-header h2{
    font-size:clamp(39px,5vw,58px);
    line-height:1.05;
    margin-bottom:14px;
}

.basca-section-header p{
    color:var(--texto);
    font-size:14px;
    line-height:1.7;
}

.basca-grid{
    display:grid;
    gap:28px;
}

.basca-card{
    --basca-ouro:#D2AA77;
    display:grid;
    grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
    min-width:0;
    color:#FFF5E7;
    background:#261712;
    border:1px solid rgba(210,170,119,.33);
    border-radius:32px;
    overflow:hidden;
    box-shadow:0 22px 56px rgba(38,23,18,.13);
    transition:transform .4s ease,box-shadow .4s ease;
}

.basca-card:hover{
    transform:translateY(-4px);
    box-shadow:0 28px 65px rgba(38,23,18,.2);
}

.basca-media{
    position:relative;
    isolation:isolate;
    min-height:515px;
    overflow:hidden;
    background:
        radial-gradient(ellipse at 32% 35%,rgba(179,104,62,.3),transparent 56%),
        radial-gradient(ellipse at 77% 82%,rgba(208,160,106,.15),transparent 50%),
        linear-gradient(155deg,#513329,#211510);
}

.basca-media::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(0deg,rgba(20,11,8,.24),transparent 36%);
}

.basca-foto{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:0;
    transition:opacity .45s ease,transform .8s ease;
    pointer-events:none;
}

.basca-media.has-image .basca-foto{
    opacity:1;
    pointer-events:auto;
    cursor:zoom-in;
}

.basca-card:hover .basca-media.has-image .basca-foto{
    transform:scale(1.045);
}

.basca-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
    padding:30px;
    text-align:center;
    color:#E8D8C9;
}

.basca-placeholder i{
    font-size:37px;
    color:var(--basca-ouro);
    opacity:.86;
}

.basca-placeholder strong{
    font-family:'Cormorant Garamond',serif;
    font-size:38px;
    line-height:1;
    font-weight:600;
}

.basca-placeholder small{
    font-size:12px;
    letter-spacing:1.6px;
    text-transform:uppercase;
    color:#D9B98E;
}

.basca-media.has-image .basca-placeholder{display:none;}

.basca-photo-tag{
    position:absolute;
    z-index:2;
    left:26px;
    bottom:24px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.27);
    border-radius:999px;
    background:rgba(38,23,18,.53);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    font-size:10px;
    letter-spacing:1.2px;
    font-weight:700;
    text-transform:uppercase;
}

.basca-info{
    min-width:0;
    padding:clamp(26px,4vw,48px);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.basca-status{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:22px;
}

.basca-selo{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--basca-ouro);
    font-size:11px;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.basca-selo i{font-size:10px;}

.basca-info h3{
    font-size:clamp(42px,4.6vw,60px);
    line-height:.96;
    letter-spacing:-.5px;
    margin-bottom:8px;
    color:#FFF5E7;
}

.basca-sabor{
    color:var(--basca-ouro);
    font-size:16px;
    font-weight:600;
    margin-bottom:20px;
}

.basca-descricao{
    color:#E8D8C9;
    font-size:14px;
    line-height:1.85;
    max-width:460px;
    margin-bottom:26px;
}

.basca-separador{
    width:100%;
    height:1px;
    background:linear-gradient(to right,rgba(210,170,119,.42),rgba(210,170,119,.06));
    margin-bottom:23px;
}

.basca-opcoes-titulo{
    color:#FFF5E7;
    font-size:13px;
    font-weight:600;
    margin-bottom:13px;
}

.basca-tamanhos{
    display:grid;
    grid-template-columns:repeat(var(--basca-colunas,2),minmax(0,1fr));
    gap:9px;
    margin-bottom:22px;
}

.basca-tamanho{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:70px;
    gap:5px;
    padding:9px 5px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:14px;
    color:#FFF5E7;
    background:rgba(255,255,255,.045);
    font-family:'Montserrat',sans-serif;
    cursor:pointer;
    transition:background .25s,border-color .25s,transform .25s;
}

.basca-tamanho:hover{border-color:rgba(210,170,119,.7);}
.basca-tamanho[aria-pressed="true"]{
    border-color:var(--basca-ouro);
    background:rgba(210,170,119,.16);
}

.basca-tamanho-peso{
    font-size:15px;
    font-weight:700;
}

.basca-tamanho-sub{
    font-size:10px;
    color:#CBB9A9;
    text-align:center;
}

.basca-resumo{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    margin-bottom:19px;
}

.basca-resumo > div{min-width:0;}
.basca-resumo > div:last-child{text-align:right;}

.basca-resumo small{
    display:block;
    color:#CBB9A9;
    font-size:10px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:6px;
}

.basca-resumo strong{
    color:#FFF5E7;
    font-size:17px;
    line-height:1.3;
    font-weight:600;
}

.basca-preco{color:#EAC79A !important;}
.basca-preco-antigo{
    display:block;
    color:#CBB9A9;
    font-size:12px;
    text-decoration:line-through;
    margin-bottom:3px;
}

.basca-botao{
    width:100%;
    text-align:center;
    background:linear-gradient(135deg,#A2553F,#7E3D2D);
    font-size:12px;
    padding:16px 14px;
}

.basca-botao:hover{box-shadow:0 9px 25px rgba(162,85,63,.25);}

.basca-rodape{
    color:#CBB9A9;
    font-size:11px;
    line-height:1.5;
    text-align:center;
    margin-top:12px;
}

/* Quando houver novos sabores, o primeiro continua sendo o destaque.
   Os demais aparecem em cards menores, dois por linha no desktop. */
.basca-grid--varias{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.basca-grid--varias .basca-card:first-child{grid-column:1/-1;}

.basca-grid--varias .basca-card:not(:first-child){
    display:flex;
    flex-direction:column;
}

.basca-grid--varias .basca-card:not(:first-child) .basca-media{min-height:255px;}
.basca-grid--varias .basca-card:not(:first-child) .basca-info{flex:1;justify-content:flex-start;}
.basca-grid--varias .basca-card:not(:first-child) .basca-info h3{font-size:42px;}

.basca-sem-js{
    color:var(--texto);
    text-align:center;
    margin:22px auto;
}

@media(max-width:900px){
    .basca-section{padding:72px 0 80px;}
    .basca-section-header{margin-bottom:32px;}
    .basca-card{grid-template-columns:minmax(0,1fr);}
    .basca-media{min-height:0;aspect-ratio:16/10;}
    .basca-grid--varias{grid-template-columns:minmax(0,1fr);}
    .basca-grid--varias .basca-card:first-child{grid-column:auto;}
    .basca-grid--varias .basca-card:not(:first-child) .basca-media{min-height:0;aspect-ratio:16/10;}
}

@media(max-width:480px){
    .basca-section{padding:64px 0 70px;}
    .basca-section-header h2{font-size:41px;}
    .basca-card{border-radius:24px;}
    .basca-media{aspect-ratio:4/3;}
    .basca-info{padding:26px 22px 28px;}
    .basca-tamanhos{gap:6px;}
    .basca-tamanho{min-height:64px;}
    .basca-tamanho-peso{font-size:13px;}
    .basca-tamanho-sub{font-size:9px;}
    .basca-photo-tag{left:15px;bottom:16px;font-size:9px;}
}

@media(prefers-reduced-motion:reduce){
    .basca-card,.basca-foto,.basca-tamanho{transition:none;}
    .basca-card:hover,.basca-card:hover .basca-foto{transform:none;}
}


/* ==============================================================
   LAMELT · REFINAMENTO VISUAL DE TESTE (OUTUBRO 2026)
   Este bloco contém apenas ajustes de acabamento e responsividade.
   Removê-lo devolve os estilos visuais anteriores.
   ============================================================= */

:root{
    --lamelt-espaco-secao:clamp(68px,6.25vw,96px);
    --lamelt-movimento:transform .32s cubic-bezier(.22,1,.36,1);
    --lamelt-sombra-card:0 14px 35px rgba(38,23,18,.07);
}

/* 1. Cabeçalho: continua leve no topo e fica legível sobre fotos ao rolar. */
header{
    transition:background-color .28s ease,box-shadow .28s ease,border-color .28s ease;
}
header.is-scrolled{
    background:rgba(253,248,243,.95);
    border-bottom-color:rgba(126,61,45,.13);
    box-shadow:0 8px 26px rgba(38,23,18,.065);
}

/* 2. Tipografia: hierarquia uniforme e textos mais confortáveis. */
.sobre-content h2,
.cardapio-header h2,
.encomendas h2,
.cta-box h2,
.seguranca-top h2{
    font-size:clamp(40px,4.15vw,56px);
    line-height:1.06;
    text-wrap:balance;
}
.basca-section-header h2{line-height:1.06;text-wrap:balance;}
.hero-text h1{text-wrap:balance;}
.hero-text p,
.sobre-content p,
.encomendas p,
.cta-box p,
.seguranca-top p{line-height:1.8;}
.section-top span,
.basca-eyebrow,
.seguranca-top > span,
.encomendas-content > span{
    letter-spacing:2.6px;
}

/* Sublogo mais legível. O JS ajusta automaticamente o espaçamento
   entre letras para coincidir com a largura real de “LAMELT”. */
.logo small{
    font-size:8px;
    letter-spacing:2.5px; /* valor inicial caso JS não esteja disponível */
    margin-top:3px;
    font-weight:500;
}

/* 3. Ritmo mais uniforme entre as seções, sem alterar o hero. */
.sobre,
.cardapio,
.basca-section,
.encomendas,
.cta,
.seguranca{padding-top:var(--lamelt-espaco-secao);padding-bottom:var(--lamelt-espaco-secao);}
.cardapio-header{margin-bottom:clamp(46px,5vw,64px);}
.menu-category{margin-bottom:clamp(48px,5vw,72px);}
.menu-category:last-child{margin-bottom:0;}
.basca-section-header{margin-bottom:clamp(30px,3.5vw,44px);}
.seguranca-top p{margin-bottom:clamp(26px,3.5vw,40px);}
.encomendas-grid{margin-top:clamp(40px,5vw,58px);margin-bottom:clamp(42px,5vw,60px);}
.encomendas-actions{margin-top:0;}

/* 4. Cards dos pudins: hierarquia mais clara e foto em primeiro plano. */
.product-card{
    border-radius:26px;
    box-shadow:var(--lamelt-sombra-card);
    transition:var(--lamelt-movimento),box-shadow .32s ease;
}
.product-media{
    height:212px;
    background:linear-gradient(140deg,#f4e9df,#e8d4c2);
}
.product-media img{object-fit:cover;object-position:center;}
.product-content{padding:22px;min-height:0;}
.product-content h4{font-size:29px;line-height:1.08;margin-bottom:8px;}
.product-content p{line-height:1.65;margin-bottom:16px;}
.badges{gap:7px;margin-bottom:9px;}
.badge{font-size:11px;padding:5px 10px;margin-bottom:6px;}
.price-list{gap:7px;margin-bottom:16px;}
.price-item{padding:10px 12px;background:#f8efe9;}
.price-item strong{font-weight:700;}

/* 5. Uma linguagem única de movimentos: sutil, sem saltos exagerados. */
.product-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(38,23,18,.11);}
.product-card.product-special:hover{
    transform:translateY(-5px) scale(1.006);
    box-shadow:inset 0 0 0 1px rgba(255,240,170,.65),
               inset 0 0 26px rgba(217,173,84,.15),
               0 20px 44px rgba(38,23,18,.10);
}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(126,61,45,.18);}
.encomendas-grid > div{
    transition:var(--lamelt-movimento),box-shadow .32s ease;
}
.encomendas-grid > div:hover{
    transform:translateY(-3px);
    box-shadow:0 22px 42px rgba(38,23,18,.085);
}

/* 6. Compra Segura: equilíbrio na altura e no espaçamento. */
.seguranca-box{padding:clamp(38px,4.5vw,60px) clamp(18px,4vw,52px);}
.seguranca-grid{gap:14px;margin-bottom:30px;}
.seguranca-item{padding:25px 12px;min-width:0;}
.seguranca-icon{margin-bottom:14px;}
.canal-dado{max-width:100%;overflow-wrap:anywhere;}
.seguranca-alerta{max-width:800px;}

/* Desktop: indicadores de navegação aparecem também ao foco. */
.slider-wrapper:focus-within .slider-btn{opacity:1;}

@media(max-width:900px){
    :root{--lamelt-espaco-secao:clamp(58px,8vw,78px);}

    /* Logo: base tipográfica antes do ajuste automático de alinhamento. */
    header .logo small{font-size:8px;letter-spacing:1.9px;margin-top:2px;}

    /* Cards um pouco mais compactos, sem alterar o funcionamento do slider. */
    .product-card{border-radius:24px;}
    .product-media{height:195px;}
    .product-content{padding:20px;min-height:0;}
    .product-content h4{font-size:27px;}
    .product-content p{font-size:13.5px;margin-bottom:15px;}
    .product-content .btn{padding:14px 18px;}

    /* Setas visíveis no toque, sem transbordar do contêiner. */
    .slider-btn{opacity:1;width:36px;height:36px;top:112px;box-shadow:0 5px 18px rgba(38,23,18,.15);}
    .slider-btn.prev{left:2px;}
    .slider-btn.next{right:2px;}
    /* Na faixa da foto, para não encobrir o nome e os preços. */
    .slider-btn:hover{transform:translateY(-50%) scale(1.05);}

    /* Compra segura: 4 contatos organizados em duas colunas. */
    .seguranca-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
    .seguranca-item{padding:21px 10px;}
    .seguranca-icon{width:44px;height:44px;border-radius:15px;font-size:18px;}
    .seguranca-item strong{font-size:13px;margin-bottom:8px;}
    .canal-dado{font-size:11px;padding:6px 9px;}
    .seguranca-alerta{font-size:12px;padding:17px 18px;}
    .seguranca-box{border-radius:28px;}

    .basca-section-header h2{font-size:clamp(37px,6.5vw,52px);}
}

@media(max-width:480px){
    .cardapio-header{margin-bottom:40px;}
    .menu-category{margin-bottom:48px;}
    .category-header{margin-bottom:30px;}
    .category-header span{font-size:22px;letter-spacing:2.4px;}

    /* Largura calculada para não escapar do slider em telas estreitas. */
    .product-card{
        width:min(330px,calc(100vw - 48px));
        min-width:min(330px,calc(100vw - 48px));
        max-width:min(330px,calc(100vw - 48px));
    }
    .slider{gap:14px;padding:10px 8px 18px;}
    .product-media{height:182px;}
    .slider-btn{top:101px;}
    .product-content{padding:18px;}
    .product-content h4{font-size:26px;}
    .product-content p{font-size:13px;line-height:1.62;margin-bottom:13px;}
    .price-item{font-size:12px;padding:9px 10px;}
    .price-item strong{font-size:14px;}

    .seguranca-box{padding:34px 14px;}
    .seguranca-top h2{font-size:clamp(34px,9vw,42px);}
    .seguranca-top p{font-size:13px;line-height:1.75;}
    .seguranca-alerta{margin:0 auto;}
    .basca-info{padding:26px 20px 27px;}
}

/* Uma coluna volta a ser melhor em celulares especialmente estreitos. */
@media(max-width:350px){
    .seguranca-grid{grid-template-columns:minmax(0,1fr);}
    .seguranca-item{padding:18px 12px;}
}

@media(prefers-reduced-motion:reduce){
    header,.encomendas-grid > div,.product-card{transition:none;}
    .encomendas-grid > div:hover{transform:none;}
    .product-card:hover,.product-card.product-special:hover{transform:none;}
}


/* ==========================================
   LAMELT - FOTOGRAFIA EM BREVE DOS PUDINS
========================================== */

/* ÁREA DA FOTOGRAFIA */

.product-media{
    position:relative;
    overflow:hidden;
}

/* PLACEHOLDER */

.product-media .product-placeholder{

    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    gap:12px;

    padding:24px;

    text-align:center;

    background:
        radial-gradient(
            circle at 30% 30%,
            rgba(179,104,62,0.25),
            transparent 55%
        ),
        linear-gradient(
            145deg,
            #654437 0%,
            #39231C 55%,
            #211510 100%
        );

    color:#FDF8F3;

    pointer-events:none;
}

/* ÍCONE DA CÂMERA */

.product-placeholder i{

    font-size:30px;
    color:#D2AA77;

    opacity:0.9;
}

/* NOME DO PUDIM */

.product-placeholder strong{

    font-family:'Cormorant Garamond',serif;

    font-size:30px;
    font-weight:600;
    line-height:1.05;

    max-width:95%;

    color:#FDF8F3;
}

/* TEXTO FOTOGRAFIA EM BREVE */

.product-placeholder small{

    font-family:'Montserrat',sans-serif;

    font-size:10px;
    font-weight:600;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:#D9B98E;
}

/* FOTO REAL */

.product-media .product-foto{

    position:relative;
    z-index:1;

    opacity:0;

    transition:
        opacity 0.45s ease,
        transform 0.4s ease;
}

/* FOTO CARREGADA */

.product-media.has-image .product-foto{
    opacity:1;
}

/* ESCONDER O PLACEHOLDER QUANDO HOUVER FOTO */

.product-media.has-image .product-placeholder{
    display:none;
}

/* AJUSTES NO CELULAR */

@media(max-width:480px){

    .product-placeholder strong{
        font-size:27px;
    }

    .product-placeholder i{
        font-size:27px;
    }

    .product-placeholder small{
        font-size:9px;
        letter-spacing:1.3px;
    }

}



/* ==========================================
   SOBRE - TEXTOS MAIS ESCUROS
========================================== */

/* TEXTO PRINCIPAL ABAIXO DO TÍTULO */

.sobre-content p{
    color:#261712;
}

/* TÍTULOS ARTESANAL, TEMPO E TEXTURA */

.sobre-pilar span{
    color:#6B3023;
}

/* DESCRIÇÕES DOS TRÊS PILARES */

.sobre-pilar small{
    color:#261712;
    opacity:1;
}
