/* ANSEIO ÍNTIMO — ETAPA 4 — HOME E VITRINES CONSOLIDADAS
   Autoridade única para hero, banners, escolha por tamanho, vitrines e produtos recentes da Home.
   Tema, navegação e componentes globais continuam sob responsabilidade das Etapas 1–3. */

body.home-page{
  --anseio-home-hero-height:clamp(420px,58vw,720px);
  --anseio-home-media-bg:var(--anseio-theme-product);
  --anseio-home-overlay:linear-gradient(180deg,rgba(0,0,0,0) 48%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.52) 100%);
}
body.home-page .anseio-home-main{display:block;overflow:clip}
body.home-page .section-title{text-align:center}
body.home-page .section-title .bar{width:56px;height:2px;margin:var(--anseio-space-4) auto 0;background:var(--anseio-theme-accent)}

/* Hero principal — imagem sem deformação, altura fluida e controles discretos. */
body.home-page .hero-carousel{
  position:relative;
  width:100%;
  height:var(--anseio-home-hero-height)!important;
  min-height:420px!important;
  max-height:min(720px,calc(100svh - 72px))!important;
  overflow:hidden;
  isolation:isolate;
  background:var(--anseio-home-media-bg)!important;
  border-bottom:1px solid var(--anseio-theme-border);
}
body.home-page .carousel-slides,
body.home-page .secondary-slides{display:flex;width:100%;height:100%;transition:transform .62s cubic-bezier(.22,.8,.22,1);will-change:transform}
body.home-page .carousel-slide,
body.home-page .secondary-slide{position:relative;flex:0 0 100%;width:100%;min-width:100%;height:100%;overflow:hidden;background:var(--anseio-home-media-bg)!important;isolation:isolate}
body.home-page .anseio-banner-media{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}
body.home-page .anseio-banner-media--mobile{display:none}
body.home-page .anseio-banner-media :where(img,video),
body.home-page .carousel-slide>img,
body.home-page .secondary-slide>img{
  display:block;width:100%;height:100%;max-width:none!important;max-height:none!important;
  object-fit:var(--anseio-banner-fit,cover);object-position:var(--anseio-banner-position,center center);
}
body.home-page .carousel-slide::after,
body.home-page .secondary-slide::after{content:"";position:absolute;inset:auto 0 0;height:44%;z-index:2;pointer-events:none;background:var(--anseio-theme-banner-fade)!important}
body.home-page .carousel-slide[data-banner-fit="contain"],
body.home-page .secondary-slide[data-banner-fit="contain"]{background:var(--anseio-theme-product)!important}

body.home-page .carousel-btn{
  position:absolute;top:50%;z-index:6;transform:translateY(-50%);
  width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;
  border:1px solid color-mix(in srgb,var(--anseio-theme-accent) 24%,transparent)!important;
  border-radius:var(--anseio-radius-md)!important;
  background:color-mix(in srgb,var(--anseio-theme-page) 88%,transparent)!important;
  color:var(--anseio-theme-accent)!important;font-size:28px!important;font-weight:400!important;line-height:1!important;
  box-shadow:0 12px 30px rgba(0,0,0,.14)!important;backdrop-filter:blur(10px);
  opacity:0;pointer-events:none;transition:opacity var(--anseio-transition),transform var(--anseio-transition),background-color var(--anseio-transition)!important;
}
body.home-page .carousel-btn.prev{left:var(--anseio-space-5)}
body.home-page .carousel-btn.next{right:var(--anseio-space-5)}
body.home-page .hero-carousel:hover .carousel-btn,
body.home-page .hero-carousel:focus-within .carousel-btn{opacity:1;pointer-events:auto}
body.home-page .carousel-btn:hover{transform:translateY(-50%) translateY(-1px)!important;background:var(--anseio-theme-page)!important}
body.home-page .carousel-btn[hidden]{display:none!important}

body.home-page .carousel-dots,
body.home-page .secondary-dots{position:absolute;left:50%;bottom:var(--anseio-space-5);z-index:7;display:flex;align-items:center;justify-content:center;gap:8px;transform:translateX(-50%)}
body.home-page :where(.carousel-dot,.secondary-dot){width:10px!important;height:10px!important;min-height:10px!important;padding:0!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:50%!important;background:rgba(255,255,255,.58)!important;box-shadow:0 2px 10px rgba(0,0,0,.18)!important;cursor:pointer}
body.home-page :where(.carousel-dot,.secondary-dot).active{width:28px!important;border-radius:5px!important;background:var(--anseio-theme-accent)!important;border-color:var(--anseio-theme-accent)!important}

