/*
Theme Name: Vitraze Glass
Theme URI: https://example.com/vitraze-glass
Description: A refined WooCommerce block child theme for premium glassware retailers.
Author: Vitraze
Template: twentytwentyfour
Version: 1.2.2
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: vitraze-glass
License: GNU General Public License v2 or later
*/

:root { --vz-radius: 18px; --vz-shadow: 0 18px 50px rgba(5,18,30,.10); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { text-underline-offset: .18em; }
.vz-announcement { padding: .55rem 1rem; letter-spacing: .12em; text-transform: uppercase; font-size: .72rem; }
.vz-header { position: sticky; top: 0; z-index: 90; border-bottom: 1px solid rgba(8,31,45,.1); backdrop-filter: blur(14px); }
.admin-bar .vz-header { top: 32px; }
.vz-logo-mark { width: 34px; height: 34px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-weight:700; }
.vz-header .wp-block-navigation-item__content { text-decoration:none; }
.vz-header .wp-block-navigation-item__content:hover { color:var(--wp--preset--color--electric); }
.vz-brand-logo { margin:0; flex:0 0 auto; line-height:0; }
.vz-brand-logo img { display:block; width:clamp(170px,18vw,220px)!important; height:auto; }
.vz-hero { min-height: 760px; position:relative; display:grid; align-items:end; background:#061722 url('assets/images/hero.jpg') center/cover no-repeat; }
.vz-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,14,22,.92) 0%,rgba(2,14,22,.62) 46%,rgba(2,14,22,.1) 78%),linear-gradient(0deg,rgba(2,14,22,.65),transparent 55%); }
.vz-hero > * { position:relative; z-index:1; }
.vz-hero-copy { padding-block:clamp(5rem,10vw,9rem); }
.vz-eyebrow { letter-spacing:.16em; text-transform:uppercase; font-weight:700; font-size:.76rem; }
.vz-display { max-width:850px; font-size:clamp(3.25rem,8vw,7rem)!important; letter-spacing:-.055em; line-height:.88!important; margin:.25em 0!important; }
.vz-lead { max-width:600px; font-size:clamp(1rem,2vw,1.25rem); color:#c5d8df; }
.vz-button .wp-block-button__link { transition:transform .2s,box-shadow .2s; }
.vz-button .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(25,203,219,.2); }
.vz-benefits { margin-top:2.5rem; gap:1.5rem!important; color:#c5d8df; font-size:.85rem; }
.vz-section { padding-block:clamp(4.5rem,9vw,8rem); }
.vz-section-head { margin-bottom:2.5rem; }
.vz-section-title { font-size:clamp(2.25rem,5vw,4.5rem)!important; letter-spacing:-.04em; }
.vz-category-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1rem; }
.vz-category-card { min-height:360px; border-radius:var(--vz-radius); overflow:hidden; position:relative; background-position:center; background-size:cover; box-shadow:var(--vz-shadow); }
.vz-category-card:nth-child(1),.vz-category-card:nth-child(2) { grid-column:span 6; }
.vz-category-card:nth-child(n+3) { grid-column:span 4; min-height:300px; }
.vz-category-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,16,25,.88),transparent 70%); }
.vz-category-card > * { position:absolute; z-index:1; inset:auto 1.6rem 1.3rem; margin:0; }
.vz-category-card a { color:white; text-decoration:none; }
.vz-cat-bongs { background-image:url('assets/images/bong.jpg'); }
.vz-cat-rigs { background-image:url('assets/images/rig.jpg'); }
.vz-cat-bubblers { background-image:url('assets/images/bubbler.jpg'); }
.vz-cat-pipes { background-image:url('assets/images/pipe.jpg'); }
.vz-cat-accessories { background-image:url('assets/images/accessories.jpg'); }
.vz-product-zone .products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem!important; align-items:stretch; }
.vz-product-zone .products::before,.vz-product-zone .products::after { content:none!important; display:none!important; }
.woocommerce ul.products li.product { width:auto!important; min-width:0; margin:0!important; display:flex; flex-direction:column; float:none!important; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display:flex; flex:1; min-width:0; flex-direction:column; text-decoration:none; }
.woocommerce ul.products li.product a img { display:block; width:100%!important; height:auto!important; aspect-ratio:4/5; object-fit:contain; padding:clamp(.5rem,1.25vw,1rem); border-radius:14px; background:#edf4f5; margin-bottom:1rem; transition:transform .35s; }
.woocommerce ul.products li.product .button { align-self:flex-start; margin-top:auto; }
.woocommerce ul.products li.product:hover img { transform:translateY(-4px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1.05rem; padding:.25rem 0; }
.woocommerce ul.products li.product .price { color:#087d8a; font-weight:700; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { border-radius:999px; padding:.8rem 1.2rem; background:#0a2636; color:#fff; }
.vz-story { border-radius:28px; overflow:hidden; background:linear-gradient(135deg,#082638,#0a4152); }
.vz-story-image { min-height:560px; background:url('assets/images/craft.jpg') center/cover; }
.vz-story-copy { padding:clamp(2rem,6vw,5rem); }
.vz-trust-card { padding:2rem; border:1px solid #d5e2e5; border-radius:16px; height:100%; }
.vz-newsletter { border-radius:24px; overflow:hidden; }
.vz-footer { padding-block:4rem 2rem; }
.vz-footer h2:first-child { width:min(300px,100%); aspect-ratio:620/112; margin:0 0 1.25rem; overflow:hidden; font-size:0!important; background:url('assets/images/ecosmoke-logo-light.svg') left center/contain no-repeat; }
.vz-footer a { color:inherit; text-decoration:none; }
.vz-legal { border-top:1px solid rgba(255,255,255,.14); padding-top:1.5rem; font-size:.75rem; color:#a8bdc7; }
.vz-age-gate[hidden] { display:none; }
.vz-age-gate { position:fixed; z-index:99999; inset:0; display:grid; place-items:center; padding:1rem; background:rgba(2,13,20,.94); backdrop-filter:blur(16px); }
.vz-age-card { width:min(520px,100%); padding:clamp(2rem,6vw,4rem); text-align:center; border-radius:24px; background:#f7fbfb; color:#071c29; box-shadow:0 30px 100px rgba(0,0,0,.4); }
.vz-age-symbol { width:72px; height:72px; border:2px solid #0a8997; border-radius:50%; display:grid; place-items:center; margin:0 auto 1.25rem; font-weight:800; font-size:1.5rem; }
.vz-age-actions { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:1.5rem; }
.vz-age-actions button { border:0; border-radius:999px; padding:.9rem 1rem; font-weight:700; cursor:pointer; }
.vz-age-enter { background:#0a8997; color:#fff; }
.vz-age-exit { background:#e2ecee; color:#17313d; }
.vz-page-main { padding-block:clamp(3rem,7vw,7rem); }
@media (max-width:900px){.vz-product-zone .products{grid-template-columns:repeat(2,1fr)}.vz-category-card:nth-child(n){grid-column:span 6}.vz-story-image{min-height:380px}.vz-hero{min-height:680px}}
@media (max-width:600px){.admin-bar .vz-header{top:0}.vz-announcement{font-size:.62rem}.vz-header{position:relative}.vz-brand-logo img{width:150px!important}.vz-display{font-size:3.35rem!important}.vz-category-grid{display:block}.vz-category-card{min-height:280px!important;margin-bottom:1rem}.vz-product-zone .products{gap:1rem!important}.vz-benefits{display:block!important}.vz-benefits p{margin:.5rem 0}.vz-age-actions{grid-template-columns:1fr}.vz-footer .wp-block-columns{gap:2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
