/* ANTONO · winery photographs. Natural proportions, local images, native dialog. */
.winery-gallery{padding-block:78px 90px;background:var(--soft);border-top:1px solid var(--line)}
.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:38px}
.gallery-heading .eyebrow{color:var(--muted);margin-bottom:17px}
.gallery-heading h2{font-size:clamp(34px,3.8vw,52px)}
.gallery-heading>p{max-width:380px;font-size:.9rem;color:var(--muted)}
.gallery-grid{columns:3;column-gap:24px}
.gallery-item{margin:0 0 24px;break-inside:avoid;page-break-inside:avoid}
.gallery-link{position:relative;display:block;background:#e5e5df;cursor:zoom-in;overflow:hidden}
.gallery-link img{display:block;width:100%;height:auto;transition:filter .3s}
.gallery-link::after{content:'+';position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffffa8;background:#101110a8;color:#fff;font:300 25px/1 Arial,sans-serif;transition:background .2s,transform .2s}
.gallery-link:hover img{filter:brightness(.94)}
.gallery-link:hover::after,.gallery-link:focus-visible::after{background:var(--ink);transform:scale(1.08)}
.gallery-item>figcaption{font-family:Arial,sans-serif;font-size:.75rem;line-height:1.5;color:var(--muted);padding-top:10px}
.gallery-item--product .gallery-link{display:grid;place-items:center;grid-template-rows:minmax(0,1fr);aspect-ratio:4/5;min-height:0;padding:20px;background:var(--paper)}
.gallery-item--product .gallery-link img{width:auto;height:auto;max-width:100%;max-height:min(340px,100%);object-fit:contain}
html.gallery-is-open{overflow:hidden}
.gallery-lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#101110f5;color:#fff;overflow:hidden;overscroll-behavior:contain}
.gallery-lightbox::backdrop{background:#101110}
.gallery-lightbox:not([open]){display:none}
.gallery-lightbox [hidden]{display:none!important}
.gallery-lightbox-inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:100%;height:100%;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
.gallery-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}
.gallery-lightbox-title{font-family:Arial,sans-serif;font-size:.73rem;font-weight:400;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;overflow-wrap:anywhere;max-width:80%}
.gallery-lightbox-button{display:inline-grid;place-items:center;flex:0 0 auto;width:48px;height:48px;padding:0;border:1px solid #ffffff54;background:transparent;color:white;transition:background .2s,border-color .2s}
.gallery-lightbox-button:hover{background:#ffffff16;border-color:#ffffffa3}
.gallery-lightbox-button:focus-visible{outline-color:var(--es);outline-offset:3px}
.gallery-lightbox-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.gallery-lightbox-stage{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:24px;min-height:0;touch-action:pan-y pinch-zoom}
.gallery-lightbox-figure{position:relative;display:flex;grid-column:2;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;height:100%;margin:0;overflow:hidden}
.gallery-lightbox-previous{grid-column:1;grid-row:1}.gallery-lightbox-next{grid-column:3;grid-row:1}.gallery-lightbox-stage.is-single{grid-template-columns:1fr}.gallery-lightbox-stage.is-single .gallery-lightbox-figure{grid-column:1}
.gallery-lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.gallery-lightbox-loading,.gallery-lightbox-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;margin:0;padding:24px;text-align:center;font-family:Arial,sans-serif;font-size:.88rem;line-height:1.6;color:#ccc}
.gallery-lightbox-error a{color:white;text-decoration:underline;text-underline-offset:5px}
.gallery-lightbox-meta{display:flex;align-items:baseline;justify-content:space-between;gap:24px;min-width:0;padding:8px 72px 0;font-family:Arial,sans-serif;font-size:.8rem;line-height:1.6;color:#d5d5d0}
.gallery-lightbox-caption{margin:0;overflow-wrap:anywhere;max-height:20vh;overflow-y:auto;scrollbar-width:thin}
.gallery-lightbox-counter{flex:0 0 auto;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.12em;white-space:nowrap}
.gallery-lightbox-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
@media(max-width:1100px){.gallery-grid{columns:2}.gallery-lightbox-stage{gap:16px}.gallery-lightbox-meta{padding-inline:64px}}
@media(max-width:760px){.winery-gallery{padding-block:54px 60px}.gallery-heading{display:block;margin-bottom:28px}.gallery-heading h2{font-size:34px}.gallery-heading>p{margin-top:18px}.gallery-grid{column-gap:16px}.gallery-item{margin-bottom:16px}.gallery-link::after{right:9px;bottom:9px;width:32px;height:32px;font-size:23px}.gallery-lightbox-inner{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:12px}.gallery-lightbox-title{font-size:.65rem;letter-spacing:.1em}.gallery-lightbox-stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 44px;column-gap:0;row-gap:14px}.gallery-lightbox-figure{grid-column:1;grid-row:1}.gallery-lightbox-previous,.gallery-lightbox-next{grid-column:1;grid-row:2;width:52px;height:44px;z-index:1}.gallery-lightbox-previous{justify-self:start;margin-left:calc(50% - 66px)}.gallery-lightbox-next{justify-self:start;margin-left:calc(50% + 14px)}.gallery-lightbox-meta{padding:0 6px;gap:16px;font-size:.75rem}.gallery-lightbox-caption{max-height:16vh}.gallery-lightbox-counter{letter-spacing:.08em}}
@media(max-width:480px){.gallery-grid{columns:1}.gallery-item{margin-bottom:20px}}
@media(max-width:760px){.gallery-lightbox-stage.is-single{grid-template-rows:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.gallery-link img,.gallery-link::after,.gallery-lightbox-button{transition:none}}
@media print{.winery-gallery{padding-block:35px;background:#fff}.gallery-grid{columns:2}.gallery-link::after,.gallery-lightbox{display:none!important}}
.gallery-album+.gallery-album{margin-top:60px;padding-top:48px;border-top:1px solid var(--line)}
.gallery-album-title{font-size:clamp(27px,3vw,40px);margin-bottom:30px}
.gallery-more{margin-top:7px}.gallery-more>summary{width:fit-content;max-width:100%;margin:0 auto;cursor:pointer;list-style:none;padding:16px 26px;border:1px solid var(--ink);font-size:.87rem;text-align:center;transition:background .2s,color .2s}
.gallery-more>summary::-webkit-details-marker{display:none}.gallery-more>summary:hover{background:var(--ink);color:white}.gallery-more>summary:focus-visible{outline:3px solid var(--es);outline-offset:5px}.gallery-more-open{display:none}.gallery-more[open] .gallery-more-open{display:inline}.gallery-more[open] .gallery-more-closed{display:none}.gallery-more[open]>summary{margin-bottom:26px}
.gallery-lightbox-figure.is-product .gallery-lightbox-image{background:white;padding:16px}
.detail-info>.text-link{font-size:.85rem;margin-top:22px;gap:16px}
@media(max-width:760px){.gallery-album+.gallery-album{margin-top:42px;padding-top:36px}.gallery-more>summary{font-size:.82rem;padding:15px 20px}}
