/**
 * Design Card Centré & Encapsulé - Style 9 Blocs Inspiré Maquette
 */

.page-node-type-club-ffv {
  --color-dark: #252B37;
  --color-muted: #64748b;
  --color-border: #e2e8f0;
  --color-bg-light: #f8fafc;
  --color-red: #ef4444;
  --color-blue: #0284c7;
  --font-title: "Barlow Condensed", sans-serif;
  
  background-color: #f1f5f9; /* Fond de page légèrement grisé pour faire ressortir le bloc blanc central */
}

/* 📦 LE BLOC CENTRAL ENTOURÉ DE BORDURES */
.page-node-type-club-ffv .club-minimal-wrapper {
  max-width: 740px;          /* Largeur centrée idéale de la maquette */
  margin: 3rem auto;         /* Centre le bloc horizontalement avec de l'espace en haut/bas */
  padding: 2.5rem;           /* Respiration à l'intérieur du bloc */
  background: #ffffff;       /* Fond blanc pur pour l'encart */
  border: 1px solid #d8e0e9; /* Bordure complète demandée autour du bloc */
  border-radius: 16px;       /* Bord arrondi de la grande boîte */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03); /* Ombre très subtile et moderne */
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--color-dark);
  line-height: 1.6;
}

/* 🖼️ LOGO EN CARRÉ ENCORE PLUS PETIT ET ARRONDI */
.page-node-type-club-ffv .block-identity {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 1.5rem;
}

.page-node-type-club-ffv .identity-logo {
  width: 64px;               /* Taille réduite pour un effet plus minimaliste et propre */
  height: 64px;              /* Hauteur identique pour garantir le carré parfait */
  border-radius: 10px;       /* Bords arrondis proportionnels à sa petite taille */
  border: 1px solid var(--color-border);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  flex-shrink: 0;            /* Empêche le logo de se déformer sur mobile */
}

.page-node-type-club-ffv .identity-logo img {
  max-width: 85%;
  max-height: 85%;
  object-fit: contain;
}

/* LOGIC TEXTE IDENTITÉ */
.page-node-type-club-ffv .subtitle-discover {
  display: block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-muted);
  margin-bottom: 0.15rem;
}

.page-node-type-club-ffv .main-title {
  color: var(--color-dark);
  font-family: var(--font-title);
  font-size: 32px;           /* Ajustement subtil de la taille du titre */
  font-style: italic;
  font-weight: 700;
  line-height: 34px;
  text-transform: uppercase;
  margin: 0 0 0.5rem 0;
}

.page-node-type-club-ffv .badge-non-reservable {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: var(--color-red);
  color: #ffffff;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* ALERTE INTERACTIVE CADRÉE */
.page-node-type-club-ffv .block-alert-cta {
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 1.25rem;
  text-align: center;
  margin-bottom: 2.5rem;
}

.page-node-type-club-ffv .alert-text-main {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
}

.page-node-type-club-ffv .alert-text-sub {
  color: var(--color-muted);
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
}

.page-node-type-club-ffv .btn-click-vote {
  display: inline-block;
  background: #ffffff;
  border: 1px solid var(--color-border);
  padding: 6px 16px;
  border-radius: 6px;
  color: var(--color-dark);
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  transition: all 0.2s;
}

.page-node-type-club-ffv .btn-click-vote:hover {
  background: var(--color-bg-light);
  border-color: var(--color-muted);
}

.page-node-type-club-ffv .b2b-notice {
  font-size: 0.8rem;
  color: var(--color-muted);
  margin: 1rem 0 0 0;
}

/* BLOC MENU ANCRES ET INTRO */
.page-node-type-club-ffv .block-navigation {
  margin-bottom: 2.5rem;
}

.page-node-type-club-ffv .intro-text {
  font-size: 1rem;
  color: var(--color-muted);
  margin-bottom: 1.5rem;
}

.page-node-type-club-ffv .anchor-menu {
  display: flex;
  gap: 1.25rem;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.5rem;
}

.page-node-type-club-ffv .anchor-menu a {
  color: var(--color-muted);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  transition: color 0.2s;
}

.page-node-type-club-ffv .anchor-menu a:hover {
  color: var(--color-blue);
}

/* SECTIONS INTERNES */
.page-node-type-club-ffv .content-section {
  margin-bottom: 2.5rem;
  scroll-margin-top: 30px;
}

.page-node-type-club-ffv .content-section h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.page-node-type-club-ffv .info-notice-card {
  border-left: 3px solid #cbd5e1;
  padding-left: 1rem;
  color: var(--color-muted);
  font-size: 0.95rem;
}

/* CARTE MAP */
.page-node-type-club-ffv .map-container #ouiresa-market-map {
  width: 100%;
  height: 280px;
  border-radius: 8px;
  border: 1px solid var(--color-border);
  overflow: hidden;
}

