/*
 Theme Name: Astra Child
 Template: astra
 Version: 1.0.0
 Text Domain: astra-child
*/

/* ===== Variables de thème ===== */
:root{
  --gold:  #CDA627;
  --gold2: #B8971C;
  --black: #0b0b0b;
  --border:#e9e9e9;
}

/* (Héritage ancien Woo — inoffensif si Woo est désactivé) */
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-tabs { display:none; }
.woocommerce-account .woocommerce-MyAccount-content { width: 100%; }

/* ===== Boutons génériques ===== */
.fbx-btn{
  display:inline-block; text-decoration:none; font-weight:700;
  padding:10px 18px; border-radius:10px;
  background: linear-gradient(180deg,var(--gold),var(--gold2));
  border:1px solid var(--gold2);
  color:#000;
}
.fbx-btn:hover{ filter:brightness(1.05); }
.fbx-btn--outline{
  background:#111; color:#fff; border:1px solid var(--gold2);
}
.fbx-btn--outline:hover{ background:#171717; }

/* ===== Notices / bannière message rouge ===== */
.fbx-notice-banner{
  background:#ffe6e6;
  border:1px solid #d63638;
  color:#a40000;
  padding:12px 16px;
  border-radius:8px;
  margin:0 0 16px;
  font-weight:700;
}

/* ===== Mise en page tarifs (si tu réutilises tes grilles/cartes) ===== */
.fbx-section { margin: 28px 0; }
.fbx-hgroup { margin: 8px 0 10px; text-align: left; }
.fbx-hgroup h2 { font-size: 28px; line-height: 1.2; margin: 0 0 4px; font-weight: 800; }
.fbx-hgroup p  { margin: 0; color: #6b7280 }

/* Grille 3 colonnes */
.fbx-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 22px;
  margin: 24px 0 36px;
}
@media (max-width: 1024px) { .fbx-grid { grid-template-columns: repeat(2, minmax(240px, 1fr)); } }
@media (max-width: 680px)  { .fbx-grid { grid-template-columns: 1fr; } }

/* Carte (si besoin) */
.fbx-card {
  position: relative;
  background: #fff;
  border: 1px solid #ece7da;
  border-radius: 14px;
  padding: 16px 16px 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease;
  display: flex;
  flex-direction: column;
}
.fbx-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,.08) }
.fbx-title { margin: 0 0 4px; font-size: 18px; font-weight: 800 }
.fbx-sub   { margin: 0 0 10px; color: #6b7280; font-size: 13px }
.fbx-sep   { height: 2px; background: #B8971C; width: 64%; border-radius: 2px; margin: 10px auto 12px }
.fbx-price { margin: 8px 0 12px; font-size: 22px; font-weight: 900; color: #B8971C }
.fbx-list  { margin: 0 0 12px; padding: 0; list-style: none; color: #374151; font-size: 14px }
.fbx-list li { display: flex; gap: 8px; align-items: flex-start; margin: 6px 0 }
.fbx-list li:before { content: "✓"; color: #B8971C; margin-top: 1px }

/* Boutons internes aux cartes */
.fbx-actions { display: grid; gap: 8px; margin-top: auto }
.fbx-btn.secondary{ background:#fff; color:#000; border:1px solid var(--gold2); }
.fbx-card .fbx-btn:not(.secondary),
.fbx-card .fbx-btn:not(.secondary):link,
.fbx-card .fbx-btn:not(.secondary):visited,
.fbx-card .fbx-btn:not(.secondary):hover,
.fbx-card .fbx-btn:not(.secondary):focus,
.fbx-card .fbx-btn:not(.secondary):active{
  color:#fff !important; text-decoration:none;
}
.fbx-card .fbx-btn.secondary{ background: var(--black); border-color: var(--black); }

/* Patch Spectra (UAGB) : conteneurs internes 100% */
.wp-block-uagb-container .uagb-container__inner-wrap > .wp-block-shortcode,
.wp-block-uagb-container .uagb-container__inner-wrap > .wp-block-html,
.wp-block-uagb-container .uagb-container__inner-wrap > .wp-block-group,
.wp-block-uagb-container .uagb-container__inner-wrap > .wp-block-columns{
  flex: 1 1 100% !important; max-width: 100% !important;
}

/* Divers */
.hero-paragraphe{ text-transform: uppercase; }
.title-home-disciplines{ text-shadow: 2px 2px 8px #b8971c; }

/* ===== Bandeau Offres 2 colonnes (si tu l’utilises) ===== */
.fbx-offers-band{ background:#111; color:#fff; }
.fbx-offers-band__wrap{
  max-width:1200px; margin:0 auto;
  padding: clamp(28px,5vw,64px) 16px;
  display:grid; gap:32px;
  grid-template-columns: 1fr 1.1fr; /* image gauche / texte droite */
  align-items:center;
}
.fbx-offers-band__col--img{ border-radius:16px; overflow:hidden; aspect-ratio:16/11; }
.fbx-offers-band__col--img img{ width:100%; height:100%; object-fit:cover; display:block; }
.fbx-offers-band__title{ margin:0 0 10px; font-weight:800; font-size:clamp(26px,3.8vw,42px); color:var(--gold2); }
.fbx-offers-band__subtitle{ margin:22px 0 8px; font-weight:800; font-size:clamp(20px,2.8vw,28px); color:var(--gold2); }
.fbx-offers-band__bullets{ margin:0 0 14px; padding:0; list-style:none; }
.fbx-offers-band__bullets li{ margin:8px 0; padding-left:18px; position:relative; }
.fbx-offers-band__bullets li::before{
  content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; border-radius:50%; background: var(--gold2);
}
.fbx-offers-band__ctas{ display:flex; gap:12px; flex-wrap:wrap; margin:8px 0 14px; }

/* Responsive */
@media (max-width: 980px){
  .fbx-offers-band__wrap{ grid-template-columns:1fr; }
}
/* ===== Centrage global du contenu des cards ===== */
.fbx-col-title{
  text-align:center;
  font-weight:800;
  margin: 6px 0 18px;
}

.fbx-card{
  text-align:center;             /* titres, prix, sous-titres */
}

.fbx-card .fbx-sub{ text-align:center; }

/* Séparateur déjà centré, on garde margin auto */
.fbx-card .fbx-sep{ margin:10px auto 12px; }

/* Liste : icône + texte centrés */
.fbx-list{
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}
.fbx-list li{
  display: inline-flex;          /* une “ligne” centrée */
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 6px 0;
}
.fbx-list li:before{
  content: "✓";
  color: #B8971C;
  position: static;              /* enlève le positionnement gauche */
  margin: 0;                     /* pas de marge décalée */
}

/* Boutons centrés */
.fbx-actions{
  display: flex;
  justify-content: center;       /* centre les CTA */
  gap: 8px;
  margin-top: auto;
}

/* Empiler deux colonnes spécifiques plus tôt */
@media (max-width: 921px) {
  .mes-2-colonnes { display: grid; grid-template-columns: 1fr; gap: 24px; }
	 .title-hero-home{
    -webkit-text-stroke: 2px #B8971C;
  }
}

/* Réduire une marge/padding trop grand sur mobile */
@media (max-width: 544px) {
  .section-hero { padding-top: 48px; padding-bottom: 48px; }
  .btn { padding: 12px 16px; font-size: 14px; }
.title-hero-home {
     font-size: clamp(54px, 16vw, 84px) !important;
    line-height: 1.05 !important;
    -webkit-text-stroke: 2px #B8971C;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
    font-family: 'Anton', sans-serif !important;
  }
}

/* Images toujours fluides */
img { max-width: 100%; height: auto; }

/* Empêcher un titre long de déborder */
@media (max-width: 544px) {
  .titre-grand { font-size: 26px; line-height: 1.2; word-wrap: break-word; }
}
/* 1) PDF en plein écran sur ordinateur */
object[type="application/pdf"],
.wp-block-file .wp-block-file__embed {
  width: 100% !important;
  height: 90vh !important;     /* presque plein écran */
  min-height: 700px;           /* au cas où */
  display: block;
}

/* 2) Image fallback cachée par défaut */
.planning-fallback {
  display: none;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
/* 3) Sur mobile, cache le PDF et montre l’image */
@media (max-width: 768px) {
  object[type="application/pdf"],
  .wp-block-file .wp-block-file__embed {
    display: none !important;
  }
  .planning-fallback {
    display: block;
  }
}

/* 4) Petit ajustement iOS Safari (plus strict sur PDF) */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 1024px) {
    object[type="application/pdf"],
    .wp-block-file .wp-block-file__embed {
      display: none !important;
    }
    .planning-fallback { display: block; }
  }
}
/* Single post : image à la UNE sans crop */
.ast-single-post-featured-section .wp-post-image {
  width: 100%;
  height: auto !important;         /* pas de recadrage */
  object-fit: contain !important;  /* sécurité si un height arrive d’ailleurs */
  object-position: center top !important;
  display: block;
}

