/* ARIMO storefront. Direction "Luz" (BRAND.md): luminous ground, pale stone tints that
   frame product photos, organic stone shapes, Compasso Extended ExtraLight headlines. */

@font-face { font-family: "Compasso"; src: url("/fonts/CompassoVF-Regular.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Compasso"; src: url("/fonts/CompassoVF-Italic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Compasso Extended"; src: url("/fonts/CompassoExtended-ExtraLight.woff2") format("woff2"); font-weight: 200; font-display: swap; }
@font-face { font-family: "Compasso Extended"; src: url("/fonts/CompassoExtended-Light.woff2") format("woff2"); font-weight: 300; font-display: swap; }

:root {
  --a-ground: #f8faf1;
  --a-paper: #fcfdf8;
  --a-ink: #1b1e1c;
  --a-muted: #56604f;
  --a-line: #e0e6d6;
  --a-green: #2aae51;
  --a-leaf: #1e7a3e;
  --a-mint: #e5efd8;
  --a-sans: "Compasso", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --a-wide: "Compasso Extended", "Compasso", "Avenir Next", sans-serif;
  --a-rr: 28px 44px 30px 40px / 40px 30px 44px 28px;
  --a-gutter: clamp(16px, 3.4vw, 40px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
.a-body { margin: 0; background: var(--a-ground); color: var(--a-ink); font-family: var(--a-sans); font-size: 15.5px; line-height: 1.55; }
.a-body img { max-width: 100%; display: block; }
.a-body a { color: inherit; text-decoration: none; }
.a-body button, .a-body input { font: inherit; color: inherit; }
.a-body p { margin: 0; }
:focus-visible { outline: 2px solid var(--a-leaf); outline-offset: 3px; }
.a-body .hidden, .a-body [hidden] { display: none !important; }
.a-body .line-through { text-decoration: line-through; }
.a-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.a-wrap { max-width: 1280px; margin-inline: auto; padding-inline: var(--a-gutter); }
.a-section { padding-block: clamp(40px, 6vw, 80px); }

/* ---------- Shapes: the leaf marks what's alive; stones hold content ---------- */
.a-leaf { display: inline-block; width: 8px; height: 8px; border-radius: 50% 0; background: var(--a-green); flex: none; }
.a-stone-1 { border-radius: 48% 52% 44% 56% / 56% 46% 54% 44%; }
.a-stone-2 { border-radius: 55% 45% 52% 48% / 44% 56% 44% 56%; }
.a-stone-3 { border-radius: 42% 58% 60% 40% / 50% 42% 58% 50%; }
.a-stone-4 { border-radius: 60% 40% 45% 55% / 55% 60% 40% 45%; }

/* The tile: a tinted frame for any photo. White backgrounds multiply into the tint;
   photos with their own background sit inside with soft corners. */
.a-tile { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--tint, #ebe9e2); border-radius: var(--a-rr); transition: background-color .3s ease; }
.a-tile img { position: absolute; inset: 8%; width: 84%; height: 84%; object-fit: contain; mix-blend-mode: multiply; border-radius: 14px; }

/* ---------- Type ---------- */
.a-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--a-muted); }
.a-tiny { display: block; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--a-muted); margin-bottom: 4px; }
.a-display { font-family: var(--a-wide); font-weight: 200; font-size: clamp(34px, 5.2vw, 68px); line-height: 1.04; letter-spacing: -.012em; margin: 0; text-wrap: balance; }
.a-display-m { font-size: clamp(28px, 3.8vw, 50px); }
.a-h2 { font-family: var(--a-wide); font-weight: 300; font-size: clamp(22px, 2.4vw, 31px); line-height: 1.15; margin: 6px 0 0; text-wrap: balance; }
.a-h3 { font-family: var(--a-wide); font-weight: 300; font-size: clamp(19px, 2vw, 24px); line-height: 1.22; margin: 6px 0 0; text-wrap: balance; }
.a-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14.5px; border-bottom: 1.5px solid var(--a-green); padding-bottom: 2px; }
.a-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; margin-bottom: clamp(20px, 2.6vw, 32px); }

/* ---------- Buttons ---------- */
.a-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 12px 24px; border: 0; border-radius: 999px; background: var(--a-ink); color: #fbfaf5 !important; font: 600 14.5px/1.1 var(--a-sans); cursor: pointer; text-align: center; }
.a-btn:hover { background: #343b36; }
.a-btn:disabled { opacity: .45; cursor: not-allowed; }
.a-btn-ghost { background: transparent; color: var(--a-ink) !important; box-shadow: inset 0 0 0 1.5px var(--a-ink); }
.a-btn-ghost:hover { background: var(--a-mint); }
.a-btn-wide { width: 100%; }
.a-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; list-style: none; }
.a-icon::-webkit-details-marker { display: none; }
.a-icon:hover { background: #eef2e6; }
.a-icon svg { width: 22px; height: 22px; }

/* ---------- htmx loading overlay, cookies ---------- */
#loading-screen { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: rgba(248, 250, 241, .6); pointer-events: none; }
#loading-screen.htmx-request { pointer-events: auto; }
.a-loading { width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--a-line); border-top-color: var(--a-green); animation: a-spin .8s linear infinite; }
@keyframes a-spin { to { transform: rotate(360deg); } }
.a-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 560px; margin-inline: auto; display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: var(--a-paper); border-radius: 18px; box-shadow: 0 12px 40px -12px rgba(27, 30, 28, .35); font-size: 13px; color: var(--a-muted); }
.a-cookies button { flex: none; border: 0; border-radius: 999px; background: var(--a-ink); color: #fbfaf5; padding: 10px 18px; font-weight: 600; cursor: pointer; }

/* ---------- Header ---------- */
.a-bar { background: var(--a-mint); color: #2d4a2a; text-align: center; font-size: 12.5px; font-weight: 500; padding: 7px 16px; }
.a-bar a { text-decoration: underline; text-underline-offset: 2px; }
.a-header { position: sticky; top: 0; z-index: 40; background: rgba(252, 253, 248, .96); backdrop-filter: saturate(1.2) blur(8px); border-bottom: 1px solid var(--a-line); }
.a-header-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; min-height: 68px; }
.a-home-link { display: block; }
.a-logo { display: block; height: 32px; width: auto; aspect-ratio: 2528 / 812; }
.a-logo-mark { fill: var(--a-green); }
.a-logo-word { fill: var(--a-ink); }
.a-nav { display: flex; justify-content: center; align-items: center; gap: clamp(14px, 2vw, 28px); font-size: 14.5px; font-weight: 500; }
.a-nav > a:hover, .a-dropdown summary:hover { color: var(--a-leaf); }
.a-dropdown { position: relative; }
.a-dropdown summary { cursor: pointer; list-style: none; }
.a-dropdown summary::-webkit-details-marker { display: none; }
.a-nav .a-dropdown > summary::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.a-dropdown-panel { position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%); z-index: 50; display: grid; gap: 4px; min-width: 200px; padding: 14px; background: var(--a-paper); border-radius: 20px; box-shadow: 0 18px 50px -20px rgba(27, 30, 28, .35); }
.a-dropdown-panel a { padding: 7px 10px; border-radius: 10px; }
.a-dropdown-panel a:hover { background: var(--a-mint); }
.a-actions { display: flex; align-items: center; gap: 4px; }
.a-search-drop .a-dropdown-panel { left: auto; right: 0; transform: none; min-width: 300px; }
.a-search input { width: 100%; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--a-ground); box-shadow: inset 0 0 0 1px var(--a-line); }
.a-menu { display: none; }
.a-menu summary { list-style: none; }
.a-menu-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 50; display: grid; gap: 22px; max-height: calc(100vh - 110px); overflow-y: auto; padding: 20px var(--a-gutter) 28px; background: var(--a-paper); border-bottom: 1px solid var(--a-line); box-shadow: 0 24px 40px -30px rgba(27, 30, 28, .4); }
.a-menu-panel nav { display: grid; gap: 4px; }
.a-menu-panel nav a { padding: 7px 0; font-size: 16px; }

