/* V28 — Galleria fotografica azienda */
.company-gallery-section{overflow:hidden}
.company-gallery-heading{margin-bottom:1.4rem}
.company-gallery-shell{min-width:0}
.company-gallery-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-bottom:.65rem}
.company-gallery-counter{min-width:4.25rem;color:var(--color-text-soft);font-size:.82rem;font-variant-numeric:tabular-nums;text-align:right}
.company-gallery-controls{display:flex;gap:.45rem}
.company-gallery-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-white);color:var(--color-green-deep);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.company-gallery-button:hover,.company-gallery-button:focus-visible{transform:translateY(-1px);border-color:rgba(79,125,59,.4)}
.company-gallery-button:disabled{opacity:.34;cursor:default;transform:none}
.company-gallery-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.company-gallery-track{display:flex;align-items:stretch;gap:.85rem;overflow-x:auto;overflow-y:hidden;padding:.2rem 0 .85rem;scroll-snap-type:x mandatory;scroll-padding-inline:.1rem;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.company-gallery-track::-webkit-scrollbar{display:none}
.company-gallery-slide{flex:0 0 auto;height:clamp(390px,47vw,560px);display:grid;place-items:center;margin:0;overflow:hidden;scroll-snap-align:start;border:1px solid rgba(79,125,59,.13);border-radius:20px 20px 20px 9px;background:#fff;box-shadow:0 12px 28px rgba(38,54,38,.07)}
.company-gallery-slide--tall{width:clamp(245px,27vw,330px)}
.company-gallery-slide--medium{width:clamp(310px,34vw,420px)}
.company-gallery-slide--wide{width:clamp(440px,52vw,650px)}
.company-gallery-slide img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:#fff;transform:scale(1);transition:transform .34s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.company-gallery-slide:hover img{transform:scale(1.012)}}
:root[data-theme="dark"] .company-gallery-slide,:root[data-theme="dark"] .company-gallery-slide img{background:#fff}
:root[data-theme="dark"] .company-gallery-button{background:#f8faf6;color:#173b21;border-color:#86928a}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .company-gallery-slide,:root:not([data-theme]) .company-gallery-slide img{background:#fff}:root:not([data-theme]) .company-gallery-button{background:#f8faf6;color:#173b21;border-color:#86928a}}
@media(max-width:700px){.company-gallery-toolbar{margin-bottom:.5rem}.company-gallery-slide{width:min(84vw,390px);height:min(64vh,560px);min-height:390px}.company-gallery-slide--wide{width:min(92vw,520px)}}
@media(max-width:420px){.company-gallery-slide{width:86vw;height:58vh;min-height:360px;border-radius:16px 16px 16px 8px}.company-gallery-slide--wide{width:92vw}.company-gallery-button{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.company-gallery-track{scroll-behavior:auto!important}.company-gallery-slide img,.company-gallery-button{transition:none!important}}


/* V30 — anteprima desktop più compatta + lightbox a tutto schermo */
.company-gallery-slide{cursor:zoom-in}
@media(min-width:900px){
  .company-gallery-slide{height:clamp(300px,32vw,420px)}
  .company-gallery-slide--tall{width:clamp(210px,22vw,285px)}
  .company-gallery-slide--medium{width:clamp(270px,29vw,370px)}
  .company-gallery-slide--wide{width:clamp(390px,43vw,560px)}
}
body.lightbox-open{overflow:hidden}
.company-lightbox[hidden]{display:none!important}
.company-lightbox{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:clamp(.65rem,2vw,1.2rem)}
.company-lightbox-backdrop{position:absolute;inset:0;background:rgba(7,10,8,.94);backdrop-filter:blur(4px)}
.company-lightbox-dialog{position:relative;z-index:1;width:min(96vw,1500px);height:min(94dvh,980px);display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center}
.company-lightbox-figure{min-width:0;min-height:0;height:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:.55rem}
.company-lightbox-figure img{display:block;max-width:100%;max-height:calc(94dvh - 3.2rem);width:auto;height:auto;object-fit:contain;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.company-lightbox-figure figcaption{color:#fff;font-size:.82rem;font-variant-numeric:tabular-nums}
.company-lightbox-close,.company-lightbox-nav{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.10);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .18s ease,transform .18s ease}
.company-lightbox-close:hover,.company-lightbox-nav:hover,.company-lightbox-close:focus-visible,.company-lightbox-nav:focus-visible{background:rgba(255,255,255,.18)}
.company-lightbox-close{position:absolute;top:.15rem;right:.15rem;z-index:3;width:46px;height:46px;border-radius:50%;font-size:1.7rem;line-height:1}
.company-lightbox-nav{width:50px;height:66px;border-radius:14px;font-size:2.4rem;justify-self:center}
.company-lightbox-nav:disabled{opacity:.25;cursor:default}
.company-lightbox-nav span{transform:translateY(-2px)}
@media(max-width:700px){
  .company-lightbox{padding:.45rem}
  .company-lightbox-dialog{width:100%;height:96dvh;grid-template-columns:44px minmax(0,1fr) 44px}
  .company-lightbox-nav{width:40px;height:54px;font-size:2rem}
  .company-lightbox-close{width:42px;height:42px;top:.35rem;right:.35rem}
  .company-lightbox-figure img{max-height:calc(96dvh - 3rem)}
}
@media(prefers-reduced-motion:reduce){.company-lightbox-close,.company-lightbox-nav{transition:none!important}}
