*, *::before, *::after {
    box-sizing: border-box !important;
}

/* Conteneur Global */
.page-detail-formule {
    width: 90% !important;
    max-width: 1200px !important;
    margin: 3rem auto !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* Titre Principal */
.page-detail-formule__titre-principal {
    text-align: center !important;
    margin-bottom: 3rem !important;
}

/* GRILLE PRINCIPALE ET FOND BLANC DU BLOC */
div.page-detail-formule__grille-principale {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    align-items: center !important;
    width: 100% !important;
    position: relative !important;
    z-index: 1 !important;
    background-color: #ffffff !important;
    border-radius: 30px !important;
    padding: 3rem 0 !important;
    box-sizing: border-box !important;
}

/* Colonne Informations */
.page-detail-formule__colonne-informations {
    padding: 0 5% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.page-detail-formule__sous-titre {
    margin-bottom: 1rem !important;
    text-align: center !important;
}

.page-detail-formule__bloc-description {
    margin-bottom: 1.5rem !important;
    text-align: center !important;
}

.page-detail-formule__bloc-description--accentue {
    font-weight: bold !important;
    text-align: center !important;
}

/* Colonne Visuel (Image) */
.page-detail-formule__colonne-visuel {
    width: 100% !important;
    padding: 0 5% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.page-detail-formule__conteneur-image {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
}

div.page-detail-formule__image-cadre {
    width: 100% !important;
    height: 450px !important;
    background-color: transparent !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    border-radius: 40px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    display: block !important;
    position: relative !important;
}

/* Zone d'action sous la carte */
.page-detail-formule__zone-action {
    display: flex !important;
    justify-content: center !important;
    margin-top: 2.5rem !important;
    position: relative !important;
    z-index: 2 !important;
}

/* ==========================================================================
   BOUTON PRINCIPAL (.devis-button) : DÉGRADÉ BRONZE + BILLETS
   ========================================================================== */

.devis-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 14px 32px !important;
    margin-top: 1.5rem !important;
    
    background: linear-gradient(135deg, #e1c5a0 0%, #54301a 100%) !important;
    border: 2px solid rgba(226, 199, 133, 0.8) !important;
    box-shadow: 0 6px 20px rgba(105, 61, 34, 0.35) !important;
    
    border-radius: 50px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
}

/* ICÔNE DE BILLETS SVG */
.icone-billets-css {
    display: inline-block !important;
    position: relative !important;
    width: 38px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
}

/* Billet bleu pastel (Arrière) */
.icone-billets-css::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 80' fill='%23A3C9E2'%3E%3Cpath d='M6 15 C6 12.8 7.8 11 10 11 H70 C70 14 72.2 16 75 16 C77.8 16 80 14 80 11 H90 C92.2 11 94 12.8 94 15 V45 C94 47.2 92.2 49 90 49 H80 C80 46 77.8 44 75 44 C72.2 44 70 46 70 49 H10 C7.8 49 6 47.2 6 45 Z'/%3E%3Cline x1='70' y1='12' x2='70' y2='48' stroke='%23ffffff' stroke-width='1.5' stroke-dasharray='2 2'/%3E%3Crect x='12' y='36' width='2' height='8' fill='%23ffffff'/%3E%3Crect x='16' y='36' width='1' height='8' fill='%23ffffff'/%3E%3Crect x='19' y='36' width='3' height='8' fill='%23ffffff'/%3E%3Cpath d='M22 22 l3 -3 h4 l-2 3 h4 l1 -1 h1 l-0.5 2 l0.5 2 h-1 l-1 -1 h-4 l2 3 h-4 z' fill='%23ffffff'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 0.9 !important;
    transform: rotate(-8deg) translate(-2px, -1px) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Billet parme pastel (Avant) */
.icone-billets-css::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 80' fill='%23C8B6E2'%3E%3Cpath d='M6 20 C6 17.8 7.8 16 10 16 H68 C68 19 70.2 21 73 21 C75.8 21 78 19 78 16 H90 C92.2 16 94 17.8 94 20 V54 C94 56.2 92.2 58 90 58 H78 C78 55 75.8 53 73 53 C70.2 53 68 55 68 58 H10 C7.8 58 6 56.2 6 54 Z'/%3E%3Cline x1='68' y1='17' x2='68' y2='57' stroke='%23ffffff' stroke-width='1.2' stroke-dasharray='2 2'/%3E%3Crect x='12' y='21' width='16' height='3' rx='1' fill='%23ffffff'/%3E%3Ccircle cx='32' cy='22.5' r='1.5' fill='%23ffffff'/%3E%3Crect x='12' y='27' width='10' height='4' rx='0.5' fill='%23ffffff'/%3E%3Cpath d='M25 28.5 l3 0 l-1 -1.5 h1 l1.5 1.5 l-1.5 1.5 h-1 l1 -1.5 h-3 z' fill='%23ffffff'/%3E%3Crect x='31' y='27' width='10' height='4' rx='0.5' fill='%23ffffff'/%3E%3Crect x='12' y='34' width='6' height='2' fill='%23ffffff' opacity='0.7'/%3E%3Crect x='22' y='34' width='6' height='2' fill='%23ffffff' opacity='0.7'/%3E%3Crect x='32' y='34' width='6' height='2' fill='%23ffffff' opacity='0.7'/%3E%3Crect x='12' y='37' width='8' height='3' fill='%23ffffff'/%3E%3Crect x='22' y='37' width='8' height='3' fill='%23ffffff'/%3E%3Crect x='32' y='37' width='8' height='3' fill='%23ffffff'/%3E%3Cg fill='%23ffffff'%3E%3Crect x='12' y='44' width='2' height='10'/%3E%3Crect x='15' y='44' width='1' height='10'/%3E%3Crect x='17' y='44' width='3' height='10'/%3E%3Crect x='21' y='44' width='1' height='10'/%3E%3Crect x='23' y='44' width='2' height='10'/%3E%3Crect x='26' y='44' width='1' height='10'/%3E%3Crect x='28' y='44' width='4' height='10'/%3E%3Crect x='33' y='44' width='1' height='10'/%3E%3Crect x='35' y='44' width='2' height='10'/%3E%3Crect x='38' y='44' width='3' height='10'/%3E%3Crect x='42' y='44' width='1' height='10'/%3E%3Crect x='44' y='44' width='2' height='10'/%3E%3Crect x='47' y='44' width='1' height='10'/%3E%3Crect x='49' y='44' width='3' height='10'/%3E%3Crect x='53' y='44' width='2' height='10'/%3E%3Crect x='56' y='44' width='1' height='10'/%3E%3Crect x='58' y='44' width='2' height='10'/%3E%3Crect x='61' y='44' width='3' height='10'/%3E%3C/g%3E%3Cpath d='M78 22 l2.5 -2.5 h3.5 l-1.8 2.5 h3.5 l0.8 -0.8 h0.8 l-0.4 1.6 l0.4 1.6 h-0.8 l-0.8 -0.8 h-3.5 l1.8 2.5 h-3.5 z' fill='%23ffffff'/%3E%3Cg fill='%23ffffff'%3E%3Crect x='73' y='32' width='14' height='14' rx='1'/%3E%3Crect x='75' y='34' width='10' height='10' fill='%23C8B6E2'/%3E%3Crect x='76' y='35' width='3' height='3' fill='%23ffffff'/%3E%3Crect x='81' y='35' width='3' height='3' fill='%23ffffff'/%3E%3Crect x='76' y='40' width='3' height='3' fill='%23ffffff'/%3E%3Crect x='80' y='39' width='2' height='2' fill='%23ffffff'/%3E%3Crect x='83' y='41' width='2' height='2' fill='%23ffffff'/%3E%3C/g%3E%3Crect x='75' y='49' width='10' height='3' rx='0.5' fill='%23ffffff'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    transform: rotate(4deg) translate(1px, 1px) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Survol du bouton : Texte passe en noir + Écartement des billets */
.devis-button:hover {
    color: #000000 !important;
    box-shadow: 0 10px 28px rgba(105, 61, 34, 0.5) !important;
    border-color: rgba(255, 228, 160, 0.95) !important;
    transform: translateY(-2px) !important;
}

.devis-button:hover .icone-billets-css::before {
    transform: rotate(-22deg) translate(-7px, -4px) scale(1.08) !important;
    opacity: 0.75 !important;
    filter: brightness(1.1) !important;
}

.devis-button:hover .icone-billets-css::after {
    transform: rotate(14deg) translate(5px, 2px) scale(1.08) !important;
    opacity: 0.95 !important;
    filter: brightness(1.1) !important;
}

/* ==========================================================================
   BOUTON RETOUR A L'ACCUEIL (.bouton-retour)
   ========================================================================== */

.bouton-retour {
    display: inline-block !important;
    padding: 10px 24px !important;
    background-color: transparent !important;
    border: 1px solid #54301a !important;
    border-radius: 30px !important;
    color: #54301a !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.bouton-retour:hover {
    background-color: #54301a !important;
    color: #ffffff !important;
}

/* ============================================
   BOUTON AVION AVEC SVG SILHOUETTE
   ============================================ */
.bouton-avion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px; 
  margin-top: 20px;
  padding: 12px 28px;
  font-family: 'Montserrat', 'Segoe UI', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3px;
  color: #ffffff;
  background: linear-gradient(135deg, #693d22 0%, #8a532d 100%); 
  border: 1px solid rgba(226, 199, 133, 0.4);
  border-radius: 50px;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(105, 61, 34, 0.2);
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.texte-bouton {
  z-index: 2;
}

/* --- Effets au survol (Hover) --- */
.bouton-avion:hover {
  background: linear-gradient(135deg, #e1c5a0 0%, #54301a 100%);
  border-color: rgba(226, 199, 133, 0.8);
  box-shadow: 0 6px 20px rgba(105, 61, 34, 0.35);
  transform: translateY(-2px);
}

.bouton-avion:hover .icone-avion-css {
  background-color: black; /* S'allume en blanc pur au survol */
  /* L'avion se cabre légèrement à 55° sans jamais déborder du bouton */
  transform: rotate(55deg) translate(2px, -2px) scale(1.08);
}

/* Effet au clic */
.bouton-avion:active {
  transform: translateY(1px);
  box-shadow: 0 2px 8px rgba(105, 61, 34, 0.25);
}

/* ==========================================================================
   RESPONSIVE (MOBILES ET TABLETTES < 992px)
   ========================================================================== */
@media (max-width: 991.98px) {
    .page-detail-formule {
        width: 95% !important;
        margin: 1.5rem auto !important;
    }

    div.page-detail-formule__grille-principale {
        grid-template-columns: 1fr !important;
        border-radius: 30px !important;
        padding: 2rem 0 !important;
    }

    .page-detail-formule__colonne-visuel {
        order: 1 !important;
        padding: 0 1.5rem !important;
    }

    .page-detail-formule__colonne-informations {
        order: 2 !important;
        padding: 2rem 1.5rem 1rem 1.5rem !important;
    }

    div.page-detail-formule__image-cadre {
        height: 280px !important;
    }
}