/* GRILLE COORDONNEES RECTILIGNE */
.page-node-type-club-ffv .coordinates-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  background: var(--color-bg-light);
  padding: 1rem;
  border-radius: 6px;
  font-size: 0.95rem;
}

/* DISCLAIMER CLAUSE */
.page-node-type-club-ffv .block-disclaimer {
  border-top: 1px solid var(--color-border);
  padding-top: 1.5rem;
  margin-top: 3.5rem;
  color: var(--color-muted);
  font-size: 0.8rem;
}

.page-node-type-club-ffv .block-disclaimer h3 {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 0.5rem;
}

.page-node-type-club-ffv .disclaimer-links {
  display: flex;
  gap: 1rem;
  margin-top: 0.75rem;
}

/* FOOTER COMMERCANT B2B */
.page-node-type-club-ffv .block-footer-b2b {
  background: #fffcf5;
  border: 1px solid #f1e4c3;
  border-radius: 8px;
  padding: 1.25rem;
  margin-top: 2.5rem;
  text-align: center;
}

.page-node-type-club-ffv .block-footer-b2b h3 {
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
}

.page-node-type-club-ffv .btn-discover-ouiresa {
  display: inline-block;
  background: var(--color-dark);
  color: #ffffff !important;
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.85rem;
}
/* --- BLOC 8.5 : EN-TÊTE ET GRILLE DE PROXIMITÉ --- */
.page-node-type-club-ffv .block-proximity-products {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--color-border);
}

.page-node-type-club-ffv .proximity-badge {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-blue);
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.page-node-type-club-ffv .proximity-title {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1.5rem;
  color: var(--color-dark);
}

.page-node-type-club-ffv .proximity-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* CARTE HORIZONTALE PROXIMITÉ */
.page-node-type-club-ffv .proximity-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.page-node-type-club-ffv .proximity-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* IMAGE CARRÉE PROPRE AUX BORDS ARRONDIS */
.page-node-type-club-ffv .prox-img {
  width: 72px;
  height: 72px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  background-color: var(--color-bg-light);
  flex-shrink: 0;
}

/* ZONE DE CONTENU TEXTE CORPS */
.page-node-type-club-ffv .prox-content {
  flex-grow: 1;
}

.page-node-type-club-ffv .prox-merchant-name {
  display: block;
  font-size: 0.75rem;
  color: var(--color-muted);
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 0.15rem;
}

.page-node-type-club-ffv .proximity-card h3 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  color: var(--color-dark);
}

.page-node-type-club-ffv .prox-location {
  font-size: 0.85rem;
  color: var(--color-muted);
}

/* BLOC CTA DROIT (PRIX + BOUTON) */
.page-node-type-club-ffv .prox-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
  flex-shrink: 0;
}

.page-node-type-club-ffv .prox-price {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-dark);
}

.page-node-type-club-ffv .btn-prox-reserve {
  display: inline-block;
  background-color: var(--color-blue);
  color: #ffffff !important;
  text-decoration: none;
  padding: 5px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  transition: background-color 0.2s;
}

.page-node-type-club-ffv .btn-prox-reserve:hover {
  background-color: #0369a1;
}

/* Responsiveness Mobile */
@media (max-width: 540px) {
  .page-node-type-club-ffv .proximity-card {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 1rem;
  }
  .page-node-type-club-ffv .prox-cta {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-top: 1px solid var(--color-border);
    padding-top: 0.75rem;
  }
}
/* Alignement vertical centré du bouton Découvrir à droite */
.page-node-type-club-ffv .prox-cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}


