/*
Theme Name: Wildwood
Theme URI: https://example.com/wildwood
Author: Wildwood
Description: Natural food market theme — herbs, supplements and wellness e-commerce. WooCommerce and Elementor ready. v2 layout: white background, Whole Foods–inspired header, rich footer and full product page.
Version: 2.4.8
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wildwood
Tags: e-commerce, custom-menu, custom-logo, featured-images, translation-ready
*/

:root {
  /* Greens — anchored on the Wildwood logo green, structured like WFM */
  --ww-green-dark: #2c472c;   /* nav bar, footer, dark blocks */
  --ww-green-deep: #223822;   /* hover on dark */
  --ww-green-brand: #3b5e3b;  /* primary buttons, brand accents (cor de destaque) */
  --ww-green-link: #375837;   /* text links */
  --ww-green-tint: #ecf1ec;   /* light green tint surfaces */
  /* Neutrals — white site, warm-gray ink (WFM-style) */
  --ww-bg: #ffffff;
  --ww-surface: #f8f7f5;
  --ww-ink: #2e2d2b;
  --ww-muted: #565553;
  --ww-border: #e4e4e4;
  --ww-badge: #f8f3e3;
  --ww-sale: #f6de00;
  --ww-alert: #ac0000;
  /* Type — free equivalents of WFM's Corda (serif) + Circular (sans) */
  --ww-serif: "Source Serif 4", Georgia, serif;
  --ww-sans: "Figtree", "Helvetica Neue", Arial, sans-serif;
  --ww-radius: 10px;
  --ww-shadow: 0 1px 2px rgba(46, 45, 43, .06), 0 8px 24px rgba(46, 45, 43, .08);
  --ww-max: 1440px;
}

/* ---------- TESTE: paleta quente (âmbar/caramelo) ----------
   Ativada pela classe body.palette-warm (Customizer > Palette).
   Para voltar ao verde: Customizer > Palette > Green — nada mais muda. */
body.palette-warm {
  --ww-green-dark: #a2571c;   /* nav bar, footer, dark blocks — terracota/laranja queimado */
  --ww-green-deep: #874614;   /* hover on dark */
  --ww-green-brand: #d9822b;  /* primary buttons, brand accents — âmbar vivo */
  --ww-green-link: #b3661c;   /* text links */
  --ww-green-tint: #fbf0dd;   /* light tint surfaces — dourado claro */
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--ww-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ww-ink);
  background: var(--ww-bg);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ww-green-link); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--ww-green-dark); }
h1, h2, h3, h4 { font-family: var(--ww-serif); font-weight: 600; line-height: 1.15; margin: 0 0 .5em; color: var(--ww-ink); }
button { font-family: inherit; }

