[hidden]{display:none!important}.photo-preview{padding:86px 0 92px;background:#f4efe8;scroll-margin-top:28px}.photo-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px}.photo-heading h2{font-size:clamp(2.4rem,4.4vw,4.2rem);margin-bottom:18px}.photo-heading p:not(.eyebrow){max-width:580px;color:var(--muted);margin-bottom:0}.photo-heading .button{flex-shrink:0}.photo-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.photo-tile{align-self:start;display:block;width:100%;padding:0;background:none;border:0;text-align:left;cursor:pointer;min-width:0}.photo-frame{position:relative;display:block;overflow:hidden;border-radius:20px;aspect-ratio:4/5;background:var(--cream)}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.photo-tile:hover img{transform:scale(1.035)}.photo-tile:focus-visible{outline:3px solid var(--blue);outline-offset:7px;border-radius:20px}.photo-tile[data-photo="2"] .photo-frame img{object-position:50% 85%!important;transform:scale(1.35);transform-origin:50% 85%}.photo-tile[data-photo="2"]:hover .photo-frame img{transform:scale(1.38)}.photo-caption{display:block;padding:15px 2px 0;font-size:1rem;font-weight:700;line-height:1.4}.photo-footnote{margin:26px 0 0;font-size:.85rem;color:var(--muted)}.gallery-page{padding:150px 0 80px;min-height:80vh}.gallery-view .site-header{background:var(--blue);position:relative;top:0}.gallery-view .gallery-page{padding-top:42px}.gallery-view #home-content{display:none}.gallery-back{display:inline-flex;min-height:44px;align-items:center;font-size:.9rem;font-weight:700;color:var(--blue);margin-bottom:32px}.gallery-intro{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:45px;margin-bottom:42px}.gallery-intro h2{font-size:clamp(2.8rem,5vw,5rem);margin:0}.gallery-intro>p{margin:0;color:var(--muted);max-width:390px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.gallery-bottom{margin-top:60px;padding:32px;background:var(--cream);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.gallery-bottom h3{font-size:1.5rem;margin:0 0 5px}.gallery-bottom p{margin:0;color:var(--muted)}.gallery-lightbox{width:min(1100px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;background:var(--blue-deep);color:var(--paper);border:0;border-radius:20px;overflow:hidden}.gallery-lightbox::backdrop{background:rgba(12,18,38,.85);backdrop-filter:blur(7px)}.photo-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:12px}.photo-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid #ffffff55;border-radius:50%;background:none;color:inherit;cursor:pointer}.photo-close svg{width:20px;height:20px}.photo-stage{height:min(67dvh,760px);background:#11172e;display:flex;justify-content:center}.photo-stage img{display:block;width:100%;height:100%;object-fit:contain}.photo-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;gap:12px}.photo-controls button{border:1px solid #ffffff55;border-radius:99px;background:none;color:inherit;min-width:48px;min-height:44px;cursor:pointer;font-size:1.3rem}.photo-controls span{font-size:.85rem}.photo-toolbar p{margin:0;font-weight:700}.gallery-view .order-dock-anchor{display:none}
@media(max-width:700px){.photo-preview{padding:52px 0 58px}.photo-heading{align-items:start;flex-direction:column;gap:20px}.photo-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.photo-preview-grid .photo-tile:last-child{grid-column:1/-1}.photo-preview-grid .photo-tile:last-child .photo-frame{aspect-ratio:16/9}.photo-caption{font-size:.9rem;padding-top:11px}.photo-frame{border-radius:14px}.gallery-intro{display:block}.gallery-intro>p{margin-top:22px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.gallery-bottom{padding:24px;align-items:start;flex-direction:column}.gallery-page{padding-bottom:45px}.photo-toolbar{padding:12px 14px}.photo-toolbar p{font-size:.9rem}.photo-controls{padding:12px 14px}.photo-stage{height:62dvh}}
@media(max-width:700px){.gallery-intro h2{font-size:clamp(2rem,9vw,2.5rem)}.gallery-intro{margin-bottom:30px}.gallery-back{margin-bottom:22px}.gallery-view .gallery-page{padding-top:24px}.photo-tile[data-photo="2"] .photo-frame img,.photo-tile[data-photo="2"]:hover .photo-frame img{transform:none;object-position:50% 92%!important}.photo-preview-grid .photo-tile:last-child .photo-frame{aspect-ratio:4/3}}
@media(max-width:700px){.gallery-grid .photo-tile[data-photo="2"] .photo-frame img,.gallery-grid .photo-tile[data-photo="2"]:hover .photo-frame img{transform:scale(1.35);transform-origin:50% 85%}}
@media(prefers-reduced-motion:reduce){.photo-frame img{transition:none}}

/* Planning lisible sur téléphone, un service par ligne. */
@media(max-width:680px){
.planning-section{padding:60px 0}.planning-grid{gap:28px}.planning-copy h2{font-size:clamp(2rem,9vw,2.7rem);line-height:1.12}.planning-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.65}.planning-actions{align-items:stretch;gap:10px;margin-top:22px}.planning-actions .button,.planning-news{justify-content:center;width:100%}
.weekly-table tbody tr{grid-template-columns:minmax(0,1fr);margin-bottom:18px;border-radius:16px;background:var(--paper)}
.weekly-table tbody th:first-child{padding:12px 18px;font-size:1rem;font-weight:700;line-height:1.5}
.weekly-table td,.weekly-table td:has(.location-trigger){display:grid;grid-template-columns:62px minmax(0,1fr);padding:0;align-items:stretch;min-width:0;border-left:0}
.weekly-table td+td{border-left:0;border-top:1px solid var(--line)}
.weekly-table td::before{margin:0;padding:19px 0 16px 16px;font-size:.6rem;letter-spacing:.08em;line-height:1.5;align-self:start}
.weekly-table .location-trigger{height:auto;min-height:0;padding:16px 16px 17px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;min-width:0}
.weekly-table td strong{font-size:1rem;line-height:1.35;margin:0;overflow-wrap:normal;hyphens:auto}
.weekly-table td .location-trigger>span{font-size:.84rem;line-height:1.55;overflow-wrap:normal}
.weekly-table .location-trigger small{font-size:.76rem;line-height:1.4;margin-top:5px;gap:6px;min-height:24px}
.weekly-table .location-trigger small svg{flex-shrink:0;width:16px;height:16px}
.weekly-table td:has(.no-service){background:#f5f1eb}
.weekly-table td .no-service{padding:17px 16px 17px 10px;font-size:.81rem;line-height:1.5;color:var(--muted)}
.weekly-weekend{padding:22px 20px;margin-top:24px;gap:18px}.weekly-weekend strong{font-size:1rem;line-height:1.4}.weekly-weekend p{font-size:.85rem;line-height:1.6}.weekly-weekend a{width:100%;text-align:center}
}
