/* Paraíso da Magia — Vitrine de pré-lançamento V1
   Camada visual; não altera preços, rotas, checkout nem stock.
   Complementa pdm-public.css e estilos existentes. */
:root{
  --pdm-v1-gold:#e9cb96;
  --pdm-v1-gold-deep:#bc935f;
  --pdm-v1-cream:#fff6e9;
  --pdm-v1-plum:#221631;
  --pdm-v1-border:rgba(234,204,164,.23);
}
:where(.public-hero,.public-products-section,.public-category-grid) *,
:where(.public-hero,.public-products-section,.public-category-grid) *::before,
:where(.public-hero,.public-products-section,.public-category-grid) *::after{box-sizing:border-box}

/* HERO - foco editorial, textura e brilho contidos */
.public-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:radial-gradient(ellipse at 80% 25%,rgba(120,65,160,.23),transparent 48%),
     radial-gradient(ellipse at 18% 100%,rgba(204,155,95,.08),transparent 48%),
     linear-gradient(127deg,#1a1028 0%,#120d1d 57%,#21142f 100%);
  border-bottom:1px solid rgba(235,199,136,.18)
}
.public-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  opacity:.25;
  background-image:radial-gradient(rgba(233,203,150,.62) .75px,transparent 1px);
  background-size:37px 37px;
  mask-image:linear-gradient(110deg,transparent 30%,#000 100%);
}
.public-hero::after{
  content:"";position:absolute;z-index:-1;right:-12%;bottom:-78%;
  width:820px;max-width:90vw;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(233,203,150,.11);box-shadow:0 0 0 78px rgba(151,100,185,.022),0 0 0 155px rgba(233,203,150,.018);
  pointer-events:none
}
.public-hero-inner{min-height:clamp(500px,54vw,690px);gap:clamp(25px,5vw,74px);padding-block:48px 64px}
.public-hero-content{position:relative;z-index:2}
.public-hero .public-eyebrow{display:inline-flex;gap:10px;align-items:center;border:1px solid rgba(233,203,150,.26);border-radius:999px;background:rgba(233,203,150,.065);padding:9px 14px;letter-spacing:.17em;line-height:1.6}
.public-hero h1{max-width:760px;margin:27px 0 23px;color:var(--pdm-v1-cream);font-size:clamp(42px,5.1vw,81px);font-weight:400;letter-spacing:-.048em;line-height:1.09;text-wrap:balance}
.public-hero-content>p{max-width:580px;color:#d2c4dd;font-size:clamp(15px,1.35vw,18px);line-height:1.85}
.public-hero-actions{margin-top:31px;gap:12px}
.public-hero-actions .public-button{min-height:52px;border-radius:999px;padding-inline:25px;box-shadow:none;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.public-hero-actions .public-button-primary{background:linear-gradient(120deg,#f3d7a5,#d9b275);color:#201326;box-shadow:0 13px 28px rgba(11,7,18,.27)}
.public-hero-actions .public-button:hover{transform:translateY(-3px)}
.public-hero-actions .public-button-primary:hover{box-shadow:0 17px 33px rgba(226,191,137,.18)}
.public-hero-visual{min-height:390px;border-radius:27px;overflow:hidden;position:relative}
.public-hero-visual:has(.public-hero-banner){border:1px solid rgba(236,204,146,.24);background:linear-gradient(150deg,#311b47,#161021);box-shadow:0 35px 90px rgba(4,2,8,.4)}
.public-hero-visual:has(.public-hero-banner)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(155deg,transparent 55%,rgba(26,12,34,.32))}
.public-hero-banner{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}
.public-hero-visual:not(:has(.public-hero-banner)){overflow:visible}
.public-hero-visual:not(:has(.public-hero-banner))::before{content:"";position:absolute;width:min(70%,340px);aspect-ratio:1;border-radius:50%;background:rgba(204,155,245,.12);filter:blur(65px)}
.public-moon{filter:drop-shadow(0 0 37px rgba(234,200,138,.16))}
.pdm-v1-hero-note{display:flex;align-items:center;gap:9px;margin:22px 0 0;color:#bdaecb;font-size:12px;letter-spacing:.035em}
.pdm-v1-hero-note::before{content:"✧";font-size:20px;color:var(--pdm-v1-gold)}

/* Fita informativa — apenas afirmações verificadas na implementação. */
.pdm-v1-trust{position:relative;background:#180f23;border-bottom:1px solid rgba(236,204,148,.14);padding:21px 0}
.pdm-v1-trust-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.pdm-v1-trust-item{display:flex;align-items:center;gap:14px;padding:10px clamp(13px,2.4vw,32px);min-width:0}
.pdm-v1-trust-item+.pdm-v1-trust-item{border-left:1px solid rgba(241,207,153,.16)}
.pdm-v1-trust-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:14px;border:1px solid rgba(238,206,147,.32);color:var(--pdm-v1-gold);background:rgba(237,199,142,.065);font-size:22px}
.pdm-v1-trust-item strong{display:block;font-size:13px;color:#f5e9f7;font-weight:650;line-height:1.45}
.pdm-v1-trust-item small{display:block;margin-top:2px;color:#b8abc8;line-height:1.5;font-size:11px}

/* Títulos, categorias e pesquisa. */
.public-section{scroll-margin-top:118px}
.public-section-head{margin-bottom:32px}
.public-section-head .public-eyebrow{color:var(--pdm-v1-gold);letter-spacing:.15em}
.public-section-head h2{max-width:780px;color:#faf1fd;font-size:clamp(32px,3.7vw,49px);line-height:1.18;letter-spacing:-.025em;text-wrap:balance}
.public-section-head p{margin-top:9px;color:#c4b4ce;font-size:14px}
.public-category-grid{gap:17px}
.public-category-card{min-height:175px;padding:25px;border-radius:20px;background:radial-gradient(ellipse at 100% 0%,rgba(181,126,220,.11),transparent 68%),linear-gradient(141deg,#2b1d3b,#1b1427);border:1px solid rgba(230,202,162,.17);box-shadow:0 12px 28px rgba(8,4,16,.15);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.public-category-card:hover,.public-category-card:focus-visible{transform:translateY(-5px);border-color:rgba(239,205,147,.63);box-shadow:0 18px 40px rgba(7,3,14,.32)}
.public-category-card strong{color:#f5edf9;font-size:clamp(18px,1.6vw,23px);line-height:1.3}
.public-category-symbol{display:grid;place-items:center;width:47px;height:47px;border-radius:16px;font-size:29px;background:rgba(227,191,138,.07);border:1px solid rgba(236,203,147,.22)}
.public-category-arrow{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:rgba(233,203,150,.10);transition:transform .2s ease}
.public-category-card:hover .public-category-arrow{transform:translate(2px,-2px)}
.public-products-section{background:radial-gradient(ellipse at 50% -25%,rgba(122,75,161,.11),transparent 58%),#130e1d}
.public-filters{display:flex;gap:14px;align-items:end;margin-bottom:34px;padding:21px 23px;border:1px solid rgba(227,192,144,.16);border-radius:20px;background:linear-gradient(130deg,rgba(47,30,64,.65),rgba(31,22,43,.72));box-shadow:0 15px 40px rgba(6,3,13,.13)}
.public-filters label{color:#ddcfe7;font-weight:600;margin-bottom:9px}
.public-filters :is(input,select){min-height:50px;border-radius:12px;border:1px solid rgba(232,200,152,.19);background:#1e152c;color:#fcf7ff;padding-inline:15px;transition:border-color .2s,box-shadow .2s}
.public-filters :is(input,select):focus-visible{border-color:#e9c992;box-shadow:0 0 0 4px rgba(233,201,146,.09)}
.public-filters button.public-button{min-height:50px;padding-inline:25px;border-radius:12px}
.public-clear-filters{padding:10px 4px}

/* Cards com foco na fotografia e leitura fácil. */
.public-product-grid{gap:clamp(14px,2vw,25px)}
.public-product-card{position:relative;border:1px solid rgba(236,201,147,.14);border-radius:19px;background:#24192f;overflow:hidden;box-shadow:0 10px 30px rgba(4,2,10,.20);transition:transform .27s ease,border-color .27s ease,box-shadow .27s ease}
.public-product-card:hover,.public-product-card:focus-visible{transform:translateY(-6px);border-color:rgba(229,190,130,.56);box-shadow:0 22px 48px rgba(5,2,13,.42)}
.public-product-image-wrap{aspect-ratio:4/4.35;background:radial-gradient(circle at center,#44304e,#291d39);isolation:isolate}
.public-product-image-wrap img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s}
.public-product-card:hover .public-product-image-wrap img{transform:scale(1.065)}
.public-product-image-wrap::after{content:"";position:absolute;inset:auto 0 0;height:35%;pointer-events:none;background:linear-gradient(0deg,rgba(18,10,25,.25),transparent);z-index:1}
.public-product-badge{z-index:2;top:14px;left:14px;border:1px solid rgba(237,199,142,.25);border-radius:999px;background:rgba(17,10,25,.86);backdrop-filter:blur(9px);color:#f6e6c6;padding:8px 12px}
.public-product-details{flex:1;display:flex;flex-direction:column;gap:8px;padding:21px 20px 19px}
.public-product-categories{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#deb982;line-height:1.5}
.public-product-details h3{font-size:clamp(16px,1.35vw,20px);margin:0;color:#fcf4ff;line-height:1.43;font-weight:600;letter-spacing:-.012em;min-height:2.7em}
.public-product-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:9px}
.public-product-bottom strong{font-size:clamp(19px,1.65vw,23px);font-weight:700;letter-spacing:-.02em;color:#f4d4a4}
.public-product-bottom>span{font-size:21px;color:#e3c392}
.public-product-details>small{font-size:11px;color:#b5a6c4;margin-top:-4px}
.pdm-v1-product-cta{display:inline-flex;align-items:center;gap:7px;margin-top:11px;padding-top:12px;border-top:1px solid rgba(230,194,146,.16);font-size:12px;font-weight:750;letter-spacing:.02em;color:#e9cb96}
.pdm-v1-product-cta::after{content:"↗";font-size:17px;transition:transform .2s ease}
.public-product-card:hover .pdm-v1-product-cta::after{transform:translate(2px,-2px)}
.public-pagination{margin-top:37px}
.public-empty{border-radius:18px}
.public-bottom-banner{position:relative;background:radial-gradient(ellipse at 50% -20%,rgba(169,108,203,.16),transparent 55%),linear-gradient(120deg,#281837,#170f24)}
.public-bottom-banner .public-button{border-radius:999px}

/* Página individual de produto: estilos transversais sem alterar a lógica dos formulários. */
body.pdm-vitrine-single main{background:radial-gradient(ellipse at 60% 0%,rgba(142,91,172,.10),transparent 58%),#130e1d;min-height:65vh}
body.pdm-vitrine-single main h1{color:#fff2e7;font-family:Georgia,serif;font-weight:400;font-size:clamp(31px,3.3vw,52px);line-height:1.17;letter-spacing:-.025em;text-wrap:balance}
body.pdm-vitrine-single main img{border-radius:16px}
body.pdm-vitrine-single main :is(input[type="number"],select){border-radius:12px}
body.pdm-vitrine-single main :is(button[type="submit"],.public-button-primary):not([disabled]){transition:transform .2s ease,box-shadow .2s ease}
body.pdm-vitrine-single main :is(button[type="submit"],.public-button-primary):not([disabled]):hover{transform:translateY(-2px);box-shadow:0 11px 28px rgba(5,2,13,.22)}
body.pdm-vitrine-single main :focus-visible{outline:2px solid #efd29a;outline-offset:3px}

@media (max-width:1080px){
 .public-hero-inner{grid-template-columns:1.05fr .95fr;min-height:490px}
 .public-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .public-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:780px){
 .public-hero-inner{grid-template-columns:1fr;gap:5px;padding-block:52px 28px}
 .public-hero h1{font-size:clamp(41px,8vw,62px)}
 .public-hero-visual{min-height:235px;max-height:300px;overflow:hidden}
 .public-hero-visual:has(.public-hero-banner){max-height:320px}
 .public-hero-banner{min-height:235px;max-height:320px}
 .public-moon{font-size:175px}
 .public-orbit{width:240px;height:240px}
 .public-orbit.orbit-two{width:285px;height:285px}
 .pdm-v1-trust-inner{grid-template-columns:1fr}
 .pdm-v1-trust-item{padding:10px 12px}
 .pdm-v1-trust-item+.pdm-v1-trust-item{border-left:0;border-top:1px solid rgba(241,207,153,.1)}
 .public-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
 .public-filters{padding:17px}
 .public-section{padding-block:58px}
}
@media(max-width:520px){
 .public-hero-inner{padding-block:47px 23px}
 .public-hero h1{font-size:clamp(37px,11vw,51px);letter-spacing:-.04em}
 .public-hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .public-hero-actions .public-button{width:100%;justify-content:center}
 .public-hero-visual{min-height:220px}
 .public-section-head h2{font-size:34px}
 .public-category-grid{gap:11px}
 .public-category-card{padding:17px;min-height:152px;border-radius:16px}
 .public-category-symbol{width:40px;height:40px;font-size:25px}
 .public-category-card strong{font-size:17px}
 .public-product-grid{gap:12px}
 .public-product-card{border-radius:15px}
 .public-product-details{padding:14px 13px;gap:6px}
 .public-product-details h3{font-size:15px;min-height:2.6em}
 .public-product-categories{font-size:9px;letter-spacing:.06em}
 .public-product-bottom strong{font-size:17px}
 .public-product-bottom>span{font-size:16px}
 .pdm-v1-product-cta{font-size:11px}
 .public-product-badge{padding:6px 8px;font-size:10px}
 .public-filters{display:grid;grid-template-columns:1fr;align-items:stretch}
 .public-filters>*{min-width:0;width:100%}
 .public-filters button.public-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .public-product-card,.public-product-image-wrap img,.public-hero-actions .public-button,.public-category-card,.pdm-v1-product-cta::after{transition:none!important}
 .public-product-card:hover,.public-category-card:hover,.public-hero-actions .public-button:hover{transform:none}
}


/* PDM_VISUAL_V3_START — correções de pré-lançamento para hero, footer e acabamento geral */
.public-hero-inner{
  align-items:center;
}
.public-hero-visual{
  min-height: clamp(320px, 38vw, 500px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: clamp(16px, 2vw, 24px);
}
.public-hero-visual:has(.public-hero-banner){
  background:
    radial-gradient(circle at 14% 18%, rgba(243,214,161,.09), transparent 24%),
    radial-gradient(circle at 85% 20%, rgba(160,107,210,.14), transparent 26%),
    linear-gradient(150deg,#311b47,#161021);
}
.public-hero-banner{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center center;
  filter: drop-shadow(0 18px 40px rgba(7,4,12,.26));
}
.public-hero-visual:has(.public-hero-banner)::after{
  background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 23%, rgba(26,12,34,.25));
}

/* Footer mais elegante, com brilho subtil e hierarquia reforçada. */
.public-footer{
  position:relative;
  overflow:hidden;
  padding:78px 0 26px;
  background:
    radial-gradient(circle at 14% 18%, rgba(233,203,150,.08), transparent 18%),
    radial-gradient(circle at 86% 22%, rgba(157,104,201,.14), transparent 24%),
    radial-gradient(circle at 62% 110%, rgba(233,203,150,.06), transparent 22%),
    linear-gradient(180deg,#171023 0%,#110b1a 100%);
  border-top:1px solid rgba(228,196,145,.14);
}
.public-footer::before,
.public-footer::after{
  content:"";
  position:absolute;
  inset:auto;
  width:340px;
  height:340px;
  border-radius:50%;
  pointer-events:none;
  filter:blur(70px);
  opacity:.18;
}
.public-footer::before{left:-110px; top:-80px; background:rgba(228,196,145,.18)}
.public-footer::after{right:-120px; bottom:-170px; background:rgba(157,104,201,.20)}
.pdm-footer-grid{
  position:relative;
  gap:42px;
  padding:32px 0 56px;
}
.pdm-footer-grid::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  background:linear-gradient(145deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1px solid rgba(228,196,145,.12);
  box-shadow:0 22px 60px rgba(4,2,10,.18), inset 0 1px 0 rgba(255,255,255,.04);
  z-index:0;
}
.pdm-footer-grid > *{position:relative; z-index:1}
.pdm-footer-brand a{display:inline-flex; align-items:center}
.pdm-footer-logo{
  max-width:290px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.16));
}
.pdm-footer-brand-name{
  color:#fff8f0;
  font-size:30px;
  letter-spacing:.01em;
}
.pdm-footer-brand p{
  max-width:360px;
  margin-top:18px;
  color:#c7b9d3;
}
.pdm-footer-column h3{
  margin-bottom:16px;
  color:#f0cf9c;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}
.pdm-footer-column > a,
.pdm-footer-column > p,
.pdm-footer-pending,
.pdm-footer-socials a{
  position:relative;
  color:#d3c5de;
  transition: color .24s ease, transform .24s ease, opacity .24s ease;
}
.pdm-footer-column a:hover,
.pdm-footer-socials a:hover{
  color:#f0cf9c;
  transform:translateX(3px);
}
.pdm-footer-socials{gap:12px; margin-top:8px}
.pdm-footer-socials a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(228,196,145,.14);
  background:rgba(255,255,255,.025);
}
.pdm-footer-cookie-link{
  border:1px solid rgba(228,196,145,.18);
  background:rgba(255,255,255,.03);
  border-radius:999px;
  padding:9px 15px;
}
.pdm-footer-bottom{
  position:relative;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.08);
}
.pdm-footer-bottom::before{
  content:"✦  ✧  ✦";
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  padding:0 14px;
  background:#120b1b;
  color:rgba(240,207,156,.65);
  letter-spacing:.4em;
  font-size:10px;
}
@media (max-width: 1000px){
  .pdm-footer-grid{padding:26px 0 44px}
}
@media (max-width: 650px){
  .public-footer{padding:56px 0 22px}
  .pdm-footer-grid{padding:22px 0 38px; gap:28px}
  .pdm-footer-grid::before{border-radius:22px}
  .pdm-footer-brand-name{font-size:24px}
}
@media (prefers-reduced-motion: no-preference){
  .public-footer::before{animation:pdmFooterGlowOne 12s ease-in-out infinite}
  .public-footer::after{animation:pdmFooterGlowTwo 14s ease-in-out infinite}
}
@keyframes pdmFooterGlowOne{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(18px,10px,0)}}
@keyframes pdmFooterGlowTwo{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-15px,-12px,0)}}
/* PDM_VISUAL_V3_END */
