/* ==========================================================================
   Sections de la page d'accueil
   ========================================================================== */

/* HERO --------------------------------------------------------------------- */
.hero {
  position: relative;
  overflow: hidden;
  background: #111827;
  min-height: clamp(520px, 74vh, 760px);
}

.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(17,24,39,.96) 0%,
      rgba(17,24,39,.82) 38%,
      rgba(17,24,39,.35) 68%,
      rgba(17,24,39,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(17,24,39,.75) 0%,
      rgba(17,24,39,.18) 48%,
      transparent 72%
    );
}

.hero__inner {
  position: relative;
  z-index: 2;
  min-height: clamp(520px, 74vh, 760px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-block: var(--space-6) var(--space-7);
}

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  width: fit-content;
  color: #D1D5DB;
  font-family: var(--font-mono);
  font-size: .8rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: var(--space-3);
}

.hero__eyebrow .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #EF4444;
  box-shadow: 0 0 0 0 rgba(239,68,68,.6);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  70% { box-shadow: 0 0 0 10px rgba(239,68,68,0); }
  100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}

.hero h1 {
  color: #FFFFFF;
  font-size: var(--step-5);
  max-width: 14ch;
  letter-spacing: -.035em;
  text-shadow: 0 10px 45px rgba(0,0,0,.55);
}

.hero__sub {
  color: #D1D5DB;
  font-size: var(--step-1);
  max-width: 46ch;
  margin-top: var(--space-4);
}

.hero__actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-5);
  flex-wrap: wrap;
  align-items: center;
}

/* ===== Boutons Hero ===== */

.hero__actions .btn,
.hero__actions .button,
.hero__actions a {
    background: #3B82F6;
    border: 1px solid #3B82F6;
    color: #FFFFFF !important;
    font-weight: 700;
}

.hero__actions .btn:hover,
.hero__actions .button:hover,
.hero__actions a:hover {
    background: #2563EB;
    border-color: #2563EB;
    color: #FFFFFF !important;
}

.hero__actions svg,
.hero__actions i {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

.hero__meta {
  display: flex;
  align-items: center;
  gap: .6rem;
  color: #D1D5DB;
  font-size: var(--step--1);
}

.hero__meta .stars svg {
  width: 16px;
  color: #F5A623;
}

/* Bandeau réassurance sous le hero (remplaçant du marquee sur home) */
.hero-strip {
  background: #111827;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.hero-strip__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  padding-block: var(--space-4);
}

.hero-strip__item {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-weight: 600;
  font-size: .92rem;
  color: #F9FAFB;
}

.hero-strip__item svg {
  width: 20px;
  height: 20px;
  color: #3B82F6;
}

/* SECTION CATÉGORIES — fond anthracite */
.home-section,
.section-categories,
.categories-section {
  background: #111827 !important;
  color: #FFFFFF !important;
}

.home-section .section-eyebrow,
.home-section .eyebrow,
.home-section h2,
.section-categories h2,
.categories-section h2 {
  color: #FFFFFF !important;
}

.home-section p,
.section-categories p,
.categories-section p {
  color: #D1D5DB !important;
}

/* CATÉGORIES --------------------------------------------------------------- */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}

.cat-card {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  min-height: 300px;
  display: flex;
  align-items: flex-end;
  padding: var(--space-4);
  color: #fff;
  background: #1F2937;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 50px rgba(0,0,0,.30);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.cat-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 70px rgba(0,0,0,.45);
  border-color: rgba(59,130,246,.35);
}

.cat-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  transition: transform .5s ease;
}

.cat-card:hover img {
  transform: scale(1.06);
}

.cat-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(
      0deg,
      rgba(17,24,39,.92) 0%,
      rgba(17,24,39,.25) 70%
    ),
    linear-gradient(
      90deg,
      rgba(17,24,39,.45) 0%,
      rgba(17,24,39,.05) 100%
    );
}

.cat-card__body h3 {
  color: #FFFFFF;
  font-size: var(--step-2);
}

.cat-card__body p {
  color: #D1D5DB;
  font-size: var(--step--1);
  margin-top: 4px;
}

.cat-card__link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: var(--space-3);
  font-weight: 700;
  color: #3B82F6;
}

.cat-card__link svg {
  width: 18px;
  height: 18px;
  transition: transform .25s;
}

.cat-card:hover .cat-card__link svg {
  transform: translateX(4px);
}

@media (max-width: 820px) {
  .cat-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 520px) {
  .cat-grid {
    grid-template-columns: 1fr;
  }
}
/* GRILLE PRODUITS (réutilisée par WooCommerce) ----------------------------- */
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
}

.section--frost {
  background: #111827 !important;
  color: #FFFFFF !important;
}

.section--frost .section-head .eyebrow {
  color: #3B82F6 !important;
}

.section--frost .section-head h2 {
  color: #FFFFFF !important;
}

.section--frost .section-head p {
  color: #D1D5DB !important;
}

@media (max-width: 1080px) {
  .product-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 780px) {
  .product-grid { grid-template-columns: repeat(2,1fr); }
}

