/* Styles spécifiques à la page Noël : la page d'accueil reste inchangée. */
.noel-page .noel-hero{min-height:630px;background-position:center 42%}
.noel-page .noel-hero:before{background:linear-gradient(90deg,rgba(4,14,32,.91),rgba(4,14,32,.58) 55%,rgba(4,14,32,.12))}
.noel-page .noel-hero h1 em{font-style:normal;color:#f2d78d}
.noel-highlights{position:relative;z-index:2;margin-top:-44px;margin-bottom:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.noel-highlight{background:#fff;border:1px solid #eee4ce;border-radius:18px;padding:22px 18px;box-shadow:0 12px 35px rgba(5,20,40,.1);display:flex;flex-direction:column;gap:6px;text-align:center}
.noel-highlight>span{color:#b88b28;font-size:27px}.noel-highlight strong{color:#14243d;font-size:17px}.noel-highlight small{color:#657181;font-size:13px}
.noel-page .utopia-intro{padding:78px 0}.noel-page .utopia-section-title{margin-bottom:20px}.noel-page .utopia-muted{line-height:1.75}
.noel-poster img{object-fit:contain;background:#101d3c;max-height:620px}.noel-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:30px}
.noel-card{background:white;border-radius:20px;overflow:hidden;box-shadow:0 12px 35px rgba(8,26,45,.09)}.noel-card img{display:block;width:100%;height:290px;object-fit:cover}.noel-card-content{padding:28px}.noel-card h3,.noel-price h3,.noel-group-grid h3{font-family:Georgia,serif;color:#14243d;font-size:26px;margin:12px 0}.noel-card p{color:#5d6a7b;line-height:1.7}
.noel-info{padding:13px 0;border-bottom:1px solid #e6e9ec;display:flex;gap:15px;flex-wrap:wrap}.noel-info strong{color:#14243d;min-width:100px}.noel-info span{flex:1;color:#566477}.noel-outline{border-color:#a88132;color:#14243d;background:transparent}.noel-outline:hover{background:#14243d;color:#fff}
.noel-section-intro{max-width:730px}.noel-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.noel-price{background:white;border:1px solid #e8e0d0;border-radius:20px;padding:28px;box-shadow:0 10px 30px rgba(8,26,45,.06)}.noel-price-featured{border:2px solid #d7ad51}.noel-price>p{min-height:46px;color:#667181}.noel-price-line{border-top:1px solid #e8e9eb;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.noel-price-line span{color:#4e5c6e}.noel-price-line strong{font-size:25px;color:#14243d;white-space:nowrap}.noel-fineprint{font-size:13px;color:#687383;margin-top:20px}
.noel-booking{background:#fff;border:1px solid #eadbbd;border-radius:25px;padding:42px;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;box-shadow:0 12px 38px rgba(8,26,45,.07)}.noel-booking-side{border-left:1px solid #e6dfd3;padding-left:35px}.noel-booking-side h3{font-family:Georgia,serif;color:#14243d}.noel-booking-side a{font-size:20px;font-weight:700;color:#a27b25}
.noel-gift-photo{background:#fff;display:flex;align-items:center;justify-content:center;padding:25px}.noel-gift-photo img{object-fit:contain;min-height:250px;max-height:380px}.noel-group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.noel-group-grid article{border:1px solid #e6e0d5;border-radius:18px;padding:25px;background:#fff}.noel-group-grid article>span{font-family:Georgia,serif;font-size:32px;color:#bb943e}.noel-group-grid p{color:#5c697b;line-height:1.7}.noel-group-cta{margin-top:28px;padding:28px;border-radius:18px;background:#14243d;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.noel-group-cta p{margin:0;color:#fff;font-size:18px}
@media(max-width:991px){.noel-prices{grid-template-columns:1fr 1fr}.noel-group-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.noel-page .noel-hero{min-height:560px}.noel-highlights{grid-template-columns:1fr;margin-top:-25px}.noel-card-grid,.noel-prices,.noel-group-grid,.noel-booking{grid-template-columns:1fr}.noel-page .utopia-intro{padding:52px 0}.noel-card img{height:230px}.noel-booking{padding:25px}.noel-booking-side{border-left:0;border-top:1px solid #e6dfd3;padding:22px 0 0}.noel-group-cta{padding:22px}}

/* Les trois encadrés des temps forts restent parfaitement alignés. */
.noel-highlights { align-items: stretch; }
.noel-highlights > .noel-highlight {
  margin: 0;
  transform: none;
  display: grid;
  grid-template-rows: 36px minmax(48px, auto) minmax(36px, auto);
  align-items: center;
  justify-items: center;
  align-content: center;
}
.noel-highlights > .noel-highlight > span,
.noel-highlights > .noel-highlight > strong,
.noel-highlights > .noel-highlight > small { margin: 0; }
@media (max-width: 767px) {
  .noel-highlights > .noel-highlight { grid-template-rows: 36px auto auto; }
}

/* Correction V2 : toutes les cartes commencent sur la même ligne.
   Le texte long du Père Noël ne doit pas déplacer sa carte. */
.noel-page .noel-highlights {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  align-content: start !important;
}
.noel-page .noel-highlights > .noel-highlight {
  box-sizing: border-box !important;
  position: relative !important;
  top: 0 !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: none !important;
  align-self: stretch !important;
  height: 100% !important;
  min-height: 170px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px;
}
.noel-page .noel-highlight > span {display:block;flex:0 0 36px;line-height:36px;}
.noel-page .noel-highlight > strong {display:block;line-height:1.4;min-height:48px;}
.noel-page .noel-highlight > small {display:block;line-height:1.5;}
@media(max-width:767px){
  .noel-page .noel-highlights {grid-template-columns: 1fr !important;}
  .noel-page .noel-highlights > .noel-highlight {height:auto !important;min-height:0;}
  .noel-page .noel-highlight > strong {min-height:0;}
}

/* V3 : grille sur un élément distinct de .container pour éviter les pseudo-éléments Bootstrap clearfix. */
