.product-name{margin:0 0 .45rem;color:#171612;font-family:var(--font-display);font-size:1.45rem}.image-search{grid-column:2;padding:1rem;border:1px solid #302d27;border-radius:14px;background:#0c0c0b}.image-search-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.image-search-heading h2{margin:0;font-size:1.25rem}.image-search-heading p,.image-warning{margin:.25rem 0;color:#8f897d;font-size:.82rem}.search-indicator{color:var(--gold);font-size:.8rem}.external-search-links{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.image-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;max-height:580px;overflow-y:auto}.image-option{overflow:hidden;border:1px solid #34312a;border-radius:12px;background:#151513}.image-option>img{width:100%;aspect-ratio:1;object-fit:cover;background:#222}.image-option-footer{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.55rem}.quality-badge{color:#9ee1ba;font-size:.7rem}.selected-image-notice{margin-top:.8rem;padding:.7rem;border:1px solid rgba(88,167,122,.5);border-radius:10px;color:#9ee1ba}.manual-image{margin-top:1rem;border-top:1px solid #302d27;padding-top:.8rem}.manual-image summary{color:var(--gold-light);cursor:pointer}.manual-image label{display:flex;flex-direction:column;gap:.3rem;margin-top:.7rem}.image-field{grid-row:span 6}
@media(max-width:900px){.image-search{grid-column:1}.image-results{grid-template-columns:repeat(2,minmax(0,1fr))}.image-field{grid-row:auto}}
@media(max-width:520px){.image-search-heading{flex-direction:column}.image-results{grid-template-columns:1fr}.image-option-footer{align-items:stretch;flex-direction:column}.image-option-footer .button{width:100%}}
/* Exibe o produto inteiro em todas as prévias, sem recorte. */
.image-option>img,
.image-preview img,
.product-image img,
.table-thumb{object-fit:contain}
.product-card:hover .product-image img{transform:none}

/* A prévia selecionada acompanha a proporção real do arquivo. */
.image-preview:has(img){aspect-ratio:auto;min-height:0}
.image-preview:has(img) img{display:block;width:100%;height:auto;max-height:none}

/* Ampliação das fotos no catálogo. */
button.product-image{display:block;width:100%;padding:0;border:0;color:inherit;cursor:zoom-in}
button.product-image{position:relative}
.product-image-count{position:absolute;right:.75rem;bottom:.75rem;padding:.4rem .65rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(8,8,8,.78);color:#fff;font-size:.75rem;font-weight:900;line-height:1;box-shadow:0 5px 18px rgba(0,0,0,.25);backdrop-filter:blur(5px)}
button.product-image:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.image-lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:rgba(0,0,0,.92);backdrop-filter:blur(8px)}
.image-lightbox[hidden]{display:none}
.image-lightbox-panel{position:relative;display:grid;place-items:center;max-width:100%;max-height:100%}
.image-lightbox figure{display:grid;place-items:center;gap:.8rem;max-width:100%;max-height:100%;margin:0}
.image-lightbox img{display:block;max-width:min(92vw,1200px);max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:14px;background:#f2eee5;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.image-lightbox figcaption{max-width:min(92vw,900px);color:#fff;text-align:center;font-weight:700}
.image-lightbox-close{position:absolute;z-index:2;top:-18px;right:-18px;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#111;color:#fff;font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.image-lightbox-close:hover,.image-lightbox-close:focus-visible{border-color:var(--gold);color:var(--gold)}
.image-lightbox-nav{position:absolute;z-index:3;top:50%;display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(10,10,10,.82);color:#fff;line-height:0;cursor:pointer;transform:translateY(-50%)}
.image-lightbox-nav svg{display:block;width:22px;height:22px;margin:0;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.image-lightbox-prev svg{transform:translateX(-1px)}.image-lightbox-next svg{transform:translateX(1px)}
.image-lightbox-nav[hidden]{display:none}
.image-lightbox-nav:hover,.image-lightbox-nav:focus-visible{border-color:var(--gold);color:var(--gold)}
.image-lightbox-prev{left:-70px}.image-lightbox-next{right:-70px}.image-lightbox-counter{margin-left:.7rem;color:var(--gold-light);font-size:.82rem}
@media(max-width:600px){.image-lightbox-close{top:8px;right:8px}}
@media(max-width:760px){.image-lightbox-nav{top:auto;bottom:3.1rem;transform:none}.image-lightbox-prev{left:1rem}.image-lightbox-next{right:1rem}}

.site-nav{display:flex;align-items:center;gap:1rem}
.site-nav-link{padding:.6rem .2rem;color:var(--ivory);font-weight:800;text-decoration:none}
.site-nav-link:hover{color:var(--gold-light)}
.header-products-short{display:none}
@media(max-width:680px){
  .header-inner{gap:.65rem}
  .brand{width:min(170px,43vw)}
  .site-nav{gap:.55rem}
  .site-nav-link{font-size:.8rem}
  .header-products-full{display:none}
  .header-products-short{display:inline}
}

/* Mantém preços e botões alinhados em todos os cartões da mesma linha. */
.product-card{display:flex;flex-direction:column}
.product-card .product-image{flex:0 0 auto}
.product-card .product-body{display:flex;flex:1;flex-direction:column}
.product-card .product-price{margin-top:auto}

/* Hero comercial com fotografia de produtos. */
.hero-content{position:relative;z-index:2}
.hero-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.hero-visual{position:relative;overflow:hidden;aspect-ratio:1.15;border:1px solid rgba(215,173,85,.28);border-radius:32px;background:#090806;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.hero-visual::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,5,5,.42),transparent 35%),linear-gradient(180deg,transparent 72%,rgba(0,0,0,.28))}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:72% center}
.hero-benefits{display:flex;gap:1rem;flex-wrap:wrap;margin:1.4rem 0 0;padding:0;list-style:none;color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.hero-benefits li{display:flex;align-items:center;gap:.45rem}
.hero-benefits li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(215,173,85,.65)}
@media(max-width:900px){.hero-visual{aspect-ratio:16/10}.hero-visual img{object-position:70% center}}
@media(max-width:600px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-benefits{gap:.65rem 1rem}.hero-visual{aspect-ratio:4/3;border-radius:20px}}

/* Integra a fotografia ao fundo do hero, sem aparência de caixa. */
.hero{isolation:isolate;min-height:min(760px,calc(100vh - 80px))}
.hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1fr);min-height:inherit}
.hero-content{max-width:760px}
.hero-visual{position:absolute;z-index:-1;top:0;right:0;bottom:0;width:min(72vw,1180px);aspect-ratio:auto;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:.92}
.hero-visual::after{inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.96) 12%,rgba(5,5,5,.62) 36%,rgba(5,5,5,.08) 68%,rgba(5,5,5,.12) 100%),linear-gradient(180deg,#050505 0%,transparent 17%,transparent 78%,#080807 100%)}
.hero-visual img{object-position:72% center}
@media(max-width:900px){.hero{min-height:auto}.hero-grid{min-height:auto}.hero-content{max-width:680px}.hero-visual{inset:0;width:100%;opacity:.46}.hero-visual::after{background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.62)),linear-gradient(180deg,#050505 0%,transparent 30%,#080807 100%)}.hero-visual img{object-position:72% center}}
@media(max-width:600px){.hero-visual{aspect-ratio:auto;border-radius:0;opacity:.38}}

/* A arte agora é o próprio fundo do hero, sem limites visíveis. */
.hero{background-image:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.98) 26%,rgba(5,5,5,.78) 48%,rgba(5,5,5,.22) 74%,rgba(5,5,5,.2) 100%),linear-gradient(180deg,rgba(5,5,5,.14) 0%,transparent 58%,#080807 100%),url('/assets/images/hero-tabacaria-produtos-reais-v3.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-width:900px){.hero{background-image:linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.7)),linear-gradient(180deg,rgba(5,5,5,.42),rgba(5,5,5,.68)),url('/assets/images/hero-tabacaria-produtos-reais-v3.webp');background-position:68% center}}
@media(max-width:600px){.hero{background-position:72% center}}

html{scroll-padding-top:90px}
.catalog-section{scroll-margin-top:90px}
.search-suggestion{margin:1rem 0 .35rem;color:#4b483f;font-size:clamp(1.05rem,2vw,1.25rem)}
.search-suggestion a{display:inline-flex;margin-left:.2rem;padding:.28rem .7rem;border:1px solid #c79d43;border-radius:999px;background:rgba(215,173,85,.16);color:#171612;font-weight:900;text-decoration:none}
.search-suggestion a:hover,.search-suggestion a:focus-visible{background:#171612;color:var(--gold-light)}
.empty-state-whatsapp{color:#171612;font-weight:850;text-decoration-color:#c79d43;text-decoration-thickness:2px;text-underline-offset:.2em}
.empty-state-whatsapp:hover,.empty-state-whatsapp:focus-visible{color:#8a671c}

/* Botão circular do WhatsApp. */
.floating-whatsapp{display:grid;place-items:center;width:64px;height:64px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#0caf5a;color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.32);transition:transform .2s ease,background .2s ease,bottom .25s ease}
.floating-whatsapp:hover,.floating-whatsapp:focus-visible{transform:translateY(-3px) scale(1.04);background:#07994d}
.floating-whatsapp img{display:block;width:38px;height:38px;object-fit:contain}
body.has-privacy-banner .floating-whatsapp{bottom:1.25rem}

/* Banner e central de preferências. */
.privacy-banner{position:fixed;z-index:150;left:1rem;right:6.5rem;bottom:1rem;display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:1.25rem;padding:1.25rem;border:1px solid rgba(215,173,85,.32);border-radius:16px;background:rgba(13,20,24,.96);color:#fff;box-shadow:0 22px 70px rgba(0,0,0,.48);backdrop-filter:blur(14px)}
.privacy-banner[hidden],.privacy-preferences[hidden]{display:none}
.privacy-banner h2{margin:0 0 .35rem;font-family:var(--font-ui);font-size:1.05rem}
.privacy-banner p{max-width:660px;margin:0;color:#d6d7d6;font-size:.92rem;line-height:1.55}
.privacy-banner-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}
.privacy-banner .button{min-height:46px;padding:.7rem 1rem;white-space:nowrap}
.privacy-banner .button-muted{background:rgba(215,173,85,.08);color:var(--gold-light);border-color:rgba(215,173,85,.72)}
.privacy-banner .button-muted:first-child{background:rgba(215,173,85,.08);color:var(--gold-light);border-color:rgba(215,173,85,.72)}
.privacy-accept{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#111;border-color:var(--gold)}
.privacy-accept:hover,.privacy-accept:focus-visible{background:linear-gradient(135deg,#f7dc94,var(--gold-light));color:#111;border-color:var(--gold-light)}
.privacy-preferences{position:fixed;inset:0;z-index:210;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.privacy-preferences-card{position:relative;width:min(680px,100%);max-height:min(800px,92vh);overflow:auto;padding:clamp(1.4rem,4vw,2.2rem);border:1px solid var(--line);border-radius:24px;background:#11110f;color:var(--ivory);box-shadow:var(--shadow)}
.privacy-preferences-card h2{margin:.2rem 0 .75rem;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:400}
.privacy-preferences-card>p:not(.eyebrow){color:var(--muted)}
.privacy-close{position:absolute;top:1rem;right:1rem;display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid #49453d;border-radius:50%;background:#181816;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
.privacy-category{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;border:1px solid #34312a;border-radius:14px;background:#171715}
.privacy-category strong{color:var(--gold-light)}
.privacy-category p{margin:.35rem 0 0;color:var(--muted);font-size:.88rem}
.privacy-category>span{flex:0 0 auto;padding:.3rem .55rem;border-radius:999px;background:#25231e;color:#b9d9c6;font-size:.72rem;font-weight:900;text-transform:uppercase}
.privacy-preferences-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.privacy-details-link{display:block;margin-top:1.2rem;color:var(--gold-light);text-align:center}
.site-footer{padding-top:2.5rem}
.footer-inner{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,.82fr) minmax(420px,1.15fr);align-items:center;gap:clamp(2.25rem,3.5vw,3.75rem)}
.footer-brand{width:min(100%,390px);text-align:center}
.footer-brand img{width:100%;margin-inline:auto}
.footer-brand p{width:100%;margin:.75rem 0 0!important;color:#827b6d!important;font-size:.78rem;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.footer-visit{position:relative;padding:.45rem 1.75rem;border-left:1px solid rgba(215,173,85,.3)}
.footer-visit-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:1rem;border:1px solid rgba(215,173,85,.38);border-radius:50%;background:rgba(215,173,85,.07);color:var(--gold-light)}
.footer-visit-icon svg{width:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}
.footer-visit .eyebrow{margin-bottom:.25rem!important;color:var(--gold)!important}
.footer-visit h2{margin:0 0 .65rem;font-family:var(--font-display);font-size:clamp(1.5rem,1.8vw,1.95rem);font-weight:400;line-height:1.12}
.footer-visit>p:not(.eyebrow){margin:0 0 1rem;color:#aaa395;font-size:.9rem;line-height:1.55}
.footer-route{display:inline-flex;align-items:center;gap:.55rem;padding-bottom:.2rem;border-bottom:1px solid rgba(215,173,85,.55);color:var(--gold-light);font-size:.86rem!important;font-weight:800}
.footer-route:hover{color:#fff}
.footer-details{max-width:430px}
.footer-tagline{display:flex;align-items:center;min-height:44px;gap:.55rem;margin:0 0 1rem!important;color:#c7c0b2!important}
.footer-tagline svg,.footer-contact-list>li>svg,.footer-privacy-links svg{flex:0 0 auto;width:20px;height:20px;fill:none;stroke:var(--gold);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}
.footer-tagline svg{fill:var(--gold);stroke:none}
.footer-contact-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.35rem;margin:0;padding:0;list-style:none}
.footer-contact-list li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.7rem}
.footer-contact-list li:nth-child(3){grid-column:1/-1}
.footer-contact-list>li>svg{margin-top:.15rem}
.footer-contact-list p,.footer-contact-list address{margin:0;font-style:normal}
.footer-contact-list a,.footer-contact-list p{display:grid;gap:.15rem;color:#d4cdbf;font-size:.9rem!important;line-height:1.45}
.footer-contact-list small{color:#7f786b;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.footer-contact-list strong,.footer-contact-list span{font-size:.96rem;line-height:1.45}
.footer-contact-list strong{color:var(--gold-light);font-weight:800}
.footer-contact-list a:hover span,.footer-contact-list a:hover strong{color:#fff}
.footer-privacy-links{display:grid;grid-template-columns:max-content max-content;align-items:center;gap:1.25rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid #24221e;font-size:.78rem}
.footer-privacy-links a,.footer-privacy-links .text-button{display:inline-flex;align-items:center;min-height:28px;gap:.45rem;padding:0;color:var(--muted);font-size:.78rem!important;line-height:1.2;text-decoration:none;white-space:nowrap}
.footer-privacy-links svg{width:16px;height:16px}
.footer-privacy-links a:hover,.footer-privacy-links .text-button:hover{color:var(--gold-light);text-decoration:underline}
@media(max-width:980px){.footer-inner{grid-template-columns:1fr 1fr;align-items:start}.footer-brand{grid-column:1/-1;width:280px}.footer-visit{align-self:stretch}.footer-details{align-self:start}}
@media(max-width:680px){.footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto;width:min(100%,320px)}.footer-visit{padding:1.25rem 0;border-top:1px solid rgba(215,173,85,.22);border-left:0}.footer-details{max-width:none}.footer-contact-list{grid-template-columns:1fr}.footer-contact-list li:nth-child(3){grid-column:auto}.footer-privacy-links{grid-template-columns:1fr}}
.legal p{margin:.2rem 0}
.legal .developer-credit{margin-top:.55rem;color:#8f897d}
.legal .developer-credit a{color:var(--gold-light);font-weight:800;text-decoration:none}
.legal .developer-credit a:hover,.legal .developer-credit a:focus-visible{color:#f0cf7a;text-decoration:underline}
.text-button{padding:0;border:0;background:none;color:var(--gold-light);font:inherit;text-decoration:underline;cursor:pointer}

/* Página da Política de Privacidade. */
.legal-page{padding:clamp(4rem,8vw,7rem) 0;background:var(--ivory);color:#171612}
.legal-container{max-width:960px}
.legal-page h1{max-width:850px;margin:.2rem 0 1rem;font-family:var(--font-display);font-size:clamp(2.8rem,7vw,5.5rem);font-weight:400;line-height:1}
.legal-updated{color:#756f63}
.legal-intro{margin:2rem 0;padding:1.4rem;border-left:4px solid var(--gold);border-radius:0 14px 14px 0;background:#fff;font-size:1.08rem}
.legal-content{display:grid;min-width:0;gap:1rem}
.legal-content section{min-width:0;padding:1.4rem;border:1px solid #ded8ca;border-radius:16px;background:#fff}
.legal-content h2{margin:0 0 .7rem;font-family:var(--font-display);font-size:1.65rem;font-weight:500}
.legal-content p,.legal-content li{color:#4b483f;line-height:1.7}
.legal-content a,.legal-content .text-button{color:#715313}
.privacy-table-wrap{max-width:100%;overflow-x:auto}
.privacy-table{min-width:620px;color:#171612}
.privacy-table th{color:#715313}
.legal-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}
.legal-page .button-ghost{color:#171612;border-color:#8a7a58}

@media(max-width:1100px){.privacy-banner{grid-template-columns:1fr}.privacy-banner-actions{justify-content:flex-start}}
@media(max-width:700px){.privacy-banner{left:.65rem;right:.65rem;bottom:.65rem;max-height:72vh;overflow:auto;padding:1rem}.privacy-banner-actions{display:grid;grid-template-columns:1fr 1fr}.privacy-banner-actions .button{width:100%;white-space:normal}.privacy-banner-actions .button:first-child,.privacy-banner-actions .button:nth-child(3){grid-column:1/-1}.privacy-category{flex-direction:column}.privacy-preferences-actions{flex-direction:column}.privacy-preferences-actions .button{width:100%}.floating-whatsapp{width:58px;height:58px}.floating-whatsapp img{width:34px;height:34px}body.has-privacy-banner .floating-whatsapp{bottom:var(--privacy-banner-offset,360px)}}

/* A mesma tela branca integra fotos de proporcoes diferentes ao cartao. */
.product-image,
.product-image img,
.image-lightbox img{background:#fff}

/* Divisao leve entre a vitrine da foto e as informacoes do produto. */
.product-card .product-body{position:relative;border-top:1px solid rgba(151,119,55,.2)}
.product-card .product-body::before{content:"";position:absolute;top:-1px;left:1.35rem;width:54px;height:2px;border-radius:999px;background:linear-gradient(90deg,#d5a943,rgba(213,169,67,.08))}

/* A descricao deve aparecer inteira; o flex mantem preco e botao no rodape. */
.product-card .product-description{display:-webkit-box;min-height:0;margin-bottom:.35rem;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.product-card .product-description.is-expanded{display:block;overflow:visible;-webkit-line-clamp:unset}
.product-description-preview{margin-bottom:.55rem}
.product-description-toggle{display:inline-flex;padding:.15rem 0;border:0;background:none;color:#7b5a18;font:inherit;font-size:.78rem;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.product-description-toggle:hover,.product-description-toggle:focus-visible{color:#2d2414}

/* Seletor de arquivo consistente com o visual do painel. */
.file-picker{position:relative;display:flex;align-items:center;gap:.8rem;min-height:58px;padding:.55rem;border:1px solid #3e3a32;border-radius:14px;background:#171715}
.file-picker-input{position:absolute;width:1px!important;height:1px;padding:0!important;opacity:0;pointer-events:none}
.file-picker-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem 1rem;border:1px solid #d5a943;border-radius:10px;background:linear-gradient(135deg,#f0cf7a,#d9a93c);color:#111;font-weight:900;cursor:pointer;box-shadow:0 6px 18px rgba(213,169,67,.14);transition:transform .18s ease,filter .18s ease}
.file-picker-button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.file-picker-input:focus-visible+.file-picker-button{outline:3px solid rgba(240,207,122,.45);outline-offset:3px}
.file-picker-name{min-width:0;color:#eee9df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){.file-picker{align-items:stretch;flex-direction:column}.file-picker-button{width:100%}.file-picker-name{text-align:center}}
.manual-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}
.manual-preview-button{align-self:stretch;white-space:nowrap}
@media(max-width:640px){.manual-url-row{grid-template-columns:1fr}.manual-preview-button{width:100%}}
.image-preview-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.7rem;min-height:260px;padding:.7rem;aspect-ratio:auto}
.image-preview-gallery>span{grid-column:1/-1;align-self:center;text-align:center}
.image-preview-gallery .gallery-preview-item{position:relative;overflow:hidden;margin:0;border:1px solid #353128;border-radius:12px;background:#fff}
.image-preview-gallery .gallery-preview-item img{display:block;width:100%;height:180px;object-fit:contain;background:#fff}
.image-preview-gallery .gallery-preview-item figcaption{padding:.45rem .6rem;background:#171715;color:var(--gold-light);font-size:.72rem;font-weight:800;text-align:center}
.gallery-preview-remove{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:.55rem .65rem;border:0;border-top:1px solid #4b2929;border-radius:0;background:#351919;color:#ffd7d7;font:inherit;font-size:.72rem;font-weight:900;line-height:1.2;text-align:center;cursor:pointer;box-shadow:none}
.gallery-preview-remove:hover,.gallery-preview-remove:focus-visible{background:#8f2d2d;color:#fff}
.gallery-preview-remove.is-pending-removal{border-top-color:#d5a943;background:#d5a943;color:#111}
.gallery-preview-item.is-marked-for-removal img{opacity:.3;filter:grayscale(1)}
.gallery-preview-item.is-marked-for-removal figcaption{text-decoration:line-through}
.image-search-controls{display:flex;align-items:flex-end;flex-direction:column;gap:.55rem;min-width:210px;text-align:right}
.image-search-controls .button{white-space:nowrap}
.image-search-controls .button small{margin-left:.35rem;padding:.18rem .4rem;border-radius:999px;background:rgba(0,0,0,.2);color:inherit;font-size:.62rem}
@media(max-width:700px){.image-search-controls{align-items:stretch;width:100%;text-align:left}.image-search-controls .button{width:100%}}
.gallery-cover-button{display:block;width:100%;padding:.55rem .65rem;border:0;border-top:1px solid #353128;background:#22201b;color:#f0cf7a;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}
.gallery-cover-button:hover,.gallery-cover-button:focus-visible{background:#d5a943;color:#111}
@media(max-width:520px){.image-preview-gallery{grid-template-columns:1fr}.image-preview-gallery .gallery-preview-item img{height:auto;max-height:300px}}

/* Categorias no cadastro, na administração e no catálogo público. */
.category-field{display:grid;grid-column:2;gap:.45rem}
.category-field>label{color:var(--ivory)}
.category-field select,.admin-search select{width:100%;min-height:50px;padding:.75rem 1rem;border:1px solid #3e3a32;border-radius:12px;background:#171715;color:var(--ivory)}
.new-category{margin-top:.35rem;padding:.8rem 1rem;border:1px solid #34312a;border-radius:12px;background:#11110f}
.new-category summary{color:var(--gold-light);font-weight:800;cursor:pointer}
.new-category label{display:grid;gap:.35rem;margin-top:.75rem}
.new-category small{display:block;margin-top:.5rem}
.admin-search-categories{grid-template-columns:auto minmax(180px,1fr) auto minmax(180px,.7fr) auto auto}
.admin-clear-filter{align-self:center;color:var(--gold-light);font-size:.85rem;white-space:nowrap}
.admin-category{display:inline-flex;padding:.28rem .55rem;border:1px solid rgba(215,173,85,.28);border-radius:999px;background:rgba(215,173,85,.08);color:var(--gold-light);font-size:.75rem;white-space:nowrap}
.admin-pagination a{color:var(--gold-light)}
.pagination{align-items:center;flex-wrap:wrap;row-gap:.7rem}
.pagination .pagination-page{flex:0 0 42px;color:#171612}
.pagination .pagination-direction{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:auto;min-width:116px;height:42px;padding:0 1rem;border-radius:999px;color:#171612;font-size:.85rem;font-weight:800;white-space:nowrap}
.pagination .pagination-direction.is-disabled{border:1px solid #d8d1c3;color:#aaa397;cursor:not-allowed}
.pagination .pagination-ellipsis{display:grid;place-items:center;flex:0 0 24px;height:42px;color:#746b5b;font-weight:800}
@media(max-width:620px){.pagination{gap:.3rem}.pagination .pagination-page,.pagination .pagination-direction{flex-basis:36px;width:36px;min-width:36px;height:36px;padding:0}.pagination .pagination-direction-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pagination .pagination-ellipsis{flex-basis:18px;width:18px;height:36px}.pagination .pagination-page-neighbor-far{display:none}}
.catalog-search{display:grid;grid-template-columns:minmax(210px,1fr) minmax(175px,.65fr) auto;max-width:760px}
.catalog-search select{min-width:0;padding:.8rem 2.2rem .8rem .9rem;border:1px solid #c9c3b5;border-radius:12px;background:#fff;color:#171612}
.category-filters{display:flex;gap:.65rem;flex-wrap:wrap;margin:-.75rem 0 2rem}
.category-filters a{display:inline-flex;align-items:center;gap:.45rem;padding:.52rem .85rem;border:1px solid #c9c1b2;border-radius:999px;background:#fff;color:#4e493f;font-size:.84rem;font-weight:800;text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease}
.category-filters a span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 .3rem;border-radius:999px;background:#eee8dc;color:#746b5b;font-size:.68rem}
.category-filters a:hover,.category-filters a[aria-current="page"]{border-color:#171612;background:#171612;color:var(--gold-light)}
.category-filters a[aria-current="page"] span{background:rgba(215,173,85,.18);color:var(--gold-light)}
.product-category{align-self:flex-start;margin:0 0 .55rem;padding:.26rem .55rem;border-radius:999px;background:#f2ead8;color:#80601b;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1000px){.admin-search-categories{grid-template-columns:auto 1fr auto 1fr}.admin-search-categories .button,.admin-clear-filter{grid-column:auto}.catalog-search{grid-template-columns:1fr 1fr}.catalog-search .button{grid-column:1/-1}}
@media(max-width:700px){.category-field{grid-column:1}.admin-search-categories{grid-template-columns:1fr}.admin-search-categories label{display:block}.catalog-search{grid-template-columns:1fr}.catalog-search .button{grid-column:auto}.category-filters{margin-top:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem}.category-filters a{flex:0 0 auto}}
.category-admin-panel{display:grid;gap:1.25rem}.category-admin-list{display:grid;gap:.85rem}.category-admin-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;padding:1rem;border:1px solid #302d27;border-radius:14px;background:#0d0d0c}.category-admin-edit{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:1rem}.category-admin-edit label{display:grid;gap:.4rem;font-weight:700}.category-admin-edit input{width:100%;min-height:48px;padding:.7rem .85rem;border:1px solid #3e3a32;border-radius:12px;background:#171715;color:var(--ivory)}.category-product-count{align-self:center;color:var(--muted);white-space:nowrap}.category-admin-item .link-danger{min-height:48px;font-weight:700;white-space:nowrap}
@media(max-width:800px){.category-admin-item,.category-admin-edit{grid-template-columns:1fr}.category-admin-item{align-items:stretch}.category-product-count{align-self:auto}.category-admin-item .link-danger,.category-admin-edit .button{width:100%}}

/* Conteúdo local para busca orgânica em Artur Nogueira. */
.local-seo-strip{padding:clamp(3.5rem,7vw,6rem) 0;background:#171612;color:var(--ivory)}
.local-seo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:center;gap:clamp(2rem,6vw,6rem)}
.local-seo-strip h2{max-width:720px;margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4.6rem);font-weight:400;line-height:1}
.local-seo-strip p:not(.eyebrow){margin:0 0 1.25rem;color:#c5beb0;line-height:1.75}
.local-seo-strip .button-ghost{color:var(--ivory)}
.local-page{padding:clamp(4.5rem,9vw,8rem) 0;background:linear-gradient(110deg,#050505 0%,#0b0a08 60%,#211808 100%);color:var(--ivory)}
.local-page-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:center;gap:clamp(2rem,7vw,7rem)}
.local-page h1{max-width:820px;margin:.25rem 0 1.25rem;font-family:var(--font-display);font-size:clamp(2.65rem,5vw,4.85rem);font-weight:400;line-height:1.02;text-wrap:balance}
.local-page-lead{max-width:760px;color:#c7c0b2;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.75}
.local-address-card{display:grid;gap:.8rem;padding:clamp(1.5rem,4vw,2.3rem);border:1px solid rgba(215,173,85,.35);border-radius:24px;background:rgba(215,173,85,.07);box-shadow:0 24px 70px rgba(0,0,0,.3)}
.local-address-card h2{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:400}
.local-address-card address{color:#c7c0b2;font-style:normal;line-height:1.7}
.local-address-card>a:not(.footer-route){color:var(--gold-light);font-size:1.15rem;font-weight:900}
.local-benefits{padding:clamp(4rem,8vw,7rem) 0;background:var(--ivory);color:#171612}
.local-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.local-benefit-grid article{padding:1.5rem;border:1px solid #ddd5c5;border-radius:18px;background:#fff}
.local-benefit-grid h3{margin:0 0 .6rem;font-family:var(--font-display);font-size:1.75rem}
.local-benefit-grid p{margin:0;color:#5b554a;line-height:1.65}
.local-disclaimer{margin:1.5rem 0 0;color:#746d61;font-size:.82rem}
.footer-local-link{display:block;margin:-.3rem 0 .75rem;color:#c8ab6b;font-size:.82rem;font-weight:700;text-decoration:underline}
@media(max-width:800px){.local-seo-grid,.local-page-hero{grid-template-columns:1fr}.local-benefit-grid{grid-template-columns:1fr}}

/* Galeria administrável da página da loja. */
.store-gallery-section{padding:clamp(4rem,8vw,7rem) 0;background:#0d0c0a;color:var(--ivory)}
.store-gallery-heading{align-items:end}
.store-gallery-heading>p{max-width:520px;margin:0;color:#bcb4a5;line-height:1.7}
.store-public-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.store-gallery-photo{position:relative;overflow:hidden;min-height:280px;padding:0;border:1px solid rgba(215,173,85,.28);border-radius:20px;background:#171512;cursor:zoom-in}
.store-gallery-photo img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.store-gallery-photo span{position:absolute;right:0;bottom:0;left:0;padding:1rem 1.1rem;background:linear-gradient(transparent,rgba(0,0,0,.9));color:#fff;font-weight:800;line-height:1.35;text-align:left}
.store-gallery-photo:hover img,.store-gallery-photo:focus-visible img{transform:scale(1.035)}
.store-gallery-photo:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Administração dos textos, endereço e fotos da loja. */
.store-page-form{display:grid;gap:1.5rem;margin-bottom:1.5rem}
.store-form-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-top:.5rem}
.store-form-heading:not(:first-of-type){margin-top:1rem;padding-top:1.5rem;border-top:1px solid #302c25}
.store-form-heading h2{margin:.15rem 0 0}
.store-form-heading>p{max-width:480px;margin:0;color:var(--muted)}
.store-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.store-form-grid label,.store-form-grid fieldset{display:flex;flex-direction:column;gap:.45rem}
.store-form-grid input,.store-form-grid textarea{width:100%;border:1px solid #3e3a32;border-radius:12px;background:#171715;color:var(--ivory)}
.store-form-grid textarea{resize:vertical}
.store-form-grid small,.store-photo-upload>small{color:var(--muted)}
.store-field-wide{grid-column:1/-1}
.store-form-grid fieldset{margin:0;padding:1rem;border:1px solid #353128;border-radius:14px}
.store-form-grid legend{padding:0 .4rem;color:var(--gold-light);font-weight:800}
.store-gallery-admin{display:grid;gap:1.25rem;scroll-margin-top:110px}
.store-admin-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.store-admin-gallery figure{overflow:hidden;margin:0;border:1px solid #353128;border-radius:14px;background:#181715}
.store-admin-gallery img{display:block;width:100%;height:210px;object-fit:cover}
.store-admin-gallery form{margin:0}
.store-photo-editor{display:grid;gap:.7rem;padding:.85rem 1rem;color:var(--gold-light)}
.store-photo-editor form{display:grid;gap:.65rem}
.store-photo-editor label{display:grid;gap:.4rem;color:var(--ivory);font-size:.86rem;font-weight:700}
.store-photo-editor input{width:100%}
.store-photo-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.store-photo-actions .button:last-child{margin-left:auto}
.store-photo-actions .button:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.store-gallery-empty{padding:1.2rem;border:1px dashed #484238;border-radius:14px;color:var(--muted);text-align:center}
.store-photo-upload{display:grid;gap:1rem;margin-top:.5rem}
.store-photo-upload .image-preview-gallery{max-width:720px}
.brand-admin-panel{display:grid;gap:1.25rem;margin-bottom:1.5rem}
.brand-create-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto auto;align-items:end;gap:1rem}
.brand-create-form label,.brand-logo-field{display:grid;gap:.45rem;color:var(--ivory);font-weight:700}
.brand-create-form input[type=text],.brand-create-form input:not([type]){width:100%}
.brand-logo-control{display:grid;grid-template-columns:86px minmax(240px,1fr);align-items:center;gap:.65rem}
.brand-logo-preview{width:86px;min-height:64px!important;margin:0!important;padding:.25rem!important;aspect-ratio:4/3!important}
.brand-logo-preview>span{font-size:.72rem}
.brand-logo-preview .gallery-preview-item{grid-column:1/-1}
.brand-logo-preview .gallery-preview-item img{height:58px!important}
.brand-logo-preview .gallery-preview-item figcaption{display:none}
.brand-dark-option{display:flex!important;align-items:center;gap:.5rem;padding-bottom:.8rem;white-space:nowrap}
.brand-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.brand-admin-grid article{overflow:hidden;border:1px solid #3a352c;border-radius:14px;background:#f3efe6}
.brand-admin-grid article.is-dark{background:#181715}
.brand-admin-grid img{display:block;width:100%;height:130px;padding:1rem;object-fit:contain}
.brand-admin-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid #3a352c;background:#181715;color:var(--gold-light)}
.brand-admin-grid form{margin:0}

@media(max-width:800px){
  .store-public-gallery,.store-admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .store-form-grid{grid-template-columns:1fr}
  .store-field-wide{grid-column:auto}
  .brand-create-form{grid-template-columns:1fr 1fr}
  .brand-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .store-public-gallery,.store-admin-gallery{grid-template-columns:1fr}
  .store-form-heading{align-items:start;flex-direction:column;gap:.5rem}
  .brand-create-form,.brand-admin-grid{grid-template-columns:1fr}
  .brand-logo-control{grid-template-columns:1fr}
  .brand-logo-preview{width:100%}
}

/* Carrossel de marcas: uma ocorrência de cada marca, sem duplicações. */
.brands-section{position:relative;overflow:hidden;padding:clamp(3.5rem,7vw,6rem) 0;background:#0a0908;color:var(--ivory)}
.brands-section::before{content:"";position:absolute;inset:-30% 55% 15% -15%;pointer-events:none;background:radial-gradient(circle,rgba(215,173,85,.14),transparent 65%)}
.brands-section .container{position:relative}
.brands-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);align-items:center;gap:clamp(2rem,6vw,6rem);margin-bottom:2.6rem}
.brands-heading h2{max-width:760px;margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2.3rem,5vw,4.4rem);font-weight:400;line-height:1}
.brands-heading>p{justify-self:end;max-width:500px;margin:1.8rem 0 0;color:#aaa294;line-height:1.7}
.brands-carousel{position:relative;padding:0 3.5rem}
.brands-viewport{overflow-x:auto;padding:6px 0 20px;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
.brands-viewport::-webkit-scrollbar{display:none}
.brands-track{display:flex;gap:1rem;margin:0;padding:0;list-style:none}
.brand-card{display:grid;flex:0 0 calc((100% - 4rem)/5);min-width:0;min-height:150px;place-items:center;padding:1.2rem;border:1px solid rgba(215,173,85,.22);border-radius:18px;background:#f5f1e8;scroll-snap-align:start;box-shadow:0 16px 34px rgba(0,0,0,.2);transition:transform .2s ease,border-color .2s ease}
.brand-card:hover{border-color:rgba(215,173,85,.7);transform:translateY(-4px)}
.brand-card-dark{background:#181713}
.brand-card img{display:block;width:100%;height:105px;object-fit:contain}
.brands-arrow{position:absolute;z-index:2;top:50%;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(215,173,85,.55);border-radius:50%;background:#171510;color:var(--gold-light);line-height:0;cursor:pointer;transform:translateY(-50%);transition:background .2s ease,color .2s ease}
.brands-arrow svg{display:block;width:18px;height:18px;margin:0;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.brands-arrow-prev svg{transform:translate(-1px,-2px)}.brands-arrow-next svg{transform:translate(1px,-2px)}
.brands-arrow:hover,.brands-arrow:focus-visible{background:var(--gold);color:#111}
.brands-arrow-prev{left:0}.brands-arrow-next{right:0}
.brands-status{margin:1rem 3.5rem 0;color:#777064;font-size:.72rem;letter-spacing:.08em;text-align:right;text-transform:uppercase}
@media(max-width:1000px){.brand-card{flex-basis:calc((100% - 2rem)/3)}}
@media(max-width:720px){.brands-heading{grid-template-columns:1fr;gap:.8rem}.brands-heading>p{justify-self:start;max-width:620px;margin:0}.brands-carousel{padding:0 2.8rem}.brand-card{flex-basis:calc((100% - 1rem)/2);min-height:130px}.brand-card img{height:88px}.brands-status{margin-right:2.8rem}}
@media(max-width:440px){.brands-carousel{padding:0 2.5rem}.brand-card{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.brands-viewport{scroll-behavior:auto}.brand-card{transition:none}}

/* URLs amigáveis, páginas de categoria e detalhes públicos dos produtos. */
.product-name-link{color:inherit;text-decoration:none}
.product-name-link:hover,.product-name-link:focus-visible{color:#8a641c;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.product-category a{color:inherit;text-decoration:none}
.catalog-section-page{padding-top:clamp(2.5rem,5vw,4.5rem)}
.catalog-section-page .section-heading h1{max-width:720px;margin:.2rem 0 0;font-family:var(--font-display);font-size:clamp(2.7rem,5vw,4.8rem);font-weight:400;line-height:1.02;letter-spacing:-.03em}
.breadcrumb{display:flex;align-items:center;gap:.55rem;overflow:hidden;padding-top:1.25rem;padding-bottom:1.25rem;color:#a79f91;font-size:.78rem;white-space:nowrap}
.breadcrumb a{color:var(--gold-light);text-decoration:none}
.breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}
.product-page{padding:clamp(2rem,5vw,4.5rem) 0 clamp(4rem,8vw,7rem);background:linear-gradient(145deg,#080808,#12100c);color:var(--ivory)}
.product-page-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:start;gap:clamp(2rem,6vw,6rem)}
.product-page-gallery{display:grid;width:min(100%,620px);justify-self:center;gap:1rem}
.product-page-main-image{position:relative;display:block;width:100%;overflow:hidden;padding:0;border:1px solid rgba(215,173,85,.28);border-radius:24px;background:#fff;cursor:zoom-in;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.product-page-main-image img{display:block;width:100%;height:clamp(380px,62vh,620px);object-fit:contain}
.product-page-main-image>span{position:absolute;right:1rem;bottom:1rem;padding:.42rem .7rem;border-radius:999px;background:rgba(8,8,8,.82);color:#fff;font-size:.72rem;font-weight:800}
.product-page-thumbnails{display:flex;gap:.75rem;overflow-x:auto;padding:.2rem}
.product-page-thumbnails button{flex:0 0 86px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:12px;background:#fff;cursor:pointer}
.product-page-thumbnails button[aria-current="true"]{border-color:var(--gold)}
.product-page-thumbnails img{width:100%;aspect-ratio:1;object-fit:contain}
.product-page-content{position:sticky;top:118px;padding-top:clamp(.5rem,3vw,2rem)}
.product-page-category{display:inline-flex;margin-bottom:1rem;padding:.35rem .7rem;border:1px solid rgba(215,173,85,.35);border-radius:999px;color:var(--gold-light);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.product-page-content h1{margin:0 0 1.25rem;font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.6rem);font-weight:400;line-height:1.02;letter-spacing:-.03em}
.product-page-description{color:#c7c0b2;font-size:1.05rem;line-height:1.8}
.product-page-price{margin:1.6rem 0;color:var(--ivory);font-family:var(--font-display);font-size:clamp(2.5rem,4vw,3.6rem);line-height:1}
.product-page-price span{color:var(--gold);font-family:var(--font-ui);font-size:.85rem;font-weight:900}
.product-page-actions{display:flex;max-width:680px;gap:.75rem;flex-wrap:wrap}
.product-page-actions .button{flex:1 1 250px;min-height:56px;text-align:center}
.product-page-whatsapp,.product-page-directions{width:100%}
.product-page-note{margin:.8rem 0 0;color:#8f887b;font-size:.82rem}
.related-products{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--ivory);color:#171612}
.related-products h2{margin:.15rem 0 1.8rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.4rem);font-weight:400}
.related-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.related-product-card{overflow:hidden;border:1px solid #ddd5c5;border-radius:16px;background:#fff;color:#171612;text-decoration:none;box-shadow:0 12px 32px rgba(39,31,15,.08)}
.related-product-card img{width:100%;aspect-ratio:1;object-fit:contain}
.related-product-card span{display:block;padding:1rem;font-family:var(--font-display);font-size:1.15rem;font-weight:700}
@media(max-width:900px){.product-page-grid{grid-template-columns:1fr}.product-page-content{position:static;padding-top:0}.related-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.product-page{padding-top:1rem}.product-page-grid{gap:1.5rem}.product-page-main-image{border-radius:18px}.product-page-main-image img{height:clamp(300px,82vw,460px)}.product-page-main-image>span{right:.7rem;bottom:.7rem}.product-page-actions{display:grid}.related-products-grid{grid-template-columns:1fr 1fr}.related-product-card span{padding:.75rem;font-size:1rem}}

/* Carrinho simples: seleção dos produtos e envio de um único pedido pelo WhatsApp. */
.site-nav-cart{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(239,201,98,.48);border-radius:50%;color:var(--gold-light);text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.site-nav-cart svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-nav-cart:hover{transform:translateY(-2px);border-color:var(--gold-light);background:rgba(239,201,98,.09)}
.site-nav-cart-count{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #0b0a09;border-radius:999px;background:var(--gold-light);color:#111;font-size:.68rem;font-weight:900;line-height:1}
.catalog-add-cart{margin-top:0}
.product-add-cart{display:flex;align-items:end;gap:.7rem;flex:1 1 360px;flex-wrap:wrap}
.product-add-cart label{display:grid;gap:.35rem;color:var(--ivory);font-weight:800}
.product-add-cart input{width:100px;min-height:56px;padding:.7rem;border:1px solid #4b463d;border-radius:999px;background:#161511;color:#fff;text-align:center;font:inherit}
.product-add-cart .button{flex:1 1 230px}

.cart-shell{min-height:65vh;padding:clamp(3rem,7vw,6rem) 0;background:var(--ivory);color:#171612}
.cart-heading{margin-bottom:2rem}
.cart-heading h1{margin:.15rem 0 .5rem;font-family:var(--font-display);font-size:clamp(3rem,7vw,5.7rem);font-weight:400;line-height:1}
.cart-heading>p:last-child{max-width:720px;color:#655f55;font-size:1.08rem}
.cart-alert{margin:0 0 1.5rem;padding:1rem 1.2rem;border-radius:14px;font-weight:800}
.cart-alert-success{border:1px solid #93c6a6;background:#eaf6ee;color:#145c30}
.cart-alert-error{border:1px solid #dda5a0;background:#fae9e7;color:#8d2820}
.cart-empty{padding:clamp(2rem,7vw,5rem);border:1px dashed #cdbf9f;border-radius:24px;background:#fff;text-align:center}
.cart-empty h2{margin:0 0 .5rem;font-family:var(--font-display);font-size:2rem}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,370px);gap:1.5rem;align-items:start}
.cart-items{display:grid;gap:1rem}
.cart-item,.cart-summary{border:1px solid #ded4c2;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(39,31,15,.06)}
.cart-item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:1.2rem;padding:1rem;align-items:center}
.cart-item-image img{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px;background:#f6f1e7}
.cart-item-content>a{color:inherit;text-decoration:none}
.cart-item h2{margin:0;font-family:var(--font-display);font-size:1.35rem}
.cart-item label{display:grid;gap:.4rem;font-weight:800}
.cart-item input{width:110px;min-height:50px;margin-top:.3rem;padding:.75rem 1rem;border:1px solid #cfc4b1;border-radius:12px;background:#fff;color:#171612;font:inherit}
.cart-item-total{display:grid;gap:.8rem;text-align:right}
.cart-item-total .text-button{color:#8a641c;font-weight:800;text-decoration:underline}
.cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.cart-continue-shopping{border-color:#b68a29;color:#171612}
.cart-actions .button-muted{background:#2b2822;color:#fff;border-color:#2b2822}
.cart-actions .button-muted:hover,.cart-actions .button-muted:focus-visible{background:#171612;color:#fff;border-color:#171612}
.cart-summary{position:sticky;top:110px;padding:1.4rem}
.cart-summary h2{margin:0 0 1rem;font-family:var(--font-display);font-size:1.8rem}
.cart-summary p{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #ece5d9}
.cart-summary-total{font-size:1.15rem}
.cart-summary small{display:block;margin-top:1rem;color:#756d60;line-height:1.55}
.cart-whatsapp-order{margin-top:1rem}
.cart-related{margin-top:clamp(2.5rem,6vw,4.5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid #d8cdb8}
.cart-related>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:end;gap:.5rem 2rem;margin-bottom:1.5rem}
.cart-related>header .eyebrow{grid-column:1/-1}
.cart-related>header h2{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.35rem);font-weight:400;line-height:1}
.cart-related>header>p:last-child{margin:0;color:#6f675a}
.cart-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.cart-related-card{overflow:hidden;border:1px solid #ded4c2;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(39,31,15,.06)}
.cart-related-card>a{display:block;aspect-ratio:4/3;background:#f5f0e7}
.cart-related-card>a img{width:100%;height:100%;object-fit:contain}
.cart-related-card>div{display:flex;min-height:235px;flex-direction:column;padding:1rem}
.cart-related-card h3{margin:.2rem 0;font-family:var(--font-display);font-size:1.2rem;line-height:1.2}
.cart-related-card h3 a{color:inherit;text-decoration:none}
.cart-related-card .product-category{align-self:flex-start;margin-bottom:.35rem}
.cart-related-price{margin:auto 0 .8rem;font-weight:800}

@media(max-width:820px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-item{grid-template-columns:90px 1fr}.cart-item-total{grid-column:2;text-align:left}}
@media(max-width:900px){.cart-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.site-nav-cart{width:39px;height:39px;flex-basis:39px}.site-nav-cart svg{width:20px;height:20px}}
@media(max-width:560px){.cart-item{grid-template-columns:72px 1fr}.cart-actions{grid-template-columns:1fr}.product-add-cart{display:grid}.product-add-cart label,.product-add-cart input,.product-add-cart .button{width:100%}.cart-related>header{grid-template-columns:1fr}.cart-related>header .eyebrow{grid-column:auto}.cart-related-grid{grid-template-columns:1fr}.cart-related-card{display:grid;grid-template-columns:118px 1fr}.cart-related-card>a{height:100%;aspect-ratio:auto}.cart-related-card>div{min-height:210px}}

/* Ordenação manual dos produtos por categoria. */
.admin-title-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.product-order-panel{display:grid;gap:1.5rem}
.product-order-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);gap:1.5rem;align-items:end}
.product-order-heading h2{margin:.15rem 0 .35rem;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.5rem)}
.product-order-heading p{margin:0;color:#a69f92}
.product-order-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end}
.product-order-filter label{grid-column:1/-1}
.product-order-filter .button{min-height:52px}
.product-order-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border:1px solid #3b362d;border-radius:14px;background:#171612}
.product-order-summary div{display:grid;gap:.15rem}
.product-order-summary span{color:#a69f92;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.product-order-summary strong{color:var(--gold-light);font-size:1.2rem}
.product-order-summary p{margin:0;color:#d8d2c7}
.product-order-status:empty{display:none}
.product-order-status{padding:.8rem 1rem;border-radius:12px;font-weight:800}
.product-order-status.is-working{background:#28251f;color:#f0cf7a}
.product-order-status.is-success{border:1px solid #397651;background:#163523;color:#b9efcb}
.product-order-status.is-error{border:1px solid #914444;background:#3a1919;color:#ffc5c5}
.product-order-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.7rem 1rem;align-items:end;margin-bottom:1rem;padding:1rem;border:1px solid #3b362d;border-radius:14px;background:#171612}
.product-order-search{display:grid;gap:.4rem}
.product-order-search span{color:#f4efe6;font-weight:800}
.product-order-search input{min-height:50px;width:100%;border:1px solid #4a4439;border-radius:12px;background:#11110f;color:#fff;padding:.75rem 1rem;font:inherit}
.product-order-search input:focus{border-color:#d5a943;outline:2px solid rgba(213,169,67,.24);outline-offset:2px}
.product-order-view-toggle{min-height:50px;white-space:nowrap}
.product-order-results{grid-column:1/-1;margin:0;color:#a69f92;font-size:.88rem}
.product-order-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none}
.product-order-card[hidden]{display:none!important}
.product-order-card{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;border:1px solid #3c372f;border-radius:16px;background:#171715;cursor:grab;box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform .18s ease,border-color .18s ease,opacity .18s ease}
.product-order-card:hover,.product-order-card:focus-visible{border-color:#d5a943;outline:none;transform:translateY(-2px)}
.product-order-card.is-dragging{opacity:.42;border-color:var(--gold-light);cursor:grabbing;transform:scale(.98)}
.product-order-card img{display:block;width:100%;height:180px;object-fit:contain;background:#fff;pointer-events:none}
.product-order-position{position:absolute;top:.65rem;left:.65rem;display:grid;place-items:center;min-width:34px;height:34px;padding:0 .45rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(10,10,9,.88);color:#fff;font-size:.78rem;font-weight:900;z-index:2}
.product-order-drag{position:absolute;top:.7rem;right:.7rem;display:grid;gap:3px;width:34px;height:34px;place-content:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(10,10,9,.88);z-index:2}
.product-order-drag span{display:block;width:14px;height:2px;border-radius:2px;background:#fff}
.product-order-card-content{display:grid;align-content:start;gap:.65rem;padding:.9rem}
.product-order-card-content strong{color:#f4efe6;line-height:1.3}
.product-order-card-content .status{justify-self:start}
.product-order-direct-position{display:grid;gap:.35rem;margin-top:.15rem;color:#a69f92;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.product-order-position-entry{display:grid;grid-template-columns:minmax(0,72px) 1fr;gap:.4rem}
.product-order-position-entry input{width:100%;min-height:38px;border:1px solid #4a4439;border-radius:9px;background:#10100e;color:#fff;padding:.4rem .55rem;font:inherit;font-size:.9rem;font-weight:800;text-align:center}
.product-order-position-entry button,.product-order-shortcuts button{border:1px solid #514a3d;border-radius:9px;background:#24211c;color:#f0cf7a;padding:.45rem .6rem;font:inherit;font-size:.76rem;font-weight:900;cursor:pointer}
.product-order-position-entry button:hover,.product-order-position-entry button:focus-visible,.product-order-shortcuts button:hover,.product-order-shortcuts button:focus-visible{border-color:#d5a943;background:#d5a943;color:#111;outline:none}
.product-order-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}
.product-order-shortcuts button:disabled{opacity:.35;cursor:not-allowed}
.product-order-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #353128}
.product-order-actions button{min-height:42px;border:0;background:#23211d;color:#f0cf7a;font-size:1.2rem;font-weight:900;cursor:pointer}
.product-order-actions button+button{border-left:1px solid #353128}
.product-order-actions button:hover,.product-order-actions button:focus-visible{background:#d5a943;color:#111}
.product-order-actions button:disabled{opacity:.28;cursor:not-allowed;background:#23211d;color:#8b8376}
.product-order-grid.is-filtering .product-order-actions{display:none}
.product-order-grid.is-compact{grid-template-columns:1fr;gap:.55rem}
.product-order-grid.is-compact .product-order-card{grid-template-columns:92px minmax(220px,1fr) minmax(240px,.75fr) 110px;grid-template-rows:auto;align-items:stretch;min-height:92px}
.product-order-grid.is-compact .product-order-card img{grid-column:1;grid-row:1;width:92px;height:92px}
.product-order-grid.is-compact .product-order-position{top:.35rem;left:.35rem;min-width:28px;height:28px;font-size:.7rem}
.product-order-grid.is-compact .product-order-drag{top:.4rem;right:.4rem;width:30px;height:30px}
.product-order-grid.is-compact .product-order-card-content{grid-column:2/4;grid-row:1;grid-template-columns:minmax(180px,1fr) auto minmax(230px,.7fr);align-items:center;padding:.7rem 3rem .7rem 1rem}
.product-order-grid.is-compact .product-order-card-content strong{font-size:.95rem}
.product-order-grid.is-compact .product-order-direct-position{margin:0}
.product-order-grid.is-compact .product-order-shortcuts{align-self:center}
.product-order-grid.is-compact .product-order-actions{grid-column:4;grid-row:1;border-top:0;border-left:1px solid #353128}
.product-order-savebar{position:sticky;bottom:1rem;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.4rem;padding:1rem;border:1px solid #4a4233;border-radius:16px;background:rgba(18,17,14,.96);box-shadow:0 16px 45px rgba(0,0,0,.38);backdrop-filter:blur(12px)}
.product-order-savebar p{margin:0;color:#a69f92}
.has-unsaved-order .product-order-savebar{border-color:#d5a943}
.product-order-empty{padding:2rem;border:1px dashed #4b4539;border-radius:16px;color:#a69f92;text-align:center}
.product-order-empty strong{display:block;margin-bottom:.35rem;color:#f4efe6;font-size:1.1rem}
@media(max-width:1050px){.product-order-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.product-order-grid.is-compact .product-order-card{grid-template-columns:80px 1fr 90px}.product-order-grid.is-compact .product-order-card img{width:80px;height:100%;min-height:110px}.product-order-grid.is-compact .product-order-card-content{grid-column:2;grid-template-columns:1fr;gap:.4rem;padding:.65rem}.product-order-grid.is-compact .product-order-actions{grid-column:3}}
@media(max-width:760px){.product-order-heading{grid-template-columns:1fr}.product-order-tools{grid-template-columns:1fr}.product-order-view-toggle{width:100%}.product-order-results{grid-column:auto}.product-order-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-order-card img{height:160px}}
@media(max-width:520px){.admin-title-actions{display:grid;width:100%}.admin-title-actions .button{width:100%}.product-order-filter{grid-template-columns:1fr}.product-order-filter label{grid-column:auto}.product-order-filter .button{width:100%}.product-order-grid{grid-template-columns:1fr 1fr;gap:.65rem}.product-order-card img{height:135px}.product-order-card-content{padding:.7rem}.product-order-card-content strong{font-size:.88rem}.product-order-shortcuts{grid-template-columns:1fr}.product-order-grid.is-compact .product-order-card{grid-template-columns:72px 1fr}.product-order-grid.is-compact .product-order-card img{width:72px;min-height:126px}.product-order-grid.is-compact .product-order-card-content{grid-column:2;padding:.6rem}.product-order-grid.is-compact .product-order-actions{grid-column:1/-1;grid-row:2;border-left:0;border-top:1px solid #353128}.product-order-grid.is-compact .product-order-drag{display:none}.product-order-savebar{align-items:stretch;flex-direction:column}.product-order-savebar .button{width:100%}}
