/* Les Chalets Bleus — compact guide, stable moments and responsive interactions. */
/* A quieter, more continuous rhythm across the site. */




body[data-page=home] .card-image img{}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 body[data-page=home] .card-image:hover img,body[data-page=home] .card-image:focus-visible img{}
}
.gs-pastilles a{display:inline-block;transform-origin:50% 75%;}
#cb-guide .nearby-landscape{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;align-items:center;isolation:isolate;padding:18px 0 24px;}
#cb-guide .nearby-landscape:after{content:"";position:absolute;inset:52% 13% auto 49%;height:3px;background:#91ad83;z-index:-1;}
#cb-guide .nearby-node{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;color:var(--deep);text-decoration:none;min-width:0;}
#cb-guide .nearby-photo{display:block;width:100px;height:100px;border-radius:50%;background:#fff;border:4px solid #fff;box-shadow:0 0 0 1px #cbd9e2;overflow:hidden;flex-shrink:0;}
#cb-guide .nearby-photo img{width:100%;height:100%;object-fit:cover;}
#cb-guide .nearby-node:hover .nearby-photo,#cb-guide .nearby-node:focus-visible .nearby-photo{box-shadow:0 0 0 2px #6d9fae,0 9px 20px #17304719;}
#cb-guide .nearby-node:hover .nearby-photo img{}
#cb-guide .nearby-name{font:600 22px/1.12 CBGuideCormorant,Georgia,serif;margin-top:12px;}
#cb-guide .nearby-caption{font-size:12px;line-height:1.4;color:#5d7385;margin-top:5px;}
#cb-guide .nearby-river{position:relative;padding:18px 0;}
#cb-guide .nearby-river:before{content:"";position:absolute;inset:-10px 7% -20px 0;background:#e5f1f5;border-radius:45% 55% 58% 42% / 40% 35% 65% 60%;z-index:-1;}
#cb-guide .river-lines{position:absolute;inset:-10px 0 auto;width:90%;height:110%;z-index:-1;fill:none;stroke:#a7cbd8;stroke-width:1.2;opacity:.6;}
#cb-guide .river-dot .nearby-photo{width:140px;height:140px;}
#cb-guide .home-dot .nearby-photo{width:154px;height:154px;box-shadow:0 0 0 2px #1c486b,0 0 0 11px #edf3f6;padding:12px;}
#cb-guide .home-dot .nearby-photo img{object-fit:contain;}
#cb-guide .home-dot .nearby-caption{color:#1c486b;font-weight:600;}
#cb-guide .bike-dot .nearby-photo{width:120px;height:120px;box-shadow:0 0 0 2px #91ad83;}
#cb-guide .nearby-road{position:relative;text-align:center;margin:3px 0 22px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5d7860;}
#cb-guide .nearby-road:before{content:"";position:absolute;left:6%;right:6%;top:50%;border-top:2px dashed #b6c7ac;z-index:0;}
#cb-guide .nearby-road span{position:relative;background:white;padding:0 12px;}
#cb-guide .nearby-stops{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0;}
#cb-guide .nearby-stops li{text-align:center;min-width:0;position:relative;}
#cb-guide .nearby-stops .nearby-name{font-size:20px;max-width:170px;min-height:2.24em;}
#cb-guide .nearby-time{display:inline-block;font-size:11px;color:#1c486b;background:#eef4f7;border-radius:20px;padding:2px 9px;margin-top:7px;}
#cb-guide .stop-tradition .nearby-photo img{object-position:24% center;}
#cb-guide .poster-photo{background:#eef2ed;display:flex;align-items:center;}
#cb-guide .poster-photo img{object-fit:contain;}
#cb-guide #lupo .poster-photo{aspect-ratio:2550/1180;}
#cb-guide #boucherie .poster-photo{aspect-ratio:1654/1012;}
#cb-guide .full-poster{background:#edf3f6;}
#cb-guide .full-poster img{object-fit:contain!important;padding:12px;}
#cb-guide .nearby-credit{font-size:11px;color:#607487;text-align:center;padding:10px;}
@media(max-width:1000px){
 #cb-guide .nearby-stops{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;}
}
@media(max-width:600px){
 #cb-guide .nearby-landscape{grid-template-columns:1fr 1fr;gap:15px 10px;padding:8px 0 16px;}
 #cb-guide .nearby-landscape:after{display:none;}
 #cb-guide .nearby-river{padding:12px 0;}
 #cb-guide .river-dot .nearby-photo{width:100px;height:100px;}
 #cb-guide .home-dot .nearby-photo{width:112px;height:112px;padding:7px;box-shadow:0 0 0 2px #1c486b,0 0 0 7px #edf3f6;}
 #cb-guide .nearby-name{font-size:21px;}
 #cb-guide .nearby-bike{grid-column:1/-1;padding:5px 0 0;position:relative;}
 #cb-guide .nearby-bike:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:3px solid #91ad83;z-index:-1;}
 #cb-guide .bike-dot{width:fit-content;margin:auto;background:white;padding:0 12px;display:grid;grid-template-columns:52px auto;text-align:left;column-gap:12px;}
 #cb-guide .bike-dot .nearby-photo{width:52px;height:52px;grid-row:1/3;border-width:2px;}
 #cb-guide .bike-dot .nearby-name{margin:0;align-self:end;}
 #cb-guide .bike-dot .nearby-caption{margin:0;align-self:start;}
 #cb-guide .nearby-road{margin:5px 0 18px;}
 #cb-guide .nearby-stops{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;}
 #cb-guide .nearby-stops .nearby-photo{width:88px;height:88px;}
 #cb-guide .nearby-stops .nearby-name{font-size:21px;margin-top:9px;}
 #cb-guide .nearby-stops .nearby-caption{font-size:12px;}
 #cb-guide .route-note{font-size:11px;margin-top:18px;}
}
@media(prefers-reduced-motion:reduce){
 #cb-guide .nearby-node .nearby-photo,#cb-guide .nearby-node .nearby-photo img{}
 
}
.hero-location{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none;max-width:100%;width:fit-content;border-radius:6px;}
.hero-location:hover,.hero-location:focus-visible{color:#ffe0a0;background:#ffffff14;}
.hero-location .icon,.essential .icon{}
.hero-location:hover .icon{color:#ffd077;}
body[data-page=home] .hero-actions .button{}
body[data-page=home] .hero-actions .button:hover{background:#f5ce82;color:#173047;box-shadow:0 8px 22px #071c3430;}
.essential{}
.essential:hover{background:#e9f3fb;border-color:#8bbacb;box-shadow:0 4px 16px #1c486b14;}
.essential:hover .icon{color:#1c486b;filter:drop-shadow(0 2px 3px #94d4dd);}
#moments .moments-photos{height:320px;align-self:center;}
#moments .moment-photo{height:100%;width:100%;aspect-ratio:auto;}
#moments #moment-title{height:var(--moment-title-height,3.36em);min-height:0;display:flex;align-items:center;margin:0;line-height:1.12;}
#moments .moment-panels{height:var(--moment-panel-height,82px);min-height:0;}
#moments .moments-copy{min-width:0;}
#moments .moment-tabs button{}
#moments .moment-tabs button:hover{color:#ffe0a0;text-shadow:0 0 16px #f5ce8255;}
body[data-page=faq] main img,body[data-page=about] main img,.home-faq img{scale:1!important;}
.footer-actions a[href$="guide/"]{font-weight:600;text-underline-offset:4px;}
#cb-guide .lg-fn{color:white;}
/* Keep the existing photo frames; trim the surrounding copy and whitespace. */
#cb-guide .chapter{padding-top:38px;padding-bottom:24px;}
#cb-guide .chapter-title{margin-bottom:20px;}
#cb-guide .grid{gap:28px 28px;}
#cb-guide .card-body{padding-top:12px;}
#cb-guide .card-body>p{margin-bottom:8px;font-size:16px;line-height:1.45;}
#cb-guide .card-body h3{margin-bottom:7px;}
#cb-guide .where{letter-spacing:.025em;}
#cb-guide .actions{gap:8px;align-items:center;margin-top:8px;}
#cb-guide .actions .action-icon{width:42px;height:42px;min-width:42px;padding:10px;border-radius:50%;background:#fff;border:1px solid #ccdae6;color:#1c486b;}
#cb-guide .actions .action-icon:hover{background:#e9f3fb;box-shadow:0 4px 12px #1c486b18;}
#cb-guide .actions .action-icon svg{width:19px;height:19px;}
#cb-guide .season-line{margin:4px 0 6px;}
#cb-guide .season-inline{background:transparent;padding:0;color:#5d7385;font-size:13px;gap:5px;border-radius:0;}
#cb-guide .promo{padding:7px 10px;margin-bottom:8px;font-size:14px;}
#cb-guide .card-details{margin-top:8px;font-size:14px;color:#5d7385;}
#cb-guide .card-details summary{cursor:pointer;padding:5px 0;width:fit-content;font-weight:600;font-size:13px;color:#1c486b;}
#cb-guide .card-details .insider{padding-top:5px;font-size:14px;line-height:1.45;}
#cb-guide .feature-copy{padding:24px;}
#cb-guide .unique{padding-top:36px;padding-bottom:24px;}
#cb-guide .feature{margin-bottom:22px;}
#cb-guide .band,#cb-guide .thanks{padding-block:36px;}
@media(max-width:700px){
 #moments .moments-photos{height:245px;}
 #moments .moment-panels{height:var(--moment-panel-height,100px);}
 #moments .moment-tabs{gap:5px;justify-content:space-between;margin:12px 0;}
 #moments .moment-tabs button{min-height:44px;}
 #cb-guide .chapter{padding-top:28px;padding-bottom:20px;}
 #cb-guide .grid{gap:25px;}
 #cb-guide .card-body{padding-top:11px;}
 #cb-guide .actions .action-icon{width:44px;height:44px;min-width:44px;}
 #cb-guide .card-details summary{min-height:36px;display:list-item;padding:8px 0;}
 #cb-guide .chapter-title{margin-bottom:16px;}
 #cb-guide .unique{padding-top:28px;padding-bottom:18px;}
 #cb-guide .feature-copy{padding:20px;}
}
@media(prefers-reduced-motion:reduce){
 .hero-location,.hero-location .icon,.essential,.essential .icon,body[data-page=home] .hero-actions .button,#cb-guide .action-icon{}
}
