/* Enlarged, centered product media and full-screen viewer */
.product-page{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(36px,5vw,72px);align-items:start}
.product-gallery{grid-template-columns:1fr;gap:18px;min-width:0}
.product-media{position:relative;width:100%;min-height:420px;margin:0;padding:18px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:16px;background:var(--cream);cursor:zoom-in;overflow:hidden}
.product-media img{width:100%;height:auto;max-height:760px;object-fit:contain;object-position:center;border-radius:10px;margin:auto}
.product-media__hint{position:absolute;right:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(16,39,31,.88);color:#fff;font-size:.78rem;font-weight:800;opacity:0;transform:translateY(4px);transition:.2s}
.product-media:hover .product-media__hint,.product-media:focus-visible .product-media__hint{opacity:1;transform:none}
.product-media:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.product-lightbox[hidden]{display:none}
.product-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.product-lightbox__backdrop{position:absolute;inset:0;background:rgba(5,13,10,.92);cursor:zoom-out}
.product-lightbox__dialog{position:relative;z-index:1;width:min(94vw,1500px);height:min(92vh,1000px);display:flex;align-items:center;justify-content:center}
.product-lightbox__image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px}
.product-lightbox__close{position:absolute;top:0;right:0;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:var(--green);font-size:2rem;line-height:1;cursor:pointer;box-shadow:var(--shadow)}
body.lightbox-open{overflow:hidden}

/* Contact page form */
.contact-page{max-width:860px}
.contact-page>h1,.contact-page>.rte{text-align:center;margin-inline:auto}
.contact-form-wrap{margin-top:36px;padding:clamp(22px,4vw,40px);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.contact-form{max-width:100%}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-success{padding:16px;border:1px solid #9bbfa7;border-radius:10px;background:#eef8f0;color:var(--green)}
.errors{padding:14px 18px;border:1px solid #d79b92;border-radius:10px;background:#fff0ed}

@media(max-width:850px){.product-section{padding-top:28px}.product-page{grid-template-columns:1fr}.product-media{min-height:300px;padding:12px}.product-media img{max-height:68vh}.contact-form__row{grid-template-columns:1fr;gap:0}}