/* Texto opcional do banner — somente aparece quando ativado no Admin. */
body.home-page .anseio-slide-copy,
body.home-page .secondary-copy{position:absolute;z-index:4;color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.58)}
body.home-page .anseio-slide-copy{left:50%;bottom:10%;width:min(760px,calc(100% - 48px));transform:translateX(-50%);padding:var(--anseio-space-6);text-align:center}
body.home-page .anseio-slide-copy h2{margin:var(--anseio-space-2) 0;font-family:var(--anseio-font-brand)!important;font-size:var(--anseio-text-4xl)!important;line-height:1!important;color:inherit!important}
body.home-page .anseio-slide-copy p{max-width:620px;margin:0 auto;color:inherit!important;font-size:var(--anseio-text-lg)}
body.home-page .anseio-slide-kicker{display:block;color:inherit!important}
body.home-page .anseio-slide-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--anseio-space-3);margin-top:var(--anseio-space-5)}
body.home-page .anseio-slide-btn{min-width:150px}
body.home-page .secondary-copy{left:50%;top:50%;width:min(620px,calc(100% - 40px));transform:translate(-50%,-50%);padding:var(--anseio-space-5);text-align:center}
body.home-page .secondary-copy h3{margin:var(--anseio-space-2) 0;font-family:var(--anseio-font-display)!important;font-size:var(--anseio-text-2xl)!important;color:inherit!important}
body.home-page .secondary-copy p{margin:0;color:inherit!important}

/* Variações de layout preservadas para edição no Admin. */
body.home-page .hero-carousel.layout-runway-center{width:min(1320px,calc(100% - 48px));margin:var(--anseio-space-6) auto 0;border:1px solid var(--anseio-theme-border);border-radius:var(--anseio-radius-md)}
body.home-page .hero-carousel.layout-runway-split .carousel-slide{display:grid;grid-template-columns:minmax(0,58%) minmax(360px,42%)}
body.home-page .hero-carousel.layout-runway-split .anseio-banner-media{position:relative;grid-column:1;grid-row:1}
body.home-page .hero-carousel.layout-runway-split .carousel-slide::after{display:none}
body.home-page .hero-carousel.layout-runway-split .anseio-slide-copy{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;transform:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--anseio-space-7);color:var(--anseio-theme-text);text-shadow:none;background:var(--anseio-theme-page)}
body.home-page .hero-carousel.layout-runway-split .anseio-slide-copy p,
body.home-page .hero-carousel.layout-runway-split .anseio-slide-kicker{color:var(--anseio-theme-muted)!important}
body.home-page .hero-carousel.layout-runway-promo .anseio-slide-copy{left:7%;bottom:10%;transform:none;width:min(560px,calc(100% - 54px));text-align:left}
body.home-page .hero-carousel.layout-runway-promo .anseio-slide-actions{justify-content:flex-start}

/* Banner secundário: nunca cria uma caixa vazia. */
body.home-page .secondary-banner-carousel{position:relative;width:min(1240px,calc(100% - 48px));height:clamp(210px,29vw,390px);margin:var(--anseio-space-7) auto 0;overflow:hidden;isolation:isolate;background:var(--anseio-home-media-bg)!important;border:1px solid var(--anseio-theme-border);border-radius:var(--anseio-radius-md);box-shadow:none!important}
body.home-page .secondary-banner-carousel.is-empty{display:none}
body.home-page .secondary-banner-carousel.layout-card{width:min(1060px,calc(100% - 48px));height:clamp(240px,34vw,430px)}
body.home-page .secondary-banner-carousel.layout-split{height:clamp(280px,38vw,500px)}
body.home-page .secondary-banner-carousel.layout-split .secondary-slide{display:grid;grid-template-columns:1fr 1fr}
body.home-page .secondary-banner-carousel.layout-split .anseio-banner-media{position:relative;grid-column:1;grid-row:1}
body.home-page .secondary-banner-carousel.layout-split .secondary-slide::after{display:none}
body.home-page .secondary-banner-carousel.layout-split .secondary-copy{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;transform:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--anseio-theme-text);text-shadow:none;background:var(--anseio-theme-page)}

