.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px}.theme-tile{display:block;position:relative;aspect-ratio:1.24;overflow:hidden;border:0;border-radius:3px;padding:0;text-align:left;background:#1b322c;color:#fff;cursor:pointer}.theme-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.theme-tile:hover img{transform:scale(1.035)}.theme-tile:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}.theme-tile-label{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:18px 20px;display:flex;justify-content:space-between;align-items:end;gap:12px}.theme-tile-label strong{font-size:19px;line-height:1.2;font-weight:600}.theme-tile-label small{font-size:12px;white-space:nowrap;opacity:.92}.theme-tile:focus-visible,.gallery-dialog button:focus-visible{outline:3px solid #e9b95f;outline-offset:3px}.gallery-dialog{position:fixed;inset:0;width:min(1050px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;border:0;border-radius:4px;padding:22px;background:#f9faf7;color:#18352d;box-shadow:0 20px 80px #0007}.gallery-dialog::backdrop{background:rgba(10,22,18,.84)}.gallery-dialog-head,.gallery-dialog-foot{display:flex;justify-content:space-between;align-items:center;gap:16px}.gallery-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#62756b}.gallery-dialog h3{font:500 25px/1.2 'Playfair Display',serif;margin:4px 0 14px}.gallery-dialog button{cursor:pointer}.gallery-close{border:0;background:transparent;color:#18352d;font-size:36px;line-height:1;width:40px;height:40px;flex:none}.gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#18231e;height:min(62dvh,630px);min-height:220px}.gallery-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.gallery-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:42px;height:50px;border:0;background:#10231dcc;color:#fff;font-size:38px;line-height:1}.gallery-prev{left:0}.gallery-next{right:0}.gallery-caption{margin:10px 0;font-size:13px}.gallery-count{white-space:nowrap;font-size:13px}.gallery-thumbs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px}.gallery-thumbs button{height:60px;width:85px;flex:none;padding:0;border:2px solid transparent;background:#ddd}.gallery-thumbs button[aria-current="true"]{border-color:#216b45}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}@media(max-width:850px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.theme-grid{grid-template-columns:1fr;gap:12px}.theme-tile{aspect-ratio:1.65}.theme-tile-label strong{font-size:17px}.gallery-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:12px}.gallery-stage{height:min(55dvh,480px)}.gallery-dialog h3{font-size:20px}.gallery-thumbs button{height:48px;width:68px}}
.gallery-credit{margin:0 0 10px;font-size:12px;line-height:1.4;color:#52685c}.gallery-credit a{color:#216b45;text-decoration:underline}.gallery-credit[hidden]{display:none}

.theme-tile-text{display:flex;flex-direction:column;gap:4px;min-width:0}.theme-tile-subtitle{font-size:13px;line-height:1.3}

.nearby-section{background:#f3f6f2}.nearby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.nearby-photo{padding:0;border:0;background:#fff;text-align:left;cursor:pointer;color:#202a25;font:600 14px/1.4 "DM Sans",Arial,sans-serif}.nearby-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.nearby-photo span{display:block;padding:12px}.nearby-photo:hover span,.nearby-photo:focus-visible span{color:#216b45}.nearby-photo:focus-visible{outline:3px solid #216b45;outline-offset:3px}@media(max-width:850px){.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.nearby-grid{gap:10px}.nearby-photo{font-size:12px}.nearby-photo span{padding:9px}}

/* Quatre thèmes de galerie */
.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.theme-tile{aspect-ratio:1.08}.theme-tile-label{padding:16px}.theme-tile-label strong{font-size:17px}@media(max-width:1000px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.theme-grid{grid-template-columns:1fr;gap:12px}.theme-tile{aspect-ratio:1.55}.theme-tile-label strong{font-size:17px}}