/* ---------- Home ---------- */
.a-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: clamp(460px, 44vw, 600px); background: #f3f7ea url("/img/arimo/textura.jpg") center / cover no-repeat; }
.a-hero-copy { align-self: center; display: grid; gap: 18px; margin: clamp(20px, 3.6vw, 56px); padding: clamp(24px, 3.6vw, 52px); background: rgba(252, 253, 248, .95); border-radius: 30px 46px 34px 42px / 42px 32px 46px 34px; box-shadow: 0 24px 60px -34px rgba(40, 70, 40, .4); max-width: 620px; justify-self: end; }
.a-hero-copy p { color: var(--a-muted); max-width: 38ch; font-size: 17px; }
.a-ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.a-arch { align-self: end; width: calc(100% - clamp(20px, 3.6vw, 56px)); height: calc(100% - clamp(24px, 3.6vw, 56px)); max-width: 560px; object-fit: cover; border-radius: 999px 999px 0 0; box-shadow: 0 0 0 9px rgba(252, 253, 248, .92); }

.a-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2.6vw, 36px); }
.a-cat { display: grid; gap: 12px; justify-items: center; text-align: center; font-size: 16px; }
.a-cat b { font-weight: 500; }
.a-cat .a-tile { width: 100%; }
.a-cat .a-tile img { inset: 16%; width: 68%; height: 68%; }
.a-cat:hover .a-tile { filter: brightness(.98); }

