/* =========================================================
   Page Solber Pack — CSS (aligné Home + main.css)
   - Mobile-first, AA contrast, PRM-friendly, iOS SE/6
   - Variables de main.css ( --gc-* )
   - Scopé via .page-solber-pack pour éviter les conflits
   ========================================================= */

/* ---------- Portée / helpers ---------- */
body.page-template-page-solber-pack{ background:var(--gc-bg); color:var(--gc-fg); }
.page-solber-pack .container{ width:min(var(--gc-container), 92%); margin-inline:auto; }
.page-solber-pack .section{ padding-block:var(--space-10, 2.5rem); }

/* ---------- Hero (gabarit Home + option plein écran) ---------- */
.page-solber-pack .hero{ padding-block:clamp(2rem, 6vw, 5rem); }
.page-solber-pack .hero.hero--full{
  min-height:100vh;   /* fallback */
  min-height:100svh;  /* iOS small viewport */
  min-height:100dvh;  /* dynamic viewport */
}

.page-solber-pack .hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr; /* texte gauche / image droite */
  gap:var(--space-6, 1.5rem);
  align-items:center;
}
@media (max-width:980px){
  .page-solber-pack .hero-grid{ grid-template-columns:1fr; }
}

/* Ordre logique: contenu en 1, média en 2 (desktop et mobile) */
.page-solber-pack .hero-content{ order:1; }
.page-solber-pack .hero-media{ order:2; }

.page-solber-pack .pretitle{
  display:inline-block;
  font-size:var(--fs-300, .95rem);
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--gc-muted, #6b7280);
  opacity:.8;
  margin:.25rem 0;
}
.page-solber-pack .hero h1{
  margin:0;
  font-size:var(--fs-800, clamp(2rem, 3.5vw + 1rem, 3rem));
  line-height:1.15;
  font-family:var(--gc-font-serif, "Playfair Display", Georgia, serif);
}
.page-solber-pack .max-ch{ max-width:65ch; color:var(--gc-fg); opacity:.92; }
.page-solber-pack .cta-row{ display:flex; flex-wrap:wrap; gap:.75rem; }

/* Image de hero (stabilisée, anti-CLS) */
.page-solber-pack .hero-media{
  display:flex; align-items:center; justify-content:center;
  min-height:180px;
  content-visibility:auto;           /* diffère la peinture off-screen */
  contain-intrinsic-size:320px 200px; /* taille intrinsèque estimée */
}
.page-solber-pack .hero-media picture,
.page-solber-pack .hero-media img{
  max-width:100%;
  width:100%;
  height:auto;
  object-fit:cover;
  border-radius:var(--gc-radius, 16px);
  box-shadow:var(--gc-shadow, 0 8px 20px rgba(0,0,0,.06));
}
/* Si image décorative recadrée */
.page-solber-pack .media-cover{ object-fit:cover; aspect-ratio:16/10; }

/* ---------- Grilles (reprise Home) ---------- */
.page-solber-pack .grid{ display:grid; gap:var(--space-4, 1rem); }
.page-solber-pack .grid-2{ grid-template-columns:repeat(2,1fr); }
.page-solber-pack .grid-3{ grid-template-columns:repeat(3,1fr); }
.page-solber-pack .grid-4{ grid-template-columns:repeat(4,1fr); }

