:root{
    --forest-950:#0f1a14;
    --forest-900:#152720;
    --forest-800:#1d3229;
    --forest-700:#2a4436;
    --gold-500:#c9a961;
    --gold-300:#e6d5a3;
    --gold-100:#f3ead0;
    --cream:#f4ecd9;
    --parchment:#eee3c8;
    --clay:#9c6a37;
    --ink:#241c12;
    --line: rgba(201,169,97,0.35);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'EB Garamond', serif;
    font-size:19px;
    line-height:1.6;
  }
  h1,h2,h3,.display{
    font-family:'Cormorant Garamond', serif;
    font-weight:700;
    margin:0;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .eyebrow{
    font-family:'EB Garamond', serif;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-size:0.72rem;
    color:var(--gold-500);
  }
  .wrap{
    max-width:1100px;
    margin:0 auto;
    padding:0 28px;
  }

  /* Root/flame signature icon, echoing the mark in the logo */
  .root-mark{ width:34px; height:34px; opacity:0.9; }
  .root-mark path, .root-mark circle{ stroke:var(--gold-500); }

  .divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:0 auto;
    padding: 6px 0;
  }
  .divider .rule{ height:1px; width:64px; background:var(--line); }

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky; top:0; z-index:50;
    background:rgba(15,26,20,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1100px; margin:0 auto; padding:12px 28px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .brand{ display:flex; align-items:center; gap:10px; }
  .brand img{ width:40px; height:40px; border-radius:50%; }
  .brand span{
    font-family:'Cormorant Garamond', serif;
    color:var(--gold-100);
    font-size:1.25rem;
    letter-spacing:0.03em;
  }
  .nav-links{ display:flex; align-items:center; gap:26px; }
  .nav-links a{
    color:var(--gold-100);
    font-size:0.92rem;
    letter-spacing:0.03em;
    opacity:0.85;
  }
  .nav-links a:hover{ opacity:1; color:var(--gold-500); }
  .ig-link{ display:flex; align-items:center; color:var(--gold-100); opacity:0.85; }
  .ig-link:hover{ opacity:1; color:var(--gold-500); }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 22px;
    border-radius:999px;
    font-family:'EB Garamond', serif;
    font-size:0.95rem;
    letter-spacing:0.02em;
    border:1px solid var(--gold-500);
    transition:all .2s ease;
    cursor:pointer;
  }
  .btn-solid{ background:var(--gold-500); color:var(--forest-950); }
  .btn-solid:hover{ background:var(--gold-300); }
  .btn-ghost{ color:var(--gold-100); }
  .cart-panel .btn-ghost{
    color:var(--ink);
    border-color:var(--clay);
  }
  .cart-panel .btn-ghost:hover{
    background:rgba(156,106,55,0.12);
  }
  .btn-ghost:hover{ background:rgba(201,169,97,0.12); }
  .btn-small{ padding:8px 16px; font-size:0.85rem; }
  .nav-cart-btn{
    display:inline-flex; align-items:center; gap:6px;
    position:relative;
    font-family:'EB Garamond', serif;
    font-size:0.92rem;
    color:var(--gold-100);
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    opacity:0.85;
  }
  .nav-cart-btn:hover{ opacity:1; color:var(--gold-500); }
  .nav-cart-btn svg{ opacity:0.9; }
  .nav-cart-badge{
    background:var(--gold-500); color:var(--forest-950);
    font-weight:700; font-size:0.72rem;
    min-width:18px; height:18px; border-radius:999px;
    display:none; align-items:center; justify-content:center;
    padding:0 4px;
  }
  .nav-cart-badge.show{ display:inline-flex; }

  /* ---------- HERO ---------- */
  .hero{
    background:
      radial-gradient(ellipse at 50% -10%, rgba(201,169,97,0.14), transparent 55%),
      linear-gradient(180deg, var(--forest-950), var(--forest-900) 55%, var(--forest-800));
    color:var(--gold-100);
    padding: 68px 28px 84px;
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image: radial-gradient(rgba(201,169,97,0.08) 1px, transparent 1px);
    background-size: 22px 22px;
    opacity:0.5;
    pointer-events:none;
  }
  .hero-inner{ position:relative; max-width:640px; margin:0 auto; }
  .hero img.seal{
    width:190px; height:190px; margin:0 auto 22px;
    filter: drop-shadow(0 14px 30px rgba(0,0,0,0.45));
  }
  .hero h1{
    font-size:clamp(2.6rem, 6vw, 3.6rem);
    color:var(--gold-100);
    letter-spacing:0.01em;
  }
  .hero .tagline{
    margin-top:10px;
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    color:var(--gold-500);
    font-size:1.25rem;
    letter-spacing:0.04em;
  }
  .trust-badge{
    margin-top:14px;
    font-size:0.95rem;
    color:rgba(244,236,217,0.85);
    letter-spacing:0.02em;
  }
  .humano-cta{
    margin-top:18px;
    font-size:0.95rem;
    color:rgba(244,236,217,0.85);
  }
  .humano-cta a{
    color:var(--gold-500);
    text-decoration:underline;
    font-weight:600;
  }
  .hero p.desc{
    margin:22px auto 0;
    max-width:480px;
    color:rgba(244,236,217,0.82);
    font-size:1.05rem;
  }
  .hero .cta-row{
    margin-top:32px;
    display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
  }

  /* ---------- SOBRE ---------- */
  .sobre{
    padding:76px 28px;
    background:var(--cream);
  }
  .sobre-grid{
    display:grid; grid-template-columns: 1.1fr 0.9fr; gap:56px; align-items:center;
  }
  .sobre h2{ font-size:2.3rem; color:var(--ink); margin-bottom:16px; }
  .sobre p{ color:#443723; }
  .sobre-card{
    background:var(--forest-900);
    color:var(--gold-100);
    border:1px solid var(--line);
    border-radius:6px;
    padding:30px;
    position:relative;
  }
  .sobre-card .root-mark{ margin-bottom:14px; }
  .sobre-card h3{
    color:var(--gold-300); font-size:1.3rem; margin-bottom:10px; font-weight:600;
  }
  .sobre-card p{ color:rgba(244,236,217,0.82); font-size:0.98rem; margin:0; }
  /* ---------- COMO APROVEITAR ---------- */
  .usar{
    background:var(--parchment);
    padding:80px 28px;
  }
  .usar-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:24px;
    max-width:1000px;
    margin:0 auto;
  }
  .usar-card{
    text-align:center;
    background:var(--cream);
    border:1px solid rgba(36,28,18,0.12);
    border-radius:8px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .usar-card .usar-photo{
    width:100%;
    height:150px;
    object-fit:cover;
    display:block;
  }
  .usar-card .usar-body{
    padding:20px 18px 24px;
  }
  .usar-card h3{
    font-family:'Cormorant Garamond', serif;
    font-size:1.4rem; color:var(--ink); margin-bottom:8px; font-weight:700;
  }
  .usar-card p{
    font-size:0.92rem; color:#5a4a30; margin:0;
  }
  @media (max-width:820px){
    .usar-grid{ grid-template-columns: repeat(2, 1fr); gap:20px; }
    .steps-4{ grid-template-columns: repeat(2, 1fr); gap:32px; }
  }
  @media (max-width:480px){
    .usar-grid{ grid-template-columns:1fr; }
  }

  /* ---------- CARDAPIO ---------- */
  .cardapio{
    background: linear-gradient(180deg, var(--forest-800), var(--forest-900));
    color:var(--gold-100);
    padding:80px 28px 90px;
  }
  .section-head{ text-align:center; margin-bottom:52px; }
  .section-head h2{ font-size:2.5rem; color:var(--gold-100); margin-top:8px; }
  .section-head p{ color:rgba(244,236,217,0.7); max-width:520px; margin:12px auto 0; font-size:1rem; }

  .cat-block{ margin-bottom:52px; }
  .cat-title{
    display:flex; align-items:center; gap:14px;
    margin-bottom:22px;
  }
  .cat-title .rule{ flex:1; height:1px; background:var(--line); }
  .cat-title h3{
    font-size:1.5rem; color:var(--gold-300); white-space:nowrap; font-weight:600;
  }

  .product-grid{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap:20px;
  }
  .product-card{
    background: var(--parchment);
    color:var(--ink);
    border-radius:8px;
    border:1px solid rgba(36,28,18,0.12);
    padding:0 0 20px;
    display:flex; flex-direction:column; gap:0;
    position:relative;
    overflow:hidden;
    box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  }
  .product-card .card-photo{
    width:100%; height:320px; object-fit:cover; object-position:center 18%; display:block;
  }
  .product-card .card-photo-row{
    display:flex; width:100%; height:320px;
  }
  .product-card .card-photo-row img{
    width:50%; height:100%; object-fit:cover; display:block;
  }
  .product-card .card-photo-row img:first-child{
    border-right:1px solid rgba(244,236,217,0.5);
  }
  .product-card .card-body{
    padding:18px 22px 0;
    display:flex; flex-direction:column; gap:12px; flex:1;
  }
  .product-card .jar{ width:38px; height:38px; color:var(--clay); }
  .product-card h4{
    font-family:'Cormorant Garamond', serif;
    font-size:1.55rem;
    font-weight:700;
    margin:0;
  }
  .product-card .desc{
    font-size:1rem; color:#5a4a30; flex:1; margin:0;
  }
  .product-card .foot{
    display:flex; flex-direction:column; align-items:stretch; gap:10px;
    margin-top:6px;
    padding-top:12px;
    border-top:1px dashed rgba(36,28,18,0.2);
  }
  .price-tag{
    font-family:'EB Garamond', serif; font-weight:700; font-style:normal;
    font-size:1.5rem; color:var(--forest-900);
    background:var(--gold-300);
    padding:4px 14px;
    border-radius:6px;
    display:inline-block;
  }
  .order-link{
    font-size:1rem;
    color:var(--forest-900);
    background:var(--parchment);
    border:1px solid var(--clay);
    padding:12px 14px;
    border-radius:999px;
    font-family:'EB Garamond', serif;
    font-weight:600;
    width:100%;
    cursor:pointer;
  }
  .order-link:hover{ background:var(--clay); color:var(--cream); }

  /* ---------- ENTREGA ---------- */
  .entrega{
    background:var(--cream);
    padding:80px 28px;
    text-align:center;
  }
  .entrega h2{ font-size:2.2rem; margin-bottom:10px; }
  .entrega p.lead{ color:#5a4a30; max-width:480px; margin:0 auto 30px; }
  .city-list{
    display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
  }
  .city-pill{
    padding:10px 20px;
    border:1px solid var(--clay);
    border-radius:999px;
    font-size:0.95rem;
    color:var(--ink);
    background:var(--parchment);
  }
  .horario{
    margin-top:26px;
    font-size:0.95rem;
    color:var(--clay);
    font-weight:600;
  }
  .bairro-note{
    margin-top:14px;
    font-size:0.88rem;
    color:#7a6a4c;
  }

  /* ---------- COMO PEDIR ---------- */
  /* ---------- PAGAMENTO ---------- */
  /* ---------- AVALIAÇÕES ---------- */
  .avaliacoes{
    background:var(--cream);
    padding:80px 28px;
  }
  .aval-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap:28px;
    max-width:900px;
    margin:0 auto;
  }
  .aval-card{
    background:var(--parchment);
    border:1px solid rgba(36,28,18,0.12);
    border-radius:8px;
    padding:30px 26px 24px;
    position:relative;
  }
  .aval-quote{
    font-family:'Cormorant Garamond', serif;
    font-size:3rem;
    color:var(--clay);
    line-height:0.5;
    margin-bottom:10px;
    opacity:0.6;
  }
  .aval-text{
    font-size:0.95rem;
    color:#4a3c28;
    line-height:1.6;
    margin:0 0 14px;
  }
  .aval-autor{
    font-size:0.85rem;
    color:var(--clay);
    font-style:italic;
    margin:0;
  }
  @media (max-width:640px){
    .aval-grid{ grid-template-columns:1fr; }
  }

  .pagamento{
    background:var(--parchment);
    padding:80px 28px;
    text-align:center;
  }
  .pag-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(200px, 1fr));
    gap:24px;
    max-width:560px;
    margin:0 auto;
  }
  .pag-card{
    background:var(--cream);
    border:1px solid rgba(36,28,18,0.12);
    border-radius:8px;
    padding:28px 20px;
  }
  .pag-icon{ width:34px; height:34px; color:var(--clay); margin:0 auto 14px; }
  .pag-card h3{
    font-family:'Cormorant Garamond', serif;
    font-size:1.3rem; color:var(--ink); margin-bottom:8px; font-weight:700;
  }
  .pag-card p{ font-size:0.9rem; color:#5a4a30; margin:0; }
  .pag-note{
    margin-top:22px; font-size:0.85rem; color:#7a6a4c; font-style:italic;
  }
  @media (max-width:480px){
    .pag-grid{ grid-template-columns:1fr; }
  }

  .como{
    background:var(--forest-900);
    color:var(--gold-100);
    padding:80px 28px;
  }
  .como .section-head h2{ color:var(--gold-100); }
  .steps{
    display:grid; grid-template-columns: repeat(3, 1fr); gap:28px;
    max-width:900px; margin:0 auto;
  }
  .steps-4{ grid-template-columns: repeat(4, 1fr); max-width:1000px; }
  .step{
    text-align:center; padding:0 10px;
  }
  .step .num{
    font-size:2rem; margin-bottom:8px;
  }
  .step h4{ font-size:1.15rem; color:var(--gold-300); margin-bottom:8px; font-weight:600;}
  .step p{ color:rgba(244,236,217,0.75); font-size:0.92rem; margin:0;}
  .como .cta-row{ display:flex; justify-content:center; margin-top:48px; }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--forest-950);
    color:rgba(244,236,217,0.65);
    padding:44px 28px 30px;
    text-align:center;
    font-size:0.88rem;
  }
  footer .brand{ justify-content:center; margin-bottom:14px; }
  footer .brand span{ font-size:1.1rem; }

  /* ---------- WHATSAPP FLOAT ---------- */
  /* ---------- CARRINHO ---------- */
  .cart-float{
    position:fixed; left:20px; bottom:44px; z-index:9999;
    width:58px; height:58px; border-radius:50%;
    background:var(--forest-900); border:2px solid var(--gold-500);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px rgba(0,0,0,0.35);
    cursor:pointer;
  }
  .cart-float svg{ width:26px; height:26px; }
  .cart-badge{
    position:absolute; top:-4px; right:-4px;
    background:var(--gold-500); color:var(--forest-950);
    font-family:'EB Garamond', serif; font-weight:700;
    font-size:0.78rem; min-width:20px; height:20px;
    border-radius:999px; display:flex; align-items:center; justify-content:center;
    padding:0 4px;
  }
  .cart-overlay{
    display:none; position:fixed; inset:0; background:rgba(15,26,20,0.55);
    z-index:70;
  }
  .cart-overlay.open{ display:block; }
  .cart-panel{
    position:fixed; right:0; top:0; bottom:0; z-index:80;
    width:min(380px, 92vw);
    background:var(--cream); color:var(--ink);
    box-shadow:-10px 0 30px rgba(0,0,0,0.3);
    transform:translateX(100%);
    transition:transform .28s ease;
    display:flex; flex-direction:column;
  }
  .cart-panel.open{ transform:translateX(0); }
  .cart-panel-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 22px; border-bottom:1px solid rgba(36,28,18,0.15);
  }
  .cart-panel-head h3{ font-size:1.3rem; }
  .cart-panel-head button{
    background:none; border:none; font-size:1.6rem; line-height:1; cursor:pointer; color:var(--ink);
  }
  .cart-items{ flex:1; overflow-y:auto; padding:14px 22px; }
  .cart-empty{ color:#7a6a4c; font-size:0.95rem; text-align:center; margin-top:30px; }
  .cart-row{
    display:flex; align-items:center; justify-content:space-between;
    gap:10px; padding:12px 0; border-bottom:1px dashed rgba(36,28,18,0.15);
  }
  .cart-row .info{ flex:1; }
  .cart-row .info .name{ font-family:'Cormorant Garamond', serif; font-weight:700; font-size:1.05rem; }
  .cart-row .info .unit-price{ font-size:0.82rem; color:var(--clay); }
  .cart-qty{ display:flex; align-items:center; gap:8px; }
  .cart-qty button{
    width:26px; height:26px; border-radius:50%; border:1px solid var(--clay);
    background:var(--parchment); color:var(--ink); cursor:pointer; font-size:1rem; line-height:1;
  }
  .cart-qty span{ min-width:16px; text-align:center; font-size:0.95rem; }
  .cart-remove{
    background:none; border:none; color:#a4432f; font-size:0.8rem; cursor:pointer; margin-left:6px;
  }
  .cart-panel-foot{
    padding:18px 22px 22px; border-top:1px solid rgba(36,28,18,0.15);
  }
  .cart-total{
    font-size:0.9rem; color:#5a4a30; margin:0 0 12px; display:flex; justify-content:space-between;
  }
  .login-msg{
    font-size:0.85rem; margin-top:8px; min-height:1.2em;
  }
  .login-msg.error{ color:#a4432f; }
  .login-msg.success{ color:#2f6a3f; }
  .login-toggle{
    text-align:center; font-size:0.88rem; color:#5a4a30; margin:12px 0 0;
  }
  .login-toggle a{ color:var(--clay); font-weight:600; text-decoration:underline; }
  .cart-step{ display:flex; flex-direction:column; flex:1; min-height:0; }
  .cart-checkout-body{ flex:1; overflow-y:auto; padding:14px 22px; }
  .checkout-label{
    font-size:0.78rem; text-transform:uppercase; letter-spacing:0.06em;
    color:var(--clay); margin:0 0 10px;
  }
  .cart-summary{ font-size:0.9rem; color:#5a4a30; }
  .cart-summary .sum-row{ display:flex; justify-content:space-between; padding:4px 0; }
  .field{ display:block; margin-bottom:14px; }
  .field span{ display:block; font-size:0.82rem; color:#5a4a30; margin-bottom:5px; }
  .field input, .field select{
    width:100%; padding:10px 12px; border:1px solid rgba(36,28,18,0.25);
    border-radius:6px; font-family:'EB Garamond', serif; font-size:0.95rem;
    background:var(--cream); color:var(--ink);
  }
  .field input:focus, .field select:focus{ outline:2px solid var(--clay); }
  .field-row{ display:flex; gap:12px; }
  .field-row .field{ flex:1; min-width:0; }
  .pix-box, #pix-box{ margin-top:8px; }
  .pix-key{
    background:var(--parchment); border:1px dashed var(--clay);
    border-radius:6px; padding:10px 12px;
    font-family:'EB Garamond', serif; font-weight:700;
    font-size:1.05rem; color:var(--ink); word-break:break-all; margin:0 0 6px;
  }
  .pix-note{ font-size:0.8rem; color:#7a6a4c; margin:0; }

  /* ---------- LIGHTBOX (foto em tela cheia) ---------- */
  .lightbox-overlay{
    display:none;
    position:fixed; inset:0; z-index:200;
    background:rgba(10,16,12,0.92);
    align-items:center; justify-content:center;
    padding:24px;
    cursor:zoom-out;
  }
  .lightbox-overlay.open{ display:flex; }
  .lightbox-img{
    max-width:min(90vw, 700px);
    max-height:90vh;
    border-radius:8px;
    box-shadow:0 20px 50px rgba(0,0,0,0.5);
    cursor:default;
  }
  .lightbox-close{
    position:absolute; top:18px; right:22px;
    background:none; border:none; color:var(--gold-100);
    font-size:2.2rem; line-height:1; cursor:pointer;
  }
  .product-card .card-photo,
  .product-card .card-photo-row img{
    cursor:zoom-in;
  }

  .wa-float{
    position:fixed; right:20px; bottom:44px; z-index:9999;
    width:58px; height:58px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px rgba(0,0,0,0.35);
  }
  .wa-float svg{ width:28px; height:28px; fill:#fff; }

  @media (max-width: 820px){
    .sobre-grid{ grid-template-columns:1fr; gap:32px; }
    .steps{ grid-template-columns:1fr; gap:36px; }
    .steps-4{ grid-template-columns:1fr; }
    .nav-links a:not(.btn){ display:none; }
  }