.a-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2.2vw, 28px); }
.a-card { display: grid; gap: 7px; align-content: start; }
.a-card .a-tile { margin-bottom: 6px; }
.a-card:hover .a-tile { filter: brightness(.98); }
.a-card.is-out { opacity: .7; }
.a-stock { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--a-muted); }
.a-stock.is-out .a-leaf, .a-card.is-out .a-leaf { background: #b9b6ab; }
/* Últimas unidades: the leaf turns autumn-colored and sways, about to fall. */
.a-stock.is-last { color: #8a5a1c; }
.a-stock.is-last .a-leaf { background: #d68a2e; transform-origin: 0 0; animation: a-leaf-fall 3.2s ease-in-out infinite alternate; }
@keyframes a-leaf-fall { from { transform: rotate(-38deg) translate(1px, 1px); } to { transform: rotate(-12deg) translate(0, 2px); } }
.a-card-name { font-size: 16px; font-weight: 500; line-height: 1.3; }
.a-card-price { font-size: 15.5px; font-weight: 500; font-variant-numeric: tabular-nums; }
.a-card-price small { font-weight: 400; color: var(--a-muted); }
.a-card-pix { display: block; font-size: 12.5px; }
.a-card-options { font-size: 12.5px; color: var(--a-muted); }

.a-band { background: var(--a-paper); }
.a-partners { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.a-partners-copy { display: grid; gap: 14px; }
.a-partners-copy p { color: var(--a-muted); max-width: 40ch; }
.a-feature { display: block; max-width: 340px; margin-top: 8px; padding: 16px 20px; background: #f8e5ea; border-radius: 22px 34px 26px 30px / 30px 24px 34px 26px; font-weight: 500; }
.a-feature:hover { filter: brightness(.98); }
.a-partners-photos { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; height: clamp(340px, 36vw, 480px); }
.a-partners-photos img { width: 100%; height: 100%; object-fit: cover; }
.a-pf-1 { grid-row: 1 / span 2; border-radius: var(--a-rr); }
.a-pf-2 { border-radius: 30px 40px 24px 36px / 36px 26px 40px 30px; object-position: 70% 30%; }
.a-pf-3 { border-radius: 36px 26px 40px 30px / 26px 38px 30px 40px; }

.a-stones { display: flex; flex-wrap: wrap; gap: 14px; }
.a-stone { background: var(--tint, #ebe9e2); }
.a-stones .a-stone { flex: 0 1 auto; max-width: 300px; min-height: 118px; padding: 26px 30px; display: grid; align-content: center; font-style: italic; font-weight: 330; font-size: 17px; line-height: 1.3; }
.a-stone b { display: block; margin-bottom: 4px; font-style: normal; font-size: 11px; font-weight: 600; letter-spacing: .1em; color: var(--a-leaf); }

.a-about { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.a-about-copy { display: grid; gap: 18px; justify-items: start; }
.a-about-copy p { font-size: 17px; max-width: 52ch; }
.a-bonsai { margin: 0; display: grid; gap: 10px; }
.a-bonsai img { width: 100%; aspect-ratio: 1 / 1.05; object-fit: cover; object-position: 70% 60%; }
.a-bonsai figcaption { font-size: 13px; color: var(--a-muted); }

/* ---------- Newsletter + footer ---------- */
.a-news { background: var(--a-mint); }
.a-news-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: end; padding-block: clamp(28px, 4vw, 48px); }
.a-news-form { display: flex; flex-wrap: wrap; gap: 10px; }
.a-news-form input { flex: 1 1 220px; min-width: 0; min-height: 46px; padding: 12px 20px; border: 0; border-radius: 999px; background: var(--a-paper); box-shadow: inset 0 0 0 1px #cfdcc2; }
.a-news-result { margin-top: 8px; font-size: 13.5px; }

.a-footer { background: var(--a-paper); padding-block: clamp(32px, 4vw, 52px) 28px; font-size: 14.5px; }
.a-footer a:hover { color: var(--a-leaf); }
.a-foot-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, .9fr); gap: 24px; align-items: center; padding-bottom: 28px; border-bottom: 1px solid var(--a-line); }
.a-breath { display: flex; align-items: center; gap: 16px; }
.a-breath-leaf { width: 32px; height: 32px; border-radius: 50% 0; background: var(--a-green); flex: none; animation: a-leaf-breath 10s ease-in-out infinite; }
.a-breath-label { position: relative; display: inline-block; min-width: 8.5em; height: 1.3em; color: var(--a-leaf); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.a-breath-label span { position: absolute; left: 0; top: 0; white-space: nowrap; }
.a-breath-label .in { animation: a-lbl-in 10s linear infinite; }
.a-breath-label .out { animation: a-lbl-out 10s linear infinite; }
/* One breath per 10 s: inhale 4 s (0-40%), exhale 6 s. */
@keyframes a-leaf-breath { 0% { transform: scale(.62) rotate(-8deg); } 40% { transform: scale(1.12) rotate(4deg); } 100% { transform: scale(.62) rotate(-8deg); } }
@keyframes a-lbl-in { 0%, 38% { opacity: 1; } 40%, 100% { opacity: 0; } }
@keyframes a-lbl-out { 0%, 38% { opacity: 0; } 40%, 98% { opacity: 1; } 100% { opacity: 0; } }
.a-foot-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 24px; padding-block: 28px; }
.a-foot-col { display: grid; gap: 7px; align-content: start; }
.a-foot-col b { font-weight: 600; margin-bottom: 4px; }
.a-foot-col a { color: var(--a-muted); }
.a-foot-brand { display: grid; gap: 12px; justify-items: end; align-content: start; color: var(--a-muted); }
.a-foot-brand .a-logo { height: 36px; }
.a-legal { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 12.5px; color: var(--a-muted); }

/* ---------- Product page ---------- */
.a-crumbs { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 18px; font-size: 13px; color: var(--a-muted); }
.a-crumbs a:hover { color: var(--a-leaf); }
.a-pdp { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4.4vw, 64px); align-items: start; padding-block: 20px clamp(40px, 5vw, 72px); }
.a-gallery { display: grid; gap: 14px; position: sticky; top: 88px; }
.a-stage img { inset: 6%; width: 88%; height: 88%; }
.a-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 10px; }
.a-thumbs button { position: relative; aspect-ratio: 1; padding: 0; border: 0; overflow: hidden; cursor: pointer; background: var(--tint, #ebe9e2); border-radius: 48% 52% 44% 56% / 56% 46% 54% 44%; transition: background-color .3s ease; }
.a-thumbs button:nth-child(4n+2) { border-radius: 55% 45% 52% 48% / 44% 56% 44% 56%; }
.a-thumbs button:nth-child(4n+3) { border-radius: 42% 58% 60% 40% / 50% 42% 58% 50%; }
.a-thumbs button:nth-child(4n) { border-radius: 60% 40% 45% 55% / 55% 60% 40% 45%; }
.a-thumbs img { position: absolute; inset: 12%; width: 76%; height: 76%; object-fit: contain; mix-blend-mode: multiply; }
.a-thumbs button[aria-pressed="true"] { outline: 1.5px solid var(--a-ink); outline-offset: 3px; }

.a-buybox { display: grid; gap: 16px; align-content: start; }
.a-pdp-title { font-size: clamp(28px, 3.2vw, 44px); }
.a-pdp-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; }
.a-rating { font-size: 13.5px; color: var(--a-muted); text-decoration: underline; text-underline-offset: 3px; }
.a-variant { font-size: 14px; color: var(--a-muted); }
.a-lede { color: var(--a-muted); max-width: 52ch; }
.a-form { display: grid; gap: 16px; }
.a-field { margin: 0; padding: 0; border: 0; display: grid; gap: 12px; }
.a-field legend { padding: 0; margin-bottom: 12px; font-size: 14px; color: var(--a-muted); }
.a-field legend b { color: var(--a-ink); font-weight: 600; }
.a-swatches { display: flex; flex-wrap: wrap; gap: 12px; }
.a-swatch { position: relative; width: 42px; height: 37px; padding: 0; border: 0; cursor: pointer; background-size: cover; background-position: center; box-shadow: inset 0 0 0 1px rgba(27, 30, 28, .1); }
.a-swatch.has-lines::after { content: ""; position: absolute; left: 50%; top: 20%; bottom: 20%; width: 1.5px; background: rgba(255, 255, 255, .9); }
.a-swatch[aria-pressed="true"] { outline: 1.5px solid var(--a-ink); outline-offset: 3px; }
.a-swatch.is-soldout::before { content: ""; position: absolute; left: 12%; right: 12%; top: 50%; height: 1.5px; background: rgba(252, 253, 248, .95); transform: rotate(-28deg); box-shadow: 0 0 0 .5px rgba(27, 30, 28, .25); }
.a-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.a-opt { padding: 10px 16px; border: 0; border-radius: 999px; background: var(--a-paper); box-shadow: inset 0 0 0 1.5px var(--a-line); cursor: pointer; font-size: 14px; }
.a-opt[aria-pressed="true"] { box-shadow: inset 0 0 0 1.5px var(--a-ink); font-weight: 600; }
.a-opt.is-soldout { color: var(--a-muted); text-decoration: line-through; }
.a-opt.is-unavailable { opacity: .45; }

.a-price { display: grid; gap: 2px; font-variant-numeric: tabular-nums; }
.a-price-de { font-size: 28px; font-weight: 600; letter-spacing: -.01em; }
.a-price-de.line-through { font-size: 16px; font-weight: 400; color: var(--a-muted); }
.a-price-por { font-size: 28px; font-weight: 600; letter-spacing: -.01em; }
.a-price-meta { margin-top: 4px; font-size: 14px; color: var(--a-muted); }
.a-price-meta strong { color: var(--a-ink); font-weight: 600; }
.a-buy { display: flex; gap: 10px; }
.a-qty { display: flex; align-items: center; border-radius: 999px; background: var(--a-paper); box-shadow: inset 0 0 0 1.5px var(--a-line); }
.a-qty button { width: 42px; height: 46px; border: 0; background: transparent; font-size: 18px; cursor: pointer; }
.a-qty input { width: 30px; border: 0; background: transparent; text-align: center; font-variant-numeric: tabular-nums; }
.a-btn-add { flex: 1; }
#adicionadoAoCarrinho { padding: 12px 16px; border-radius: 16px; background: var(--a-mint); font-size: 14px; }
#adicionadoAoCarrinho a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.a-notify { display: grid; gap: 10px; padding: 18px 20px; background: var(--a-paper); border-radius: 22px 34px 26px 30px / 30px 24px 34px 26px; }
.a-notify label { font-weight: 600; }
.a-notify div { display: flex; gap: 8px; flex-wrap: wrap; }
.a-notify input[type="email"] { flex: 1 1 200px; min-height: 46px; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--a-ground); box-shadow: inset 0 0 0 1px var(--a-line); }
.a-perk { display: flex; gap: 14px; align-items: flex-start; padding: 18px 22px; background: var(--a-mint); border-radius: 22px 34px 26px 30px / 30px 24px 34px 26px; font-size: 14px; color: var(--a-muted); }
.a-perk .a-leaf { margin-top: 7px; }
.a-perk b { display: block; color: var(--a-ink); font-size: 15px; font-weight: 600; }
.a-details ul { list-style: none; margin: 0; padding: 0; display: grid; }
.a-details li { padding: 9px 0 9px 20px; border-top: 1px solid var(--a-line); position: relative; font-size: 14.5px; }
.a-details li::before { content: ""; position: absolute; left: 0; top: 16px; width: 7px; height: 7px; border-radius: 50% 0; background: var(--a-green); }
.a-features { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.a-features span { padding: 6px 14px; background: var(--a-paper); border-radius: 999px; box-shadow: inset 0 0 0 1px var(--a-line); font-size: 12.5px; font-weight: 500; }
.a-also { font-size: 13.5px; color: var(--a-muted); }
.a-also a { text-decoration: underline; text-underline-offset: 3px; }

/* WordPress blocks from the product's page (pageBlock), in the Luz look. */
.a-blocks { display: grid; gap: clamp(40px, 5vw, 72px); margin-top: 24px; }
.a-blocks > * { margin: 0; }
.a-blocks .wp-block-media-text { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.a-blocks .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }
.a-blocks .wp-block-media-text__media { margin: 0; }
/* Same tile treatment as the gallery: packshots on white melt into the product's tint. */
.a-blocks .wp-block-media-text__media { overflow: hidden; background: var(--tint, #eef3e8); border-radius: var(--a-rr); }
.a-blocks .wp-block-media-text__media img { width: 100%; height: auto; mix-blend-mode: multiply; }
.a-blocks .wp-block-image img { width: 100%; height: auto; border-radius: var(--a-rr); }
.a-blocks figure { margin: 0; }
.a-blocks h2, .a-blocks h3, .a-blocks h4 { font-family: var(--a-wide); font-weight: 200; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.1; margin: 0 0 14px; text-wrap: balance; }
.a-blocks p { font-size: 16.5px; line-height: 1.6; color: var(--a-muted); max-width: 56ch; margin: 0 0 12px; }
.a-blocks .has-small-font-size { font-size: 14px; font-weight: 600; color: var(--a-leaf); margin-bottom: 8px; }
.a-blocks strong { color: var(--a-ink); font-weight: 600; }
.a-blocks .is-layout-flex { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.a-blocks .wp-block-group__inner-container { display: grid; gap: 12px; justify-items: center; text-align: center; }
.a-blocks .is-layout-flex > figure { flex: 0 1 180px; }
.a-blocks .has-text-align-center, .a-blocks .text-center { text-align: center; margin-inline: auto; }
.a-blocks ul { display: grid; gap: 8px; padding-left: 18px; color: var(--a-muted); }
.a-blocks :is([class*="aspect-w-"], :has(> iframe)) { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--a-rr); }
.a-blocks iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.a-reminder { display: grid; justify-items: center; padding-block: clamp(32px, 4vw, 56px) 0; }
.a-reminder .a-stone { max-width: 540px; padding: 34px 48px; text-align: center; font-style: italic; font-weight: 330; font-size: 20px; line-height: 1.3; }

.a-info { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.a-faq { display: grid; margin: 20px 0 18px; }
.a-faq details { border-top: 1px solid var(--a-line); }
.a-faq details:last-child { border-bottom: 1px solid var(--a-line); }
.a-faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; font-weight: 500; cursor: pointer; list-style: none; }
.a-faq summary::-webkit-details-marker { display: none; }
.a-faq summary::after { content: "+"; color: var(--a-leaf); font-weight: 400; font-size: 20px; line-height: 1; }
.a-faq details[open] summary::after { content: "−"; }
.a-faq-answer { padding-bottom: 16px; color: var(--a-muted); }
.a-faq-answer p + p { margin-top: 8px; }
.a-reviews { display: grid; gap: 14px; margin-top: 20px; }
.a-review { margin: 0; padding: 22px 26px; background: var(--a-paper); border-radius: 22px 34px 26px 30px / 30px 24px 34px 26px; }
.a-review p { font-style: italic; font-weight: 350; }
.a-review footer { margin-top: 10px; font-size: 12.5px; color: var(--a-muted); }

.a-buybar { display: none; }

/* ---------- Narrow screens ---------- */

@media (max-width: 1000px) {
  .a-nav { display: none; }
  .a-menu { display: block; }
  .a-header-inner { grid-template-columns: auto 1fr auto; gap: 8px; }
  .a-home-link { justify-self: center; }
  .a-logo { height: 28px; }
  .a-search-drop .a-dropdown-panel { position: fixed; top: 110px; left: 16px; right: 16px; min-width: 0; }
}

@media (max-width: 760px) {
  .a-hide-m { display: none; }
  .a-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .a-hero-copy { margin: 20px 16px 0; padding: 26px 22px; justify-self: stretch; }
  .a-arch { width: calc(100% - 32px); height: auto; aspect-ratio: 4 / 4.6; margin: 20px 16px 0; justify-self: center; max-width: none; }
  .a-cats, .a-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-partners, .a-about, .a-news-inner, .a-foot-top, .a-pdp, .a-info { grid-template-columns: minmax(0, 1fr); }
  .a-partners-photos { height: 400px; }
  .a-stones { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .a-stones .a-stone { flex: 0 0 230px; font-size: 16px; }
  .a-bonsai { max-width: 280px; }
  .a-foot-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-foot-brand { justify-items: start; }
  .a-gallery { position: static; }
  .a-thumbs { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 58px; overflow-x: auto; padding: 4px; scrollbar-width: none; }
  .a-blocks .wp-block-media-text { grid-template-columns: minmax(0, 1fr); }
  .a-blocks .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 0; }
  .a-reminder .a-stone { padding: 28px 30px; font-size: 18px; }
  .a-buybar { position: sticky; bottom: 0; z-index: 30; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: rgba(252, 253, 248, .97); box-shadow: 0 -1px 0 var(--a-line), 0 -12px 30px -20px rgba(27, 30, 28, .4); transition: transform .25s ease; }
  .a-buybar.is-hidden { transform: translateY(110%); }
  .a-buybar div { display: grid; font-size: 12.5px; color: var(--a-muted); font-variant-numeric: tabular-nums; min-width: 0; }
  .a-buybar b { font-size: 18px; color: var(--a-ink); }
  .a-buybar span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

@media (prefers-reduced-motion: reduce) {
  .a-breath-leaf, .a-breath-label span, .a-loading, .a-stock.is-last .a-leaf { animation: none; }
  .a-breath-label .out { opacity: 0; }
  .a-tile, .a-thumbs button, .a-buybar { transition: none; }
}

/* =================== Store pages (listings, content, account, checkout) =================== */

/* Page head */
.a-page-head { display: grid; gap: 14px; justify-items: start; padding-block: clamp(32px, 5vw, 64px) clamp(16px, 2vw, 24px); }
.a-page-lede { max-width: 58ch; font-size: 17px; color: var(--a-muted); }
.a-page-intro { max-width: 70ch; }
.a-actions-row { display: flex; flex-wrap: wrap; gap: 10px; padding-block: 8px 72px; }
.a-listing { padding-bottom: clamp(48px, 6vw, 88px); }
.a-listing-bar { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; margin-bottom: 20px; border-bottom: 1px solid var(--a-line); font-size: 13px; color: var(--a-muted); }
.a-empty-note { padding: 32px 0; color: var(--a-muted); }
.a-cats-all { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); row-gap: 32px; }
.a-cat small { color: var(--a-muted); font-size: 13px; }

/* Search results and manual lists */
.a-search-lg { width: min(100%, 520px); }
.a-results-wrap { display: grid; gap: 40px; }
.a-results { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 4px; }
.a-result { display: grid; grid-template-columns: 76px 1fr; gap: 18px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--a-line); }
.a-result .a-tile { width: 76px; border-radius: 18px 26px 20px 24px / 24px 20px 26px 18px; }
.a-result strong { display: block; font-weight: 600; }
.a-result span span { display: block; font-size: 14px; color: var(--a-muted); }
.a-result:hover strong { color: var(--a-leaf); }

/* Long-form text from WordPress (pages, posts, manuals) */
.a-article { max-width: 780px; padding-bottom: clamp(48px, 6vw, 88px); }
.a-prose { font-size: 17px; line-height: 1.7; }
.a-prose > * + * { margin-top: 1em; }
.a-prose h2, .a-prose h3, .a-prose h4 { font-family: var(--a-wide); font-weight: 300; line-height: 1.2; margin-top: 1.6em; text-wrap: balance; }
.a-prose h2 { font-size: clamp(22px, 2.4vw, 28px); }
.a-prose h3 { font-size: 20px; }
.a-prose a { color: var(--a-leaf); text-decoration: underline; text-underline-offset: 3px; }
.a-prose img { height: auto; border-radius: var(--a-rr); }
.a-prose figure { margin: 1.6em 0; }
.a-prose figcaption { font-size: 13px; color: var(--a-muted); margin-top: 8px; }
.a-prose ul, .a-prose ol { padding-left: 1.3em; }
.a-prose li + li { margin-top: .4em; }
.a-prose blockquote { margin: 1.6em 0; padding: 20px 26px; background: var(--a-mint); border-radius: 22px 34px 26px 30px / 30px 24px 34px 26px; font-style: italic; }
.a-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.a-prose td, .a-prose th { padding: 8px 10px; border-bottom: 1px solid var(--a-line); text-align: left; }
.a-prose iframe { max-width: 100%; }
.a-prose .wp-block-button__link { display: inline-flex; padding: 12px 22px; border-radius: 999px; background: var(--a-ink); color: #fbfaf5; text-decoration: none; font-weight: 600; }
.a-article-hero { margin: 0 0 32px; }
.a-article-hero img { width: 100%; height: auto; border-radius: var(--a-rr); }
.a-author { display: flex; gap: 14px; align-items: center; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--a-line); font-size: 14px; }
.a-author img { width: 56px; height: 56px; border-radius: 50% 0; object-fit: cover; }
.a-author strong { display: block; }
.a-author span { color: var(--a-muted); }

/* Blog */
.a-chips { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 0 28px; }
.a-chips a { padding: 8px 16px; border-radius: 999px; background: var(--a-paper); box-shadow: inset 0 0 0 1.5px var(--a-line); font-size: 14px; font-weight: 500; }
.a-chips a[aria-current="page"] { background: var(--a-ink); color: #fbfaf5; box-shadow: none; }
.a-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.a-post-card { display: grid; gap: 10px; align-content: start; }
.a-post-card.is-featured { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); column-gap: 32px; align-items: center; }
.a-post-card.is-featured .a-post-img { grid-row: span 3; }
.a-post-card.is-featured h2 { font-size: clamp(24px, 2.8vw, 34px); }
.a-post-img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--tint, #ebe9e2); border-radius: var(--a-rr); }
.a-post-img img { width: 100%; height: 100%; object-fit: cover; }
.a-post-card h2 { margin: 0; font-family: var(--a-wide); font-weight: 300; font-size: 20px; line-height: 1.2; text-wrap: balance; }
.a-post-card p { font-size: 14.5px; color: var(--a-muted); }
.a-post-card:hover h2 { color: var(--a-leaf); }
.a-pagination { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 40px; }
.a-pagination a { display: grid; place-items: center; min-width: 40px; height: 40px; border-radius: 50% 0; background: var(--a-paper); font-weight: 600; }
.a-pagination a[aria-current="page"] { background: var(--a-green); color: var(--a-ink); }

/* About */
.a-about-mady { display: grid; gap: 18px; max-width: 820px; }
.a-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 24px); }
.a-points .a-stone { padding: clamp(24px, 3vw, 40px) clamp(24px, 3vw, 38px); min-height: 160px; display: grid; align-content: center; gap: 6px; font-size: 15px; color: var(--a-muted); }
.a-points .a-stone b { font-family: var(--a-wide); font-weight: 300; font-size: 19px; letter-spacing: 0; color: var(--a-ink); margin: 0; }
.a-about-people { max-width: 70ch; margin-top: 32px; }
.a-manifesto { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 48px; }
.a-manifesto li { display: grid; grid-template-columns: 2.4em 1fr; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--a-line); font-style: italic; font-weight: 330; font-size: 18px; line-height: 1.4; }
.a-manifesto b { font-style: normal; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--a-leaf); padding-top: 5px; }
.a-company { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.a-company p { margin-top: 10px; color: var(--a-muted); max-width: 60ch; }
.a-company-links { display: grid; gap: 12px; justify-items: start; }

/* Forms */
.a-f { display: grid; gap: 6px; }
.a-f > label, .a-f-label { font-size: 13px; font-weight: 600; color: var(--a-ink); }
.a-f > label span { font-weight: 400; color: var(--a-muted); }
.a-input { width: 100%; min-height: 48px; padding: 12px 16px; border: 0; border-radius: 16px; background: var(--a-paper); box-shadow: inset 0 0 0 1.5px var(--a-line); font: 400 16px/1.3 var(--a-sans); color: var(--a-ink); }
.a-input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--a-leaf); }
textarea.a-input { resize: vertical; }
select.a-input { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--a-muted) 50%), linear-gradient(135deg, var(--a-muted) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 17px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.a-check { display: flex; gap: 10px; align-items: center; font-size: 14px; }
.a-check input { width: 18px; height: 18px; accent-color: var(--a-leaf); }
.a-f-error, #errocep { margin: 0; font-size: 13px; color: #b3261e; }
.a-f-error:empty { display: none; }
.a-body .text-error { color: #b3261e; }
.a-body .text-success { color: var(--a-leaf); }
.a-hint { font-size: 13.5px; color: var(--a-muted); }
.a-hint a { color: var(--a-leaf); text-decoration: underline; text-underline-offset: 3px; }
.a-notice { padding: 14px 18px; border-radius: 16px; background: #fbf3d6; }
.a-inline-form { display: flex; flex-wrap: wrap; gap: 8px; width: min(100%, 560px); }
.a-inline-form .a-input { flex: 1 1 200px; min-width: 0; border-radius: 999px; }
.a-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px 12px; }
.a-span-1 { grid-column: span 1; } .a-span-2 { grid-column: span 2; } .a-span-3 { grid-column: span 3; }
.a-span-4 { grid-column: span 4; } .a-span-6 { grid-column: span 6; }
.a-linkbtn { justify-self: start; padding: 0; border: 0; background: none; color: var(--a-leaf); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Server responses from shared endpoints use DaisyUI-style classes */
.a-body .alert { display: block; margin-top: 6px; padding: 12px 16px; border-radius: 16px; background: var(--a-mint); font-size: 14px; }
.a-body .alert-error, .a-body .alert-warning { background: #fbe3dd; }
.a-body .alert a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.a-legacy form, .a-legacy .form-control, .a-legacy form > div { display: grid; gap: 10px; }
.a-legacy .label { display: grid; gap: 6px; }
.a-legacy .label-text { font-size: 13px; font-weight: 600; }
.a-legacy .input { width: 100%; min-height: 48px; padding: 0 16px; border: 0; border-radius: 16px; background: var(--a-paper); box-shadow: inset 0 0 0 1.5px var(--a-line); }
.a-legacy .btn { justify-self: start; min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--a-ink); color: #fbfaf5; font-weight: 600; cursor: pointer; }

/* Contact */
.a-two-col { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
.a-channels { display: grid; gap: 14px; }
.a-channel { display: grid; gap: 2px; padding: 26px 32px; background: var(--a-mint); }
.a-channel:nth-child(2) { background: #dcebee; }
.a-channel:nth-child(3) { background: #fbf3d6; }
.a-channel strong { font-family: var(--a-wide); font-weight: 300; font-size: 20px; }
.a-channel span { font-size: 14px; color: var(--a-muted); }
.a-channel:hover { filter: brightness(.98); }
.a-form-card { display: grid; gap: 16px; padding: clamp(22px, 3vw, 36px); background: var(--a-paper); border-radius: var(--a-rr); }

/* Tabs, login, account */
.a-login { display: grid; gap: 14px; max-width: 460px; }
.a-login-wide { max-width: none; }
.a-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.a-tab { padding: 9px 16px; border: 0; border-radius: 999px; background: var(--a-paper); box-shadow: inset 0 0 0 1.5px var(--a-line); font-size: 14px; font-weight: 500; cursor: pointer; }
.a-tab[aria-selected="true"] { background: var(--a-ink); color: #fbfaf5; box-shadow: none; }
.a-account { padding-top: 8px; }
.a-account-bar { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; padding: 14px 18px; background: var(--a-mint); border-radius: 18px; font-weight: 500; }
.a-order { border-top: 1px solid var(--a-line); }
.a-order:last-of-type { border-bottom: 1px solid var(--a-line); }
.a-order summary { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; padding: 16px 0; cursor: pointer; list-style: none; font-size: 14.5px; }
.a-order summary::-webkit-details-marker { display: none; }
.a-order summary strong { font-weight: 600; }
.a-status { padding: 2px 10px; border-radius: 999px; background: var(--a-mint); font-size: 12.5px; font-weight: 600; }
.a-order-body { display: grid; gap: 14px; padding: 0 0 20px; font-size: 14.5px; color: var(--a-muted); }
.a-order-body h3 { margin: 0 0 4px; font-size: 13px; font-weight: 600; color: var(--a-ink); }
.a-order-body ul { margin: 0; padding-left: 18px; }
.a-order-body a { color: var(--a-leaf); text-decoration: underline; }

/* Tracking */
.a-track { max-width: 760px; }
.a-timeline { list-style: none; margin: 0 0 24px; padding: 0 0 0 26px; border-left: 2px solid var(--a-line); display: grid; gap: 22px; }
.a-timeline li { position: relative; display: grid; gap: 4px; }
.a-timeline li::before { content: ""; position: absolute; left: -33px; top: 6px; width: 12px; height: 12px; border-radius: 50% 0; background: #c9d4bf; }
.a-timeline li.is-latest::before { background: var(--a-green); }
.a-timeline strong { font-weight: 600; }
.a-timeline p, .a-timeline small { color: var(--a-muted); }
.a-timeline a { text-decoration: underline; text-underline-offset: 3px; }
.a-pickup { padding: 12px 16px; border-radius: 16px; background: #fbf3d6; }

/* Programs (Juntos!) */
.a-programs { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; }
.a-program { display: grid; gap: 12px; }
.a-program img { width: 100%; height: auto; border-radius: var(--a-rr); }
.a-program:hover .a-h3 { color: var(--a-leaf); }
.a-program-page { display: grid; gap: 28px; }
.a-program-banner { width: 100%; height: auto; border-radius: var(--a-rr); }
.a-program-body { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.a-facts { margin: 0; display: grid; gap: 10px; padding: 22px 26px; background: var(--a-mint); border-radius: 22px 34px 26px 30px / 30px 24px 34px 26px; }
.a-facts div { display: grid; }
.a-facts dt { font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--a-muted); }
.a-facts dd { margin: 0; font-weight: 500; }
.a-lessons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.a-lesson { display: grid; gap: 12px; width: 100%; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; }
.a-lesson-thumb { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tint); border-radius: var(--a-rr); }
.a-lesson-thumb img { width: 100%; height: 100%; object-fit: cover; }
.a-lesson-text { display: grid; gap: 2px; font-weight: 500; }
.a-lesson-text b { font-size: 12px; font-weight: 600; letter-spacing: .1em; color: var(--a-leaf); }
.a-lesson:hover .a-lesson-text { color: var(--a-leaf); }
.a-dialog { width: min(900px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: clamp(18px, 3vw, 32px); border: 0; border-radius: 26px; background: var(--a-paper); color: var(--a-ink); }
.a-dialog::backdrop { background: rgba(27, 30, 28, .55); }
.a-dialog-head { display: flex; justify-content: space-between; gap: 16px; align-items: start; margin-bottom: 16px; }
.a-dialog-head .a-icon { font-size: 26px; border: 0; background: var(--a-mint); flex: none; }
.a-video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 18px; background: #000; margin-bottom: 12px; }
.a-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Checkout */
.a-checkout { padding-block: clamp(24px, 4vw, 48px) clamp(48px, 6vw, 80px); }
.a-co-header { grid-template-columns: auto 1fr auto; }
.a-co-secure { display: inline-flex; align-items: center; gap: 8px; justify-self: center; font-size: 13px; font-weight: 600; color: var(--a-muted); }
.a-co-back { font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.a-co-footer { padding-block: 28px; background: var(--a-paper); border-top: 1px solid var(--a-line); }
.a-co-title { display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; align-items: end; margin-bottom: 28px; }
.a-seq { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.a-seq li { padding: 6px 12px; border-radius: 999px; background: var(--a-paper); box-shadow: inset 0 0 0 1px var(--a-line); font-size: 12.5px; font-weight: 600; color: var(--a-muted); }
.a-seq li[data-state="done"] { background: var(--a-mint); box-shadow: none; color: #2d4a2a; }
.a-seq li[data-state="active"] { background: var(--a-ink); color: #fbfaf5; box-shadow: none; }
.a-co { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
.a-steps { display: grid; gap: 16px; }
.a-step { padding: clamp(18px, 2.6vw, 28px); background: var(--a-paper); border-radius: 26px; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-step[data-state="active"] { box-shadow: inset 0 0 0 2px var(--a-ink); }
.a-step-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.a-step-head h2 { flex: 1; margin: 0; font-family: var(--a-wide); font-weight: 300; font-size: clamp(19px, 2vw, 23px); }
.a-step-num { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50% 0; background: var(--a-ground); box-shadow: inset 0 0 0 1.5px var(--a-line); font-size: 14px; font-weight: 600; flex: none; }
.a-step[data-state="done"] .a-step-num { background: var(--a-mint); box-shadow: none; }
.a-step[data-state="done"] .a-step-num .a-leaf { width: 12px; height: 12px; }
.a-step[data-state="active"] .a-step-num { background: var(--a-ink); color: #fbfaf5; box-shadow: none; }
.a-step-status { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--a-muted); }
.a-step-body { display: grid; gap: 18px; }
.a-cep { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.a-cep label { font-size: 13px; font-weight: 600; }
.a-cep .a-input { width: 170px; flex: none; }
.a-cep-city { font-weight: 600; }
.a-cep a { font-size: 13.5px; color: var(--a-leaf); text-decoration: underline; text-underline-offset: 3px; }
.a-choices, .a-paymethods { display: grid; gap: 10px; }
.a-paymethods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.a-choice { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px 18px; border: 0; border-radius: 20px; background: var(--a-ground); box-shadow: inset 0 0 0 1.5px var(--a-line); text-align: left; cursor: pointer; }
.a-choice[aria-pressed="true"] { background: var(--a-mint); box-shadow: inset 0 0 0 2px var(--a-ink); }
.a-radio { width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--a-muted); flex: none; }
.a-choice[aria-pressed="true"] .a-radio { box-shadow: inset 0 0 0 5px var(--a-ink); }
.a-choice-text { flex: 1; display: grid; }
.a-choice-text strong { font-weight: 600; }
.a-choice-text small { font-size: 13px; color: var(--a-muted); }
.a-choice-price { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.a-choice-price s { margin-right: 6px; font-weight: 400; color: var(--a-muted); }
.a-free { color: var(--a-leaf) !important; font-weight: 600; }
.a-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14.5px; }
.a-checklist li { position: relative; padding-left: 20px; }
.a-checklist li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 50% 0; background: var(--a-green); }
.a-paybtn { width: 100%; min-height: 54px; font-size: 15.5px; }
.a-paybtn span { font-weight: 400; margin-left: 6px; }
.a-pay-errors { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.a-pay-errors li { padding: 10px 14px; border-radius: 14px; background: #fbe3dd; font-size: 14px; }
.a-legal-note { font-size: 12.5px; color: var(--a-muted); }
.a-legal-note a { text-decoration: underline; }
.a-summary { position: sticky; top: 88px; display: grid; gap: 16px; }
.a-summary-toggle { display: none; }
.a-summary-card { display: grid; gap: 18px; padding: clamp(18px, 2.6vw, 26px); background: var(--a-paper); border-radius: 26px; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-items { display: grid; gap: 14px; }
.a-item { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; }
.a-item .a-tile { width: 64px; border-radius: 16px 22px 18px 20px / 20px 18px 22px 16px; }
.a-item-info { display: grid; gap: 2px; min-width: 0; }
.a-item-name { font-size: 14.5px; font-weight: 500; line-height: 1.3; }
.a-item-meta { font-size: 12.5px; color: var(--a-muted); }
.a-item-price { display: grid; justify-items: end; font-weight: 600; font-variant-numeric: tabular-nums; font-size: 14.5px; }
.a-item-price s { font-weight: 400; font-size: 12.5px; color: var(--a-muted); }
.a-item-warning { grid-column: 1 / -1; margin: 0; padding: 8px 12px; border-radius: 12px; background: #fbe3dd; font-size: 13px; }
.a-gift { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 18px; background: #fbf3d6; font-size: 13.5px; }
.a-gift img { width: 56px; height: 56px; object-fit: contain; mix-blend-mode: multiply; }
.a-gift a { text-decoration: underline; }
.a-gift-bar { height: 6px; margin-top: 8px; border-radius: 999px; background: rgba(27, 30, 28, .1); overflow: hidden; }
.a-gift-bar i { display: block; height: 100%; background: var(--a-green); }
.a-coupon { display: grid; gap: 8px; }
.a-coupon .a-inline-form { width: 100%; }
.a-coupon-applied { font-size: 13.5px; font-weight: 600; color: var(--a-leaf); }
#a-cupom-msg { margin: -8px 0 0; font-size: 13.5px; }
#a-cupom-msg:empty { display: none; }
.a-totals { margin: 0; display: grid; gap: 8px; padding-top: 14px; border-top: 1px solid var(--a-line); font-variant-numeric: tabular-nums; }
.a-totals div { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; }
.a-totals dt { color: var(--a-muted); }
.a-totals dd { margin: 0; font-weight: 500; }
.a-totals-final { padding-top: 10px; border-top: 1px solid var(--a-line); }
.a-totals-final dt { color: var(--a-ink); font-weight: 600; }
.a-totals-final dd { font-size: 22px; font-weight: 600; }
.a-assurances { list-style: none; margin: 0; padding: 0 6px; display: grid; gap: 8px; font-size: 13.5px; color: var(--a-muted); }
.a-assurances li { display: flex; align-items: center; gap: 10px; }
.a-assurances a { color: var(--a-leaf); text-decoration: underline; }
.a-paybar { display: none; }
.a-empty { display: grid; gap: 16px; justify-items: start; max-width: 560px; padding-block: clamp(24px, 6vw, 80px); }
.a-empty p { color: var(--a-muted); font-size: 17px; }

/* Order confirmation */
.a-conf-head { display: grid; gap: 14px; justify-items: start; padding-block: clamp(32px, 5vw, 64px) 24px; }
.a-conf-head p { max-width: 58ch; color: var(--a-muted); font-size: 17px; }
.a-conf { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
.a-pix { display: grid; grid-template-columns: auto 1fr; gap: 28px; padding: clamp(20px, 3vw, 32px); background: var(--a-paper); border-radius: 26px; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-pix-qr { display: grid; place-items: center; width: 260px; max-width: 100%; aspect-ratio: 1; padding: 12px; background: #fff; border-radius: 20px; }
.a-pix-qr img { width: 100%; height: auto; }
.a-pix-info { display: grid; gap: 14px; align-content: start; }
.a-pix-amount { font-size: 30px; font-weight: 600; font-variant-numeric: tabular-nums; }
.a-pix-steps { margin: 0; padding-left: 20px; display: grid; gap: 6px; color: var(--a-muted); }
.a-pix-code { display: grid; gap: 10px; }
.a-pix-code textarea { width: 100%; padding: 12px 14px; border: 0; border-radius: 14px; background: var(--a-ground); box-shadow: inset 0 0 0 1.5px var(--a-line); font: 400 13px/1.4 ui-monospace, Menlo, monospace; resize: none; }
.a-conf-card { padding: 24px 28px; background: var(--a-mint); border-radius: 22px 34px 26px 30px / 30px 24px 34px 26px; display: grid; gap: 6px; }
.a-conf-order { gap: 14px; }
.a-conf-address { display: grid; gap: 2px; padding-top: 14px; border-top: 1px solid var(--a-line); font-size: 14px; }
.a-conf-extra { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.a-conf-extra > div:first-child { display: grid; gap: 10px; justify-items: start; }
.a-conf-survey { display: grid; gap: 10px; }
.a-conf-survey label { font-weight: 600; }
.a-conf-survey label span { font-weight: 400; color: var(--a-muted); }
.a-conf-thanks { padding: 16px 20px; border-radius: 18px; background: var(--a-mint); }

@media (max-width: 1000px) {
  .a-co, .a-conf, .a-conf-extra, .a-program-body, .a-two-col, .a-company { grid-template-columns: minmax(0, 1fr); }
  .a-summary { position: static; order: -1; }
  .a-summary-toggle { display: flex; justify-content: space-between; gap: 12px; padding: 16px 20px; border-radius: 20px; background: var(--a-paper); box-shadow: inset 0 0 0 1px var(--a-line); font-weight: 600; cursor: pointer; list-style: none; }
  .a-summary-toggle::-webkit-details-marker { display: none; }
  .a-summary-details[open] .a-summary-toggle { margin-bottom: 10px; }
  .a-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .a-posts, .a-points, .a-manifesto, .a-paymethods { grid-template-columns: minmax(0, 1fr); }
  .a-post-card.is-featured { grid-template-columns: minmax(0, 1fr); }
  .a-post-card.is-featured .a-post-img { grid-row: auto; }
  .a-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-span-1, .a-span-2, .a-span-3 { grid-column: span 1; }
  .a-span-4, .a-span-6 { grid-column: span 2; }
  .a-pix { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .a-co-secure { display: none; }
  .a-paybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); background: rgba(252, 253, 248, .97); box-shadow: 0 -1px 0 var(--a-line), 0 -12px 30px -20px rgba(27, 30, 28, .4); }
  .a-paybar div { display: grid; font-size: 12.5px; color: var(--a-muted); }
  .a-paybar b { font-size: 19px; color: var(--a-ink); }
  .a-body.a-has-paybar { padding-bottom: 80px; }
}