/* GUIDE / "POURQUOI CLIMAONE" — split ------------------------------------- */
.split {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: var(--space-6);
  align-items: center;
}

.split__media {
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
  position: relative;
  background: #1F2937;
  border: 1px solid rgba(255,255,255,.10);
}

.split__media img {
  width: 100%;
  aspect-ratio: 4/3.4;
  object-fit: cover;
}

.split__media .float-card {
  position: absolute;
  bottom: var(--space-4);
  left: var(--space-4);
  right: var(--space-4);
  background: rgba(17,24,39,.96);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--r-md);
  padding: var(--space-3) var(--space-4);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  display: flex;
  gap: var(--space-4);
}

.float-card .stat {
  flex: 1;
}

.float-card .stat .n {
  font-family: var(--font-display);
  font-size: 1.7rem;
  color: #FFFFFF;
  line-height: 1;
}

.float-card .stat .l {
  font-size: .72rem;
  color: #D1D5DB;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.usp-list {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.usp {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  padding: var(--space-3);
  border-radius: var(--r-md);
  transition: background .2s;
}

.usp:hover {
  background: #1F2937;
}

.usp .ic {
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: rgba(59,130,246,.14);
  color: #3B82F6;
}

.usp .ic svg {
  width: 22px;
  height: 22px;
}

.usp h4 {
  font-size: 1.08rem;
  color: #FFFFFF !important;
}

.usp p {
  color: #D1D5DB !important;
  font-size: var(--step--1);
  margin-top: 2px;
}

/* Force les textes de cette section en anthracite */
.split + *,
.split h2,
.split h3,
.split h4,
.split p,
.split .eyebrow {
  color: inherit;
}

.section .split h2,
.section .split h3 {
  color: #FFFFFF !important;
}

.section .split p {
  color: #D1D5DB !important;
}

.section .split .eyebrow {
  color: #3B82F6 !important;
}

/* Section complète autour du split */
.section:has(.split) {
  background: #111827 !important;
  color: #FFFFFF !important;
}

@media (max-width: 820px) {
  .split {
    grid-template-columns: 1fr;
  }
}

/* GUIDE BTU (aide au choix) ------------------------------------------------ */
.btu-guide { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); }
.btu-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--space-4); transition: .25s; }
.btu-card:hover { border-color: var(--ice); box-shadow: var(--sh-md); transform: translateY(-3px); }
.btu-card .surf { font-family: var(--font-mono); color: var(--ice-600); font-weight: 700; font-size: .8rem; letter-spacing: .05em; }
.btu-card .btu { font-family: var(--font-display); font-size: 1.9rem; color: var(--navy); margin-top: 4px; }
.btu-card .btu span { font-size: .9rem; color: var(--muted); font-family: var(--font-body); }
.btu-card p { font-size: var(--step--1); color: var(--muted); margin-top: 6px; }
@media (max-width: 820px) { .btu-guide { grid-template-columns: 1fr 1fr; } }

/* AVIS --------------------------------------------------------------------- */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-4);
}

.section:has(.reviews-grid) {
  background: #111827 !important;
  color: #FFFFFF !important;
}

.section:has(.reviews-grid) .eyebrow {
  color: #3B82F6 !important;
}

.section:has(.reviews-grid) h2 {
  color: #FFFFFF !important;
}

.review-card {
  background: #1F2937;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--r-md);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}

.review-card .stars svg {
  width: 16px;
  color: #FDBA2D;
  fill: #FDBA2D;
}

.review-card blockquote {
  font-size: 1.05rem;
  line-height: 1.5;
  color: #D1D5DB;
}

.review-card__author {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-top: auto;
}

.review-card__author .av {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(59,130,246,.14);
  color: #3B82F6;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-weight: 700;
}

.review-card__author .name {
  font-weight: 700;
  font-size: .95rem;
  color: #FFFFFF;
}

.review-card__author .meta {
  font-size: .78rem;
  color: #9CA3AF;
}

.review-card__verified {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  color: #3B82F6;
  font-size: .72rem;
  font-weight: 700;
}

@media (max-width: 860px) {
  .reviews-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   SECTION BANDEAU PROMO
========================================================== */

.section-promo,
.promo-section,
section:has(.promo-band){
    background:#111827 !important;
    padding:90px 0 !important;
}

/* ==========================================================
   CARTE PROMO
========================================================== */

.promo-band{
    position:relative;
    overflow:hidden;
    padding:var(--space-6);
    border-radius:26px;

    background:linear-gradient(
        135deg,
        #FF5757 0%,
        #FF5E62 35%,
        #FF6A4A 70%,
        #FF8743 100%
    );

    border:none;
    color:#fff;

    box-shadow:
        0 30px 80px rgba(255,87,87,.28);
}

/* Halo */

.promo-band::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 85% 30%,
        rgba(255,255,255,.18),
        transparent 42%);
}

.promo-band::after{
    content:"";
    position:absolute;
    right:-90px;
    top:-90px;
    width:340px;
    height:340px;
    border-radius:50%;
    background:rgba(255,255,255,.10);
}

