/*
Theme Name:   Missário
Theme URI:    https://missario.com.br
Description:  Tema fiel ao Wix original — layout em cards brancos sobre cinza, Palatino, barra de cupom preta, rodapé bege. Ligado a WP/WooCommerce.
Author:       Cirus Tavares
Version: 3.1.19
Template:     storefront
Text Domain:  missario
*/

:root{
  --bg: #ececec;
  --card: #ffffff;
  --ink: #3b3a3a;
  --ink-soft: #625f5b;
  --muted: #7a7a7a;
  --brown: #b06027;
  --brown-dark: #8f4e1f;
  --tan: #cda17c;
  --cream: #f5eee4;
  --footer: #baa082;
  --yellow: #ffe600;
  --serif: "Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L","Gelasio","Hoefler Text",Georgia,serif;
  --display: "Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L","Gelasio","Hoefler Text",Georgia,serif;
  --sans: "Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--serif);
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  line-height:1.4;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* === coupon bar === */
.coupon{
  background:#000;color:#fff;
  font-family:var(--sans);font-weight:400;
  letter-spacing:.02em;font-size:18px;
  text-align:center;padding:24px 16px;
}
.coupon .hl{background:var(--yellow);color:#000;padding:2px 8px;font-weight:700}
.coupon .dot{display:inline-block;margin:0 14px;opacity:.8}

/* === card wrapper === */
.page{padding:24px 24px 0;max-width:1530px;margin:0 auto}
.card{
  background:var(--card);border-radius:18px;
  margin:0 auto 24px;max-width:1480px;overflow:hidden;
}
.card.flat{background:transparent;border-radius:0}

/* === header === */
header.nav{
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;padding:36px 64px;gap:32px;
}
.logo{display:flex;align-items:center;gap:14px;font-family:var(--serif);font-weight:700;font-size:32px}
.logo img{height:48px;width:auto}
.logo .plus{
  width:44px;height:44px;border-radius:50%;
  background:#000;color:#fff;display:grid;place-items:center;
  font-size:30px;font-weight:400;line-height:0;padding-bottom:2px;
}
.nav-center{display:flex;align-items:center;gap:42px;justify-self:end}
.btn-compre{
  background:var(--brown);color:#fff;border:none;
  padding:14px 38px;border-radius:0;font-family:var(--serif);
  font-weight:400;letter-spacing:.08em;font-size:15px;cursor:pointer;
  transition:background .15s ease;text-transform:uppercase;
}
.btn-compre:hover{background:var(--brown-dark)}
.nav-links{display:flex;gap:42px;align-items:center;font-size:18px;color:var(--ink);font-family:var(--serif);list-style:none;margin:0;padding:0}
.nav-links li{position:relative;padding:6px 0;cursor:pointer}
.nav-links a{display:block}
.nav-links li.current-menu-item > a,
.nav-links li.active > a{position:relative}
.nav-links li.current-menu-item > a::before,
.nav-links li.active > a::before{
  content:"";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  width:60%;height:2px;background:#000;
}
.nav-links .sub-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:#fff;border:1px solid #e3e3e3;padding:10px 0;min-width:220px;
  box-shadow:0 18px 32px -20px rgba(0,0,0,.18);display:none;z-index:60;list-style:none;
}
.nav-links li:hover .sub-menu{display:block}
.nav-links .sub-menu li{padding:0}
.nav-links .sub-menu a{padding:9px 20px;font-size:15px}
.nav-links .sub-menu a:hover{background:#f4f0ea}
.nav-right{display:flex;align-items:center;gap:18px;justify-self:end}
.icon-btn{
  width:44px;height:44px;border-radius:50%;
  border:1.5px solid #d8d8d8;display:grid;place-items:center;
  color:#666;background:transparent;cursor:pointer;
}
.icon-btn.cart{position:relative;border-color:#000;color:#000}
.icon-btn.cart .badge{
  position:absolute;top:-4px;right:-6px;background:#000;color:#fff;
  font-size:11px;width:18px;height:18px;border-radius:50%;
  display:grid;place-items:center;font-weight:600;
}
.nav-right .sep{color:#bbb}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;width:30px;height:24px;position:relative;color:#000}
.menu-toggle span{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:200ms}
.menu-toggle span:nth-child(1){top:2px}
.menu-toggle span:nth-child(2){top:11px}
.menu-toggle span:nth-child(3){top:20px}
.menu-toggle[aria-expanded="true"] span:nth-child(1){top:11px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){top:11px;transform:rotate(-45deg)}

/* === hero === */
.hero{padding:120px 64px 140px;text-align:center}
.hero h1{
  font-family:var(--display);font-weight:400;
  font-size:clamp(72px,12vw,180px);line-height:1.1;
  margin:0;color:var(--ink);
}
.scroll-arrow{
  margin:96px auto 0;width:74px;height:74px;border-radius:50%;
  border:1px solid #bdbdbd;display:grid;place-items:center;
  color:#5a5a5a;transition:transform .25s ease;cursor:pointer;
}
.scroll-arrow:hover{transform:translateY(4px)}

/* === mission === */
.mission{padding:96px 80px 110px;display:grid;grid-template-columns:1.05fr 1fr;gap:64px}
.eyebrow{font-family:var(--serif);font-size:18px;color:var(--brown);margin:0 0 18px}
.mission h2{font-family:var(--display);font-weight:400;font-size:65px;line-height:1.15;margin:0 0 56px;color:var(--ink)}
.mission .lead{font-family:var(--serif);font-size:25px;line-height:1.4;color:var(--ink);max-width:520px;margin:0 0 56px}
.mission .lead b{font-weight:700}
.btn-pill{
  display:inline-block;background:#0f0f0f;color:#fff;
  padding:18px 44px;border-radius:999px;font-family:var(--serif);
  font-size:18px;font-weight:400;border:none;cursor:pointer;
  transition:background .15s ease,transform .15s ease;
}
.btn-pill:hover{background:#000;transform:translateY(-1px);color:#fff}
.mission-right{position:relative}
.video-frame{aspect-ratio:16/9;width:100%;border-radius:6px;overflow:hidden;box-shadow:0 6px 28px rgba(0,0,0,.18);background:#000}
.video-frame iframe{width:100%;height:100%;border:0;display:block}
.book-row{display:flex;align-items:flex-end;gap:48px;margin-top:60px}
.book-link{display:block;flex-shrink:0;width:240px;transition:transform .2s ease}
.book-link:hover{transform:translateY(-3px)}
.book-img{width:100%;height:auto;display:block;box-shadow:0 14px 36px rgba(0,0,0,.18)}

/* === dark focus === */
.focus{
  position:relative;min-height:780px;
  background:#3f4347 url('assets/cute-girl.jpg') 13% 47%/cover;
  color:#fff;padding:88px 88px 64px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.focus::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,32,35,.62) 0%,rgba(30,32,35,.30) 55%,rgba(30,32,35,.10) 100%)}
.focus > *{position:relative;z-index:1}
.focus .eyebrow{color:#e8e0d4;margin-bottom:24px}
.focus h2{font-family:var(--display);font-weight:400;font-size:78px;line-height:1.15;margin:0;max-width:680px;color:#fff}
.focus .body{margin-top:48px;max-width:520px;font-size:25px;line-height:1.4;color:#fff;font-family:var(--serif)}
.explorar{
  width:170px;height:170px;border-radius:50%;
  border:1px solid rgba(255,255,255,.8);display:grid;place-items:center;
  text-align:center;color:#fff;font-size:14px;letter-spacing:.18em;
  line-height:1.5;font-family:var(--serif);margin-top:auto;cursor:pointer;
  transition:background .2s ease;
}
.explorar:hover{background:rgba(255,255,255,.08);color:#fff}

/* === numbered story === */
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:90px 80px;align-items:center}
.story .num{font-family:var(--serif);font-size:18px;color:var(--brown);margin:0 0 36px}
.story h3{font-family:var(--serif);font-weight:700;font-size:50px;line-height:1.15;margin:0 0 80px;color:var(--ink)}
.story h3 a{color:inherit}
.story p{font-family:var(--serif);font-size:16px;line-height:1.5;color:var(--ink);max-width:540px;margin:0 0 44px}
.story .img{aspect-ratio:4/3;border-radius:6px;background-size:cover;background-position:center;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.story.right .img{order:2}
.img-calendar{background-image:url('assets/calendario.jpg')}
.img-hostia{background-image:url('assets/padre-celebrando-missa.jpg')}
.img-bible{background-image:url('assets/rezar.jpeg')}

/* === prepare === */
.prepare{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:90px 80px;align-items:center}
.prepare h2{font-family:var(--display);font-weight:400;font-size:65px;line-height:1.15;margin:0 0 80px;color:var(--ink)}
.prepare p{font-family:var(--serif);font-size:25px;line-height:1.4;color:var(--ink);margin:0 0 60px;max-width:520px}
.circle-actions{display:flex;gap:36px;flex-wrap:wrap}
.circle{
  width:160px;height:160px;border-radius:50%;border:1px solid var(--ink);
  display:grid;place-items:center;text-align:center;font-size:14px;
  letter-spacing:.18em;cursor:pointer;color:var(--ink);
  transition:background .2s ease,color .2s ease;font-family:var(--serif);line-height:1.5;
}
.circle:hover{background:#1c1c1c;color:#fff}

/* === steps table === */
.steps{padding:90px 80px}
.steps h2{font-family:var(--display);font-weight:400;font-size:65px;line-height:1.15;margin:0 0 64px;color:var(--ink);max-width:1100px}
.step-row{display:grid;grid-template-columns:100px 1fr 1.1fr;gap:48px;padding:32px 8px;border-top:1px solid #d6d6d6;align-items:center}
.step-row:last-child{border-bottom:1px solid #d6d6d6}
.step-num{font-family:var(--serif);font-size:18px;color:var(--ink);text-align:center}
.step-title{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--brown-dark);line-height:1.15;text-align:center}
.step-body{font-family:var(--serif);font-size:16px;line-height:1.5;color:var(--ink)}
.step-body a{color:var(--brown);text-decoration:underline}
.steps-cta{display:flex;justify-content:center;margin-top:72px}

/* === newsletter / weeks (full-bleed dentro do .page) === */
.news{background:var(--cream);padding:96px 80px 104px;margin:0 -24px 0}
.news h2{font-family:var(--display);font-weight:400;font-size:65px;line-height:1.15;margin:0 0 56px;color:var(--ink);max-width:1300px}
.news .btn-pill{margin-bottom:80px}
.weeks{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.week{aspect-ratio:3/4;border-radius:4px;position:relative;overflow:hidden;background-size:cover;background-position:center;color:#fff;cursor:pointer;transition:transform .25s ease;display:block}
.week:hover{transform:translateY(-4px)}
.week::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(20,15,8,.85) 100%)}
.week .meta{position:absolute;top:18px;left:18px;font-family:var(--sans);font-size:13px;letter-spacing:.02em;z-index:1;opacity:.95}
.week .meta .dot{margin:0 8px;opacity:.7}
.week .ttl{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;font-family:var(--serif);font-size:18px;line-height:1.3;font-weight:400}
.week-cta{display:flex;justify-content:center;margin-top:80px}

/* === footer === */
.site-footer{background:var(--footer);color:#1f1815;padding:80px 80px 40px;margin-top:24px}
.foot-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.1fr 1fr;gap:48px;max-width:1480px;margin:0 auto}
.foot-logo{font-family:var(--serif);font-weight:700;font-size:32px;display:flex;align-items:center;gap:12px;margin-bottom:30px}
.foot-logo .plus{width:40px;height:40px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;font-size:28px;line-height:0;padding-bottom:2px}
.foot-buy{display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:230px}
.foot-buy a{background:#1a1a1a;color:#fff;border:none;padding:14px 28px;border-radius:999px;font-family:var(--serif);font-size:16px;cursor:pointer;transition:transform .15s ease,background .15s ease;text-align:center;display:block}
.foot-buy a:hover{background:#000;transform:translateY(-1px);color:#fff}
.foot-buy .gap{height:14px}
.foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;font-size:16px;font-family:var(--serif);color:#1f1815}
.foot-col ul li a:hover{text-decoration:underline}
.foot-col a.under{text-decoration:underline;font-family:var(--serif);font-size:16px;display:block;margin-bottom:14px}
.foot-meta{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;max-width:1480px;margin-left:auto;margin-right:auto}
.foot-meta .left{font-family:var(--serif);font-size:14px;line-height:1.6}
.foot-meta .left p{margin:0 0 4px}
.foot-meta .left .copy{margin-top:32px}
.foot-meta .right h5{margin:0 0 14px;font-family:var(--serif);font-size:18px;font-weight:400}
.foot-meta .right label{font-family:var(--serif);font-size:14px;display:block;margin-bottom:8px}
.foot-meta .right .field{display:flex}
.foot-meta .right input{flex:1;height:48px;padding:0 14px;border:none;font-size:16px;font-family:var(--serif);background:#fff;color:#222}
.foot-meta .right input:focus{outline:2px solid #000;outline-offset:-2px}
.foot-meta .right .ok{width:80px;border:none;background:#1a1a1a;color:#fff;font-size:18px;font-family:var(--serif);cursor:pointer}
.foot-meta .right .ok:hover{background:#000}

/* === WooCommerce === */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price{color:var(--ink);font-weight:700;font-family:var(--serif);font-size:1.6rem}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-weight:700;color:var(--ink)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce input.button.alt,.woocommerce a.button.alt,.woocommerce #respond input#submit{
  background:var(--brown) !important;color:#fff !important;border-radius:999px !important;
  font-family:var(--serif) !important;font-weight:400 !important;font-size:16px !important;
  letter-spacing:.04em !important;padding:14px 34px !important;border:none !important;text-transform:none !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce #respond input#submit:hover{background:var(--brown-dark) !important;color:#fff !important}
.woocommerce span.onsale{background:var(--brown);color:#fff;border-radius:999px;font-weight:700}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--brown)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--brown)}
.woocommerce-page:not(.home) .content-area,
.woocommerce-page:not(.home) #primary{background:var(--card);border-radius:18px;padding:48px;max-width:1480px;margin:24px auto}

/* === responsive === */
@media (max-width:1100px){
  header.nav{grid-template-columns:auto 1fr auto;padding:24px 32px}
  .nav-center{display:none}
  .nav-right .sep{display:none}
  .menu-toggle{display:inline-block}
  .nav-center.is-open{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:fixed;top:0;right:0;bottom:0;width:80%;max-width:320px;
    background:#fff;z-index:200;padding:80px 0 24px;overflow-y:auto;
    box-shadow:-20px 0 40px -20px rgba(0,0,0,.3);
  }
  .nav-center.is-open .btn-compre{margin:0 22px 18px;text-align:center}
  .nav-center.is-open .nav-links{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .nav-center.is-open .nav-links li{padding:0;border-bottom:1px solid #eee}
  .nav-center.is-open .nav-links a{padding:16px 22px}
  .nav-center.is-open .nav-links li.active > a::before,
  .nav-center.is-open .nav-links li.current-menu-item > a::before{display:none}
  .menu-toggle{z-index:210}
  .hero{padding:80px 24px}
  .hero h1{font-size:96px}
  .mission,.story,.prepare,.steps,.news{padding:64px 32px}
  .focus{padding:60px 32px;min-height:560px}
  .mission,.story,.prepare{grid-template-columns:1fr;gap:40px}
  .story.right .img{order:0}
  .mission h2,.prepare h2,.news h2,.steps h2{font-size:42px;margin-bottom:32px}
  .story h3{font-size:36px;margin-bottom:32px}
  .focus h2{font-size:48px}
  .weeks{grid-template-columns:repeat(2,1fr)}
  .step-row{grid-template-columns:60px 1fr;gap:16px}
  .step-row .step-body{grid-column:1 / -1}
  .site-footer{padding:48px 32px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .foot-meta{grid-template-columns:1fr}
  .coupon{font-size:14px;padding:14px 12px}
  .coupon .dot{margin:0 6px}
}
@media (max-width:680px){
  .weeks{grid-template-columns:1fr}
  .hero h1{font-size:64px}
  .focus h2{font-size:36px}
  .mission h2,.prepare h2,.news h2,.steps h2{font-size:32px}
  .foot-grid{grid-template-columns:1fr}
  .book-row{flex-direction:column;align-items:flex-start;gap:24px}
}

/* === Rodape identico ao site estatico (Astro) — adicionado na migracao === */
.footer{--ink:#3b3a3a;--terra:#b06027;--terra-bg:#cda17c;--btn:#181818;--serif:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--display:"Montserrat","Helvetica Neue",Arial,sans-serif;background:var(--terra-bg);margin:14px 48px 28px;border-radius:30px;padding:60px 64px;font-family:var(--sans)}
.footer *{box-sizing:border-box}
.footer__inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr 1fr;gap:30px;color:var(--ink)}
.footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer .btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:14px;font-weight:500;text-decoration:none;border:0;cursor:pointer;padding:10px 22px;border-radius:30px;line-height:1}
.footer .btn--ink{background:var(--ink);color:#fff}
.footer .btn--ink:hover{background:#2a2929}
.footer__company{margin-top:22px;font-size:13px;line-height:1.7;display:flex;flex-direction:column}
.footer__company strong{font-size:13px}
.footer__company .copy{margin-top:14px}
.footer__company a{color:var(--ink);text-decoration:underline}
.footer__col{display:flex;flex-direction:column;gap:14px}
.footer__col a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-size:15px}
.footer__col a:hover{color:#000}
.footer__ig{font-weight:700}
.footer__news p{font-family:var(--serif);font-size:18px;margin-bottom:14px}
.footer__news label{display:block;font-size:14px;margin-bottom:8px}
.footer .news__row{display:flex}
.footer .news__row input{flex:1;min-height:48px;border:1px solid #b98a63;border-radius:0;padding:0 12px;background:#fff}
.footer .news__row button{background:var(--btn);color:#fff;border:0;padding:0 26px;cursor:pointer;font-family:var(--sans);font-size:15px}
.footer-logo{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;font-size:30px;color:var(--ink);line-height:1;margin-bottom:6px}
.footer-logo__cross{fill:var(--ink);flex:none}
@media (max-width:900px){.footer{padding:44px 26px;margin:14px 14px 28px}.footer__inner{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:560px){.footer__inner{grid-template-columns:1fr}}

/* === Cabecalho identico ao site estatico (Astro) — migracao === */
.promo{background:#181818;color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px;font-weight:700;letter-spacing:.2px;text-align:center;padding:14px 18px}
.promo mark{background:#ffe600;color:#000;padding:2px 8px;border-radius:2px}
.header{position:sticky;top:0;z-index:50;background:#fff;margin:14px 48px 0;border-radius:20px 20px 0 0}
.header__inner{display:flex;align-items:center;gap:30px;padding:18px 44px}
.header .brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.brand__cross{flex:none}
.brand__cross path{fill:#111}
.brand__name{font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:26px;letter-spacing:.2px;color:#111}
.header .nav{display:flex;align-items:center;gap:34px;position:static;background:none;box-shadow:none;flex-direction:row;visibility:visible;transform:none;padding:0;margin:0;inset:auto;max-height:none}
.header__buy{margin-left:auto}
.header .nav__link{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;color:#3b3a3a;text-decoration:none;padding:6px 0;border-top:2px solid transparent;border-bottom:0;display:inline-flex;align-items:center}
.header .nav__link:hover{color:#000}
.header .nav__link.is-active{border-top-color:#000;font-weight:500}
.header__icons{display:flex;align-items:center;gap:10px;color:#b06027}
.header .icon{display:inline-flex;align-items:center;justify-content:center;position:relative;color:#b06027;text-decoration:none}
.header .icon--account{width:34px;height:34px;border-radius:50%;background:#b06027;color:#fff}
.header .icon--account svg{width:20px;height:20px;fill:#fff;stroke:none}
.header__sep{color:#999}
.header .cart svg .bag{fill:#b06027;stroke:none}
.header .cart svg .handle{fill:none;stroke:#b06027;stroke-width:1.8}
.cart__badge{position:absolute;right:-7px;bottom:-6px;background:#b06027;color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:11px;font-weight:700;line-height:1;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.header .btn--terra{background:#b06027;color:#fff;padding:11px 26px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:30px;text-decoration:none;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1;cursor:pointer}
.header .btn--terra:hover{background:#9a5320}
.menu-toggle{display:none;flex:none;background:#181818;border-radius:50%;border:0;cursor:pointer;width:38px;height:38px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}
.menu-toggle span{display:block;width:15px;height:2px;background:#fff;border-radius:2px;transition:.2s}
.header .nav__dd{position:relative;display:flex;align-items:center}
.header .nav__dd-btn{background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:17px;font-weight:400;color:#3b3a3a;padding:6px 0;border-bottom:2px solid transparent}
.header .nav__caret{font-size:11px;transition:transform .15s}
.header .nav__dd:hover .nav__caret{transform:rotate(180deg)}
.header .nav__menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);min-width:250px;background:#fff;border:1px solid #d9d4cc;border-radius:12px;box-shadow:0 20px 50px rgba(24,34,53,.14);padding:10px;display:none;flex-direction:column;z-index:120}
.header .nav__dd:hover .nav__menu{display:flex}
.header .nav__menu a{padding:11px 14px;border-radius:8px;text-decoration:none;color:#3b3a3a;font-size:15px;white-space:nowrap;border:0}
.header .nav__menu a:hover{background:#f5eee4;color:#8f4e1f}
@media (max-width:900px){
  .header{margin:14px 14px 0}
  .header__inner{padding:12px 12px;gap:9px}
  .brand__cross{display:none}
  .brand__name{font-size:19px}
  .menu-toggle{display:flex;width:34px;height:34px}
  .header__buy{margin-left:0;padding:8px 13px;font-size:12px}
  .header__icons{margin-left:auto;gap:7px}
  .header .icon--account{width:30px;height:30px}
  .header .icon--account svg{width:18px;height:18px}
  .header .cart svg{width:23px;height:23px}
  .header .nav{position:fixed;inset:60px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:10px 22px 24px;box-shadow:0 20px 40px rgba(0,0,0,.12);transform:translateY(-10px);visibility:hidden;pointer-events:none;transition:transform .18s ease, visibility .18s;margin:0;max-height:calc(100vh - 60px);overflow-y:auto;z-index:50}
  .header .nav.is-open{visibility:visible;pointer-events:auto;transform:translateY(0)}
  .header .nav__link{padding:14px 0;border-bottom:1px solid #eee;border-top:0}
  .header .nav__dd{display:block}
  .header .nav__dd-btn{width:100%;justify-content:space-between;font-size:17px;font-weight:700;padding:14px 0;border-bottom:1px solid #d9d4cc}
  .header .nav__menu{position:static;transform:none;display:flex;box-shadow:none;border:0;border-radius:0;padding:4px 0 10px 14px;min-width:0;background:transparent}
  .header .nav__menu a{padding:10px 0;color:#4f5a68}
  .promo{font-size:14px}
}

/* override do hamburguer (vence button do Storefront) */
.header .menu-toggle{display:none;flex:none;background:#181818;border:0;border-radius:50%;width:38px;height:38px;padding:0;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;-webkit-appearance:none;appearance:none;box-shadow:none}
.header .menu-toggle span{display:block;width:15px;height:2px;background:#fff;border-radius:2px;margin:0}
@media(max-width:900px){.header .menu-toggle{display:flex;width:34px;height:34px}}

/* fix: tirar visibility da transicao do menu mobile (prendia em hidden) */
@media (max-width:900px){
  .header .nav{transition:transform .18s ease}
}

/* fix overflow do header no mobile (hamburguer/carrinho saiam do card) */
@media (max-width:900px){
  .header{overflow:visible}
  .header__inner{padding:10px 12px;gap:7px;flex-wrap:nowrap;min-width:0;box-sizing:border-box;max-width:100%}
  .header .brand{flex:0 1 auto;min-width:0;overflow:hidden}
  .brand__name{font-size:17px;white-space:nowrap}
  .header__sep{display:none}
  .header .btn--terra.header__buy{margin-left:auto;padding:7px 11px;font-size:11px;white-space:nowrap;flex:none}
  .header__icons{gap:6px;flex:none;margin-left:0}
  .header .icon--account{width:28px;height:28px;flex:none}
  .header .cart{flex:none}
}
@media (max-width:380px){
  .brand__name{font-size:15px}
  .header .btn--terra.header__buy{padding:6px 9px;font-size:10px}
}

/* estrelas de avaliacao na cor da marca (era roxo do Storefront) */
.star-rating::before{color:#e3d9c8 !important}
.star-rating span::before{color:#d4a017 !important}
p.stars a::before,p.stars a:hover~a::before{color:#d4a017 !important}
/* badge OFERTA distinto do botao Comprar (era pill marrom igual) */
.onsale{background:#e8a31f !important;color:#2b2b2b !important;border-radius:4px !important;font-size:12px !important;font-weight:700 !important;padding:3px 10px !important;line-height:1.7 !important;min-height:0 !important;letter-spacing:.03em;text-transform:uppercase;box-shadow:none !important}

/* footerfix 3.0.7 — Storefront colapsava .footer__inner pra width:0, overflow horizontal */
.footer__inner{width:100% !important;max-width:100% !important;margin:0 auto}

/* fix hamburguer loja 3.0.8 — legacy .menu-toggle span{position:absolute;top:2/11/20} desalinhava as barras dentro do circulo do .header; resetar pra flow do flex + X no estado aberto */
.header .menu-toggle span{position:static !important;top:auto !important;left:auto !important;right:auto !important;width:16px;height:2px;margin:0;transition:transform .2s, opacity .2s}
.header .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.header .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.header .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* fix mobile 3.0.9 — titulos WooCommerce serif (2.618em ~42px do Storefront) quebravam palavra no mobile (ex "Minha conta" -> "Minh/a/conta"); + card da conta tinha padding:48px estrangulando a coluna */
.woocommerce h1.entry-title,.woocommerce-page h1.entry-title,.woocommerce-account h1.entry-title,h1.entry-title{font-size:clamp(26px,6.5vw,42px);line-height:1.18}
.woocommerce-account #customer_login h2,.woocommerce-account .u-column1 h2,.woocommerce-account .u-column2 h2{font-size:clamp(20px,5vw,32px)}
@media (max-width:600px){
  .woocommerce-page:not(.home) .content-area,.woocommerce-page:not(.home) #primary{padding:22px 16px !important;margin:12px auto !important}
  .woocommerce-account .col2-set .col-1,.woocommerce-account .col2-set .col-2,.woocommerce-account .u-column1,.woocommerce-account .u-column2{width:100% !important;float:none !important}
}

/* ===== Auditoria mobile 3.1.0 ===== */
@media (max-width:680px){
  /* #1 padding do card WooCommerce + grade 1 coluna + botao full-width (overflow real) */
  .woocommerce-page:not(.home) .content-area,
  .woocommerce-page:not(.home) #primary{padding:20px 16px !important;border-radius:12px;margin:12px auto !important}
  ul.products li.product{width:100% !important;float:none !important;margin-right:0 !important;margin-left:0 !important}
  .woocommerce ul.products a.button,.woocommerce ul.products a.add_to_cart_button{width:100%;box-sizing:border-box;text-align:center;padding:12px 16px !important}
  /* #2 titulos serif WooCommerce no mobile (page-title da Loja, product_title) */
  .page-title,.woocommerce-products-header__title,.woocommerce div.product .product_title{font-size:clamp(26px,7vw,42px) !important;line-height:1.15;letter-spacing:0;overflow-wrap:anywhere}
}
/* #5 alvos de toque do header (>=44px) sem aumentar o glifo */
@media (max-width:900px){
  .header__icons .icon{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .header__icons{gap:10px}
  .header .menu-toggle{width:42px;height:42px}
  .header .btn--terra.header__buy{padding:11px 15px;font-size:13px;min-height:42px;display:inline-flex;align-items:center}
}
@media (max-width:380px){.header .btn--terra.header__buy{font-size:12px;padding:10px 12px}}
/* #11 inputs de login/checkout com altura de toque + checkbox lembre-me */
.woocommerce-account form .input-text,.woocommerce form .form-row input.input-text{min-height:44px;padding:11px 12px;font-size:16px}
.woocommerce-form-login__rememberme input[type=checkbox]{width:20px;height:20px}

/* === fix (2026-06): brand do header nao corta no mobile — pinar contra flex-shrink === */
@media (max-width:900px){
  .header__inner{flex-wrap:nowrap}
  .header .menu-toggle{flex:0 0 auto}
  .header .brand{flex:0 0 auto;min-width:0}
  .brand__name{white-space:nowrap;overflow:visible;text-overflow:clip}
  .header__icons{flex:0 0 auto}
}
@media (max-width:600px){
  .header__buy{display:none}
}

/* === fix (2026-06) mobile: anti-zoom iOS (newsletter do rodape + select de ordenacao da loja) === */
.footer .news__row input{font-size:16px}
.woocommerce .woocommerce-ordering select.orderby{font-size:16px;min-height:44px}

/* === fix (2026-06) mobile: header overflow (icones vazando) + faixa cinza lateral (paddings empilhados body+page) === */
@media (max-width:600px){
  body{padding-left:0 !important;padding-right:0 !important}
  .page{padding-left:14px !important;padding-right:14px !important}
  .header .header__buy{display:none !important}
}

/* === fix (2026-06) mobile: body tem class "page" -> separar padding do body (0) do div de conteudo (14px) p/ gutter 14px igual ao Astro === */
@media (max-width:600px){
  body.page{padding-left:0 !important;padding-right:0 !important}
  body > .page{padding-left:14px !important;padding-right:14px !important}
}

/* === fix (2026-06) faixa creme ACIMA da promo: body herda class "page" do WP e pegava o padding-top:24 do card-wrapper (.page). Reset SO no body (o div .page mantem). Todas larguras. === */
body.page{padding-top:0}

/* === fix (2026-06) mobile: apertar gap header->conteudo (faixa creme em cima do login). Zera padding-top do wrapper (so body > .page, nunca o body); o respiro de ~12px vem da margin natural do .content-area (que o Storefront seta via margin-block-start, imune a margin-top). === */
@media (max-width:600px){
  body > .page{padding-top:0}
}

/* === (2026-06) Minha conta / Pedidos com a identidade do site (Astro) — passe conservador === */
.woocommerce-account .woocommerce-MyAccount-content h1,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .entry-title{
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-weight:400;color:#3b3a3a;
}
/* menu lateral (Painel, Pedidos, ...) como lista limpa */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;margin:0 0 26px;padding:0;border:1px solid #d9d4cc;
  border-radius:14px;overflow:hidden;background:#fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid #efe6d8;}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:14px 18px;text-decoration:none;color:#3b3a3a;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#f5eee4;color:#8f4e1f;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:#b06027;color:#fff;font-weight:600;}
/* tabela de pedidos */
.woocommerce-account .woocommerce-orders-table{border-collapse:collapse;width:100%;}
.woocommerce-account .woocommerce-orders-table thead th{
  background:#f5eee4;color:#3b3a3a;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:13px;letter-spacing:.3px;padding:12px;border-bottom:2px solid #d9d4cc;text-align:left;
}
.woocommerce-account .woocommerce-orders-table td{padding:14px 12px;border-bottom:1px solid #efe6d8;font-size:15px;}
.woocommerce-account .woocommerce-orders-table tr:hover td{background:#faf6ef;}
/* botoes da conta em terracota (arredondado, padrao do site) */
.woocommerce-account .button,
.woocommerce-account .woocommerce-button,
.woocommerce-account .woocommerce-Button{
  background:#b06027 !important;color:#fff !important;border:0 !important;border-radius:30px !important;
  padding:11px 22px !important;font-size:14px !important;font-weight:500 !important;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important;text-decoration:none !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  min-height:44px !important;box-sizing:border-box !important;
}
.woocommerce-account .button:hover,
.woocommerce-account .woocommerce-button:hover{background:#9a5320 !important;}
/* mobile: menu vira lista cheia acima do conteudo */
@media (max-width:768px){
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{float:none !important;width:100% !important;}
}

/* === (2026-06) Minha conta: formularios contidos (nao espalhar na largura toda) === */
.woocommerce-account form.woocommerce-form-login{
  max-width:460px;margin:10px auto 0;float:none;width:100%;
  border:1px solid #d9d4cc;border-radius:14px;padding:26px 28px;background:#fff;box-sizing:border-box;
}
.woocommerce-account form.woocommerce-form-register,
.woocommerce-account form.woocommerce-ResetPassword,
.woocommerce-account form.edit-account,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content > .nsl-container{
  max-width:460px;margin-left:auto;margin-right:auto;
}
/* titulo "Entrar" e link "Perdeu a senha" alinhados ao card */
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-LostPassword{ max-width:460px;margin-left:auto;margin-right:auto; }
/* inputs do form de login ocupam a largura do card (nao do conteudo todo) */
.woocommerce-account form.woocommerce-form-login .woocommerce-form-row,
.woocommerce-account form.woocommerce-form-login .input-text{ width:100%; box-sizing:border-box; }

/* === (2026-06) login: centralizar "Entrar" sobre o card === */
body.woocommerce-account:not(.logged-in) .woocommerce h2{ text-align:center; }
/* botao "Visualizar" um pouco mais discreto na tabela de pedidos */
.woocommerce-account .woocommerce-orders-table .button,
.woocommerce-account .woocommerce-orders-table .woocommerce-button{
  padding:9px 18px !important;font-size:13px !important;min-height:40px !important;
}

/* === (2026-06) Painel da conta customizado === */
.missario-dash__hello{font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:26px;color:#3b3a3a;margin:0 0 4px;}
.missario-dash__sub{color:#6f6c68;margin:0 0 22px;font-size:16px;}
.missario-dash__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:680px;}
.missario-dash__card{display:block;border:1px solid #d9d4cc;border-radius:14px;padding:20px 22px;text-decoration:none;color:#3b3a3a;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s;}
.missario-dash__card:hover{border-color:#b06027;box-shadow:0 10px 26px rgba(24,34,53,.09);transform:translateY(-2px);}
.missario-dash__card strong{display:block;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-weight:700;font-size:19px;margin-bottom:4px;color:#3b3a3a;}
.missario-dash__card span{font-size:14px;color:#6f6c68;}
.missario-dash__card--cta{background:#b06027;border-color:#b06027;}
.missario-dash__card--cta strong,.missario-dash__card--cta span{color:#fff;}
.missario-dash__card--cta:hover{background:#9a5320;}
.missario-dash__logout{margin-top:26px;}
.missario-dash__logout a{color:#8f4e1f;text-decoration:underline;text-underline-offset:3px;font-size:15px;}
@media (max-width:560px){.missario-dash__grid{grid-template-columns:1fr;}}

/* === (2026-06) menu da conta: itens das pontas arredondados (terracota "Painel" nao corta o canto do card) === */
.woocommerce-account .woocommerce-MyAccount-navigation ul{overflow:hidden;}
.woocommerce-account .woocommerce-MyAccount-navigation li:first-child a{border-top-left-radius:13px;border-top-right-radius:13px;}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a{border-bottom-left-radius:13px;border-bottom-right-radius:13px;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{margin:0;}

/* === (2026-06) nav da conta: padding horizontal (texto/icones nao colam na borda) === */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{padding-left:22px !important;padding-right:22px !important;}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::after{right:18px !important;}

/* ===== WooCommerce mobile (jun/2026) — CSS aditivo ===== */
/* ===========================================================================
   MISSÁRIO — WooCommerce / Storefront mobile (aditivo)
   ---------------------------------------------------------------------------
   Anexar ao FIM do style.css do tema-filho. CSS-only, aditivo, não depende
   de mudar HTML. Mira as classes PADRÃO do WooCommerce + tema Storefront.
   Layout pesado fica em @media (max-width:768px); cor/identidade fora.
   Identidade: terracota / creme / dourado / serifada — tom sóbrio/litúrgico.
   NÃO redefine .missario-dash (painel de conta custom já existe).
   =========================================================================== */

/* ---------------------------------------------------------------------------
   Tokens da marca
   Declarados aqui (aditivo) para que var(--line) etc. funcionem mesmo se o
   tema não os definir. Valores idênticos aos tokens do site — seguro repetir.
   --------------------------------------------------------------------------- */
:root{
  --terra:#b06027;        /* terracota — CTA principal */
  --terra-dark:#8f4d1d;   /* terracota hover/active */
  --gold:#8f4e1f;         /* dourado — destaques de total/ativo */
  --ink:#3b3a3a;          /* tinta — texto principal */
  --ink-soft:#6c655c;     /* tinta suave — rótulos/secundário */
  --cream:#f5eee4;        /* creme — caixas de resumo/pagamento */
  --line:#d9d4cc;         /* linha — bordas */
  --page:#efe9df;         /* fundo quente */
  --serif:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
}

/* ---------------------------------------------------------------------------
   Identidade global do comércio (sem media query — cor/tipografia)
   Títulos das páginas Woo em serifada; links âncora em dourado.
   --------------------------------------------------------------------------- */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title,
.woocommerce h1.entry-title,
.woocommerce h2,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-account h1{
  font-family:var(--serif);
  font-weight:400;
  color:var(--ink);
}
/* Mensagens/avisos do Woo on-brand (em vez do azul/verde padrão) */
.woocommerce-message,
.woocommerce-info{
  border-top-color:var(--terra);
}
.woocommerce-message::before,
.woocommerce-info::before{
  color:var(--terra);
}
/* Links de ação on-brand (remover item, voltar à loja, etc.) */
.woocommerce a.remove{
  color:var(--terra) !important;
}
.woocommerce a.remove:hover{
  background:var(--terra) !important;
  color:#fff !important;
}

/* ===========================================================================
   1) CARRINHO  /carrinho  (.woocommerce-cart)
   A table.shop_table.cart estoura no mobile → cada item vira CARTÃO.
   As <td> do Woo carregam data-title (ex.: "Produto", "Preço", "Subtotal").
   =========================================================================== */

/* Quantidade e CTA principal: on-brand em qualquer largura (alvo de toque) */
.woocommerce-cart .quantity input.qty{
  min-height:44px;
  min-width:64px;
  font-size:16px;            /* anti-zoom iOS */
  text-align:center;
  border:1.5px solid var(--line);
  border-radius:10px;
  padding:6px 8px;
  color:var(--ink);
}
.woocommerce-cart .quantity input.qty:focus{
  outline:2px solid var(--terra);
  outline-offset:1px;
  border-color:var(--terra);
}

/* Botão "Finalizar compra" (proceed to checkout) — destaque terracota */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block;
  width:100%;
  min-height:48px;
  line-height:1.2;
  font-size:16px;
  font-weight:600;
  background:var(--terra);
  color:#fff;
  border:0;
  border-radius:30px;
  padding:13px 22px;
  text-align:center;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--terra-dark);
}

/* Botões secundários do carrinho: "Atualizar carrinho" e "Aplicar cupom" */
.woocommerce-cart .actions .button,
.woocommerce-cart .actions button[name="update_cart"],
.woocommerce-cart .coupon .button,
.woocommerce-cart .coupon button[name="apply_coupon"]{
  min-height:44px;
  border-radius:30px;
  font-size:15px;
  font-weight:600;
}
/* Cupom: campo + botão alvo de toque, 16px */
.woocommerce-cart .coupon input.input-text,
.woocommerce-cart .coupon #coupon_code{
  min-height:44px;
  font-size:16px;
  border:1.5px solid var(--line);
  border-radius:10px;
  padding:0 14px;
  text-transform:uppercase;
}
.woocommerce-cart .coupon input.input-text:focus,
.woocommerce-cart .coupon #coupon_code:focus{
  outline:2px solid var(--terra);
  outline-offset:1px;
  border-color:var(--terra);
}

/* Totais do carrinho — caixa creme, total em serifada/dourado */
.woocommerce-cart .cart_totals h2{
  font-family:var(--serif);
  font-weight:400;
}
.woocommerce-cart .cart_totals table tr.order-total .amount{
  color:var(--gold);
  font-weight:700;
}

/* ---- Mobile: tabela do carrinho → cartões ---- */
@media (max-width:768px){
  /* esconde o cabeçalho da tabela */
  .woocommerce-cart table.cart thead,
  .woocommerce-cart table.shop_table.cart thead{
    display:none;
  }
  /* a própria <table> e <tbody> deixam de ser tabela */
  .woocommerce-cart table.cart,
  .woocommerce-cart table.shop_table.cart,
  .woocommerce-cart table.cart tbody{
    display:block;
    width:100%;
    border:0;
  }
  /* cada linha de item vira cartão branco */
  .woocommerce-cart table.cart tr.cart_item,
  .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item{
    display:block;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
    margin-bottom:14px;
  }
  /* cada célula = linha rótulo↔valor */
  .woocommerce-cart table.cart tr.cart_item td,
  .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item td{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    width:auto;
    border:0;
    padding:8px 0;
    text-align:right;
  }
  /* rótulo via data-title */
  .woocommerce-cart table.cart tr.cart_item td::before,
  .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item td::before{
    content:attr(data-title);
    font-weight:600;
    color:var(--ink-soft);
    text-align:left;
    margin-right:auto;
  }
  /* imagem do produto: sem rótulo redundante, alinhada à esquerda, ~80px */
  .woocommerce-cart table.cart td.product-thumbnail{
    justify-content:flex-start;
  }
  .woocommerce-cart table.cart td.product-thumbnail::before{
    display:none;
  }
  .woocommerce-cart table.cart td.product-thumbnail img{
    width:80px;
    height:auto;
    border-radius:10px;
  }
  /* nome do produto em serifada, sem ::before empurrando */
  .woocommerce-cart table.cart td.product-name{
    font-family:var(--serif);
    font-size:17px;
  }
  .woocommerce-cart table.cart td.product-name a{
    color:var(--ink);
    text-decoration:none;
  }
  /* quantidade ocupa a direita confortavelmente */
  .woocommerce-cart table.cart td.product-quantity .quantity{
    margin-left:auto;
  }
  /* linha de ações (atualizar/cupom) empilha e ocupa largura total */
  .woocommerce-cart table.cart td.actions{
    display:block;
    padding-top:6px;
  }
  .woocommerce-cart table.cart td.actions::before{
    display:none;
  }
  .woocommerce-cart table.cart td.actions .coupon{
    display:flex;
    gap:8px;
    margin-bottom:10px;
  }
  .woocommerce-cart table.cart td.actions .coupon input.input-text,
  .woocommerce-cart table.cart td.actions .coupon #coupon_code{
    flex:1;
    min-width:0;
  }
  .woocommerce-cart .actions .button,
  .woocommerce-cart .actions button[name="update_cart"]{
    width:100%;
  }

  /* colaterais/totais ocupam largura total no mobile */
  .woocommerce-cart .cart-collaterals,
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-cart .cart-collaterals .cross-sells{
    width:100%;
    float:none;
  }
  /* caixa de totais com cara de "summary" creme */
  .woocommerce-cart .cart_totals table{
    background:var(--cream);
    border-radius:14px;
    padding:6px 14px;
    border:0;
  }
  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td{
    border:0;
    padding:9px 0;
  }
  .woocommerce-cart .cart_totals table tr.order-total th,
  .woocommerce-cart .cart_totals table tr.order-total td{
    border-top:1px solid var(--line);
    padding-top:14px;
    font-family:var(--serif);
    font-size:19px;
  }
}

/* ===========================================================================
   2) CHECKOUT  /finalizar-compra  (.woocommerce-checkout)
   Só conforto — SEM reestruturar o fluxo do Woo.
   =========================================================================== */

/* Campos confortáveis e on-brand (qualquer largura — 16px anti-zoom) */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout #customer_details input.input-text,
.woocommerce-checkout #customer_details textarea,
.woocommerce-checkout #customer_details select{
  min-height:48px;
  font-size:16px;
  border:1.5px solid var(--line);
  border-radius:10px;
  padding:10px 12px;
  color:var(--ink);
  background:#fff;
  box-sizing:border-box;
}
.woocommerce-checkout .form-row textarea{
  min-height:96px;
  line-height:1.5;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection{
  outline:2px solid var(--terra);
  outline-offset:1px;
  border-color:var(--terra);
}
/* select2 (Woo costuma trocar selects de país/estado) alinhado à altura */
.woocommerce-checkout .select2-container .select2-selection--single{
  min-height:48px;
  border:1.5px solid var(--line);
  border-radius:10px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:46px;
  color:var(--ink);
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:46px;
}

/* Caixa de pagamento (#payment): fundo creme suave, alvos grandes */
.woocommerce-checkout #payment,
.woocommerce-checkout #payment.woocommerce-checkout-payment{
  background:var(--cream);
  border-radius:14px;
  padding:6px 16px 16px;
}
.woocommerce-checkout #payment ul.payment_methods{
  border-bottom:1px solid var(--line);
  padding:6px 0;
}
.woocommerce-checkout #payment ul.payment_methods li{
  padding:12px 6px;
  line-height:1.4;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{
  width:20px;
  height:20px;
  accent-color:var(--terra);
  vertical-align:middle;
  margin-right:8px;
}
.woocommerce-checkout #payment div.payment_box{
  background:#fff;
  border-radius:10px;
}
.woocommerce-checkout #payment div.payment_box::before{
  border-bottom-color:#fff;
}
/* Botão "Finalizar pedido" (#place_order) — terracota, largura total */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #place_order{
  width:100%;
  min-height:52px;
  font-size:17px;
  font-weight:600;
  background:var(--terra);
  color:#fff;
  border:0;
  border-radius:30px;
  padding:14px 22px;
  float:none;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #place_order:hover{
  background:var(--terra-dark);
}

/* Tabela de revisão do pedido — totais em serifada/dourado */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total .amount{
  color:var(--gold);
  font-weight:700;
}

/* ---- Mobile: 1 coluna + revisão do pedido legível ---- */
@media (max-width:768px){
  /* #customer_details (cobrança/entrega lado a lado) → empilha */
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #customer_details.col2-set{
    display:block;
    width:100%;
  }
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2{
    float:none;
    width:100%;
    margin-bottom:8px;
  }
  /* pares de campos em grid de 2 (ex.: Nome/Sobrenome) → 1 coluna */
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{
    float:none;
    width:100%;
    margin-right:0;
  }

  /* revisão do pedido: se a tabela estourar, mesma técnica td/data-title.
     Mantém thead (curto) mas garante células legíveis e empilháveis. */
  .woocommerce-checkout .woocommerce-checkout-review-order-table{
    width:100%;
    display:block;
    border:0;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table thead,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot{
    display:block;
    width:100%;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table thead{
    display:none;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:9px 0;
    border-bottom:1px solid var(--line);
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table th{
    display:block;
    border:0;
    padding:0;
    text-align:right;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name,
  .woocommerce-checkout .woocommerce-checkout-review-order-table th{
    text-align:left;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total{
    font-family:var(--serif);
    font-size:18px;
    border-bottom:0;
  }
}

/* ===========================================================================
   3) CONTA + PEDIDOS  /minha-conta  (.woocommerce-account)
   NÃO mexer em .missario-dash (painel custom).
   =========================================================================== */

/* Navegação da conta — alvos de toque grandes, item ativo on-brand.
   account.css já estiliza a base; aqui reforçamos toque/legibilidade. */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display:block;
  min-height:48px;
  line-height:1.4;
  padding:13px 14px;
  font-size:16px;
  text-decoration:none;
  color:var(--ink);
  border-bottom:1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a{
  border-bottom:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a{
  background:var(--terra);
  color:#fff;
  font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
  background:var(--cream);
  color:var(--gold);
}

/* Botões de ação dos pedidos — terracota arredondado, alvo de toque */
.woocommerce-account .woocommerce-orders-table .woocommerce-button.button,
.woocommerce-account .woocommerce-orders-table a.button{
  min-height:42px;
  border-radius:30px;
  font-size:14px;
  font-weight:600;
  padding:10px 18px;
}

/* Status do pedido como PÍLULA (genérico = creme/dourado).
   Cobre tanto a célula da tabela quanto o badge solto no detalhe do pedido. */
.woocommerce-account .woocommerce-orders-table__cell-order-status,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status,
.woocommerce-account mark.order-status,
.woocommerce-view-order mark.order-status{
  display:inline-block;
  padding:4px 12px;
  border-radius:30px;
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  background:var(--cream);
  color:var(--gold);
}
/* mark do Woo às vezes traz fundo cinza próprio — neutraliza */
.woocommerce-account mark.order-status,
.woocommerce-view-order mark.order-status{
  background:var(--cream);
}
/* Matizes suaves por estado quando o Woo expõe classe de status.
   Tudo on-brand (sem azul/vermelho): concluído = sálvia, pendente/falha = creme. */
.woocommerce-account .order-status.status-completed,
.woocommerce-view-order mark.order-status.status-completed{
  background:#e8f0e6;
  color:#3f6b43;
}
.woocommerce-account .order-status.status-processing,
.woocommerce-account .order-status.status-on-hold,
.woocommerce-view-order mark.order-status.status-processing,
.woocommerce-view-order mark.order-status.status-on-hold{
  background:var(--cream);
  color:var(--gold);
}
.woocommerce-account .order-status.status-pending,
.woocommerce-account .order-status.status-failed,
.woocommerce-account .order-status.status-cancelled,
.woocommerce-view-order mark.order-status.status-pending,
.woocommerce-view-order mark.order-status.status-failed{
  background:#f7efe0;
  color:#8a6a1f;
}

/* ---- Mobile: tabela de pedidos → cartões ---- */
@media (max-width:768px){
  /* navegação acima do conteúdo, largura total (account.css já faz; reforço) */
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{
    float:none;
    width:100%;
  }

  /* tabela de pedidos vira cartões */
  .woocommerce-account .woocommerce-orders-table,
  .woocommerce-account table.my_account_orders{
    display:block;
    width:100%;
    border:0;
  }
  .woocommerce-account .woocommerce-orders-table thead,
  .woocommerce-account table.my_account_orders thead{
    display:none;
  }
  .woocommerce-account .woocommerce-orders-table tbody,
  .woocommerce-account table.my_account_orders tbody{
    display:block;
    width:100%;
  }
  .woocommerce-account .woocommerce-orders-table tr.woocommerce-orders-table__row,
  .woocommerce-account table.my_account_orders tbody tr{
    display:block;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
    margin-bottom:14px;
  }
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell,
  .woocommerce-account table.my_account_orders tbody td{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    width:auto;
    border:0;
    padding:8px 0;
    text-align:right;
  }
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell::before,
  .woocommerce-account table.my_account_orders tbody td::before{
    content:attr(data-title);
    font-weight:600;
    color:var(--ink-soft);
    text-align:left;
    margin-right:auto;
  }
  /* célula de ações: botão ocupa a largura toda do cartão */
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{
    display:block;
    padding-top:10px;
  }
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{
    display:none;
  }
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button{
    display:block;
    width:100%;
    margin:6px 0 0;
    text-align:center;
  }
}

/* ===========================================================================
   4) LOGIN / ENTRAR  /minha-conta deslogado  (.woocommerce-form-login)
   O cartão de ~460px já existe — só refinamos inputs/botão/Google.
   =========================================================================== */

/* Inputs do login — alvo de toque, 16px, on-brand */
.woocommerce-form-login .woocommerce-form-row input.input-text,
.woocommerce-form-login input.input-text,
.woocommerce form.login .form-row input.input-text{
  width:100%;
  min-height:50px;
  font-size:16px;
  border:1.5px solid var(--line);
  border-radius:12px;
  padding:12px 14px;
  color:var(--ink);
  background:#fff;
  box-sizing:border-box;
}
.woocommerce-form-login .woocommerce-form-row input.input-text:focus,
.woocommerce-form-login input.input-text:focus,
.woocommerce form.login .form-row input.input-text:focus{
  outline:2px solid var(--terra);
  outline-offset:1px;
  border-color:var(--terra);
}

/* Botão "Acessar/Entrar" — largura total, terracota */
.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce form.login button[name="login"]{
  width:100%;
  min-height:50px;
  font-size:16px;
  font-weight:600;
  background:var(--terra);
  color:#fff;
  border:0;
  border-radius:30px;
  padding:13px 22px;
}
.woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce form.login button[name="login"]:hover{
  background:var(--terra-dark);
}

/* "Lembrar-me" e "Perdeu a senha?" — toque/cor confortáveis */
.woocommerce-form-login .woocommerce-form-login__rememberme{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  font-size:14px;
  color:var(--ink-soft);
}
.woocommerce-form-login .woocommerce-form-login__rememberme input{
  width:18px;
  height:18px;
  accent-color:var(--terra);
}
.woocommerce-form-login .woocommerce-LostPassword a,
.woocommerce form.login .lost_password a{
  color:var(--gold);
  font-weight:600;
}

/* Botão "Continuar com o Google" (Nextend Social Login — .nsl-button).
   Garante largura total e bom espaçamento/visibilidade no mobile. */
.woocommerce .nsl-button,
.nsl-container .nsl-button,
.nsl-container-block .nsl-button{
  width:100% !important;     /* Nextend força width inline — precisa vencer */
  max-width:none !important;
  min-height:50px;
  border-radius:12px;
  margin:0 0 14px;
  box-sizing:border-box;
}
.nsl-container .nsl-button-default div.nsl-button-label-container{
  font-size:15px;
  font-weight:600;
}
/* Espaço do container do Google acima/abaixo do divisor de e-mail */
.woocommerce .nsl-container,
.nsl-container-block{
  margin:0 0 16px;
}

/* ---- Mobile: garante 1 coluna e largura plena no card de login ---- */
@media (max-width:768px){
  .woocommerce-account .woocommerce-form-login,
  .woocommerce form.login{
    width:100%;
    max-width:460px;        /* respeita o card de ~460px existente */
    margin:0 auto;
    box-sizing:border-box;
  }
  .woocommerce-account .col2-set .col-1,
  .woocommerce-account .col2-set .col-2{
    float:none;
    width:100%;
    margin-bottom:16px;
  }
}

/* ===== Loja: cards de produto — âncora de preço de/por (dourado) + estrelas (jun/2026) ===== */
.woocommerce ul.products li.product .price del{color:#a59d90;font-weight:400;font-size:.82em;opacity:1;margin-right:7px;text-decoration:line-through}
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .amount{color:var(--gold,#8f4e1f);font-weight:700;text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:8px auto 2px;color:#d99b1c}

/* === Menu mobile WooCommerce: painel full-screen robusto (jun/2026) === */
.nav__close{display:none}
@media (max-width:900px){
  .header .nav{position:fixed;top:0;left:0;right:0;z-index:500;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:16px 22px 28px;box-shadow:0 24px 40px rgba(0,0,0,.18);transform:translateY(-100%);visibility:hidden;pointer-events:none;transition:transform .28s cubic-bezier(.4,0,.2,1),visibility .28s;margin:0;max-height:100dvh;overflow-y:auto}
  .header .nav.is-open{transform:translateY(0);visibility:visible;pointer-events:auto}
  .header .nav .nav__close{display:flex;align-self:flex-end;width:44px;height:44px;align-items:center;justify-content:center;font-size:30px;line-height:1;color:#3b3a3a;background:none;border:0;cursor:pointer;padding:0;margin:0 -4px 4px 0}
  .header .nav__link{padding:14px 0;border-bottom:1px solid #eee;font-size:17px}
  .header .nav__dd{border-bottom:1px solid #eee}
  .header .nav__dd .nav__link{border-bottom:0}
  .header .nav__menu{display:flex !important;position:static;transform:none;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0;background:none}
  .header .nav__menu a{padding:11px 0;font-size:16px;color:#6c655c}
  body.nav-open{overflow:hidden}
}

/* === fundo creme quente (igual ao Astro) — corrige faixa cinza (jun/2026) === */
html,body{background:#efe9df}

/* fix: menu mobile cobre a tela toda (era altura do conteudo, vazava o login embaixo) */
@media (max-width:900px){ .header .nav{min-height:100vh;min-height:100dvh} }

/* fix: garante o estado ABERTO do menu mobile (a base translateY(-100%) estava vencendo o is-open no cascade bagunçado) */
@media (max-width:900px){ .header .nav.is-open{transform:translateY(0) !important;visibility:visible !important;pointer-events:auto !important} }
