/* ANSEIO ÍNTIMO — ETAPA 3 — SISTEMA ÚNICO DE COMPONENTES
   Tipografia, escala visual, botões, campos, espaçamentos e superfícies públicas.
   Este arquivo substitui integralmente o antigo anseio-design-system.css e os blocos <style> das páginas. */

@font-face{font-family:"Tan Pearl";src:url("../fonts/tan-pearl-400.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:"Cinzel Decorative";src:url("../fonts/cinzel-decorative-400.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:"Cinzel Decorative";src:url("../fonts/cinzel-decorative-700.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:700}
@font-face{font-family:Poppins;src:url("../fonts/poppins-400.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:400}
@font-face{font-family:Poppins;src:url("../fonts/poppins-500.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:500}
@font-face{font-family:Poppins;src:url("../fonts/poppins-600.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:600}
@font-face{font-family:Poppins;src:url("../fonts/poppins-700.woff2") format("woff2");font-display:swap;font-style:normal;font-weight:700}

:root{
  --anseio-font-brand:"Tan Pearl",Georgia,serif;
  --anseio-font-display:"Cinzel Decorative",Georgia,serif;
  --anseio-font-body:Poppins,Arial,sans-serif;
  --anseio-text-xs:.75rem;
  --anseio-text-sm:.875rem;
  --anseio-text-base:1rem;
  --anseio-text-lg:clamp(1.0625rem,1rem + .22vw,1.1875rem);
  --anseio-text-xl:clamp(1.25rem,1.12rem + .48vw,1.5rem);
  --anseio-text-2xl:clamp(1.55rem,1.3rem + .9vw,2rem);
  --anseio-text-3xl:clamp(2rem,1.55rem + 1.7vw,3rem);
  --anseio-text-4xl:clamp(2.6rem,1.8rem + 3vw,4.6rem);
  --anseio-leading-tight:1.08;
  --anseio-leading-title:1.18;
  --anseio-leading-body:1.65;
  --anseio-space-1:.25rem;
  --anseio-space-2:.5rem;
  --anseio-space-3:.75rem;
  --anseio-space-4:1rem;
  --anseio-space-5:1.5rem;
  --anseio-space-6:2rem;
  --anseio-space-7:3rem;
  --anseio-space-8:4.5rem;
  --anseio-space-9:6rem;
  --anseio-radius-xs:2px;
  --anseio-radius-sm:4px;
  --anseio-radius-md:6px;
  --anseio-radius-lg:6px;
  --anseio-control-height:48px;
  --anseio-control-height-sm:40px;
  --anseio-container:min(1320px,calc(100vw - 48px));
  --anseio-container-copy:min(760px,calc(100vw - 48px));
  --anseio-line:var(--anseio-theme-border,rgba(120,0,7,.18));
  --anseio-focus:color-mix(in srgb,var(--anseio-theme-accent,#780007) 28%,transparent);
  --anseio-shadow-card:0 12px 34px rgba(54,0,8,.08);
  --anseio-shadow-float:0 22px 60px rgba(30,0,5,.16);
  --anseio-transition:180ms ease;
  /* aliases legados preservados sem manter um segundo sistema */
  --primary:var(--anseio-theme-accent,#780007);
  --primary-dark:#5e0006;
  --secondary:#f0a4a6;
  --white:#fff;
  --light:#f8f8f8;
  --gray:#efefef;
  --text:var(--anseio-theme-text,#2a1015);
  --radius:var(--anseio-radius-md);
  --transition:all var(--anseio-transition);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body.anseio-public-page{margin:0;font-family:var(--anseio-font-body)!important;font-size:var(--anseio-text-base);font-weight:400;line-height:var(--anseio-leading-body);letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.anseio-public-page :where(button,input,select,textarea){font-family:var(--anseio-font-body)!important}
body.anseio-public-page :where(p,li,dd){line-height:var(--anseio-leading-body)}
body.anseio-public-page :where(h1,h2,h3,h4,h5,h6,p){text-wrap:pretty}
body.anseio-public-page :where(h1,h2,h3,h4,h5,h6){margin-block-start:0;font-weight:400;letter-spacing:0}
body.anseio-public-page h1{font-family:var(--anseio-font-display)!important;font-size:var(--anseio-text-4xl)!important;line-height:var(--anseio-leading-tight)!important}
body.anseio-public-page h2{font-family:var(--anseio-font-display)!important;font-size:var(--anseio-text-3xl)!important;line-height:var(--anseio-leading-title)!important}
body.anseio-public-page h3{font-family:var(--anseio-font-display)!important;font-size:var(--anseio-text-xl)!important;line-height:var(--anseio-leading-title)!important}
body.anseio-public-page :where(h4,h5,h6){font-family:var(--anseio-font-body)!important;line-height:var(--anseio-leading-title);font-weight:600}
body.anseio-public-page :where(.anseio-brand-wordmark,.anseio-home-slogan-tan,.hero-content-below h2){font-family:var(--anseio-font-brand)!important;font-weight:400!important;letter-spacing:.01em}

body.anseio-public-page :where(.section-title>span,.anseio-slide-kicker,.anseio-category-hero small,.anseio-section-head>div>span){font-family:var(--anseio-font-body)!important;font-size:var(--anseio-text-xs)!important;font-weight:600!important;letter-spacing:.18em!important;text-transform:uppercase}

.container{width:var(--anseio-container)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
body.anseio-public-page :where(.anseio-page-card,.anseio-legal-content>*,.anseio-page-intro p,.hero-content-below p){max-width:var(--anseio-container-copy)}
body.anseio-public-page :where(.collection,.home-vitrines,.size-guide-section,.hero-text-section,.anseio-sections-wrap,.anseio-simple-page,.anseio-personalized-home){padding-block:var(--anseio-space-8)!important}
body.anseio-public-page :where(.section-title,.anseio-section-head){margin-bottom:var(--anseio-space-6)!important}


:focus-visible{outline:3px solid var(--anseio-focus)!important;outline-offset:3px!important}
:where(button,a,input,select,textarea){transition:background-color var(--anseio-transition),border-color var(--anseio-transition),box-shadow var(--anseio-transition),color var(--anseio-transition),transform var(--anseio-transition),opacity var(--anseio-transition)}
:where(button:not(:disabled),a[href]):active{transform:translateY(1px)}
:where(button:disabled,.is-disabled,[aria-disabled="true"]){opacity:.48!important;cursor:not-allowed!important}

/* Botão único: altura, raio, peso e estados coerentes. */
body.anseio-public-page :where(button,.btn,.anseio-btn,.anseio-submit,.anseio-muted-button,.anseio-auth-button,.anseio-add-cart,.add-to-cart,.checkout-btn,.anseio-search-submit,.anseio-slide-btn){min-height:var(--anseio-control-height)!important;border-radius:var(--anseio-radius-md)!important;padding:0 20px!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--anseio-text-sm)!important;font-weight:600!important;line-height:1!important;letter-spacing:.01em;text-decoration:none;cursor:pointer}
body.anseio-public-page :where(.btn-primary,.anseio-btn,.anseio-submit,.anseio-auth-button.primary,.anseio-add-cart,.add-to-cart,.checkout-btn,.anseio-search-submit,.anseio-slide-btn:not(.secondary)){background:var(--anseio-theme-accent)!important;color:var(--anseio-theme-page)!important;border:1px solid var(--anseio-theme-accent)!important;box-shadow:none!important}
body.anseio-public-page :where(.btn-secondary,.anseio-muted-button,.anseio-auth-button:not(.primary),.anseio-slide-btn.secondary){background:transparent!important;color:var(--anseio-theme-accent)!important;border:1px solid var(--anseio-line)!important;box-shadow:none!important}
body.anseio-public-page :where(.btn-primary,.anseio-btn,.anseio-submit,.anseio-auth-button.primary,.anseio-add-cart,.add-to-cart,.checkout-btn,.anseio-search-submit,.anseio-slide-btn):hover{transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--anseio-theme-accent) 18%,transparent)!important}
body.anseio-public-page :where(.carousel-btn,.anseio-icon-button,.anseio-close,.modal-close){width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:50%!important}

/* Campos e formulários usam a mesma régua de 48 px e raio máximo de 6 px. */
body.anseio-public-page :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,.anseio-input){width:100%;min-height:var(--anseio-control-height)!important;border:1px solid var(--anseio-line)!important;border-radius:var(--anseio-radius-md)!important;padding:11px 14px!important;font-size:1rem!important;line-height:1.4!important;outline:0}
body.anseio-public-page textarea{min-height:120px!important;resize:vertical}
body.anseio-public-page :where(label,legend){font-size:var(--anseio-text-sm)!important;font-weight:600!important;line-height:1.35}
body.anseio-public-page :where(.anseio-form-grid,.form-grid){display:grid;gap:var(--anseio-space-4)!important}
body.anseio-public-page :where(input,select,textarea):focus{border-color:var(--anseio-theme-accent)!important;box-shadow:0 0 0 3px var(--anseio-focus)!important}

/* Superfícies e componentes: modais e janelas limitados a 6 px. */

body.anseio-public-page :where(.anseio-modal-card,.anseio-product-modal,.anseio-product-detail,.anseio-support-panel,[role="dialog"]){box-shadow:var(--anseio-shadow-float)!important}
body.anseio-public-page :where(.product-card,.home-vitrine-card,.contact-method){transition:transform var(--anseio-transition),box-shadow var(--anseio-transition),border-color var(--anseio-transition)}
body.anseio-public-page :where(.product-card,.home-vitrine-card,.contact-method):hover{transform:translateY(-2px)!important;box-shadow:var(--anseio-shadow-card)!important}
body.anseio-public-page .product-card :where(h3,h4,.product-name){font-size:clamp(1rem,.95rem + .22vw,1.125rem)!important;line-height:1.28!important}
body.anseio-public-page .product-card :where(.price,.product-price){font-size:var(--anseio-text-lg)!important;font-weight:700!important}

/* Estruturas comuns anteriormente repetidas dentro dos HTMLs. */
.anseio-auth-box,.anseio-user-box{padding:var(--anseio-space-5);border:1px solid var(--anseio-line);margin:var(--anseio-space-4) 0}
.anseio-auth-box p,.anseio-user-box p{margin:0 0 var(--anseio-space-3);font-size:var(--anseio-text-sm)}
.anseio-auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--anseio-space-3)}
.anseio-user-name{font-family:var(--anseio-font-display)!important;font-size:var(--anseio-text-xl)!important;margin-bottom:var(--anseio-space-2)}
.anseio-account-actions{display:grid;gap:var(--anseio-space-3)}
.anseio-account-action{width:100%;text-align:left}
.anseio-badge-menu{min-width:24px;height:24px;border-radius:999px;background:var(--anseio-theme-accent);color:var(--anseio-theme-page);display:inline-grid;place-items:center;font-size:var(--anseio-text-xs);padding:0 7px}
.anseio-client-hint{margin-top:var(--anseio-space-3);font-size:var(--anseio-text-xs);line-height:1.45}
.anseio-page-intro{padding:var(--anseio-space-8) 0 var(--anseio-space-5)!important;text-align:center}
.anseio-page-intro h2{margin:0 0 var(--anseio-space-3)}
.anseio-page-intro p{margin-inline:auto}
.anseio-sections-wrap{padding-top:var(--anseio-space-5)!important}
.anseio-section{margin-bottom:var(--anseio-space-8)}
.anseio-empty{text-align:center;border:1px dashed var(--anseio-line);padding:var(--anseio-space-7) var(--anseio-space-5)}
.anseio-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-method{display:flex;gap:var(--anseio-space-4);align-items:flex-start;border:1px solid var(--anseio-line);padding:var(--anseio-space-5);margin:var(--anseio-space-4) 0;text-decoration:none}
.contact-method strong{display:block;margin-bottom:var(--anseio-space-2)}
.contact-method .contact-icon{width:44px;height:44px;flex:0 0 44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--anseio-line)}
.contact-method .contact-icon img{width:22px;height:22px;display:block;object-fit:contain}
.contact-method p{margin:0}


/* Utilitários semânticos que substituem estilos inline. */
.is-align-start{align-items:start!important}
.is-text-left{text-align:left!important}
.is-text-center{text-align:center!important}
.is-uppercase{text-transform:uppercase!important}
.u-mt-4{margin-top:var(--anseio-space-4)!important}
.u-mt-5{margin-top:var(--anseio-space-5)!important}
.anseio-simple-page.is-spaced-top{padding-top:var(--anseio-space-8)!important}
.anseio-card-narrow{width:min(760px,100%);margin-inline:auto!important}
.anseio-card-medium{width:min(860px,100%);margin-inline:auto!important}
.anseio-card-wide{width:min(1050px,100%);margin-inline:auto!important}
.anseio-form-narrow{width:min(480px,100%);margin:26px auto 0!important}
.anseio-button-row{display:flex;flex-wrap:wrap;gap:var(--anseio-space-3);margin-top:var(--anseio-space-5)}
.anseio-helper-text{font-size:var(--anseio-text-xs)!important;margin-top:var(--anseio-space-4)!important}

.anseio-page-card>h2:first-child{margin-top:0;color:var(--anseio-theme-accent)}

/* Variáveis de imagem deixam de existir em blocos inline. */
body[data-page="acessorios"]{--hero-image:url("../images/banners/reais/acessorios.webp")}
body[data-page="body"]{--hero-image:url("../images/banners/reais/body.webp")}
body[data-page="lingerie"]{--hero-image:url("../images/banners/reais/lingerie.webp")}
body[data-page="linha-noite"]{--hero-image:url("../images/banners/reais/linha-noite.webp")}
body[data-page="moda-praia"]{--hero-image:url("../images/banners/reais/moda-praia.webp")}
body[data-page="ofertas"]{--hero-image:url("../images/banners/reais/ofertas.webp")}
body[data-page="sex-shop"]{--hero-image:url("../images/banners/reais/sex-shop.webp")}

/* Home transferida para assets/css/anseio-home.css na Etapa 4. */
.anseio-skip-link{position:fixed;left:16px;top:12px;z-index:99999;transform:translateY(-160%);background:var(--anseio-theme-page);color:var(--anseio-theme-accent);border:2px solid var(--anseio-theme-accent);border-radius:var(--anseio-radius-md);padding:10px 16px;font-weight:700;text-decoration:none;box-shadow:var(--anseio-shadow-card)}
.anseio-skip-link:focus{transform:translateY(0)}

@media(max-width:900px){
  :root{--anseio-container:min(calc(100vw - 32px),1320px)}
  body.anseio-public-page :where(.collection,.home-vitrines,.size-guide-section,.hero-text-section,.anseio-sections-wrap,.anseio-simple-page,.anseio-personalized-home){padding-block:var(--anseio-space-7)!important}
  .anseio-grid-2{grid-template-columns:1fr}
}
@media(max-width:760px){
  :root{--anseio-control-height:46px;--anseio-container:calc(100vw - 28px);--anseio-container-copy:calc(100vw - 28px)}
  body.anseio-public-page{font-size:.9375rem}
  body.anseio-public-page :where(button,.btn,.anseio-btn,.anseio-submit,.anseio-muted-button,.anseio-auth-button,.anseio-add-cart,.add-to-cart,.checkout-btn,.anseio-search-submit,.anseio-slide-btn){padding-inline:16px!important}
  .anseio-auth-actions{grid-template-columns:1fr}
}
@media(max-width:520px){
  body.anseio-public-page :where(.collection,.home-vitrines,.size-guide-section,.hero-text-section,.anseio-sections-wrap,.anseio-simple-page,.anseio-personalized-home){padding-block:var(--anseio-space-6)!important}
  body.anseio-public-page :where(.section-title,.anseio-section-head){margin-bottom:var(--anseio-space-5)!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