.promo-band__inner{
    position:relative;
    z-index:2;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:var(--space-5);
    flex-wrap:wrap;
}

/* Petit titre */

.promo-band .eyebrow{
    color:#FFE6E6;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-weight:700;
}

/* Titre */

.promo-band h2{
    color:#FFFFFF;
    max-width:15ch;
}

/* Texte */

.promo-band p{
    color:rgba(255,255,255,.92);
}

/* Countdown */

.countdown{
    display:flex;
    gap:.7rem;
    margin-top:var(--space-4);
}

.countdown .unit{
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.20);
    border-radius:14px;
    min-width:72px;
    padding:.75rem .8rem;
}

.countdown .unit .n{
    color:#FFFFFF;
    font-size:1.55rem;
    font-weight:700;
}

.countdown .unit .l{
    color:rgba(255,255,255,.82);
    text-transform:uppercase;
    font-size:.65rem;
}

/* Bouton */

.promo-band .btn,
.promo-band .button{
    background:#3B82F6 !important;
    color:#FFFFFF !important;
    border:none !important;
    border-radius:999px;
    box-shadow:0 20px 45px rgba(59,130,246,.40);
}

.promo-band .btn:hover,
.promo-band .button:hover{
    background:#2563EB !important;
}

/* FAQ (accordéon) ---------------------------------------------------------- */
.faq-list { max-width: 820px; margin-inline: auto; display: grid; gap: var(--space-2); }

.faq-item {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--r-md);
  background: #1F2937;
  overflow: hidden;
  transition: border-color .2s;
}

.faq-item[open] { border-color: #3B82F6; }

.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: var(--space-4);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.12rem;
  color: #FFFFFF;
}

.faq-item summary::-webkit-details-marker { display: none; }

.faq-item summary .plus {
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(59,130,246,.14);
  display: grid;
  place-items: center;
  transition: transform .3s, background .2s;
  color: #3B82F6;
}

.faq-item[open] summary .plus {
  transform: rotate(45deg);
  background: #3B82F6;
  color: #fff;
}

.faq-item__body {
  padding: 0 var(--space-4) var(--space-4);
  color: #D1D5DB;
  line-height: 1.6;
}

/* CTA final band (déjà dans footer-cta) — helper generic */
.cta-band { background: var(--navy); color: #fff; border-radius: var(--r-lg); padding: var(--space-6); text-align: center; }
.cta-band h2 { color: #fff; }

/* Contact */
@media (max-width: 820px) {
  .fr-contact-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
  .hero h1 { font-size: clamp(2.6rem, 10vw, 3.4rem); }
  .hero__inner { min-height: 60vh; }
  .promo-band { padding: var(--space-5); }
  .promo-band__inner { flex-direction: column; align-items: flex-start; }
  .countdown .unit { min-width: 52px; padding: .5rem .6rem; }
  /* réassurance : défilement horizontal propre plutôt qu'un wrap tassé */
  .hero-strip__inner { flex-wrap: nowrap; overflow-x: auto; gap: var(--space-4); -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .hero-strip__inner::-webkit-scrollbar { display: none; }
  .hero-strip__item { flex: 0 0 auto; }
}

/* ===========================================================
   SECTION DARK (Anthracite)
   =========================================================== */

.section--dark{
    background:#111827;
    color:#fff;
}

.section--dark .section-head{
    text-align:center;
    margin-bottom:60px;
}

.section--dark .eyebrow{
    color:#3B82F6;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.section--dark h2{
    color:#fff;
}

.section--dark p{
    color:#D1D5DB;
}

/* ===== BOUTONS CTA GLOBAUX — ANTHRACITE ===== */

.btn,
.button,
.wp-element-button,
.section-head a,
.section a.btn,
.section a.button,
.hero__actions a,
.product-grid a.button,
.product-grid .button,
a[class*="button"] {
  background: #3B82F6 !important;
  color: #FFFFFF !important;
  border: 1px solid #3B82F6 !important;
  border-radius: 999px !important;
  padding: .95rem 1.6rem !important;
  font-weight: 700 !important;
  box-shadow: 0 18px 45px rgba(59,130,246,.28) !important;
}

.btn:hover,
.button:hover,
.wp-element-button:hover,
.section-head a:hover,
.section a.btn:hover,
.section a.button:hover,
.hero__actions a:hover,
.product-grid a.button:hover,
.product-grid .button:hover,
a[class*="button"]:hover {
  background: #2563EB !important;
  border-color: #2563EB !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
}

/* Bouton “Tout voir” de la section produits */
.section-head .btn,
.section-head a,
.section__link,
.section-head__link {
  background: #3B82F6 !important;
  color: #FFFFFF !important;
  border-color: #3B82F6 !important;
}

/* ==========================================================
   HERO - ÉTOILES JAUNES
========================================================== */

.hero .stars,
.hero .stars svg,
.hero .hero__meta .stars,
.hero .hero__meta .stars svg{
    color: #FDBA2D !important;
    fill: #FDBA2D !important;
    stroke: #FDBA2D !important;
}