/* Editorial de abertura. */
body.home-page .hero-text-section{padding-block:var(--anseio-space-8)!important;background:transparent!important}
body.home-page .hero-content-below{width:var(--anseio-container-copy);margin-inline:auto;padding:0;text-align:center;border:0!important;box-shadow:none!important}
body.home-page .hero-content-below h2{max-width:760px;margin:0 auto var(--anseio-space-4);font-family:var(--anseio-font-brand)!important;font-size:var(--anseio-text-4xl)!important;line-height:1.04!important;color:var(--anseio-theme-text)!important}
body.home-page .hero-content-below p{max-width:650px;margin:0 auto;color:var(--anseio-theme-muted)!important;font-size:var(--anseio-text-lg)}
body.home-page .anseio-home-slogan-tan{display:block;margin-top:var(--anseio-space-5);font-family:var(--anseio-font-brand)!important;font-size:var(--anseio-text-xl);color:var(--anseio-theme-accent)}

/* Escolha por tamanho — uma única régua de controles, sem botões inflados. */
body.home-page #anseio-size-shop.anseio2619-size-shop{padding-block:var(--anseio-space-8);background:transparent!important;border-block:1px solid var(--anseio-theme-border)}
body.home-page #anseio-size-shop .section-title{max-width:820px;margin:0 auto var(--anseio-space-6)!important}
body.home-page #anseio-size-shop .section-title>span{display:block;margin-bottom:var(--anseio-space-3);color:var(--anseio-theme-accent)!important}
body.home-page #anseio-size-shop .section-title h2{margin:0!important;color:var(--anseio-theme-text)!important;font-size:var(--anseio-text-3xl)!important;font-weight:400!important}
body.home-page #anseio-size-shop .section-title p{max-width:620px;margin:var(--anseio-space-4) auto 0;color:var(--anseio-theme-muted)!important}
body.home-page #anseio-size-shop .anseio-size-buttons{display:flex!important;flex-wrap:wrap;justify-content:center;gap:var(--anseio-space-3)!important;max-width:960px;margin:0 auto}
body.home-page #anseio-size-shop .anseio-size-btn{min-width:72px!important;height:var(--anseio-control-height)!important;min-height:var(--anseio-control-height)!important;padding-inline:var(--anseio-space-4)!important;border:1px solid var(--anseio-theme-border)!important;border-radius:var(--anseio-radius-md)!important;background:transparent!important;color:var(--anseio-theme-accent)!important;box-shadow:none!important;font-family:var(--anseio-font-body)!important;font-size:var(--anseio-text-sm)!important;font-weight:600!important}
body.home-page #anseio-size-shop .anseio-size-btn:hover,
body.home-page #anseio-size-shop .anseio-size-btn:focus-visible{background:var(--anseio-theme-accent)!important;color:var(--anseio-theme-page)!important;border-color:var(--anseio-theme-accent)!important;transform:translateY(-1px)!important}
body.home-page #anseio-size-shop .anseio-size-btn[data-size-shop="Plus Size"]{min-width:132px!important}
body.home-page #anseio-size-shop .anseio-plus-number-panel{display:none;max-width:760px;margin:var(--anseio-space-5) auto 0;padding:var(--anseio-space-5);border:1px solid var(--anseio-theme-border);border-radius:var(--anseio-radius-md);background:transparent!important}
body.home-page #anseio-size-shop.anseio-plus-open .anseio-plus-number-panel{display:block!important}
body.home-page #anseio-size-shop .anseio-plus-number-title{margin-bottom:var(--anseio-space-4);text-align:center;color:var(--anseio-theme-text);font-family:var(--anseio-font-display);font-size:var(--anseio-text-sm);font-weight:600}

