.lodging-family{margin:26px 0 32px}.lodging-family-title{font:400 29px 'Playfair Display',Georgia,serif;letter-spacing:-.02em;margin:0 0 16px}.lodging-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lodging-card{position:relative;min-width:0;background:#fffcf8;border:1px solid #b9ccbc;padding:22px 24px;scroll-margin-top:24px;display:flex;flex-direction:column}.lodging-card.selected{outline:3px solid #2f6b4b;outline-offset:-3px;background:#eef3e9}.lodging-card-heading{display:flex;align-items:center;gap:12px}.lodging-card h4{font:400 25px 'Playfair Display',Georgia,serif;line-height:1.2;margin:0;letter-spacing:-.02em}.family-number{display:grid;place-items:center;flex:0 0 34px;min-height:34px;background:#e1ecdf;border:1px solid #8aa386;color:#285840;font-size:15px;font-weight:700}.lodging-duration{font-size:14px;font-weight:700;color:#285840;margin:14px 0 10px}.lodging-route{font-size:14px;line-height:1.65;margin:0 0 16px}.family-actions{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:auto}.family-actions .map-button,.family-actions .guide-link{min-height:44px}.family-actions .map-button{font-size:13px}.family-actions .guide-link{font-size:13px}.legacy-anchor{position:absolute;top:0}.legacy-alias:empty{display:none}.map-framing-actions{display:flex;gap:8px 22px;flex-wrap:wrap;padding:0 28px 16px}.map-framing-actions .guide-link{min-height:44px}.map-disclosure,.map-disclosure[aria-expanded=true]{display:inline-flex;width:auto;min-height:44px}.t3b-direction span{display:block;background:#00643c;color:#fff;border:2px solid #fff;font-size:11px;font-weight:700;border-radius:3px;padding:3px 4px;white-space:nowrap}.line-t3b{background:#00643c;color:#fff;border-radius:4px;padding:4px 6px;display:inline-block;margin-right:6px}.lodging-data-status{padding:20px;border:1px solid #b9cdd2;background:#e0ebed}.guide-map-legend .line-legend{margin-top:16px}.paris-map-frame{isolation:isolate}.paris-map:focus-visible{outline:3px solid #955b53;outline-offset:2px}.map-status{pointer-events:none;max-width:calc(100% - 90px);left:65px;right:15px}.leaflet-popup-content{max-width:240px;line-height:1.55}.leaflet-popup-content p{margin:10px 0}.leaflet-container{font-family:'DM Sans',Arial,sans-serif}.map-airport-choice[hidden],#map-explorer[hidden],#other-line-legend[hidden],#t3b-legend[hidden],.line-legend[hidden]{display:none}.lodging-card :focus-visible{outline:3px solid #955b53;outline-offset:4px}
@media(max-width:760px){.lodging-card-grid{grid-template-columns:1fr}.lodging-card{padding:20px}.lodging-card h4{font-size:24px}.lodging-family-title{font-size:27px}.map-disclosure,.map-disclosure[aria-expanded=true]{width:100%;justify-content:center}.map-framing-actions{padding:0 16px 12px;gap:0 15px}.paris-map{height:440px;touch-action:none}.map-status{font-size:12px;padding:10px}.leaflet-popup-content{max-width:200px;font-size:12px}.paris-map-header{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#travel *{scroll-behavior:auto!important}}

@media(min-width:761px){.paris-map{height:620px}}
body{min-width:0}
html{scroll-behavior:auto}

.paris-map .leaflet-control-attribution{font-size:10px;line-height:1.4}
.booking-note [data-i18n=rgTickets]{flex-basis:100%;margin-top:4px}
.guide-section details.lodging-family{margin:14px 0;padding:0;border:1px solid #b9ccbc;background:#fffcf8}
.guide-section .lodging-family-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:18px 22px;list-style:none}
.lodging-family-summary::-webkit-details-marker{display:none}
.lodging-family-summary::marker{content:''}
.lodging-family-summary:hover{background:#e8efeb}
.lodging-family-summary:focus-visible{outline:3px solid #955b53;outline-offset:3px}
.lodging-family-summary .lodging-family-title{margin:0;font-size:clamp(23px,2.5vw,29px);line-height:1.3}
.lodging-family-chevron{flex-shrink:0;color:#955b53;font-size:28px;line-height:1;transform:rotate(0deg)}
.lodging-family[open]>.lodging-family-summary{border-bottom:1px solid #b9ccbc;background:#e8efeb}
.lodging-family[open]>.lodging-family-summary .lodging-family-chevron{transform:rotate(180deg)}
.lodging-family>.lodging-card-grid{padding:18px}
#map-explore.map-disclosure{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:66px;padding:18px 26px;margin:14px 0 28px;background:#375767;color:#fff;border:2px solid #375767;box-shadow:0 4px 0 #c5d5d9;font-size:17px;font-weight:700}
#map-explore::after{content:'↗';font-size:25px;line-height:1}
#map-explore:hover{background:#264858;border-color:#264858;box-shadow:0 5px 0 #b5cbd1}
#map-explore:focus-visible{outline:3px solid #955b53;outline-offset:5px}
@media(max-width:760px){.guide-section .lodging-family-summary{padding:16px;min-height:66px}.lodging-family>.lodging-card-grid{padding:12px}#map-explore.map-disclosure{min-height:64px;font-size:16px;padding:16px 20px}}
@media(min-width:761px){.site-header{height:auto;min-height:90px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.main-nav{flex-wrap:wrap}}
#travel :where(h1,h2,h3,h4,p){overflow-wrap:anywhere}.route-planner .button{height:auto;min-height:50px;white-space:normal}
.site-footer>*{min-width:0}.footer-signature{white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.paris-map .leaflet-popup-content{max-height:220px;overflow-y:auto}.paris-map .leaflet-popup-content a{white-space:normal;overflow-wrap:anywhere}}