.ww-container { max-width: var(--ww-max); margin: 0 auto; padding: 0 40px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Buttons ---------- */
.ww-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  background: var(--ww-green-brand); color: #fff;
  border: 0; border-radius: 999px;
  padding: 14px 28px; font-size: 16px; font-weight: 600;
  cursor: pointer; transition: background .15s ease;
}
.ww-btn:hover { background: var(--ww-green-dark); color: #fff; }
.ww-btn .ww-arrow { transition: transform .15s ease; display: inline-flex; }
.ww-btn:hover .ww-arrow { transform: translateX(3px); }
.ww-btn.ww-btn-outline { background: transparent; color: var(--ww-green-link); border: 1.5px solid var(--ww-green-brand); }
.ww-btn.ww-btn-outline:hover { background: var(--ww-green-tint); color: var(--ww-green-dark); }

/* ---------- Header: top bar (white, matches logo background) ---------- */
.site-header { background: #fff; border-bottom: 1px solid var(--ww-border); position: relative; z-index: 50; }
.topbar { display: flex; align-items: center; gap: 28px; min-height: 86px; }
.site-branding { flex: 0 0 auto; }
.site-branding img, .site-branding .custom-logo { max-height: 58px; width: auto; }
.site-title-text { font-family: var(--ww-serif); font-size: 30px; color: var(--ww-green-brand); line-height: 1; display: block; }
.site-tagline-text { font-size: 9px; letter-spacing: .32em; text-transform: uppercase; color: var(--ww-ink); display: block; margin-top: 4px; }

.header-store { display: flex; align-items: center; gap: 10px; color: var(--ww-ink); flex: 0 0 auto; max-width: 250px; line-height: 1.3; }
.header-store svg { width: 22px; height: 22px; color: var(--ww-green-brand); flex: 0 0 auto; }
.header-store small { display: block; font-size: 12px; color: var(--ww-muted); }
/* Address wraps to two lines and clips beyond that — never a mid-line ellipsis cut. */
.header-store strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; font-weight: 700; line-height: 1.25; }
.header-store:hover strong { color: var(--ww-green-link); }

/* "Deliver to <ZIP>" (à la Amazon) */
.header-deliver { position: relative; flex: 0 0 auto; }
.header-deliver-btn { background: none; border: 0; padding: 0; cursor: pointer; text-align: left; font: inherit; }
.ww-zip-pop { position: absolute; top: calc(100% + 10px); left: 0; z-index: 60; width: 300px; background: #fff; border: 1px solid var(--ww-border); border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.14); padding: 16px; }
.ww-zip-pop label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.ww-zip-row { display: flex; gap: 8px; }
.ww-zip-row input { flex: 1; min-width: 0; border: 1.5px solid #b9b7b3; border-radius: 8px; padding: 8px 12px; font-size: 14px; }
.ww-zip-row input:focus { border-color: var(--ww-green-brand); outline: none; }
.ww-zip-apply { background: var(--ww-green-brand); color: #fff; border: 0; border-radius: 8px; padding: 8px 16px; font-weight: 600; cursor: pointer; }
.ww-zip-apply:hover { filter: brightness(1.08); }
.ww-zip-msg { margin: 8px 0 0; font-size: 12.5px; color: #b3401e; min-height: 1em; }
.ww-zip-store { display: block; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--ww-border); font-size: 12.5px; color: var(--ww-muted); }
.ww-zip-store:hover { color: var(--ww-green-link); }

.header-search { flex: 1 1 auto; min-width: 160px; position: relative; }
/* Valores finais consolidados (antes espalhados em 4 camadas no fim do arquivo). */
.header-search form { display: flex; align-items: center; gap: 10px; background: #fff; border: 1.5px solid #b9b7b3; border-radius: 999px; padding: 0; overflow: hidden; min-height: 48px; transition: border-color .15s ease, box-shadow .15s ease; }
.header-search form:focus-within { border-color: var(--ww-green-brand); box-shadow: 0 0 0 3px rgba(46, 125, 79, .14); }
.header-search input[type="search"] { flex: 1; border: 0; background: transparent; font-size: 16px; font-family: var(--ww-sans); color: var(--ww-ink); outline: none; min-width: 0; }
.header-search input::placeholder { color: var(--ww-muted); }
.header-search .search-submit { border: 0; background: none; padding: 0 8px; cursor: pointer; color: var(--ww-ink); display: inline-flex; }
.header-search .search-submit svg { width: 20px; height: 20px; }
.header-search .search-submit:hover { color: var(--ww-green-brand); }

.header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 26px; }
.header-action { display: flex; align-items: center; gap: 9px; color: var(--ww-ink); font-size: 13px; position: relative; line-height: 1.25; }
.header-action:hover { color: var(--ww-green-link); }
.header-action svg { width: 22px; height: 22px; flex: 0 0 auto; }
.header-action small { display: block; font-size: 12px; color: var(--ww-muted); }
.header-action strong { display: block; font-size: 13.5px; font-weight: 700; white-space: nowrap; }
.cart-count {
  position: absolute; top: -7px; left: 13px; min-width: 18px; height: 18px;
  background: var(--ww-green-brand); color: #fff; border-radius: 999px;
  font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0 5px;
}
.menu-toggle { display: none; background: none; border: 1px solid var(--ww-border); border-radius: 6px; padding: 10px 12px; cursor: pointer; }
.menu-toggle span { display: block; width: 20px; height: 2px; background: var(--ww-ink); margin: 4px 0; }

/* ---------- Header: category bar (dark green, WFM-style) ---------- */
.catbar { background: var(--ww-green-dark); }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.site-nav a { display: flex; align-items: center; gap: 6px; padding: 13px 16px; color: #fff; font-size: 15.5px; font-weight: 600; }
.site-nav a:hover { background: var(--ww-green-deep); color: #fff; }
.site-nav .menu-item-has-children > a::after {
  content: ""; width: 7px; height: 7px; margin-top: -3px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); opacity: .7;
}
/* Dropdown do catbar: bloco canônico em "Dropdown de categorias no catbar" (fim do arquivo). */

/* ---------- Hero ---------- */
.hero { position: relative; background: var(--ww-green-dark) center / cover no-repeat; color: #fff; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(14, 26, 18, .68) 0%, rgba(14, 26, 18, .28) 55%, rgba(14, 26, 18, .12) 100%); }
.hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); min-height: 380px; padding-top: 36px; padding-bottom: 100px; }
.hero-search { grid-column: 1; grid-row: 1; justify-self: end; width: 100%; max-width: 560px; }
.hero-search form { display: flex; align-items: center; gap: 14px; background: #fff; border: 0; border-radius: 999px; padding: 6px 8px 6px 22px; box-shadow: 0 6px 20px rgba(0, 0, 0, .25); }
.hero-search svg { width: 21px; height: 21px; color: var(--ww-ink); flex: 0 0 auto; }
.hero-search input[type="search"] { flex: 1; border: 0; background: transparent; font-family: var(--ww-sans); font-size: 17px; color: var(--ww-ink); padding: 10px 0; outline: none; min-width: 0; }
.hero-search input::placeholder { color: var(--ww-muted); }
.hero-search button { border: 0; background: var(--ww-green-brand); color: #fff; border-radius: 999px; padding: 10px 22px; cursor: pointer; font-weight: 700; font-size: 14px; }
.hero-search button:hover { background: var(--ww-green-dark); }
.hero-content { grid-column: 1; grid-row: 1 / -1; align-self: center; max-width: 760px; }
/* Menor para 'Chosen for your health.' caber inteiro numa linha */
.hero-title { font-size: clamp(30px, 3.2vw, 46px); color: #fff; margin: 0 0 18px; font-weight: 600; }
.hero-subtitle { font-size: 19px; line-height: 1.55; max-width: 440px; margin: 0 0 30px; color: rgba(255, 255, 255, .95); }

/* Category cards ride the hero's bottom edge, full container width (WFM-flyer style). */
.hero-cats-overlap { position: relative; z-index: 10; margin-top: -74px; }
.hero-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hero-cat { background: #fff; border-radius: var(--ww-radius); overflow: hidden; box-shadow: 0 8px 24px rgba(0, 0, 0, .3); display: flex; flex-direction: column; color: var(--ww-ink); }
.hero-cat-img { aspect-ratio: 10 / 7; object-fit: cover; width: 100%; }
.hero-cats-overlap .hero-cat-img { aspect-ratio: 16 / 7; }
.hero-cat-row { display: flex; align-items: center; gap: 10px; padding: 10px 14px; min-width: 0; }
.hero-cat-text { flex: 1 1 auto; min-width: 0; }
.hero-cat-icon { width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid var(--ww-border); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-top: -32px; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
.hero-cat-icon svg { width: 20px; height: 20px; color: var(--ww-green-dark); }
.hero-cat-title { font-family: var(--ww-serif); font-weight: 600; font-size: clamp(15px, 1.35vw, 19px); line-height: 1.2; display: block; }
.hero-cat-sub { font-size: 12.5px; color: var(--ww-muted); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero-cat:hover .hero-cat-title { color: var(--ww-green-link); }

/* ---------- Trust bar ---------- */
.trust-bar { background: var(--ww-surface); border-bottom: 1px solid var(--ww-border); }
.trust-bar .ww-container { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-item { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 24px 20px; }
.trust-item + .trust-item { border-left: 1px solid var(--ww-border); }
.trust-item svg { width: 38px; height: 38px; color: var(--ww-green-dark); flex: 0 0 auto; }
.trust-item strong { display: block; font-size: 16px; font-weight: 700; }
.trust-item span { display: block; font-size: 14px; color: var(--ww-muted); }

/* ---------- Sections ---------- */
.ww-section { padding: 56px 0; }
.ww-section.ww-alt { background: var(--ww-surface); }
.ww-section-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
.ww-section-head h2 { font-size: 32px; margin-bottom: 12px; }
.ww-section-head p { color: var(--ww-muted); margin: 0 0 18px; max-width: 220px; }
.ww-section-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ww-green-link); border-bottom: 2px solid var(--ww-green-brand); padding-bottom: 2px; }
.ww-section-link:hover { color: var(--ww-green-dark); border-color: var(--ww-green-dark); }

/* ---------- Product cards ---------- */
.ww-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.ww-product-card { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); overflow: hidden; position: relative; display: flex; flex-direction: column; transition: box-shadow .15s ease, transform .15s ease; }
.ww-product-card:hover { box-shadow: var(--ww-shadow); transform: translateY(-2px); }
/* Moldura fixa: todo card tem o MESMO quadro de imagem (quadrado), a foto e
   contida e centrada nele. Antes o quadro era elastico e a foto ancorada
   embaixo, entao cada foto ditava seu proprio tamanho. */
.ww-product-media { position: relative; flex: 0 0 auto; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fff; padding: 16px; }
.ww-product-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.ww-badge { position: absolute; top: 12px; left: 12px; background: var(--ww-green-tint); border: 1px solid #cfe3d6; color: var(--ww-green-dark); border-radius: 6px; padding: 3px 12px; font-size: 12.5px; font-weight: 600; z-index: 1; }
.ww-product-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; }
.ww-product-title { font-family: var(--ww-sans); font-size: 15.5px; font-weight: 600; line-height: 1.35; margin: 0; }
.ww-product-title a { color: var(--ww-ink); }
.ww-product-title a:hover { color: var(--ww-green-link); }
.ww-product-meta { font-size: 13px; color: var(--ww-muted); }
.ww-product-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 8px; }
.ww-price { font-family: var(--ww-sans); font-weight: 700; font-size: 18px; }
.ww-add-btn { width: 40px; height: 40px; border-radius: 999px; background: var(--ww-green-brand); border: 0; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s ease; }
.ww-add-btn:hover { background: var(--ww-green-dark); color: #fff; }
.ww-add-btn svg { width: 18px; height: 18px; }

/* ---------- Horizontal product scroller (carousel) ---------- */
.ww-scroller { position: relative; min-width: 0; }
.ww-scroll-prev, .ww-scroll-next {
  position: absolute; top: 42%; transform: translateY(-50%); z-index: 5;
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ww-border);
  background: #fff; color: var(--ww-ink); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 10px rgba(46, 45, 43, .18); transition: background .15s ease, color .15s ease, opacity .15s ease;
}
.ww-scroll-prev { left: -14px; }
.ww-scroll-next { right: -14px; }
.ww-scroll-prev svg, .ww-scroll-next svg { width: 18px; height: 18px; }
.ww-scroll-prev svg { transform: rotate(180deg); }
.ww-scroll-prev:hover, .ww-scroll-next:hover { background: var(--ww-green-brand); color: #fff; border-color: var(--ww-green-brand); }
.ww-scroll-prev.is-hidden, .ww-scroll-next.is-hidden { opacity: 0; pointer-events: none; }

/* ---------- Horizontal product scroller ---------- */
.ww-products.ww-scroll { display: flex; overflow-x: auto; scroll-snap-type: x proximity; gap: 20px; padding: 4px 4px 14px; scrollbar-width: thin; scrollbar-color: var(--ww-green-brand) var(--ww-surface); }
.ww-products.ww-scroll::-webkit-scrollbar { height: 8px; }
.ww-products.ww-scroll::-webkit-scrollbar-track { background: var(--ww-surface); border-radius: 99px; }
.ww-products.ww-scroll::-webkit-scrollbar-thumb { background: var(--ww-green-brand); border-radius: 99px; }
.ww-products.ww-scroll .ww-product-card { flex: 0 0 258px; scroll-snap-align: start; }

/* ---------- Intention tiles ---------- */
.ww-intents { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.ww-intent { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); overflow: hidden; display: flex; flex-direction: column; color: var(--ww-ink); transition: box-shadow .15s ease, transform .15s ease; }
.ww-intent:hover { box-shadow: var(--ww-shadow); transform: translateY(-2px); color: var(--ww-ink); }
.ww-intent-img { aspect-ratio: 10 / 7; object-fit: cover; width: 100%; display: block; }
.ww-intent-row { display: flex; align-items: center; gap: 10px; padding: 10px 14px 12px; min-width: 0; }
.ww-intent-icon { width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid var(--ww-border); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-top: -32px; box-shadow: 0 2px 6px rgba(0, 0, 0, .12); }
.ww-intent-icon svg { width: 20px; height: 20px; color: var(--ww-green-dark); }
.ww-intent-text { flex: 1 1 auto; min-width: 0; }
.ww-intent-title { font-family: var(--ww-serif); font-weight: 600; font-size: clamp(15px, 1.35vw, 19px); line-height: 1.2; display: block; }
.ww-intent-sub { font-size: 12.5px; color: var(--ww-muted); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ww-intent:hover .ww-intent-title { color: var(--ww-green-link); }

/* ---------- Shop by category grid ---------- */
.ww-cats-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
.ww-cats-head h2 { font-size: 32px; margin: 0; }
.ww-cats-head p { margin: 0; color: var(--ww-muted); }
.ww-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ww-cat-card { display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); padding: 10px; color: var(--ww-ink); transition: box-shadow .15s ease, transform .15s ease; }
.ww-cat-card:hover { box-shadow: var(--ww-shadow); transform: translateY(-2px); }
.ww-cat-card img { width: 108px; height: 108px; border-radius: calc(var(--ww-radius) - 6px); object-fit: cover; flex: 0 0 auto; }
.ww-cat-card-text { min-width: 0; }
.ww-cat-card-title { display: block; font-family: var(--ww-serif); font-weight: 600; font-size: 19px; line-height: 1.2; }
.ww-cat-card:hover .ww-cat-card-title { color: var(--ww-green-link); }
.ww-cat-card-count { display: block; font-size: 13px; color: var(--ww-muted); margin-top: 2px; }

/* ---------- Mission band ---------- */
.ww-mission { background: var(--ww-green-dark); color: #fff; }
.ww-mission .ww-container { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; padding-top: 56px; padding-bottom: 56px; }
.ww-mission h2 { color: #fff; font-size: 34px; margin-bottom: 14px; }
.ww-mission p { color: rgba(255, 255, 255, .88); font-size: 17px; max-width: 560px; margin: 0 0 24px; }
.ww-mission img { border-radius: var(--ww-radius); box-shadow: 0 12px 32px rgba(0, 0, 0, .3); }
.ww-mission .ww-btn { background: #fff; color: var(--ww-green-dark); }
.ww-mission .ww-btn:hover { background: var(--ww-surface); }

/* ---------- Shop by brand pills ---------- */
.ww-brands { display: flex; gap: 12px; flex-wrap: wrap; }
.ww-brands a { background: #fff; border: 1.5px solid var(--ww-border); border-radius: 999px; padding: 10px 22px; font-weight: 600; font-size: 15px; color: var(--ww-ink); transition: border-color .15s ease, color .15s ease, box-shadow .15s ease; }
.ww-brands a:hover { border-color: var(--ww-green-brand); color: var(--ww-green-link); box-shadow: var(--ww-shadow); }

/* ---------- Visit-the-store band ---------- */
.ww-visit { border-top: 1px solid var(--ww-border); }
.ww-visit .ww-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; padding-top: 48px; padding-bottom: 48px; }
.ww-visit h2 { grid-column: 1 / -1; font-size: 32px; margin: 0 0 4px; }
.ww-visit-item h3 { font-family: var(--ww-sans); font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; color: var(--ww-green-dark); }
.ww-visit-item p, .ww-visit-item table { margin: 0; font-size: 15.5px; color: var(--ww-ink); }
.ww-visit-item table { border-collapse: collapse; }
.ww-visit-item td { padding: 2px 18px 2px 0; }
.ww-visit-item td:last-child { color: var(--ww-muted); }

/* ---------- Journal row ---------- */
.ww-journal .ww-posts { padding: 0; }

/* ---------- Email band ---------- */
.ww-email-band { background: var(--ww-surface); border-top: 1px solid var(--ww-border); }
.ww-email-band .ww-container { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding-top: 36px; padding-bottom: 36px; }
.ww-email-band h2 { font-size: 26px; margin: 0 0 4px; }
.ww-email-band p { margin: 0; color: var(--ww-muted); }
.ww-email-band form { display: flex; gap: 10px; flex: 0 1 480px; min-width: 260px; }
.ww-email-band input[type="email"] { flex: 1; border-radius: 999px; border: 1.5px solid #b9b7b3; padding: 12px 20px; }
.ww-email-band input[type="email"]:focus { border-color: var(--ww-green-brand); outline: none; }
.ww-nl-form { position: relative; flex-wrap: wrap; }
.ww-nl-form button { background: var(--ww-green-brand); color: #fff; border: 0; border-radius: 999px; padding: 12px 28px; font-weight: 700; cursor: pointer; }
.ww-nl-form button:hover { filter: brightness(1.08); }
.ww-nl-form .ww-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ww-nl-msg { flex: 1 0 100%; margin: 6px 0 0; font-size: 13.5px; color: var(--ww-green-link); min-height: 1em; }

/* ---------- Google reviews ---------- */
.ww-reviews { background: var(--ww-surface); border-top: 1px solid var(--ww-border); }
.ww-reviews .ww-container { padding-top: 56px; padding-bottom: 56px; }
.ww-reviews-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.ww-reviews-head h2 { font-size: 32px; margin: 0; }
.ww-reviews-score { display: flex; align-items: center; gap: 12px; }
.ww-reviews-score .gmark { width: 34px; height: 34px; flex: 0 0 auto; }
.ww-reviews-score strong { font-size: 22px; }
.ww-stars { color: #fbbc05; font-size: 17px; letter-spacing: 2px; }
.ww-reviews-score small { color: var(--ww-muted); font-size: 13.5px; display: block; }
.ww-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ww-review { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.ww-review p { margin: 0; font-size: 15px; line-height: 1.6; flex: 1 1 auto; }
.ww-review footer { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--ww-muted); }
.ww-review footer .gmark { width: 18px; height: 18px; }
.ww-review footer b { color: var(--ww-ink); }
@media (max-width: 900px) { .ww-reviews-grid { grid-template-columns: 1fr; } }

/* ---------- Blog / archive ---------- */
.ww-archive-header { padding: 48px 0 8px; }
.ww-archive-header h1 { font-size: 42px; }
.ww-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; padding: 32px 0 64px; }
.ww-post-card { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); overflow: hidden; display: flex; flex-direction: column; }
.ww-post-card:hover { box-shadow: var(--ww-shadow); }
.ww-post-card .ww-post-thumb { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.ww-post-card-body { padding: 20px 22px 24px; }
.ww-post-card-body h2 { font-size: 22px; margin-bottom: 8px; }
.ww-post-card-body h2 a { color: var(--ww-ink); }
.ww-post-meta { font-size: 13px; color: var(--ww-muted); margin-bottom: 8px; }

.ww-entry { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); max-width: 860px; margin: 40px auto 64px; padding: 56px 64px; }
.ww-entry h1.entry-title { font-size: 44px; }
.ww-entry .entry-content { font-size: 17px; }
.ww-entry .entry-content img { border-radius: var(--ww-radius); }
.ww-entry .wp-block-quote, .ww-entry blockquote { border-left: 3px solid var(--ww-green-brand); margin-left: 0; padding-left: 24px; font-family: var(--ww-serif); font-size: 20px; }

.ww-pagination { display: flex; gap: 8px; justify-content: center; padding-bottom: 64px; }
.ww-pagination .page-numbers { padding: 8px 14px; border: 1px solid var(--ww-border); border-radius: 6px; background: #fff; color: var(--ww-ink); }
.ww-pagination .page-numbers.current { background: var(--ww-green-dark); color: #fff; border-color: var(--ww-green-dark); }

/* ---------- Footer (rich, WFM-style) ---------- */
.site-footer { background: var(--ww-green-dark); color: rgba(255, 255, 255, .88); margin-top: 0; }
.site-footer a { color: rgba(255, 255, 255, .88); }
.site-footer a:hover { color: #fff; }
.footer-widgets { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr 1.15fr; gap: 40px; padding: 56px 0 40px; }
.footer-widgets .widget-title, .footer-col h3 { font-family: var(--ww-serif); font-weight: 600; color: #fff; font-size: 19px; margin: 0 0 14px; }
.footer-widgets ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: 14.5px; }
.footer-brand-logo { background: #fff; border-radius: var(--ww-radius); padding: 12px 16px; display: inline-block; max-width: 230px; }
.footer-brand-name { font-family: var(--ww-serif); font-size: 28px; color: #fff; display: block; }
.footer-brand-tag { font-size: 9px; letter-spacing: .32em; text-transform: uppercase; display: block; margin: 6px 0 14px; }
.footer-contact { margin: 16px 0 0; font-size: 14.5px; display: grid; gap: 6px; }
.footer-social { display: flex; gap: 12px; margin-top: 18px; }
.footer-social a { width: 38px; height: 38px; border: 1.5px solid rgba(255, 255, 255, .4); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.footer-social a:hover { border-color: #fff; background: rgba(255, 255, 255, .1); }
.footer-social svg { width: 17px; height: 17px; }
.footer-hours table { border-collapse: collapse; font-size: 14px; }
.footer-hours td { padding: 2px 14px 2px 0; color: rgba(255, 255, 255, .88); }
.footer-hours td:last-child { color: rgba(255, 255, 255, .65); padding-right: 0; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .18); padding: 20px 0; font-size: 13.5px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.footer-bottom nav { display: flex; gap: 20px; flex-wrap: wrap; }

/* ---------- WooCommerce: catalog ---------- */
.woocommerce-page .ww-container.ww-woo { padding-top: 32px; padding-bottom: 64px; }
.woocommerce .woocommerce-breadcrumb { font-size: 13.5px; color: var(--ww-muted); margin-bottom: 20px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ww-green-link); }
body.woocommerce ul.products li.product { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); overflow: hidden; padding: 0; }
body.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--ww-sans); font-weight: 600; font-size: 15.5px; line-height: 1.35; padding: 12px 16px 0; }
/* Brand eyebrow above the loop-card title (same family as the PDP .ww-pdp-brand,
 * but muted/uppercase to read as a label). Sits in normal flow — no reserved
 * height when absent — and the title stays clamped to 2 lines, so cards keep
 * their equal-height alignment (see the catalog-grid block below). */
body.woocommerce ul.products li.product .ww-card-brand { display: block; padding: 12px 16px 0; font-family: var(--ww-sans); font-size: 11.5px; font-weight: 600; line-height: 1.2; text-transform: uppercase; letter-spacing: .04em; color: var(--ww-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* When the brand is present it owns the top gap under the image; tighten the
 * title so the two don't double-space. */
body.woocommerce ul.products li.product .ww-card-brand + .woocommerce-loop-product__title { padding-top: 2px; }
body.woocommerce ul.products li.product .price { padding: 0 16px; font-family: var(--ww-sans); font-weight: 700; color: var(--ww-ink); }
body.woocommerce ul.products li.product .price del { color: var(--ww-muted); font-weight: 400; margin-right: 6px; }
body.woocommerce ul.products li.product .price ins { text-decoration: none; }
body.woocommerce ul.products li.product .button { margin: 10px 16px 16px; background: var(--ww-green-brand); color: #fff; border-radius: 999px; font-weight: 600; }
body.woocommerce ul.products li.product .button:hover { background: var(--ww-green-dark); }
.woocommerce .onsale { background: var(--ww-sale); color: var(--ww-ink); border: 0; font-weight: 700; }

/* ---------- Catalog grid: every card the SAME height (doc 3) ----------
 * The standard shop/category loop (not the related carousel, not the
 * subcategory tiles) becomes a CSS grid of equal-height flex cards:
 *   - image locked to a square so every media box is identical;
 *   - title clamped to 2 lines (longer titles hide the overflow, per client);
 *   - price docked to the bottom, directly above the Add to cart button.
 */
/* Tiles de categoria (/shop/) usam o mesmo bloco das subcategorias — 240px. */
body.woocommerce.woocommerce-shop:not(.ww-subcats-only) ul.products:not(.ww-scroll) {
	grid-template-columns: repeat(auto-fit, minmax(200px, 240px));
	justify-content: start;
	gap: 18px;
}
/* O clearfix ::before/::after do Woo vira ITEM de grid — célula vazia no início. */
body.woocommerce ul.products::before,
body.woocommerce ul.products::after { content: none !important; display: none !important; }
body.woocommerce:not(.ww-subcats-only) ul.products:not(.ww-scroll) {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
	margin: 0 0 8px;
}
body.woocommerce ul.products:not(.ww-scroll) li.product:not(.product-category) {
	display: flex;
	flex-direction: column;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
body.woocommerce ul.products:not(.ww-scroll) li.product:not(.product-category) a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
body.woocommerce ul.products:not(.ww-scroll) li.product:not(.product-category) a.woocommerce-LoopProduct-link img,
body.woocommerce ul.products:not(.ww-scroll) li.product:not(.product-category) img.attachment-woocommerce_thumbnail {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: var(--ww-surface);
	margin: 0 0 4px;
}
body.woocommerce ul.products:not(.ww-scroll) li.product:not(.product-category) .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
}
/* Push the price to the bottom of the card, right above the button. */
body.woocommerce ul.products:not(.ww-scroll) li.product:not(.product-category) .price {
	margin-top: auto;
	padding-top: 10px;
	font-size: 17px;
}
body.woocommerce ul.products:not(.ww-scroll) li.product:not(.product-category) .button {
	align-self: stretch;
	text-align: center;
	margin-top: 10px;
}
/* Carrossel (.ww-scroll — related/home rows): mesma disciplina de card do grid.
   Sem isto, uma foto alta (ex. garrafa 149x569) estoura o card e os vizinhos
   ganham um vão branco — a imagem TEM que viver numa caixa quadrada fixa. */
body.woocommerce ul.products.ww-scroll li.product {
	display: flex;
	flex-direction: column;
	flex: 0 0 240px;
	width: 240px !important;
	float: none !important;
	margin: 0 !important;
	scroll-snap-align: start;
}
body.woocommerce ul.products.ww-scroll li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
body.woocommerce ul.products.ww-scroll li.product a.woocommerce-LoopProduct-link img,
body.woocommerce ul.products.ww-scroll li.product img.attachment-woocommerce_thumbnail {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: var(--ww-surface);
	margin: 0 0 4px;
}
body.woocommerce ul.products.ww-scroll li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
}
body.woocommerce ul.products.ww-scroll li.product .price {
	margin-top: auto;
	padding-top: 10px;
	font-size: 17px;
}
body.woocommerce ul.products.ww-scroll li.product .button {
	align-self: stretch;
	text-align: center;
	margin-top: 10px;
}

@media (max-width: 900px) {
	body.woocommerce:not(.ww-subcats-only) ul.products:not(.ww-scroll) { grid-template-columns: repeat(3, 1fr); gap: 18px; }
}
@media (max-width: 600px) {
	body.woocommerce:not(.ww-subcats-only) ul.products:not(.ww-scroll) { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ---------- WooCommerce: subcategory tiles ---------- */
/* Compact tile: centered title, no browser-default <mark> highlight on the count. */
/* Woo core's float layout gives li.product a 22.05% width; inside our grid that
 * shrinks each tile to ~53px of its 240px cell — the tile must fill the cell. */
body.woocommerce ul.products li.product-category { width: 100%; float: none; margin: 0; text-align: center; }
body.woocommerce ul.products li.product-category a { display: block; padding-bottom: 14px; }
body.woocommerce ul.products li.product-category img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0 0 10px; }
body.woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-family: var(--ww-sans); font-weight: 600; font-size: 15px; line-height: 1.3; padding: 0 12px; margin: 0; text-align: center; }
body.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark.count { background: none; color: var(--ww-muted); font-weight: 500; }
body.woocommerce ul.products li.product-category:hover { border-color: var(--ww-green-brand); }

/* Parent categories (subcategories only): denser grid, smaller tiles. */
/* auto-FIT (not auto-fill) + justify-content:start so a category with only a
 * few subcategories packs its tiles flush to the left instead of reserving
 * empty columns that read as a leading gap (doc 3, image 1). */
.ww-subcats-only ul.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 240px)); justify-content: start; gap: 18px; margin: 0 0 24px; }
.ww-subcats-only ul.products li.product-category { width: auto !important; float: none !important; margin: 0 !important; }
@media (max-width: 600px) {
	.ww-subcats-only ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ---------- WooCommerce: related / up-sells carousel ---------- */
.ww-loop-scroller ul.products.ww-scroll { display: flex; overflow-x: auto; scroll-snap-type: x proximity; gap: 20px; padding: 4px 4px 14px; margin: 0; list-style: none; scrollbar-width: thin; scrollbar-color: var(--ww-green-brand) var(--ww-surface); }
.ww-loop-scroller ul.products.ww-scroll::-webkit-scrollbar { height: 8px; }
.ww-loop-scroller ul.products.ww-scroll::-webkit-scrollbar-track { background: var(--ww-surface); border-radius: 99px; }
.ww-loop-scroller ul.products.ww-scroll::-webkit-scrollbar-thumb { background: var(--ww-green-brand); border-radius: 99px; }
/* Cards de altura igual (flex estica pro mais alto); botão sempre alinhado embaixo. */
.ww-loop-scroller ul.products.ww-scroll li.product { flex: 0 0 250px; width: 250px !important; float: none !important; margin: 0 !important; scroll-snap-align: start; display: flex; flex-direction: column; }
.ww-loop-scroller ul.products.ww-scroll li.product .woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1 1 auto; }
.ww-loop-scroller ul.products.ww-scroll li.product .woocommerce-loop-product__title { flex: 1 0 auto; }
.ww-loop-scroller ul.products.ww-scroll li.product .button { white-space: nowrap; align-self: flex-start; }
section.related > h2, section.up-sells > h2 { margin-bottom: 18px; }
@media (max-width: 600px) {
	.ww-loop-scroller ul.products.ww-scroll li.product { flex-basis: 210px; width: 210px !important; }
}

/* ---------- WooCommerce: single product (WFM-style PDP) ---------- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 24px 56px; align-items: start; }
.woocommerce div.product div.images.woocommerce-product-gallery { width: 100% !important; float: none !important; background: var(--ww-surface); border-radius: var(--ww-radius); padding: 24px; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { background: var(--ww-surface); }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { object-fit: contain; mix-blend-mode: multiply; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; list-style: none; padding: 0; margin-left: 0; margin-bottom: 0; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px; float: none; }
.woocommerce div.product div.images .flex-control-thumbs img { border: 1.5px solid var(--ww-border); border-radius: 8px; background: #fff; opacity: 1; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { border-color: var(--ww-green-brand); }
.woocommerce div.product div.summary { width: 100% !important; float: none !important; margin-bottom: 0 !important; }
.ww-pdp-brand { font-size: 14px; font-weight: 700; color: var(--ww-green-link); margin: 0 0 6px; text-transform: none; }
.woocommerce div.product .product_title { font-family: var(--ww-serif); font-weight: 600; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; margin-bottom: 10px; }
.woocommerce div.product p.price { font-family: var(--ww-sans); color: var(--ww-ink); font-size: 26px; font-weight: 700; margin-bottom: 4px; }
.woocommerce div.product p.price del { color: var(--ww-muted); font-weight: 400; font-size: 20px; }
.woocommerce div.product p.price ins { text-decoration: none; }

.ww-availability { display: flex; flex-direction: column; gap: 8px; margin: 14px 0; }
.ww-avail-line { display: flex; align-items: center; gap: 9px; font-size: 15px; }
.ww-avail-line svg { width: 19px; height: 19px; flex: 0 0 auto; }
.ww-avail-line.in { color: var(--ww-green-link); font-weight: 600; }
.ww-avail-line.out { color: var(--ww-alert); font-weight: 600; }
.ww-avail-line.store { color: var(--ww-ink); font-weight: 400; }
.ww-avail-line.store a { font-weight: 600; }

/* Delivery line on the PDP — reflects the header's "Deliver to <ZIP>" */
.ww-deliver-line { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 14px; color: var(--ww-muted); margin: 6px 0; }
.ww-deliver-line svg { width: 16px; height: 16px; flex: 0 0 auto; }
.ww-deliver-change { background: none; border: 0; padding: 0; font: inherit; font-size: 14px; color: var(--ww-green-link); cursor: pointer; }
.ww-deliver-change:hover { text-decoration: underline; }
/* Estimativa de frete: herda a deliver-line; some quando o JS não tem custo p/ exibir. */
.ww-zip-estimate-out:empty { display: none; }

.ww-shipbox { background: #fdf9ee; border: 1px solid #ecdfb9; border-radius: var(--ww-radius); padding: 13px 18px; font-size: 14.5px; margin: 4px 0 18px; }
.ww-shipbox strong { font-weight: 700; }
.ww-shipbox svg { width: 18px; height: 18px; display: inline-block; vertical-align: -3px; margin-right: 4px; }

.woocommerce div.product form.cart { display: flex; gap: 12px; align-items: stretch; margin-bottom: 18px !important; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .qty { height: 100%; min-height: 48px; width: 64px; border: 1.5px solid #b9b7b3; border-radius: 999px; font-size: 16px; font-family: var(--ww-sans); text-align: center; padding: 0 4px 0 12px; }
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
  background: var(--ww-green-brand); color: #fff; border-radius: 999px; font-weight: 700; font-size: 16px; padding: 13px 28px; flex: 1 1 auto;
}
.woocommerce div.product form.cart .button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--ww-green-dark); }
/* ---------- Woo notices ("added to cart" etc.) — house style, not Woo defaults ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border: 1px solid var(--ww-border);
  border-top: none;
  border-left: 4px solid var(--ww-green-brand);
  border-radius: var(--ww-radius);
  background: var(--ww-green-tint);
  color: var(--ww-ink);
  font-family: var(--ww-sans);
  box-shadow: var(--ww-shadow);
}
.woocommerce-message::before { color: var(--ww-green-brand); }
.woocommerce-info { border-left-color: var(--ww-green-link); background: var(--ww-surface); }
.woocommerce-info::before { color: var(--ww-green-link); }
.woocommerce-error { border-left-color: var(--ww-alert); background: #fbf1f1; }
.woocommerce-error::before { color: var(--ww-alert); }
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus { outline: none; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
  background: var(--ww-green-brand); color: #fff; border-radius: 999px; font-weight: 600; padding: 9px 20px;
}
.woocommerce-message .button:hover, .woocommerce-info .button:hover, .woocommerce-error .button:hover {
  background: var(--ww-green-dark); color: #fff;
}

.woocommerce div.product .product_meta { font-size: 13.5px; color: var(--ww-muted); border-top: 1px solid var(--ww-border); padding-top: 14px; }
.woocommerce div.product .product_meta a { color: var(--ww-green-link); }
.ww-dietary { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 16px; }
.ww-dietary span { background: var(--ww-green-tint); color: var(--ww-green-dark); border: 1px solid #cfe3d6; border-radius: 999px; font-size: 12.5px; font-weight: 600; padding: 4px 12px; }

/* PDP detail sections (replace tabs) */
.ww-pdp-sections { grid-column: 1 / -1; max-width: 860px; }
.ww-pdp-section { border-top: 1px solid var(--ww-border); padding: 26px 0; }
.ww-pdp-section h2 { font-family: var(--ww-sans); font-size: 20px; font-weight: 700; margin: 0 0 12px; }
.ww-pdp-section .entry-content p, .ww-pdp-section p { margin: 0 0 12px; font-size: 17.5px; line-height: 1.65; }
.ww-pdp-section ul { margin: 0; padding-left: 22px; font-size: 17.5px; line-height: 1.6; display: grid; gap: 7px; }
.ww-pdp-disclaimer { font-size: 13px; color: var(--ww-muted); line-height: 1.6; }

/* Nutrition Facts label (FDA style) */
.ww-nutrition { max-width: 320px; border: 2px solid var(--ww-ink); padding: 10px 12px; font-family: var(--ww-sans); color: var(--ww-ink); background: #fff; }
.ww-nutrition * { margin: 0; }
.ww-nutrition .nf-title { font-size: 26px; font-weight: 800; line-height: 1.05; border-bottom: 1px solid var(--ww-ink); padding-bottom: 4px; font-family: var(--ww-sans); }
.ww-nutrition .nf-serving { font-size: 13px; padding: 3px 0; }
.ww-nutrition .nf-serving b { float: right; }
.ww-nutrition .nf-bar { height: 9px; background: var(--ww-ink); margin: 3px 0; }
.ww-nutrition .nf-bar.thin { height: 4px; }
.ww-nutrition .nf-cal { display: flex; justify-content: space-between; align-items: flex-end; font-weight: 800; }
.ww-nutrition .nf-cal .nf-cal-label { font-size: 15px; }
.ww-nutrition .nf-cal .nf-cal-num { font-size: 30px; line-height: 1; }
.ww-nutrition .nf-dv-head { text-align: right; font-size: 11.5px; font-weight: 700; border-bottom: 1px solid var(--ww-ink); padding: 2px 0; }
.ww-nutrition .nf-row { display: flex; justify-content: space-between; font-size: 13px; border-bottom: 1px solid var(--ww-ink); padding: 2.5px 0; }
.ww-nutrition .nf-row b { font-weight: 700; }
.ww-nutrition .nf-row.indent { padding-left: 16px; }
.ww-nutrition .nf-row:last-of-type { border-bottom: 0; }
.ww-nutrition .nf-note { font-size: 10.5px; line-height: 1.45; border-top: 4px solid var(--ww-ink); padding-top: 5px; margin-top: 4px; }

/* ---------- Cart / checkout harmonizing ---------- */
.woocommerce-cart .ww-woo table.cart, .woocommerce-checkout .ww-woo { font-family: var(--ww-sans); }
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-cart-items .wc-block-components-product-metadata { display: none; }

/* ---------- Checkout tunnel (cart, checkout, confirmation) ---------- */
body.ww-tunnel { background: var(--ww-surface); }
.ck-header { background: #fff; border-bottom: 1px solid var(--ww-border); }
.ck-header .ww-container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.ck-back { font-size: 14.5px; font-weight: 600; color: var(--ww-muted); flex: 1 1 0; }
.ck-back:hover { color: var(--ww-green-link); }
.ck-logo { flex: 0 0 auto; }
.ck-logo img { max-height: 46px; width: auto; }
.ck-secure { flex: 1 1 0; display: flex; align-items: center; justify-content: flex-end; gap: 7px; font-size: 13.5px; font-weight: 700; color: var(--ww-green-link); }
.ck-secure svg { width: 17px; height: 17px; }
.ck-main { padding: 34px 0 20px; }
.ck-main > .ww-container { max-width: 1200px; }
.ck-trust { display: flex; justify-content: center; gap: 12px 36px; flex-wrap: wrap; padding-top: 28px; padding-bottom: 8px; font-size: 13.5px; color: var(--ww-muted); }
.ck-trust span { display: inline-flex; align-items: center; gap: 8px; }
.ck-trust svg { width: 17px; height: 17px; color: var(--ww-green-brand); flex: 0 0 auto; }
.ck-trust a { color: inherit; font-weight: 600; }
.ck-trust a:hover { color: var(--ww-green-link); }
.ck-footer { border-top: 1px solid var(--ww-border); background: #fff; margin-top: 26px; }
.ck-footer .ww-container { display: flex; justify-content: space-between; align-items: center; gap: 10px 24px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; font-size: 13px; color: var(--ww-muted); }
.ck-footer nav { display: flex; gap: 20px; flex-wrap: wrap; }
.ck-footer a { color: var(--ww-muted); }
.ck-footer a:hover { color: var(--ww-green-link); }

/* Blocks: forms in our language */
.ww-tunnel .wc-block-components-form .wc-block-components-text-input input,
.ww-tunnel .wc-block-components-text-input input,
.ww-tunnel .wc-block-components-combobox .wc-block-components-combobox-control input,
.ww-tunnel .wc-block-components-country-input input,
.ww-tunnel .wc-block-components-state-input input,
.ww-tunnel select {
  font-family: var(--ww-sans); border-radius: 10px; border-color: #b9b7b3;
}
.ww-tunnel .wc-block-components-text-input input:focus,
.ww-tunnel select:focus { border-color: var(--ww-green-brand); box-shadow: 0 0 0 3px rgba(59, 94, 59, .15); outline: none; }
.ww-tunnel .wc-block-components-checkout-step__title { font-family: var(--ww-sans); font-weight: 700; font-size: 18px; }
.ww-tunnel .wc-block-components-checkout-step__description { color: var(--ww-muted); font-size: 14px; }
.ww-tunnel .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--ww-green-brand); border-color: var(--ww-green-brand); }
.ww-tunnel .wc-block-components-radio-control__option { border-color: var(--ww-border); }

/* Sticky order summary (desktop) */
.ww-tunnel .wc-block-components-sidebar-layout .wc-block-components-sidebar { position: sticky; top: 24px; align-self: flex-start; background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); padding: 8px 20px 16px; }
.ww-tunnel .wc-block-components-order-summary-item__image img { border: 1px solid var(--ww-border); border-radius: 8px; background: #fff; }
.ww-tunnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.ww-tunnel .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--ww-sans); font-weight: 800; }

/* Primary actions */
.ww-tunnel .wc-block-components-checkout-place-order-button,
.ww-tunnel .wc-block-cart__submit-button,
.ww-tunnel .checkout-button {
  width: 100%; background: var(--ww-green-brand); color: #fff; border: 0; border-radius: 999px;
  font-family: var(--ww-sans); font-weight: 700; font-size: 16.5px; padding: 16px 24px; transition: background .15s ease;
}
.ww-tunnel .wc-block-components-checkout-place-order-button:hover,
.ww-tunnel .wc-block-cart__submit-button:hover,
.ww-tunnel .checkout-button:hover { background: var(--ww-green-dark); color: #fff; }
.ww-tunnel .wc-block-components-checkout-return-to-cart-button { color: var(--ww-green-link); }

/* Notices: errors must be seen */
.ww-tunnel .wc-block-components-notice-banner.is-error { border-radius: 10px; border-left-width: 4px; }

/* Order confirmation */
.ww-tunnel .wc-block-order-confirmation-status h1,
.ww-tunnel .woocommerce-order h1 { font-family: var(--ww-serif); }
.ww-tunnel .wc-block-order-confirmation-summary,
.ww-tunnel .wc-block-order-confirmation-totals-wrapper,
.ww-tunnel .wc-block-order-confirmation-billing-wrapper,
.ww-tunnel .wc-block-order-confirmation-shipping-wrapper { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); padding: 18px 22px; }

/* Progressive steps (one at a time, Mercado-Livre style) */
body.ww-steps-on .wc-block-components-main { counter-reset: wwstep; }
/* Corpo mínimo garante que o círculo nunca colapse/sobreponha, mesmo em step vazio. */
body.ww-steps-on .wc-block-components-checkout-step { position: relative; min-height: 44px; padding: 14px 0 14px 48px; border-top: 1px solid var(--ww-border); }
body.ww-steps-on .wc-block-components-checkout-step:first-child { border-top: 0; }
body.ww-steps-on .wc-block-components-checkout-step::before {
  counter-increment: wwstep; content: counter(wwstep);
  position: absolute; left: 0; top: 10px; width: 32px; height: 32px; border-radius: 50%;
  border: 2px solid var(--ww-border); background: #fff; color: var(--ww-muted);
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14.5px;
}
body.ww-steps-on .wc-block-components-checkout-step.ww-step-active::before { border-color: var(--ww-green-brand); color: var(--ww-green-brand); }
body.ww-steps-on .wc-block-components-checkout-step.ww-step-done::before { content: "\2713"; background: var(--ww-green-brand); border-color: var(--ww-green-brand); color: #fff; }
body.ww-steps-on .wc-block-components-checkout-step.ww-step-locked::before { opacity: .5; }
/* Só o título (ww-step-head) e a summary sobrevivem — nunca dependemos do markup interno do Woo. */
body.ww-steps-on .ww-step-locked > :not(.ww-step-head):not(.ww-step-summary) { display: none !important; }
body.ww-steps-on .ww-step-done > :not(.ww-step-head):not(.ww-step-summary) { display: none !important; }
.ww-step-head { font-weight: 600; font-size: 16px; line-height: 1.4; }
body.ww-steps-on .ww-step-locked .ww-step-head { color: var(--ww-muted); opacity: .55; }
body.ww-steps-on .ww-step-done .ww-step-head { color: var(--ww-ink); }
.ww-step-summary { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; color: var(--ww-muted); font-size: 14.5px; margin-top: 4px; }
.ww-step-summary span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ww-step-edit { border: 0; background: none; color: var(--ww-green-link); font-weight: 700; font-size: 14px; cursor: pointer; padding: 2px 0; flex: 0 0 auto; }
.ww-step-edit:hover { color: var(--ww-green-dark); text-decoration: underline; }
.ww-continue { margin-top: 18px; background: var(--ww-green-brand); color: #fff; border: 0; border-radius: 999px; font-family: var(--ww-sans); font-weight: 700; font-size: 15.5px; padding: 13px 34px; cursor: pointer; transition: background .15s ease; }
.ww-continue:hover { background: var(--ww-green-dark); }

/* Watchdog banner (stuck payment) */
.ww-watchdog { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 99999;
  background: #fff; border: 1px solid var(--ww-border); border-left: 5px solid var(--ww-alert); border-radius: 12px;
  box-shadow: 0 10px 34px rgba(46, 45, 43, .25); padding: 16px 20px; max-width: 560px; width: calc(100% - 32px);
  display: flex; align-items: center; gap: 16px; font-size: 14.5px; }
.ww-watchdog p { margin: 0; flex: 1; }
.ww-watchdog-phone { font-weight: 700; white-space: nowrap; }
.ww-watchdog-close { border: 1px solid var(--ww-border); background: var(--ww-surface); border-radius: 999px; padding: 7px 16px; font-size: 13px; font-weight: 600; cursor: pointer; }
.ww-watchdog-close:hover { background: var(--ww-border); }

@media (max-width: 900px) {
  .ck-back span { display: none; }
  .ck-secure span { display: none; }
  .ww-tunnel .wc-block-components-sidebar-layout .wc-block-components-sidebar { position: static; }
  .ck-main { padding-top: 20px; }
}

/* ---------- Forms / comments ---------- */
input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea {
  border: 1px solid #b9b7b3; border-radius: 8px; padding: 10px 14px; font-family: inherit; font-size: 15px; background: #fff; width: 100%;
}
.comment-list { list-style: none; padding: 0; }
.comment-body { background: var(--ww-surface); border-radius: var(--ww-radius); padding: 16px 20px; margin-bottom: 16px; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .ww-container { padding: 0 24px; }
  .header-store { display: none; }
  .hero-cat-icon { width: 32px; height: 32px; margin-top: -26px; }
  .hero-cat-icon svg { width: 16px; height: 16px; }
  .hero-cat-row { gap: 8px; padding: 8px 10px; }
  .ww-products { grid-template-columns: repeat(2, 1fr); }
  .ww-intents { grid-template-columns: repeat(3, 1fr); }
  .ww-cats { grid-template-columns: repeat(2, 1fr); }
  .ww-section-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-widgets { grid-template-columns: repeat(2, 1fr); }
  .ww-visit .ww-container { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .topbar { flex-wrap: wrap; gap: 12px 18px; padding-top: 10px; padding-bottom: 10px; min-height: 0; }
  .header-search { flex: 1 1 100%; order: 10; }
  .header-action strong small, .header-action small { display: none; }
  .catbar .site-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--ww-green-dark); padding: 8px 24px 16px; z-index: 55; }
  .catbar .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; }
  .site-nav .sub-menu { display: block; position: static; border: 0; box-shadow: none; background: transparent; padding-left: 16px; }
  .site-nav .sub-menu a { color: rgba(255, 255, 255, .85); }
  .menu-toggle { display: block; margin-left: auto; }
  .header-actions { gap: 16px; }
  .hero-inner { min-height: 480px; gap: 20px 28px; }
  .hero-title { font-size: clamp(30px, 4.6vw, 62px); }
  .hero-subtitle { font-size: 16px; }
  .hero-search input[type="search"] { font-size: 16px; }
  .trust-bar .ww-container { grid-template-columns: 1fr; }
  .trust-item { justify-content: flex-start; padding: 14px 0; }
  .trust-item + .trust-item { border-left: 0; border-top: 1px solid var(--ww-border); }
  .ww-posts { grid-template-columns: 1fr; }
  .ww-entry { padding: 32px 24px; }
  .ww-mission .ww-container { grid-template-columns: 1fr; }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .ww-visit .ww-container { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .hero-inner { min-height: 380px; padding-bottom: 80px; }
  .hero-cats-overlap { margin-top: -50px; }
  .hero-cats { grid-template-columns: 1fr; }
  .hero-cats-overlap .hero-cat-img { aspect-ratio: 16 / 6; }
}
@media (max-width: 600px) {
  .ww-products { grid-template-columns: 1fr; }
  .ww-intents { grid-template-columns: repeat(2, 1fr); }
  .ww-cats { grid-template-columns: 1fr; }
  .footer-widgets { grid-template-columns: 1fr; }
}


/* ---------- Fix: zoom da galeria opaco (o clone .zoomImg herdava o blend) ---------- */
.woocommerce div.product div.images .woocommerce-product-gallery__image img.zoomImg {
	/* sem opacity fixa: o jQuery Zoom anima opacity no fade-out (zoom out) */
	mix-blend-mode: normal; background: #fff;
}

/* ---------- Dropdown de categorias no catbar ---------- */
.site-nav li { position: relative; }
.site-nav ul.sub-menu { display: none; position: absolute; top: 100%; left: 0; background: #fff;
	min-width: 240px; box-shadow: 0 10px 28px rgba(0,0,0,.16); border-radius: 0 0 10px 10px;
	padding: 6px 0; z-index: 600; }
.site-nav li:hover > ul.sub-menu, .site-nav li:focus-within > ul.sub-menu { display: block; }
.site-nav ul.sub-menu li { display: block; }
.site-nav ul.sub-menu a { color: #2b2e26 !important; padding: 9px 16px; display: block;
	font-weight: 500; font-size: 14px; white-space: nowrap; }
.site-nav ul.sub-menu a:hover { background: var(--ww-green-tint, #ecf1ec); color: var(--ww-green-dark, #2c472c) !important; }

/* ---------- Busca com seletor de categoria + sugestões (estilo Amazon) ---------- */
.header-search .ww-search-cat + input[type="search"] { border-radius: 0; }
.ww-suggest { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: #fff;
	border: 1px solid #e3e1d6; border-radius: 12px; box-shadow: 0 14px 36px rgba(0,0,0,.18);
	z-index: 100010; overflow: hidden; display: none; }
.ww-suggest.open { display: block; }
.ww-sug-head { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #8a8f7f; padding: 10px 14px 3px; }
.ww-suggest a { display: flex; gap: 10px; align-items: center; padding: 8px 14px; color: #2b2e26; text-decoration: none; }
.ww-suggest a:hover, .ww-suggest a.active { background: #f4f6f3; }
.ww-suggest img { width: 38px; height: 38px; object-fit: contain; border-radius: 6px; background: #fff; border: 1px solid #eee; flex: none; }
.ww-sug-text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.ww-sug-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ww-suggest-brand { font-size: 11px; line-height: 1.2; text-transform: uppercase; letter-spacing: .04em; color: var(--ww-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ww-sug-price { margin-left: auto; font-weight: 600; color: var(--ww-green-dark, #2c472c); }
.ww-sug-more { justify-content: center; font-weight: 600; color: var(--ww-green-dark, #2c472c) !important; border-top: 1px solid #e3e1d6; margin-top: 4px; padding: 12px 14px; }
.ww-sug-more:hover { background: #eef1ea; }


/* ---------- Busca: pílula 'All' arredondada e lupa centrada ---------- */
.ww-search-cat { border: none; border-radius: 999px 0 0 999px; margin: 0; align-self: stretch; width: var(--ww-cat-w, 74px); max-width: 210px; transition: width .15s ease; cursor: pointer;
	border-right: 1px solid #d9d7cd; background-color: #f0efe9; color: #444; font-size: 13.5px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
	padding: 0 32px 0 18px; cursor: pointer; appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 13px center; }
.ww-search-cat:hover { background-color: #e8e6de; }
.header-search .search-submit { display: flex; align-items: center; justify-content: center; align-self: center; flex: none; }


/* ---------- PDP: imagem contida no card (zoom volta a funcionar) ---------- */
.woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) {
	max-height: 560px; width: auto; max-width: 100%; margin: 0 auto; display: block;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { z-index: 4; }



/* (2) Cards de subcategoria: bloco canônico em "WooCommerce: subcategory tiles". */

/* (4) PDP: conter imagem da galeria (reforço com especificidade/important) */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img:not(.zoomImg) {
	max-height: 560px !important; width: auto !important; max-width: 100% !important;
	margin: 0 auto !important; display: block; object-fit: contain;
}


/* Legibilidade p/ público 60+: resumo da PDP maior */
.single-product div.product .woocommerce-product-details__short-description,
.single-product div.product .woocommerce-product-details__short-description p { font-size: 17px; line-height: 1.6; }

/* ---------- Related/up-sells em largura total do container ---------- */
.single-product div.product section.related,
.single-product div.product section.up-sells {
	grid-column: 1 / -1; max-width: none; width: 100%;
}

/* Sugestões: scroll quando a lista passa da altura útil */
.ww-suggest { max-height: calc(100vh - 170px); overflow-y: auto; overscroll-behavior: contain; }


/* ================================================================
   Order received / thank you  (woocommerce/checkout/thankyou.php)
   ================================================================ */
.ww-thankyou { max-width: 820px; margin: 0 auto; }
.ww-thankyou svg { width: 18px; height: 18px; flex: 0 0 auto; }

/* Hero */
.ww-thankyou-hero { text-align: center; padding: 8px 0 30px; }
.ww-thankyou-seal { display: inline-flex; align-items: center; justify-content: center;
	width: 64px; height: 64px; border-radius: 50%; background: var(--ww-green-tint); margin-bottom: 18px; }
.ww-thankyou-seal svg { width: 32px; height: 32px; color: var(--ww-green-brand); stroke-width: 1.5; }
.ww-thankyou-seal--alert { background: #f7ecec; }
.ww-thankyou-seal--alert svg { color: var(--ww-alert); }
.ww-thankyou-seal--muted { background: var(--ww-surface); border: 1px solid var(--ww-border); }
.ww-thankyou-seal--muted svg { color: var(--ww-muted); }
.ww-thankyou-hero h1 { font-family: var(--ww-serif); font-size: 38px; line-height: 1.12; margin: 0 0 10px; }
.ww-thankyou-lede { font-size: 18px; margin: 0 0 6px; color: var(--ww-ink); }
.ww-thankyou-sub { font-size: 15px; color: var(--ww-muted); margin: 0; }
.ww-thankyou-sub strong { color: var(--ww-ink); font-weight: 600; }
.ww-thankyou-actions { margin: 22px 0 0; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ww-thankyou-link { font-size: 14.5px; font-weight: 600; color: var(--ww-green-link); }
.ww-thankyou-link:hover { color: var(--ww-green-dark); text-decoration: underline; }

/* Faixa de metadados */
.ww-thankyou-meta { display: grid; grid-template-columns: repeat(4, 1fr);
	background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); overflow: hidden; }
.ww-thankyou-meta-item { padding: 16px 18px; border-left: 1px solid var(--ww-border); min-width: 0; }
.ww-thankyou-meta-item:first-child { border-left: 0; }
.ww-thankyou-meta-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .09em;
	text-transform: uppercase; color: var(--ww-muted); margin-bottom: 4px; }
.ww-thankyou-meta-value { display: block; font-size: 15.5px; font-weight: 600; color: var(--ww-ink); overflow-wrap: anywhere; }
.ww-thankyou-meta-value .amount { font-weight: 700; }

/* Trilha de status — sem datas, sem prazo prometido */
.ww-thankyou-track { margin-top: 26px; }
.ww-thankyou-steps { display: flex; list-style: none; margin: 0; padding: 0; }
.ww-thankyou-step { flex: 1 1 0; position: relative; text-align: center; padding: 34px 6px 0;
	font-size: 13.5px; line-height: 1.35; color: var(--ww-muted); min-width: 0; }
.ww-thankyou-step::before, .ww-thankyou-step::after {
	content: ""; position: absolute; top: 11px; height: 2px; background: var(--ww-border); }
.ww-thankyou-step::before { left: 0; right: 50%; }
.ww-thankyou-step::after { left: 50%; right: 0; }
.ww-thankyou-step:first-child::before, .ww-thankyou-step:last-child::after { display: none; }
.ww-thankyou-step.is-done::before, .ww-thankyou-step.is-done::after,
.ww-thankyou-step.is-current::before { background: var(--ww-green-brand); }
.ww-thankyou-step-dot { position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: 24px; height: 24px; border-radius: 50%; background: var(--ww-surface);
	border: 2px solid var(--ww-border); display: flex; align-items: center; justify-content: center; }
.ww-thankyou-step-dot svg { width: 24px; height: 24px; }
.ww-thankyou-step.is-done .ww-thankyou-step-dot { border: 0; background: none; color: var(--ww-green-brand); }
.ww-thankyou-step.is-current .ww-thankyou-step-dot { border-color: var(--ww-green-brand); background: #fff;
	box-shadow: 0 0 0 4px rgba(59, 94, 59, .14); }
.ww-thankyou-step.is-done .ww-thankyou-step-label,
.ww-thankyou-step.is-current .ww-thankyou-step-label { color: var(--ww-ink); font-weight: 600; }

/* Cards */
.ww-thankyou-card { background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius);
	padding: 22px 24px; margin-top: 26px; }
.ww-thankyou-card-title { font-family: var(--ww-serif); font-size: 21px; margin: 0 0 14px; }

/* Itens */
.ww-thankyou-items { list-style: none; margin: 0; padding: 0; }
.ww-thankyou-item { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0; border-top: 1px solid var(--ww-border); }
.ww-thankyou-item:first-child { border-top: 0; padding-top: 4px; }
.ww-thankyou-item-thumb { flex: 0 0 auto; width: 64px; }
.ww-thankyou-item-thumb img { width: 64px; height: 64px; object-fit: contain; background: #fff;
	border: 1px solid var(--ww-border); border-radius: 8px; padding: 4px; }
.ww-thankyou-item-body { flex: 1 1 auto; min-width: 0; display: block; }
.ww-thankyou-item-name { display: block; font-size: 15.5px; font-weight: 600; line-height: 1.35; }
.ww-thankyou-item-name a { color: var(--ww-ink); }
.ww-thankyou-item-name a:hover { color: var(--ww-green-link); }
.ww-thankyou-item-qty { display: block; font-size: 14px; color: var(--ww-muted); margin-top: 3px; }
.ww-thankyou-item-note { display: block; font-size: 13.5px; color: var(--ww-muted); margin-top: 6px; }
.ww-thankyou-item-note p { margin: 0; }
.ww-thankyou-item .wc-item-meta { list-style: none; margin: 4px 0 0; padding: 0; font-size: 13.5px; color: var(--ww-muted); }
.ww-thankyou-item .wc-item-meta p { margin: 0; display: inline; }
.ww-thankyou-item-price { flex: 0 0 auto; font-size: 15.5px; font-weight: 700; white-space: nowrap; padding-top: 1px; }

/* Totais */
.ww-thankyou-totals { margin: 6px 0 0; padding: 14px 0 0; border-top: 1px solid var(--ww-border); }
.ww-thankyou-total-row { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 5px 0; }
.ww-thankyou-total-row dt { margin: 0; font-size: 14.5px; color: var(--ww-muted); }
.ww-thankyou-total-row dd { margin: 0; font-size: 14.5px; font-weight: 600; text-align: right; }
.ww-thankyou-total-row.is-grand { margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--ww-border); }
.ww-thankyou-total-row.is-grand dt { font-family: var(--ww-serif); font-size: 19px; color: var(--ww-ink); }
.ww-thankyou-total-row.is-grand dd { font-size: 21px; font-weight: 800; color: var(--ww-green-dark); }
.ww-thankyou-total-row small { display: block; font-weight: 400; font-size: 12.5px; color: var(--ww-muted); }

/* Endereço + pagamento */
.ww-thankyou-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ww-thankyou-cols .ww-thankyou-card { margin-top: 26px; }
.ww-thankyou-address { font-style: normal; font-size: 15px; line-height: 1.6; color: var(--ww-ink); }
.ww-thankyou-line { display: flex; align-items: flex-start; gap: 10px; margin: 10px 0 0; font-size: 15px; color: var(--ww-ink); }
.ww-thankyou-line svg { color: var(--ww-green-brand); margin-top: 3px; }
.ww-thankyou-line span { min-width: 0; overflow-wrap: anywhere; }

/* Conta */
.ww-thankyou-account { display: flex; align-items: center; gap: 18px; margin-top: 26px;
	background: var(--ww-green-tint); border: 1px solid #dbe4db; border-radius: var(--ww-radius); padding: 20px 24px; }
.ww-thankyou-account-icon { flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%; background: #fff; }
.ww-thankyou-account-icon svg { width: 22px; height: 22px; color: var(--ww-green-brand); }
.ww-thankyou-account-text { flex: 1 1 auto; min-width: 0; }
.ww-thankyou-account-text h2 { font-family: var(--ww-serif); font-size: 19px; margin: 0 0 4px; }
.ww-thankyou-account-text p { margin: 0; font-size: 14.5px; color: var(--ww-muted); }
.ww-thankyou-account .ww-btn { flex: 0 0 auto; padding: 12px 24px; font-size: 15px; }

/* Downloads (template do core) */
.ww-thankyou .woocommerce-order-downloads { background: #fff; border: 1px solid var(--ww-border);
	border-radius: var(--ww-radius); padding: 22px 24px; margin-top: 26px; }
.ww-thankyou .woocommerce-order-downloads h2 { font-family: var(--ww-serif); font-size: 21px; margin: 0 0 12px; }

/* Ajuda + CTA final */
.ww-thankyou-help { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 34px;
	margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--ww-border); font-size: 13.5px; color: var(--ww-muted); }
.ww-thankyou-help-item { display: inline-flex; align-items: center; gap: 8px; }
.ww-thankyou-help-item svg { width: 17px; height: 17px; color: var(--ww-green-brand); }
.ww-thankyou-help-item a { color: inherit; font-weight: 600; }
.ww-thankyou-help-item a:hover { color: var(--ww-green-link); }
.ww-thankyou-cta { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: 26px 0 8px; }
.ww-thankyou-cta .ww-btn svg { width: 18px; height: 18px; }
.ww-thankyou .order-again { text-align: center; margin: 18px 0 0; }
.ww-thankyou .order-again .button { display: inline-flex; align-items: center; border: 1px solid var(--ww-border);
	background: #fff; color: var(--ww-green-link); border-radius: 999px; padding: 11px 24px; font-weight: 600; }
.ww-thankyou .order-again .button:hover { background: var(--ww-green-tint); }

/* Saída dos gateways (ex.: dados bancários do BACS via woocommerce_thankyou_{gateway}) */
.ww-thankyou .woocommerce-bacs-bank-details, .ww-thankyou .woocommerce-order-overview + p {
	background: #fff; border: 1px solid var(--ww-border); border-radius: var(--ww-radius); padding: 22px 24px; margin-top: 26px; }
.ww-thankyou .wc-bacs-bank-details-account-name, .ww-thankyou .woocommerce-bacs-bank-details h2,
.ww-thankyou .woocommerce-bacs-bank-details h3 { font-family: var(--ww-serif); font-size: 19px; margin: 0 0 10px; }
.ww-thankyou .wc-bacs-bank-details { list-style: none; margin: 0; padding: 0; font-size: 15px; }

@media (max-width: 900px) {
  .ww-thankyou-hero h1 { font-size: 31px; }
  .ww-thankyou-cols { grid-template-columns: 1fr; gap: 0; }
  .ww-thankyou-step { font-size: 12.5px; }
}

@media (max-width: 600px) {
  .ww-thankyou-hero { padding-bottom: 22px; }
  .ww-thankyou-hero h1 { font-size: 26px; }
  .ww-thankyou-lede { font-size: 16.5px; }
  .ww-thankyou-meta { grid-template-columns: 1fr 1fr; }
  .ww-thankyou-meta-item:nth-child(odd) { border-left: 0; }
  .ww-thankyou-meta-item:nth-child(n+3) { border-top: 1px solid var(--ww-border); }
  .ww-thankyou-steps { flex-wrap: wrap; }
  .ww-thankyou-step { flex: 0 0 50%; padding-bottom: 16px; }
  .ww-thankyou-step:nth-child(2)::after, .ww-thankyou-step:nth-child(3)::before { display: none; }
  .ww-thankyou-card { padding: 18px 16px; margin-top: 20px; }
  .ww-thankyou-cols .ww-thankyou-card { margin-top: 20px; }
  .ww-thankyou-item-thumb, .ww-thankyou-item-thumb img { width: 54px; }
  .ww-thankyou-item-thumb img { height: 54px; }
  .ww-thankyou-item-price { font-size: 15px; }
  .ww-thankyou-account { flex-direction: column; align-items: flex-start; gap: 14px; padding: 18px 16px; }
  .ww-thankyou-account .ww-btn { width: 100%; }
  .ww-thankyou-help { gap: 10px; flex-direction: column; align-items: flex-start; }
  .ww-thankyou-cta .ww-btn { width: 100%; }
}