/* Vitrines: seis categorias em cartões editoriais 3×2, sem compressão em uma única linha. */
body.home-page .home-vitrines{padding-block:var(--anseio-space-8)!important;background:transparent!important}
body.home-page .home-vitrine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--anseio-space-5)!important;align-items:stretch}
body.home-page .home-vitrine-card{--card-image:none;--card-fit:cover;--card-position:center;position:relative;display:flex;align-items:flex-end;min-height:360px;overflow:hidden;isolation:isolate;padding:var(--anseio-space-6)!important;text-decoration:none;color:#fff!important;border:1px solid var(--anseio-theme-border);border-radius:var(--anseio-radius-md)!important;background:#16070b;box-shadow:none!important}
body.home-page .home-vitrine-card::before{content:"";position:absolute;inset:0;z-index:-2;background-color:#16070b;background-image:var(--card-image);background-position:var(--card-position);background-size:var(--card-fit);background-repeat:no-repeat;opacity:1;transition:transform .38s ease,opacity .28s ease}
body.home-page .home-vitrine-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.02) 24%,rgba(0,0,0,.78) 100%)}
body.home-page .home-vitrine-card:hover{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--anseio-theme-accent) 48%,transparent)!important;box-shadow:var(--anseio-shadow-card)!important}
body.home-page .home-vitrine-card:hover::before{transform:scale(1.035)}
body.home-page .home-vitrine-card>div{position:relative;z-index:1}
body.home-page .home-vitrine-card small{display:block;color:#ffd9e2!important;font-size:var(--anseio-text-xs)!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase}
body.home-page .home-vitrine-card h3{margin:var(--anseio-space-2) 0 var(--anseio-space-1)!important;color:#fff!important;font-family:var(--anseio-font-display)!important;font-size:var(--anseio-text-2xl)!important;line-height:1.12!important;text-shadow:0 2px 14px rgba(0,0,0,.42)}
body.home-page .home-vitrine-card p{max-width:34ch;margin:0;color:#fff!important;font-size:var(--anseio-text-sm)!important;line-height:1.5;text-shadow:0 2px 12px rgba(0,0,0,.5)}
body.home-page .home-vitrine-card.is-showcase-loading::before{opacity:0}
body.home-page .home-vitrine-card.is-showcase-loaded::before{animation:anseioMediaReveal .48s ease both}
body.home-page .anseio-showcase-status{position:absolute;inset:0;z-index:0;display:none;place-content:center;justify-items:center;gap:9px;color:#ffe7ec;background:linear-gradient(135deg,#16070b,#2a0b12);font-size:11px;font-weight:600;letter-spacing:.04em}
body.home-page .home-vitrine-card:is(.is-showcase-loading,.is-showcase-unavailable) .anseio-showcase-status{display:grid}
body.home-page .anseio-showcase-status i{width:34px;height:34px;border:2px solid rgba(255,255,255,.2);border-top-color:#f2a5b6;border-radius:50%;animation:anseioShowcaseSpin .78s linear infinite}
body.home-page .home-vitrine-card.is-showcase-unavailable .anseio-showcase-status{background:#16070b;color:#ffd9e2}
@keyframes anseioShowcaseSpin{to{transform:rotate(360deg)}}
body.home-page .home-vitrine-card[data-card="lingerie"]{--card-image:url("../images/banners/reais/lingerie.webp")}
body.home-page .home-vitrine-card[data-card="body"]{--card-image:url("../images/banners/reais/body.webp")}
body.home-page .home-vitrine-card[data-card="linha-noite"]{--card-image:url("../images/banners/reais/linha-noite.webp")}
body.home-page .home-vitrine-card[data-card="moda-praia"]{--card-image:url("../images/banners/reais/moda-praia.webp")}
body.home-page .home-vitrine-card[data-card="sex-shop"]{--card-image:url("../images/banners/reais/sex-shop.webp")}
body.home-page .home-vitrine-card[data-card="acessorios"]{--card-image:url("../images/banners/reais/acessorios.webp")}

/* Produtos recentes herdam o card oficial e recebem apenas organização da Home. */
body.home-page [data-anseio-recent-products]{width:var(--anseio-container);margin-inline:auto}
body.home-page [data-anseio-recent-products]:empty{display:none}
body.home-page [data-anseio-recent-products] :where(.products-grid,.product-grid,.anseio-section-grid){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--anseio-space-5)!important;padding-bottom:var(--anseio-space-8)}

@media (pointer:coarse){body.home-page .carousel-btn{opacity:.9;pointer-events:auto}}
@media (max-width:1199px){
  body.home-page [data-anseio-recent-products] :where(.products-grid,.product-grid,.anseio-section-grid){grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:980px){
  body.home-page{--anseio-home-hero-height:clamp(380px,72vw,620px)}
  body.home-page .home-vitrine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.home-page .home-vitrine-card{min-height:310px}
  body.home-page [data-anseio-recent-products] :where(.products-grid,.product-grid,.anseio-section-grid){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
  body.home-page .anseio-banner-media--desktop{display:none}
  body.home-page .anseio-banner-media--mobile{display:block}
  body.home-page .hero-carousel.layout-runway-split .carousel-slide,
  body.home-page .secondary-banner-carousel.layout-split .secondary-slide{display:block}
  body.home-page .hero-carousel.layout-runway-split .anseio-banner-media,
  body.home-page .secondary-banner-carousel.layout-split .anseio-banner-media{position:absolute;inset:0}
  body.home-page .hero-carousel.layout-runway-split .carousel-slide::after,
  body.home-page .secondary-banner-carousel.layout-split .secondary-slide::after{display:block}
  body.home-page .hero-carousel.layout-runway-split .anseio-slide-copy,
  body.home-page .secondary-banner-carousel.layout-split .secondary-copy{position:absolute;left:50%;bottom:8%;top:auto;width:min(680px,calc(100% - 32px));height:auto;transform:translateX(-50%);padding:var(--anseio-space-5);color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.58);background:transparent}
  body.home-page .hero-carousel.layout-runway-split .anseio-slide-copy p,
  body.home-page .hero-carousel.layout-runway-split .anseio-slide-kicker{color:#fff!important}
}
@media (max-width:760px){
  body.home-page{--anseio-home-hero-height:clamp(320px,112vw,510px)}
  body.home-page .hero-carousel{min-height:320px!important;max-height:510px!important}
  body.home-page .hero-carousel.layout-runway-center{width:calc(100% - 28px);margin-top:var(--anseio-space-4)}
  body.home-page .carousel-btn{width:40px!important;height:40px!important;min-height:40px!important;font-size:25px!important}
  body.home-page .carousel-btn.prev{left:var(--anseio-space-3)}
  body.home-page .carousel-btn.next{right:var(--anseio-space-3)}
  body.home-page .carousel-dots{bottom:var(--anseio-space-4)}
  body.home-page .secondary-banner-carousel,
  body.home-page .secondary-banner-carousel.layout-card{width:calc(100% - 28px);height:clamp(170px,52vw,280px);margin-top:var(--anseio-space-5)}
  body.home-page .secondary-dots{bottom:var(--anseio-space-3)}
  body.home-page .anseio-slide-copy{bottom:7%;width:calc(100% - 28px);padding:var(--anseio-space-4)}
  body.home-page .anseio-slide-copy h2{font-size:clamp(2rem,11vw,3.2rem)!important}
  body.home-page .hero-text-section,
  body.home-page #anseio-size-shop.anseio2619-size-shop,
  body.home-page .home-vitrines{padding-block:var(--anseio-space-7)!important}
  body.home-page .hero-content-below h2{font-size:clamp(2rem,9vw,3rem)!important}
  body.home-page #anseio-size-shop .anseio-size-buttons{gap:var(--anseio-space-2)!important}
  body.home-page #anseio-size-shop .anseio-size-btn{min-width:62px!important;height:46px!important;min-height:46px!important;padding-inline:12px!important}
  body.home-page .home-vitrine-grid{gap:var(--anseio-space-3)!important}
  body.home-page .home-vitrine-card{min-height:245px;padding:var(--anseio-space-4)!important}
  body.home-page .home-vitrine-card h3{font-size:var(--anseio-text-xl)!important}
  body.home-page .home-vitrine-card p{font-size:.78rem!important;line-height:1.42}
  body.home-page [data-anseio-recent-products] :where(.products-grid,.product-grid,.anseio-section-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--anseio-space-3)!important}
}
@media (max-width:390px){
  body.home-page .home-vitrine-card{min-height:220px}
  body.home-page .home-vitrine-card p{display:none}
}
@media (prefers-reduced-motion:reduce){
  body.home-page :where(.carousel-slides,.secondary-slides,.home-vitrine-card::before){transition:none!important}
}
