/* French stay page: consistent rhythm, preserved photographs and copy. */
body[data-sejour-layout] section:not(.geo-discovery) { padding-block: clamp(48px,5vw,80px) !important; }
body[data-sejour-layout] section h2 { font-size:clamp(32px,3.4vw,48px)!important;line-height:1.12!important;letter-spacing:-.035em!important;max-width:22ch!important;text-wrap:balance; }
body[data-sejour-layout] section h3 { line-height:1.2!important;letter-spacing:-.025em!important; }
body[data-sejour-layout] :is(.sejour-facts-intro,.sejour-day-header,.sejour-choice-header,.room-showcase-header) { display:grid!important;grid-template-columns:1fr 1fr!important;gap:20px 48px!important;align-items:start!important;margin-bottom:36px!important; }
body[data-sejour-layout] :is(.sejour-facts-intro,.sejour-day-header,.sejour-choice-header,.room-showcase-header)>span { grid-column:1/-1; }
body[data-sejour-layout] :is(.sejour-facts-intro,.sejour-day-header,.sejour-choice-header)::before,
body[data-sejour-layout] :is(.sejour-facts-shell,.sejour-comfort-layout,.sejour-host-copy)::before { display:none!important; }
body[data-sejour-layout] :is(.sejour-facts-intro,.sejour-day-header,.sejour-choice-header,.room-showcase-header)>p { padding-left:0!important;border:0!important;line-height:1.75!important; }
body[data-sejour-layout] :is(.sejour-facts-shell,.sejour-comfort-title,.sejour-comfort-copy,.sejour-experience-shell,.sejour-host-copy) { padding:32px!important;border-radius:6px!important;box-shadow:none!important; }
body[data-sejour-layout] :is(.sejour-fact-card,.sejour-private-proofs article,.sejour-day-timeline article,.sejour-choice-grid article,.sejour-experience-card,.room-planning-grid article) { min-height:0!important;padding:24px!important;transform:none!important;border-radius:6px!important;box-shadow:none!important; }
body[data-sejour-layout] :is(.sejour-private-shell,.sejour-comfort-layout,.sejour-host-process-grid,.sejour-faq-bridge) { align-items:start!important;gap:40px!important; }
body[data-sejour-layout] :is(.sejour-private-copy,.sejour-comfort-copy,.sejour-experience-copy,.sejour-experience-footer,.sejour-destination-copy) p { line-height:1.75!important; }
body[data-sejour-layout] .sejour-process-steps { grid-template-columns:1fr!important;gap:0!important;margin-top:24px!important; }
body[data-sejour-layout] .sejour-process-steps article { display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px 16px;min-height:0!important;padding:20px!important;border-bottom:1px solid #e2d9cc; }
body[data-sejour-layout] .sejour-process-steps span { grid-row:1/3;margin:0!important;font-size:24px!important; }
body[data-sejour-layout] .sejour-process-steps :is(strong,p) { margin:0!important;overflow-wrap:normal!important;word-break:normal!important; }
body[data-sejour-layout] .sejour-process-steps p { grid-column:2; }
body[data-sejour-layout] .sejour-faq-list article { padding:24px 24px 24px 64px!important; }
body[data-sejour-layout] .sejour-faq-list article::before { left:24px!important;top:27px!important;font-size:14px!important;line-height:1.4!important; }
body[data-sejour-layout] .sejour-faq-list h3 { font-size:24px!important; }
body[data-sejour-layout] .room-feature-card { padding:0!important;border:1px solid #d9cdbd!important;border-radius:6px!important;background:#fffcf7!important;box-shadow:0 12px 30px rgb(40 30 20 / 7%)!important;overflow:hidden!important; }
body[data-sejour-layout] .room-feature-card::before { display:none!important; }
body[data-sejour-layout] .room-feature-content { padding:28px!important;border:0!important;background:#fffcf7!important; }
body[data-sejour-layout] .room-feature-content::before { display:none!important; }
body[data-sejour-layout] .room-feature-content p { line-height:1.65!important; }
body[data-sejour-layout] .room-lead { font-size:20px!important; }
body[data-sejour-layout] .room-key-points { gap:8px!important;margin-block:20px!important; }
body[data-sejour-layout] .room-amenities-panel { margin-top:20px!important;padding-top:16px!important; }
body[data-sejour-layout] .room-ideal-box { padding:16px!important;margin-top:20px!important; }
body[data-sejour-layout] .room-feature-badge { max-width:50%!important;padding:14px!important; }
body[data-sejour-layout] .room-feature-photo-detail { border-width:4px!important;border-radius:4px!important; }
body[data-sejour-layout] .sejour-host-portrait { margin-top:0!important;align-self:start!important; }
body[data-sejour-layout] .sejour-final-cta-content { padding:40px!important; }
body[data-sejour-layout] .sejour-final-cta-content p { font-size:20px!important;line-height:1.7!important; }
body[data-sejour-layout] .hero-title-part2 { color:#f2dfb6!important;text-shadow:0 2px 10px rgb(0 0 0 / 70%); }
body[data-sejour-layout] :is(.sejour-details-text,.sejour-romance-text,.sejour-groups-header) p { color:#756959; }
@media(min-width:951px) {
 body[data-sejour-layout] .room-feature-card { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;align-items:start!important; }
 body[data-sejour-layout] .room-feature-media { height:620px!important;min-height:0!important;align-self:start!important; }
 body[data-sejour-layout] .room-feature-photo-main,body[data-sejour-layout] .room-feature-photo-main img { height:620px!important;min-height:0!important; }
 body[data-sejour-layout] .room-feature-card-reverse .room-feature-content { grid-column:1!important;grid-row:1!important; }
 body[data-sejour-layout] .room-feature-card-reverse .room-feature-media { grid-column:2!important;grid-row:1!important; }
}
@media(max-width:950px) {
 body[data-sejour-layout] :is(.sejour-facts-intro,.sejour-day-header,.sejour-choice-header,.room-showcase-header) { grid-template-columns:1fr!important;gap:20px!important; }
 body[data-sejour-layout] section h2 { font-size:clamp(30px,7.8vw,38px)!important;line-height:1.15!important;max-width:none!important; }
 body[data-sejour-layout] :is(.sejour-facts-shell,.sejour-comfort-title,.sejour-comfort-copy,.sejour-experience-shell,.sejour-host-copy) { padding:20px!important; }
 body[data-sejour-layout] .room-feature-card { grid-template-columns:1fr!important; }
 body[data-sejour-layout] .room-feature-content { padding:20px!important; }
 body[data-sejour-layout] .room-feature-card .room-feature-media { height:300px!important;min-height:0!important;border-radius:0!important; }
 body[data-sejour-layout] .room-feature-card .room-feature-photo-main,body[data-sejour-layout] .room-feature-card .room-feature-photo-main img { height:300px!important;min-height:0!important; }
 body[data-sejour-layout] .room-feature-content h3 { font-size:30px!important; }
 body[data-sejour-layout] .sejour-faq-list article { padding:22px 20px 22px 54px!important; }
 body[data-sejour-layout] .sejour-faq-list article::before { left:18px!important;top:25px!important; }
 body[data-sejour-layout] .sejour-faq-list h3 { font-size:22px!important; }
 body[data-sejour-layout] .sejour-romance-visual { order:-1!important; }
 body[data-sejour-layout] .sejour-romance-visual img { max-height:380px!important;object-fit:cover; }
 /* Header height follows the shared hero rules, including tablet and landscape. */
 body[data-sejour-layout] .hero-sejour .hero-bg img { object-position:50% 65%!important; }
 body[data-sejour-layout] .sejour-final-cta-content { padding:28px 20px!important; }
 body[data-sejour-layout] .sejour-final-cta-content p { font-size:18px!important;line-height:1.7!important; }
 body[data-sejour-layout] .sejour-experience-grid { gap:14px!important;margin-top:24px!important; }
 body[data-sejour-layout] .sejour-experience-footer { margin-top:28px!important; }
 body[data-sejour-layout] .sejour-experience-closing { font-size:19px!important; }
}
/* Keep the room image aligned with the full descriptive panel on wide screens. */
@media(min-width:951px) {
 body[data-sejour-layout] .room-feature-card { align-items:stretch!important; }
 body[data-sejour-layout] .room-feature-card .room-feature-media { height:auto!important;align-self:stretch!important; }
 body[data-sejour-layout] .room-feature-card .room-feature-photo-main { position:absolute!important;inset:0!important;height:100%!important; }
 body[data-sejour-layout] .room-feature-card .room-feature-photo-main img { height:100%!important; }
 body[data-sejour-layout] .room-feature-content h3 { font-size:36px!important;margin:10px 0 16px!important; }
 body[data-sejour-layout] .room-feature-content .room-lead { font-size:18px!important;line-height:1.55!important; }
}
body[data-sejour-layout] .room-feature-card { scroll-margin-top:100px!important; }
@media(max-width:950px) { body[data-sejour-layout] .room-feature-card { scroll-margin-top:84px!important; } }
