/* ITALIO v7.4 — product zoom, specification view, organised gallery and legal footer. */
:root{--v74-navy:#062c55;--v74-gold:#bd8935;--v74-paper:#f7f6f2;--v74-line:#e6e1d8;--v74-ink:#24374a}

/* Product detail: complete fit + zoom entry without disturbing image sizing. */
body[data-page="product-detail"] .v70-main-image-wrap{cursor:zoom-in;isolation:isolate}
body[data-page="product-detail"] .v70-main-image-wrap>img[data-detail-main-image]{cursor:zoom-in;user-select:none;-webkit-user-drag:none}
.v74-zoom-hint{position:absolute;top:12px;right:12px;z-index:4;border:1px solid rgba(6,44,85,.12);background:rgba(255,255,255,.92);color:var(--v74-navy);border-radius:999px;padding:8px 11px;font:700 9px/1 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 5px 20px rgba(6,44,85,.08);pointer-events:none}

/* Full-screen product zoom viewer. */
.v74-product-lightbox{position:fixed;inset:0;z-index:10000;background:rgba(4,15,28,.94);display:none;grid-template-rows:auto 1fr auto;color:#fff}
.v74-product-lightbox.open{display:grid}
.v74-lb-bar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.11);background:rgba(2,18,35,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.v74-lb-title{min-width:0}.v74-lb-title b{display:block;font:400 19px/1.15 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v74-lb-title span{display:block;margin-top:4px;font:700 8px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c9d2dc}
.v74-lb-actions{display:flex;align-items:center;gap:7px}.v74-lb-actions button,.v74-lb-close,.v74-lb-nav{appearance:none;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;height:38px;min-width:38px;padding:0 12px;display:grid;place-items:center;cursor:pointer;font:700 13px Arial,sans-serif}.v74-lb-actions button:hover,.v74-lb-close:hover,.v74-lb-nav:hover{background:#fff;color:var(--v74-navy)}
.v74-lb-stage{position:relative;overflow:hidden;display:grid;place-items:center;min-height:0;touch-action:none}
.v74-lb-image{display:block;max-width:92vw;max-height:calc(100vh - 128px);width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;user-select:none;-webkit-user-drag:none;cursor:grab;transition:transform .08s linear}
.v74-lb-image.dragging{cursor:grabbing;transition:none}
.v74-lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;padding:0;font-size:20px;background:rgba(6,44,85,.72)}.v74-lb-prev{left:18px}.v74-lb-next{right:18px}
.v74-lb-footer{height:64px;display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid rgba(255,255,255,.1);background:rgba(2,18,35,.72);font:600 11px Arial,sans-serif;color:#dce4eb}.v74-lb-footer strong{font-weight:800;color:#fff}
@media(max-width:720px){.v74-lb-bar{height:56px;padding:0 12px}.v74-lb-actions button{height:34px;min-width:34px;padding:0 9px}.v74-lb-image{max-width:96vw;max-height:calc(100vh - 112px)}.v74-lb-nav{width:40px;height:40px}.v74-lb-prev{left:8px}.v74-lb-next{right:8px}.v74-lb-footer{height:56px}.v74-zoom-hint{font-size:8px;padding:7px 9px}}

/* Specification view indicator. */
.v74-spec-badge{display:inline-flex;align-items:center;gap:7px;margin:0 0 14px;padding:7px 10px;border:1px solid #ddd8cf;border-radius:999px;background:#fbfaf7;color:#687582;font:700 9px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}

/* Gallery: deliberate editorial rhythm; source image ratios no longer control layout. */
.v74-gallery-section{padding-top:48px!important}
.v74-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;grid-auto-flow:dense;gap:16px}
.v74-gallery-item{position:relative;appearance:none;border:0;padding:0;background:#eef0f1;border-radius:18px;overflow:hidden;cursor:zoom-in;min-width:0;box-shadow:0 10px 32px rgba(6,44,85,.05)}
.v74-gallery-item:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.v74-gallery-item:nth-child(8n+4){grid-column:span 2}.v74-gallery-item:nth-child(8n+7){grid-column:span 2}
.v74-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.v74-gallery-item:hover img{transform:scale(1.025)}
.v74-gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,rgba(2,20,38,.82));color:#fff;text-align:left;font:600 11px/1.35 Arial,sans-serif;letter-spacing:.02em}
@media(max-width:1000px){.v74-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px}.v74-gallery-item:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.v74-gallery-item:nth-child(8n+4),.v74-gallery-item:nth-child(8n+7){grid-column:span 1}}
@media(max-width:620px){.v74-gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px;gap:12px}.v74-gallery-item,.v74-gallery-item:nth-child(n){grid-column:auto;grid-row:auto}.v74-gallery-item:nth-child(5n+1){grid-row:span 1;height:360px}}

/* Legal pages and footer legal links. */
.v74-legal-hero{padding:72px 0 44px;background:#f5f3ee;border-bottom:1px solid #e5e0d7}.v74-legal-hero p{margin:0 0 12px;color:var(--v74-gold);font:800 10px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.v74-legal-hero h1{margin:0;color:var(--v74-navy);font:400 clamp(42px,6vw,70px)/1 Georgia,serif}.v74-legal-hero span{display:block;margin-top:16px;color:#6f7b87;font:13px Arial,sans-serif}
.v74-legal{width:min(920px,90vw);margin:0 auto;padding:58px 0 90px;color:#3f4f5d}.v74-legal h2{margin:34px 0 12px;color:var(--v74-navy);font:400 27px/1.2 Georgia,serif}.v74-legal h2:first-child{margin-top:0}.v74-legal p,.v74-legal li{font:14px/1.75 Arial,sans-serif}.v74-legal ul{padding-left:22px}.v74-legal a{color:#0b5f9e}.v74-legal-note{margin-top:34px;padding:18px 20px;border:1px solid #e2ddd4;border-radius:14px;background:#faf9f6;font-size:12px!important;color:#687480}
.footer-bottom{gap:14px;flex-wrap:wrap}.v74-footer-legal{display:inline-flex;gap:13px;align-items:center;flex-wrap:wrap}.v74-footer-legal a{color:inherit;text-decoration:none;opacity:.78;font-size:11px}.v74-footer-legal a:hover{opacity:1;text-decoration:underline}