@media (max-width:1180px){
  .page-solber-pack .grid-4{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:980px){
  .page-solber-pack .grid-3,
  .page-solber-pack .grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:720px){
  .page-solber-pack .grid-2,
  .page-solber-pack .grid-3,
  .page-solber-pack .grid-4{ grid-template-columns:1fr; }
}

/* ---------- Cards (alignées Home) ---------- */
.page-solber-pack .card{
  content-visibility:auto;
  contain-intrinsic-size:320px 220px; /* anti-CLS estimé */
  padding:var(--space-4, 1rem);
  background:var(--gc-surface, #fff);
  border-radius:var(--gc-radius, 16px);
  box-shadow:var(--gc-shadow, 0 8px 20px rgba(0,0,0,.06));
}
.page-solber-pack .card-media{
  margin:-0.25rem -0.25rem var(--space-3, .75rem);
  border-radius:calc(var(--gc-radius, 16px) - 4px);
  overflow:hidden;
  background:linear-gradient(180deg, #f5f7fb, #e9edf5);
  aspect-ratio:16/9; /* ratio stable si pas d'attributs W/H */
}
.page-solber-pack .card-picture,
.page-solber-pack .card-picture img{ display:block; width:100%; height:100%; }
.page-solber-pack .media-cover{ object-fit:cover; }
.page-solber-pack .card h3{
  margin:.25rem 0 var(--space-3, .75rem);
  font-size:var(--fs-600, 1.25rem);
}
.page-solber-pack .card ul{ margin:0; padding-left:1.1rem; }
.page-solber-pack .card li{ margin-bottom:.35rem; }

/* Variante accent (bloc "accompagnement") */
.page-solber-pack .card--accent{
  display:grid; gap:var(--space-4, 1rem);
  grid-template-columns:.9fr 1.1fr;
}
@media (max-width:980px){
  .page-solber-pack .card--accent{ grid-template-columns:1fr; }
}

/* ---------- Listes stylisées (checks) ---------- */
.page-solber-pack .list-checks{ list-style:none; padding:0; margin:0; }
.page-solber-pack .list-checks li{
  position:relative; padding-left:1.6rem; margin:.42rem 0;
}
.page-solber-pack .list-checks li::before{
  content:""; position:absolute; left:0; top:.35em; width:1rem; height:1rem; border-radius:50%;
  border:2px solid var(--gc-accent); box-shadow:inset 0 0 0 2px #fff;
  background:radial-gradient(circle at 50% 50%, var(--gc-accent) 50%, transparent 51%);
}

/* Notes / petites infos */
.page-solber-pack .form-note{ color:var(--gc-muted); font-size:.9rem; }

/* ---------- Boutons ---------- */
.page-solber-pack .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.7rem 1rem; border-radius:var(--gc-radius, 16px);
  background:var(--gc-accent); color:var(--gc-btn-fg, #0f172a);
  border:0; cursor:pointer; font-weight:600; box-shadow:var(--gc-shadow);
  transition:transform .15s ease, opacity .15s ease;
  min-height:44px; text-decoration:none;
}
@media (hover:hover){
  .page-solber-pack .btn:hover{ transform:translateY(-1px); }
}
/* tactile : neutralise effets hover-only */
@media (hover:none), (pointer:coarse){
  .page-solber-pack .btn{ transform:none !important; }
}
.page-solber-pack .btn:focus-visible{
  outline:3px solid var(--gc-focus, #0ea5e9); outline-offset:2px;
}
.page-solber-pack .btn--ghost{
  background:transparent; color:var(--gc-accent);
  border:2px solid var(--gc-accent);
}

/* ---------- Entry content & CTA final ---------- */
.page-solber-pack .entry-content p{ max-width:65ch; }
.page-solber-pack .section[aria-labelledby="cta-final"]{ text-align:center; }
.page-solber-pack .section[aria-labelledby="cta-final"] .max-ch{ margin-inline:auto; }

/* ---------- Ancre formulaire (#contact) ---------- */
.page-solber-pack #contact{ scroll-margin-top:var(--gc-header-offset, 80px); }

/* ---------- Animations (compat avec animations.js) ---------- */
.page-solber-pack [data-animate]{
  opacity:0; transform:translateY(12px);
  transition:opacity .4s ease, transform .4s ease;
  will-change:opacity, transform;
}
.page-solber-pack [data-animate].in,
.page-solber-pack [data-animate].is-inview{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .page-solber-pack [data-animate]{ opacity:1; transform:none; transition:none; }
}

/* ---------- Utilitaires ---------- */
.page-solber-pack .mt-0{ margin-top:0!important; }
.page-solber-pack .mt-4{ margin-top:var(--space-4, 1rem)!important; }

/* ---------- iOS / petits écrans (SE/6 ~≤360px) ---------- */
@media (max-width:360px){
  .page-solber-pack .hero{ padding-block:var(--space-6, 1.5rem); }
  .page-solber-pack .hero-media{ min-height:140px; contain-intrinsic-size:240px 140px; }

  /* CTA plein largeur + cibles confortables */
  .page-solber-pack .cta-row{ gap:.5rem; }
  .page-solber-pack .cta-row .btn{ width:100%; justify-content:center; }

  /* Grilles → 1 colonne */
  .page-solber-pack .grid-4,
  .page-solber-pack .grid-3,
  .page-solber-pack .grid-2{ grid-template-columns:1fr; }
}

/* ---------- Print ---------- */
@media print{
  .page-solber-pack .hero p a,
  .page-solber-pack .section a{ text-decoration:underline; }
  .page-solber-pack .btn, .page-solber-pack .btn--ghost{
    border:1px solid #000; background:transparent; color:#000;
  }
  .page-solber-pack .hero-media{ display:none; }
}

/* ---------- Forced colors (Windows HC) ---------- */
@media (forced-colors: active){
  .page-solber-pack .btn{
    border:1px solid ButtonText; color:ButtonText; background:ButtonFace;
  }
}
