/* VULQIR v2.3 | Full-site responsive refinement
 * Intended CSS viewport targets: 2560 (4K/150%), 1707 (laptop/150%),
 * 1440, 1024, 768, 390 and 320 CSS px. The browser viewport is what matters,
 * not the physical pixel count; preserve elegant reading line lengths.
 */
:root { --vq-wide-rail:1520px; --vq-content-gutter:clamp(18px,4vw,72px); }
html { overflow-x:clip; }
body { min-width:0; overflow-wrap:break-word; }
.vq-site-main { min-width:0; }
/* Avoid forcing fixed pixel dimensions on images, embeds and customer content. */
.vq-site-main img,.vq-single-content img,.entry-content img { max-width:100%; }
.vq-site-main iframe,.vq-single-content iframe { max-width:100%; }
.vq-site-nav { min-width:0; }
.vq-site-nav__list,.vq-site-nav .menu { min-width:0; }
.vq-site-nav a { letter-spacing:.04em; }
.vq-cinema-hero .vq-cinema-line > span { max-width:100%; }
/* HOME: fluid editorial rails on 4K monitors, no extra-wide text lines. */
#vulqir-home { width:100%; }
#vulqir-home .vq-wrap { width:min(calc(100% - 2 * var(--vq-content-gutter)),var(--vq-wide-rail));max-width:none; }
#vulqir-home .vq-intro-grid,#vulqir-home .vq-story-grid { gap:clamp(34px,5vw,108px); }
#vulqir-home .vq-intro-copy,#vulqir-home .vq-story-text { max-width:640px; }
#vulqir-home .vq-intro .vq-copy,#vulqir-home .vq-collection-head .vq-copy { max-width:600px; }
#vulqir-home .vq-feature-inner { max-width:var(--vq-wide-rail); }
#vulqir-home .vq-collection-grid { gap:clamp(16px,2vw,32px); }
#vulqir-home .vq-product-meta { min-width:0; }
/* Brand Story keeps v2.2's bespoke 1520px editorial composition. */
.vq-story .vq-origin-copy,.vq-story .vq-values-head,.vq-story .vq-partner-copy { min-width:0; }
/* PRODUCTS: gallery grows with viewport, up to 4 well-proportioned columns. */
.vq-collection .vq-wrap { width:min(calc(100% - 2 * var(--vq-content-gutter)),1440px); max-width:none; }
.vq-collection .vq-gallery { gap:clamp(14px,1.7vw,30px); }
.vq-collection .vq-section-desc { max-width:540px;font-size:clamp(13px,.86vw,16px); }
.vq-collection .vq-product img { width:100%; }
/* OEM, FAQ, CONTACT: wider editorial layout without stretching paragraphs. */
.vq-page { width:100%; max-width:1540px; }
.vq-page .vq-wrap { width:min(calc(100% - 2 * var(--vq-content-gutter)),1360px);max-width:none; }
.vq-page .vq-offer-grid,.vq-page .vq-materials-grid { gap:clamp(36px,4.3vw,82px); }
.vq-page .vq-copy { font-size:clamp(14px,1vw,16px);line-height:1.9; }
.vq-faq-page { max-width:1540px; }
.vq-faq-page .vq-container { width:min(calc(100% - 2 * var(--vq-content-gutter)),1320px); max-width:none; }
.vq-faq-page .vq-question > summary { font-size:clamp(13px,.9vw,15px); }
.vq-faq-page .vq-answer { font-size:clamp(12px,.86vw,14px);max-width:1000px; }
.vq-contact-page { max-width:1540px; }
.vq-contact-page .vq-contact-main { padding-inline:clamp(24px,4.3vw,82px); }
.vq-contact-page .vq-contact-form { min-width:0; }
.vq-contact-page .vq-contact-form input,.vq-contact-page .vq-contact-form textarea {max-width:100%;}
.vq-contact-page .vq-contact-hero__copy {min-width:0;}
/* SHOP: keep WooCommerce cart / account and checkout separate from the product grid. */
.vq-shop-wrap,.vq-blog-container { width:min(calc(100% - 2 * var(--vq-content-gutter)),1440px);max-width:none; }
.woocommerce ul.products, .woocommerce-page ul.products { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,1.7vw,32px);margin:0 0 30px!important; }
.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after {display:none!important;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product {float:none!important;clear:none!important;width:auto!important;max-width:none!important;margin:0!important;min-width:0;}
.woocommerce ul.products li.product a img { width:100%; }
.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count {max-width:100%;}
.woocommerce div.product,.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce {min-width:0;}
/* BLOG: fluid cards, comfortable article-reading measure. */
.vq-blog-cards { grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2vw,34px); }
.vq-blog-card {min-width:0;}
.vq-single {width:min(calc(100% - 2 * var(--vq-content-gutter)),860px);max-width:none;padding-inline:0;}
.vq-single-content {overflow-wrap:anywhere;}
/* LEGAL: intentionally narrow reading column. */
.vq-legal-page .container {max-width:960px;}
/* Large laptop / compact desktop: avoid tiny fixed-width content panels. */
@media (max-width:1550px) {
 #vulqir-home .vq-wrap {width:min(calc(100% - 80px),1320px);}
 .vq-collection .vq-wrap,.vq-page .vq-wrap,.vq-faq-page .vq-container {width:min(calc(100% - 76px),1280px);}
 .vq-shop-wrap,.vq-blog-container {width:min(calc(100% - 72px),1320px);}
}
@media (max-width:1180px) {
 #vulqir-home .vq-wrap,.vq-collection .vq-wrap,.vq-page .vq-wrap,.vq-faq-page .vq-container {width:calc(100% - 56px);}
 .vq-shop-wrap,.vq-blog-container {width:calc(100% - 56px);}
 .vq-page .vq-offer-grid,.vq-page .vq-materials-grid {gap:32px;}
 .woocommerce ul.products,.woocommerce-page ul.products {grid-template-columns:repeat(3,minmax(0,1fr));}
 .vq-blog-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
 .vq-contact-page .vq-contact-main {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;}
}
@media (max-width:960px) {
 .vq-site-nav { max-height:calc(100dvh - 60px);overflow-y:auto; }
 .vq-site-nav__list,.vq-site-nav .menu {width:100%;}
 .vq-site-nav li {width:100%;}
 .vq-site-header__inner { min-width:0; }
 #vulqir-home .vq-intro-grid,#vulqir-home .vq-story-grid {gap:36px;}
 .vq-collection .vq-gallery {grid-template-columns:repeat(3,minmax(0,1fr));}
 .vq-page .vq-offer-grid,.vq-page .vq-materials-grid {grid-template-columns:1fr;}
 .vq-page .vq-materials-media {order:-1;}
 .vq-contact-page .vq-contact-main {grid-template-columns:1fr;}
 .vq-contact-page .vq-contact-editorial {position:static;display:block;max-width:460px;}
 .vq-contact-page .vq-contact-editorial__image {aspect-ratio:4/3;}
 .vq-blog-cards {gap:20px;}
}
@media (max-width:760px) {
 #vulqir-home .vq-wrap,.vq-collection .vq-wrap,.vq-page .vq-wrap,.vq-faq-page .vq-container,.vq-shop-wrap,.vq-blog-container {width:calc(100% - 36px);}
 .vq-cinema-hero .vq-cinema-content { width:86%; }
 .vq-cinema-hero .vq-cinema-action {max-width:100%;line-height:1.55;text-align:center;white-space:normal;}
 #vulqir-home .vq-intro-grid,#vulqir-home .vq-story-grid,#vulqir-home .vq-approach-top {grid-template-columns:1fr;gap:24px;}
 #vulqir-home .vq-collection-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 #vulqir-home .vq-collection-head {display:block;}
 #vulqir-home .vq-feature-inner {padding-inline:0;}
 .vq-collection .vq-gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .vq-collection .vq-section-head {display:block;}
 .vq-page .vq-steps {grid-template-columns:repeat(2,minmax(0,1fr));}
 .vq-faq-page .vq-category > summary {gap:10px;}
 .vq-faq-page .vq-jump-links {gap:8px;}
 .vq-contact-page .vq-contact-hero,.vq-contact-page .vq-contact-direct {grid-template-columns:1fr;}
 .vq-contact-page .vq-contact-main {padding-inline:18px;}
 .vq-contact-page .vq-contact-direct__row {grid-template-columns:minmax(82px,auto) minmax(0,1fr);}
 .vq-contact-page .vq-contact-direct__row > * {overflow-wrap:anywhere;}
 .woocommerce ul.products,.woocommerce-page ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
 .woocommerce ul.products li.product h2.woocommerce-loop-product__title {font-size:18px!important;}
 .vq-blog-cards {grid-template-columns:1fr;gap:18px;}
 .vq-single {width:calc(100% - 36px);padding-inline:0;}
 .vq-legal-page .container {padding-inline:18px;}
}
@media (max-width:390px) {
 .vq-cinema-hero .vq-cinema-headline {max-width:100%;}
 .vq-cinema-hero .vq-cinema-discover {display:none;}
 .vq-collection .vq-gallery {gap:8px;}
 .vq-page .vq-steps {grid-template-columns:1fr;}
 .woocommerce ul.products,.woocommerce-page ul.products {grid-template-columns:1fr;gap:16px;}
 .vq-faq-page .vq-count {display:none;}
}
@media(prefers-reduced-motion:reduce) {
 .vq-site-main *, .vq-site-main *::before,.vq-site-main *::after {scroll-behavior:auto;}
}
