
.halloween-page{
  background:
    radial-gradient(circle at 8% 12%,#ffbd5b22 0 90px,transparent 91px),
    radial-gradient(circle at 94% 19%,#8d54d833 0 120px,transparent 121px),
    #fffaf4;
}

.halloween-shell{
  width:min(1460px,100%);
  margin:0 auto;
  padding:22px 28px 80px;
}

.halloween-hero{
  position:relative;
  min-height:320px;
  overflow:hidden;
  border-radius:34px;
  background:
    radial-gradient(circle at 72% 17%,#ffd968 0 95px,transparent 96px),
    linear-gradient(125deg,#30153e,#61266e 48%,#261539);
  box-shadow:0 24px 70px #38194130;
  display:grid;
  grid-template-columns:240px minmax(0,1fr) 240px;
  align-items:center;
  padding:30px;
  color:#fff;
}

.halloween-hero:before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:55px;
  background:
    radial-gradient(ellipse at 10% 120%,#170d22 0 42px,transparent 43px),
    radial-gradient(ellipse at 25% 120%,#170d22 0 60px,transparent 61px),
    radial-gradient(ellipse at 48% 120%,#170d22 0 45px,transparent 46px),
    radial-gradient(ellipse at 69% 120%,#170d22 0 64px,transparent 65px),
    radial-gradient(ellipse at 88% 120%,#170d22 0 48px,transparent 49px);
  opacity:.9;
}

.halloween-hero-copy{
  position:relative;
  z-index:3;
  text-align:center;
  max-width:760px;
  margin:auto;
}

.halloween-kicker{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  background:#ff6c13;
  color:#fff;
  font-size:11px;
  font-weight:950;
  letter-spacing:1.2px;
  box-shadow:0 7px 20px #0004;
}

.halloween-hero h1{
  margin:15px 0 12px;
  font-size:clamp(45px,5.2vw,76px);
  line-height:.94;
  letter-spacing:-3.5px;
}

.halloween-hero p{
  max-width:650px;
  margin:0 auto;
  color:#f6eefd;
  font-size:17px;
  line-height:1.5;
  font-weight:650;
}

.halloween-hero-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}

.halloween-primary,
.halloween-secondary{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 18px;
  border-radius:14px;
  font-weight:950;
}

.halloween-primary{
  background:#ff6c13;
  color:#fff;
  box-shadow:0 10px 24px #0003;
}

.halloween-secondary{
  background:#fff;
  color:#351540;
}

.halloween-hero-art{
  position:relative;
  z-index:2;
  text-align:center;
}

.halloween-hero-art>span{
  display:block;
  font-size:118px;
  filter:drop-shadow(0 12px 8px #0005);
}

.halloween-hero-art i{
  position:absolute;
  font-style:normal;
  font-size:28px;
}

.art-left i:nth-child(2){left:14px;top:5px;color:#ffcb47}
.art-left i:nth-child(3){right:12px;bottom:12px;color:#ff7f2b}
.art-right i:nth-child(2){left:10px;top:12px}
.art-right i:nth-child(3){right:5px;bottom:10px}

.halloween-pack{
  padding:48px 0 0;
}

.halloween-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}

.halloween-section-head h2{
  margin:6px 0 7px;
  font-size:42px;
  letter-spacing:-1.7px;
}

.halloween-section-head p{
  margin:0;
  color:var(--muted);
}

.halloween-pack-count{
  min-width:92px;
  padding:12px;
  border-radius:18px;
  background:#fff0dc;
  text-align:center;
}

.halloween-pack-count strong{
  display:block;
  color:#e85c09;
  font-size:29px;
  line-height:1;
}

.halloween-pack-count span{
  display:block;
  margin-top:4px;
  color:#765746;
  font-size:9px;
  font-weight:950;
  text-transform:uppercase;
}

.halloween-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.halloween-card{
  position:relative;
  overflow:hidden;
  border:1px solid #eee4d9;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px #3819410b;
}

.halloween-new-pill{
  position:absolute;
  z-index:3;
  top:10px;
  left:10px;
  padding:5px 7px;
  border-radius:999px;
  background:#ff6c13;
  color:#fff;
  font-size:8px;
  font-weight:950;
}

.halloween-thumb{
  display:block;
  height:300px;
  background:#fff;
  border-bottom:1px solid #f0e7df;
}

.halloween-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:13px;
}

.halloween-card-body{
  padding:14px;
}

.halloween-card-body h3{
  margin:0 0 11px;
  font-size:16px;
}

.halloween-color-btn{
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#7657ff;
  color:#fff;
  font-size:12px;
  font-weight:950;
}

@media(max-width:1050px){
  .halloween-grid{grid-template-columns:repeat(3,1fr)}
  .halloween-hero{grid-template-columns:160px minmax(0,1fr) 160px}
  .halloween-hero-art>span{font-size:92px}
}

@media(max-width:760px){
  .halloween-shell{padding:12px 12px 55px}
  .halloween-hero{
    min-height:300px;
    grid-template-columns:1fr;
    padding:32px 18px 38px;
    border-radius:25px;
  }
  .halloween-hero-art{display:none}
  .halloween-hero h1{font-size:43px;letter-spacing:-2px}
  .halloween-hero p{font-size:14px}
  .halloween-section-head{display:block}
  .halloween-pack-count{display:none}
  .halloween-section-head h2{font-size:32px}
  .halloween-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .halloween-thumb{height:220px}
  .halloween-card-body{padding:10px}
  .halloween-card-body h3{font-size:12px}
}

@media(max-width:420px){
  .halloween-grid{grid-template-columns:1fr 1fr}
  .halloween-thumb{height:180px}
  .halloween-primary,.halloween-secondary{width:100%}
}


/* V9.25 — pack Halloween PNG utilisateur */
.halloween-thumb{
  background:#fff!important;
  overflow:hidden!important;
}
.halloween-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  image-rendering:auto!important;
  background:#fff!important;
}


/* V9.32 — contenu SEO/AEO Halloween sous la grille */
.halloween-seo-content{
  margin-top:46px;
}

.halloween-seo-copy,
.halloween-seo-faq{
  padding:30px;
  border:1px solid #eee4d9;
  border-radius:24px;
  background:#fff;
}

.halloween-seo-copy{
  max-width:1080px;
}

.halloween-seo-copy h2,
.halloween-seo-faq h2{
  margin:7px 0 14px;
  color:var(--ink);
  font-size:32px;
  letter-spacing:-1.3px;
}

.halloween-seo-copy h3{
  margin:25px 0 8px;
  color:var(--ink);
  font-size:20px;
}

.halloween-seo-copy p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}

.halloween-seo-copy a{
  color:#6548ee;
  font-weight:850;
}

.halloween-seo-faq{
  margin-top:18px;
  background:#fff8f0;
}

.halloween-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.halloween-faq-grid article{
  padding:18px;
  border:1px solid #f0dfd0;
  border-radius:16px;
  background:#fff;
}

.halloween-faq-grid h3{
  margin:0 0 7px;
  font-size:15px;
}

.halloween-faq-grid p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

@media(max-width:720px){
  .halloween-seo-copy,
  .halloween-seo-faq{
    padding:20px 16px;
  }

  .halloween-faq-grid{
    grid-template-columns:1fr;
  }

  .halloween-seo-copy h2,
  .halloween-seo-faq h2{
    font-size:27px;
  }
}
