/*
Theme Name: Quote Art Shirt
Theme URI: https://quoteartshirt.ca/
Author: OpenAI for Quote Art Shirt
Description: Custom WooCommerce storefront for Quote Art Shirt with a centered ArtLudi-inspired layout, animated reveals, category navigation, marquee, custom-shirt service, social links, and editable sizing controls.
Version: 3.3.22
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: quoteartshirt
*/

:root{
  --qas-blue:#1d5f7e;
  --qas-orange:#ef7b23;
  --qas-black:#101010;
  --qas-black-2:#171717;
  --qas-cream:#f7f4ee;
  --qas-white:#fff;
  --qas-muted:#6c7077;
  --qas-text:#17191c;
  --qas-max:1180px;
  --qas-logo:104px;
  --qas-hero-h:390px;
  --qas-radius:14px;
  --qas-btn-radius:999px;
  --qas-box-radius:12px;
  --qas-hero-radius:14px;
  --qas-input-radius:999px;
  --qas-hero-x:50%;
  --qas-hero-y:35%;
  --qas-hero-zoom:1;
  --qas-shop-pad:78px;
  --qas-custom-pad:78px;
  --qas-about-pad:78px;
  --qas-final-pad:82px;
  --qas-media-h:420px;
  --qas-home-cols:4;
  --qas-shop-cols:4;
  --qas-shadow:0 18px 44px rgba(0,0,0,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--qas-cream);color:var(--qas-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 44px),var(--qas-max));margin-inline:auto}
.full-bleed{width:100%}

/* HEADER */
.site-header{position:sticky;top:0;z-index:120;background:var(--qas-black);color:#fff;border-bottom:1px solid rgba(255,255,255,.07);box-shadow:0 10px 30px rgba(0,0,0,.14)}
.header-inner{min-height:var(--qas-header-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--qas-header-gap)}
.site-branding{display:flex;align-items:center;min-width:130px}
.site-branding .custom-logo-link{display:flex;align-items:center}
.site-branding img{width:auto;max-width:none;height:var(--qas-logo);max-height:var(--qas-logo);transition:transform .28s ease,filter .28s ease}
.site-branding a:hover img{transform:scale(1.035);filter:drop-shadow(0 7px 15px rgba(239,123,35,.18))}
.site-title{font-size:1.35rem;font-weight:900;color:#fff}
.main-nav{display:flex;justify-content:center;align-items:center;gap:var(--qas-menu-gap);min-width:0}
.main-nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--qas-menu-gap);align-items:center}
.main-nav li{position:relative;margin:0;list-style:none}
.main-nav a{position:relative;display:block;padding:var(--qas-menu-pad-y) var(--qas-menu-pad-x);border-radius:var(--qas-btn-radius);font-size:var(--qas-menu-font);font-weight:750;color:#f4f4f4;transition:background .22s ease,color .22s ease,transform .22s ease;white-space:nowrap}
.main-nav>a:hover,.main-nav li:hover>a,.main-nav li:focus-within>a,.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav .current-menu-ancestor>a{background:linear-gradient(135deg,var(--qas-blue),#247ba0);color:#fff;transform:translateY(-1px)}
.main-nav>ul>li:nth-child(even):hover>a{background:linear-gradient(135deg,var(--qas-orange),#ff9347)}
/* Desktop dropdowns — same stable hover/focus behaviour as Ray Creates Art */
.main-nav .sub-menu{position:absolute;top:calc(100% + 1px);left:0;z-index:220;min-width:230px;display:block!important;padding:8px 0;margin:0;background:#151515;border:1px solid #303030;border-top:2px solid var(--qas-orange);border-radius:0 0 10px 10px;box-shadow:0 16px 32px rgba(0,0,0,.32);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.main-nav .sub-menu:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.main-nav .sub-menu .sub-menu{top:-10px;left:100%;border-top-color:var(--qas-blue);border-radius:0 10px 10px 0}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{display:block;width:100%;padding:10px 15px;border-radius:0!important;color:#ddd;transform:none!important;font-size:calc(var(--qas-menu-font) * .94);font-weight:700;white-space:nowrap;background:transparent!important}
.main-nav .sub-menu a:hover,.main-nav .sub-menu .current-menu-item>a,.main-nav .sub-menu .current-menu-ancestor>a{background:#222!important;color:#fff!important}
.main-nav .menu-item-has-children>a:after{content:"▾";font-size:.72em;margin-left:6px;color:var(--qas-orange)}
.main-nav .sub-menu .menu-item-has-children>a:after{content:"›";float:right;margin-left:14px}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--qas-actions-gap);white-space:nowrap}
.social-link{width:34px;height:34px;display:grid;place-items:center;color:var(--qas-orange);border-radius:50%;transition:background .2s ease,transform .2s ease,color .2s ease}
.social-link:hover{background:rgba(255,255,255,.08);transform:translateY(-2px);color:#fff}
.social-link svg{width:21px;height:21px;fill:currentColor}
.cart-link{display:flex;align-items:center;gap:8px;font-weight:760;color:#fff;padding:8px 10px;border-radius:var(--qas-box-radius);transition:background .2s ease,transform .2s ease}
.cart-link:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}
.cart-link svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8}
.cart-count{min-width:20px;height:20px;padding:0 5px;border-radius:var(--qas-btn-radius);background:var(--qas-orange);display:inline-grid;place-items:center;font-size:.72rem;line-height:1;color:#fff}
.menu-toggle{display:none;border:0;background:transparent;color:#fff;width:42px;height:42px;place-items:center;cursor:pointer}
.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:"";display:block;width:24px;height:2px;background:currentColor;margin:5px auto;transition:.2s ease}

/* HERO */
.hero-wrap{background:var(--qas-black);color:#fff;padding:36px 0 0}
.hero-card{overflow:hidden;border-radius:var(--qas-hero-radius) var(--qas-hero-radius) 0 0;background:#fff;box-shadow:0 24px 50px rgba(0,0,0,.24)}
.hero-image-stage{height:var(--qas-hero-h);overflow:hidden;background:#fff}.hero-card img{width:100%;height:100%;object-fit:cover;object-position:var(--qas-hero-x) var(--qas-hero-y);transform:scale(var(--qas-hero-zoom));transform-origin:var(--qas-hero-x) var(--qas-hero-y);transition:transform .35s ease,object-position .35s ease}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:45px;align-items:end;padding:30px 0 34px}
.hero-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.19em;color:var(--qas-orange);font-weight:900;margin-bottom:8px}
.hero-title{font-size:clamp(3rem,7vw,6.6rem);line-height:.88;letter-spacing:-.045em;margin:0;color:#fff;font-weight:950}
.hero-tagline{font-size:clamp(1rem,1.7vw,1.28rem);max-width:510px;color:#d9d9d9;margin:0 0 8px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}

/* MARQUEE */
.marquee{overflow:hidden;background:linear-gradient(90deg,var(--qas-orange),#f7903f 48%,var(--qas-blue));color:#101010;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(0,0,0,.25)}
.marquee-track{display:flex;width:max-content;animation:qas-marquee 28s linear infinite;padding:11px 0;font-size:.78rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.marquee-track span{display:flex;align-items:center;gap:34px;padding-right:34px}
.marquee-track i{font-style:normal;font-size:.62rem;color:#fff}
@keyframes qas-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* COMMON */
.section{padding:78px 0}.shop-section{padding-block:var(--qas-shop-pad)}.custom-section{padding-block:var(--qas-custom-pad)}.about-section{padding-block:var(--qas-about-pad)}
.section.alt{background:#fff}
.section.dark{background:var(--qas-black);color:#fff}
.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--qas-orange);margin-bottom:10px}
.section-title{font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 14px;color:#111;font-weight:900}
.dark .section-title,.site-footer .section-title{color:#fff}
.section-copy{font-size:1.06rem;max-width:680px;color:#51545a;margin:0 0 26px}
.dark .section-copy{color:#c9c9c9}
.center{text-align:center}.center .section-copy{margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--qas-btn-radius);background:var(--qas-orange);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.045em;border:1px solid transparent;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(239,123,35,.22)}
.btn.blue{background:var(--qas-blue)}
.btn.outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.btn.outline:hover{background:#fff;color:#111;box-shadow:none}
.btn.light-outline{background:transparent;border-color:#111;color:#111}.btn.light-outline:hover{background:#111;color:#fff;box-shadow:none}

/* CATEGORY NAV */
.category-strip{background:#fff;border-bottom:1px solid #e8e3db}
.category-strip .container{display:flex;gap:9px;align-items:center;justify-content:center;margin-left:auto;margin-right:auto;overflow-x:auto;padding-block:15px;scrollbar-width:none}.category-strip .container::-webkit-scrollbar{display:none}
.category-pill{flex:0 0 auto;padding:8px 14px;border-radius:var(--qas-btn-radius);border:1px solid #d9d4cb;background:#fff;font-weight:800;font-size:.86rem;transition:.2s ease}
.category-pill:hover,.category-pill.active{background:var(--qas-blue);border-color:var(--qas-blue);color:#fff;transform:translateY(-1px)}
.category-pill:nth-child(even):hover{background:var(--qas-orange);border-color:var(--qas-orange)}

/* SHOP */
.shop-heading-row{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}
.shop-heading-row .section-title{margin-bottom:0}
.shop-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.qas-search{display:flex;align-items:center;border:1px solid #cbc6bd;background:#fff;border-radius:var(--qas-input-radius);overflow:hidden;min-width:min(340px,100%)}
.qas-search input{border:0;outline:0;padding:11px 8px 11px 16px;min-width:0;width:100%;background:transparent}
.qas-search button{border:0;background:var(--qas-orange);color:#fff;min-height:44px;padding:0 18px;font-weight:850;cursor:pointer}
.product-grid{display:grid;grid-template-columns:repeat(var(--qas-home-cols),minmax(0,1fr));gap:24px}
.product-card{background:#fff;border:1px solid #e7e1d8;border-radius:var(--qas-box-radius);overflow:hidden;transition:transform .3s cubic-bezier(.2,.75,.25,1),box-shadow .3s ease,border-color .3s ease}
.product-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08);border-color:#ddd6ca}
.product-card-media{overflow:hidden;background:#f4f2ee;aspect-ratio:1/1}
.product-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .4s ease}
.product-card:hover .product-card-media img{transform:none;filter:brightness(1.025)}
.product-card-body{padding:15px 16px 18px}
.product-card h3{font-size:1rem;line-height:1.3;margin:0 0 7px;font-weight:850}
.price{font-weight:900;color:#111;margin-bottom:12px}
.product-card .button,.product-card .added_to_cart{display:inline-flex;padding:9px 14px;background:var(--qas-blue);color:#fff;font-weight:850;border-radius:var(--qas-btn-radius);margin-top:3px;transition:.2s ease}.product-card .button:hover{background:var(--qas-orange);transform:translateY(-1px)}
.shop-all-row{text-align:center;margin-top:32px}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.media-panel{border-radius:var(--qas-box-radius);overflow:hidden;background:#eee;min-height:var(--qas-media-h);box-shadow:var(--qas-shadow)}
.media-panel img{width:100%;height:100%;min-height:var(--qas-media-h);object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1)}
.media-panel:hover img{transform:scale(1.035)}
.final-cta{background:linear-gradient(125deg,var(--qas-blue),#123d53 55%,var(--qas-black));color:#fff;text-align:center;padding:var(--qas-final-pad) 20px}

/* PAGE + WC */
.page-shell{padding:68px 0 80px}.page-shell>.container{background:#fff;padding:42px;border-radius:var(--qas-box-radius)}
.woocommerce .woocommerce-breadcrumb{display:none}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(var(--qas-shop-cols),minmax(0,1fr));gap:24px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#fff;border:1px solid #e7e1d8;border-radius:var(--qas-box-radius);overflow:hidden;padding-bottom:18px;transition:transform .3s ease,box-shadow .3s ease}.woocommerce ul.products li.product:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}.woocommerce ul.products li.product img{margin:0 0 14px!important;transition:transform .5s ease}.woocommerce ul.products li.product:hover img{transform:none;filter:brightness(1.025)}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button{margin-left:14px!important;margin-right:14px!important}.woocommerce ul.products li.product .button{background:var(--qas-blue);color:#fff;border-radius:var(--qas-btn-radius)}.woocommerce span.onsale{background:var(--qas-orange);min-height:auto;min-width:auto;border-radius:0;padding:6px 10px;line-height:1}.woocommerce .woocommerce-ordering select{border-radius:var(--qas-input-radius);padding:8px 34px 8px 12px;border:1px solid #cbc6bd;background:#fff}.woocommerce .woocommerce-result-count{color:#666}

/* FOOTER */
.site-footer{background:var(--qas-black);color:#d2d2d2;padding:62px 0 26px;border-top:4px solid var(--qas-blue);position:relative}
.site-footer:before{content:"";position:absolute;top:-4px;left:0;width:38%;height:4px;background:var(--qas-orange)}
.footer-inner{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:70px}
.footer-brand{position:relative;padding-top:20px}.footer-brand:before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;background:var(--qas-orange)}
.footer-title-big{font-size:2.35rem;line-height:1;font-weight:850;color:#fff;margin-bottom:14px;letter-spacing:-.03em}
.footer-heading{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:var(--qas-orange);font-weight:900;margin-bottom:14px}
.footer-links{display:grid;gap:8px}.footer-links a{color:#d9d9d9}.footer-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-meta{font-weight:750;color:#eee;line-height:1.65}.footer-meta small{display:block;color:#999;font-weight:500}
.copyright{border-top:1px solid #393939;margin-top:46px;padding-top:22px;font-size:.88rem;color:#929292;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.copyright strong{color:var(--qas-orange);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}

/* REVEAL */
.qas-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}
.qas-reveal.is-visible{opacity:1;transform:none}
.qas-reveal.delay-1{transition-delay:.08s}.qas-reveal.delay-2{transition-delay:.16s}.qas-reveal.delay-3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.qas-reveal{opacity:1;transform:none;transition:none}.marquee-track{animation:none}.product-card,.product-card img,.media-panel img{transition:none}}

@media(max-width:980px){
  .header-inner{grid-template-columns:auto auto auto;gap:14px;min-height:88px}.menu-toggle{display:grid}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#111;border-top:1px solid #292929;padding:14px 22px 20px;max-height:72vh;overflow:auto}.main-nav.open{display:block}.main-nav>ul{display:grid;gap:4px}.main-nav a{border-radius:8px;white-space:normal}.main-nav .sub-menu,.main-nav .sub-menu .sub-menu{position:static;min-width:0;display:grid!important;opacity:1;visibility:visible;transform:none;pointer-events:auto;border:0;border-left:1px solid #333;border-radius:0;box-shadow:none;background:#171717;margin:4px 0 8px 14px;padding:4px 0}.main-nav .sub-menu:before{display:none}.main-nav .sub-menu a{padding:8px 12px;white-space:normal}.main-nav .menu-item-has-children>a:after,.main-nav .sub-menu .menu-item-has-children>a:after{content:""}.social-link{display:none}.hero-copy{grid-template-columns:1fr;gap:18px}.hero-card img{height:min(46vw,var(--qas-hero-h))}.product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}.shop-heading-row{align-items:flex-start;flex-direction:column}.shop-tools{justify-content:flex-start;width:100%}
}
@media(max-width:620px){
  .container{width:min(calc(100% - 28px),var(--qas-max))}.site-branding img{height:min(var(--qas-logo),76px)}.header-actions .cart-text{display:none}.header-actions{gap:4px}.hero-wrap{padding-top:20px}.hero-card img{height:250px}.hero-copy{padding:24px 0}.hero-title{font-size:clamp(3rem,17vw,5rem)}.section{padding:56px 0}.product-grid,.woocommerce ul.products{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-brand{grid-column:auto}.page-shell>.container{padding:26px 20px}.qas-search{min-width:100%}.shop-tools{width:100%}.marquee-track{font-size:.7rem}
}


/* CONTACT */
.qas-contact-wrap{margin-top:48px;padding-top:42px;border-top:1px solid #e7e1d8}.qas-contact-form{display:grid;gap:18px;max-width:860px}.qas-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.qas-contact-form label{display:grid;gap:7px;font-weight:800;color:#222}.qas-contact-form input,.qas-contact-form textarea{width:100%;border:1px solid #cbc6bd;background:#fff;border-radius:var(--qas-input-radius);padding:13px 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.qas-contact-form textarea{border-radius:min(var(--qas-input-radius),18px);resize:vertical}.qas-contact-form input:focus,.qas-contact-form textarea:focus{border-color:var(--qas-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--qas-blue) 18%,transparent)}.qas-contact-form input[type=file]{padding:10px}.field-note{font-weight:500;color:#777;font-size:.9rem}.qas-form-notice{padding:13px 16px;border-radius:var(--qas-box-radius);margin:0 0 24px;font-weight:800}.qas-form-notice.success{background:#e8f7ee;color:#176638}.qas-form-notice.error{background:#fff0ed;color:#9a2d20}.qas-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Customizer live-preview friendly transitions */
.container,.site-branding img,.btn,.category-pill,.product-card,.media-panel,.page-shell>.container,.qas-search,.woocommerce ul.products li.product{transition:border-radius .2s ease,width .2s ease,height .2s ease,max-width .2s ease}

@media(max-width:980px){.product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.product-grid,.woocommerce ul.products{grid-template-columns:1fr!important}.qas-form-grid{grid-template-columns:1fr}}

/* v4 extended controls — additions only; original QAS styling remains the base. */
.marquee-static .marquee-track{width:100%;animation:none!important;display:block;padding-inline:22px}.marquee-static .marquee-track span{display:block;padding:0}.marquee-align-left .marquee-track{text-align:left}.marquee-align-center .marquee-track{text-align:center}.marquee-align-right .marquee-track{text-align:right}
.qas-share-wrap{margin-top:26px;padding-top:20px;border-top:1px solid #ded8cf}.qas-share-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#777;margin-bottom:10px}.qas-share-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qas-share-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7d2ca;background:#fff;color:#222;border-radius:var(--qas-btn-radius);padding:0;cursor:pointer;transition:.2s ease}.qas-share-button:hover{border-color:var(--qas-orange);color:var(--qas-orange);transform:translateY(-1px)}.qas-share-button svg{width:18px;height:18px;fill:currentColor}.qas-share-button.native-share{width:auto;padding:0 12px;gap:6px;font-weight:800}.qas-copy-note{display:none;font-size:.8rem;font-weight:800;color:var(--qas-blue)}.qas-copy-note.show{display:inline}
.qas-checkout-more,.qas-archive-cross-links{margin:34px auto 0;padding:28px;border:1px solid #e0dbd3;background:#fff;border-radius:var(--qas-box-radius);max-width:var(--qas-max)}.qas-checkout-more h2{margin:0 0 8px}.qas-checkout-more p{margin:0 0 18px;color:#666}.qas-checkout-more-links,.qas-archive-cross-links>div{display:flex;gap:10px;flex-wrap:wrap}.qas-archive-cross-links{margin-bottom:30px}
body.woocommerce-checkout .woocommerce-checkout-payment,body.woocommerce-checkout .woocommerce-checkout-review-order,body.woocommerce-cart .cart_totals{background:#fff;border:1px solid #e1dcd4;border-radius:var(--qas-box-radius)}
@media(max-width:820px){body.woocommerce-checkout .page-shell>.container,body.woocommerce-cart .page-shell>.container{width:min(calc(100% - 28px),var(--qas-checkout-max,1120px))!important;padding:22px!important}.qas-share-button{min-width:38px}}

/* =========================================
   QUOTE ART SHIRT — PRODUCT REVIEWS v3.2
   ========================================= */
.single-product .woocommerce-tabs{margin-top:48px}
.single-product .woocommerce-tabs ul.tabs{display:flex;gap:8px;flex-wrap:wrap;padding:0!important;margin:0 0 24px!important}
.single-product .woocommerce-tabs ul.tabs:before{display:none!important}
.single-product .woocommerce-tabs ul.tabs li{border:0!important;background:#101010!important;border-radius:0!important;margin:0!important;padding:0!important}
.single-product .woocommerce-tabs ul.tabs li:before,.single-product .woocommerce-tabs ul.tabs li:after{display:none!important}
.single-product .woocommerce-tabs ul.tabs li a{display:block!important;color:#fff!important;padding:12px 18px!important;font-weight:800!important;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.single-product .woocommerce-tabs ul.tabs li.active,.single-product .woocommerce-tabs ul.tabs li:hover{background:#ef7b23!important}
.single-product .woocommerce-tabs .panel{background:#fff;border:1px solid #e7e1d8;padding:32px!important;margin:0 0 36px!important}
#reviews #comments h2,#review_form_wrapper .comment-reply-title{font-weight:900;color:#101010;text-transform:uppercase;letter-spacing:-.02em}
#reviews #comments ol.commentlist{padding:0;margin:24px 0 0;list-style:none}
#reviews #comments ol.commentlist li{margin:0 0 18px!important}
#reviews #comments ol.commentlist li .comment-text{margin:0!important;border:1px solid #e7e1d8!important;border-left:5px solid #ef7b23!important;border-radius:0!important;padding:22px 24px!important;background:#f7f4ee}
#reviews #comments ol.commentlist li img.avatar{display:none!important}
#reviews .star-rating,#reviews .star-rating:before,#reviews .star-rating span:before,.woocommerce p.stars a{color:#ef7b23!important}
#reviews .woocommerce-review__author{font-weight:900;color:#101010}
#reviews .woocommerce-review__verified{color:#1d5f7e;font-weight:700}
#review_form_wrapper{margin-top:34px;padding-top:30px;border-top:2px solid #101010}
#review_form_wrapper textarea,#review_form_wrapper input[type="text"],#review_form_wrapper input[type="email"]{width:100%;border:1px solid #cbc6bd;border-radius:0;padding:12px;background:#fff}
#review_form_wrapper .form-submit input.submit{background:#ef7b23!important;color:#fff!important;border:0!important;border-radius:0!important;padding:14px 24px!important;font-weight:900!important;text-transform:uppercase}
#review_form_wrapper .form-submit input.submit:hover{opacity:.86}
@media(max-width:700px){.single-product .woocommerce-tabs .panel{padding:22px!important}.single-product .woocommerce-tabs ul.tabs{gap:6px}.single-product .woocommerce-tabs ul.tabs li a{padding:10px 12px!important;font-size:12px}}


/* =========================================
   Quote Art Shirt 3.3.4 — polished shop interactions
   ========================================= */
@view-transition { navigation: auto; }
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:ease}

/* Product cards stay planted; only shadow/brightness changes. */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
.product-card{transition:box-shadow .24s ease,border-color .24s ease!important}
body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover,
.product-card:hover{transform:none!important;box-shadow:0 10px 24px rgba(0,0,0,.08)!important}
body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img,
.product-card-media img{transform:none!important;transition:filter .24s ease,opacity .24s ease!important}
body.woocommerce ul.products li.product:hover a img,
body.woocommerce-page ul.products li.product:hover a img,
.product-card:hover .product-card-media img{transform:none!important;filter:brightness(1.025)!important;opacity:.985}


/* =========================================
   QUOTE ART SHIRT 3.3.5 — SINGLE PRODUCT LAYOUT
   Restores a deliberate two-column product page instead of the
   unstyled WooCommerce fallback appearance.
   ========================================= */

body.single-product .qas-single-product > .container,
body.single-product .page-shell > .container{
  width:min(calc(100% - 40px),1180px);
  margin-inline:auto;
}

body.single-product div.product{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  column-gap:54px!important;
  row-gap:38px!important;
  align-items:start!important;
}

body.single-product div.product::before,
body.single-product div.product::after{
  display:none!important;
  content:none!important;
}

/* Product media */
body.single-product div.product div.images{
  float:none!important;
  width:100%!important;
  margin:0!important;
  grid-column:1!important;
  grid-row:1!important;
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
}

body.single-product div.product div.images .woocommerce-product-gallery__wrapper{
  margin:0!important;
}

body.single-product div.product div.images img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:720px;
  object-fit:contain;
  background:#f7f3ec;
  border-radius:18px;
}

/* Product information panel */
body.single-product div.product div.summary{
  float:none!important;
  width:100%!important;
  margin:0!important;
  grid-column:2!important;
  grid-row:1!important;
  padding:30px!important;
  background:#fff;
  border:1px solid #e7e1d8;
  border-radius:18px;
  box-sizing:border-box;
}

body.single-product div.product .product_title{
  margin:0 0 14px!important;
  font-size:clamp(2rem,3.4vw,3.4rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em;
  color:#111!important;
}

body.single-product div.product p.price,
body.single-product div.product span.price{
  margin:0 0 24px!important;
  color:#0b5d88!important;
  font-size:1.3rem!important;
  font-weight:900!important;
}

body.single-product div.product form.cart{
  margin:22px 0!important;
}

body.single-product div.product form.cart .variations{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
  margin-bottom:12px!important;
}

body.single-product div.product form.cart .variations th,
body.single-product div.product form.cart .variations td{
  padding:0!important;
  vertical-align:middle!important;
}

body.single-product div.product form.cart .variations th{
  width:86px!important;
  padding-right:12px!important;
  text-align:left!important;
}

body.single-product div.product form.cart .variations label{
  font-weight:850!important;
  color:#222!important;
}

body.single-product div.product form.cart select{
  min-width:210px!important;
  max-width:100%!important;
  height:42px!important;
  padding:8px 34px 8px 12px!important;
  border:1px solid #cfc8be!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:14px!important;
}

body.single-product div.product form.cart .quantity .qty{
  width:70px!important;
  min-height:42px!important;
  padding:8px!important;
  border:1px solid #cfc8be!important;
  border-radius:10px!important;
  text-align:center!important;
}

body.single-product div.product form.cart .single_add_to_cart_button{
  min-height:42px!important;
  padding:10px 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0b5d88!important;
  color:#fff!important;
  font-weight:900!important;
  transition:background .2s ease,transform .2s ease!important;
}

body.single-product div.product form.cart .single_add_to_cart_button:hover{
  background:#ff7a1a!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

body.single-product div.product .product_meta{
  margin-top:22px!important;
  padding-top:18px!important;
  border-top:1px solid #e7e1d8!important;
  color:#666!important;
  font-size:.9rem!important;
  line-height:1.7!important;
}

body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related,
body.single-product div.product .upsells{
  grid-column:1 / -1!important;
  width:100%!important;
}

body.single-product div.product .related.products{
  margin-top:12px!important;
}

body.single-product div.product .related.products > h2{
  font-size:clamp(1.7rem,2.5vw,2.4rem)!important;
  margin-bottom:22px!important;
}

/* Product grid button: keep white + gradient border, fill orange on hover */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button{
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg,var(--qas-product-btn-a,#ff7a1a),var(--qas-product-btn-b,#0b5d88)) border-box!important;
  color:var(--qas-product-btn-text,#0b5d88)!important;
  border:2px solid transparent!important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover{
  background:#ff7a1a!important;
  color:#fff!important;
  border-color:#ff7a1a!important;
}

/* Responsive single product */
@media(max-width:900px){
  body.single-product div.product{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  body.single-product div.product div.images,
  body.single-product div.product div.summary{
    grid-column:1!important;
    grid-row:auto!important;
  }
}

@media(max-width:620px){
  body.single-product .qas-single-product > .container,
  body.single-product .page-shell > .container{
    width:min(calc(100% - 24px),1180px)!important;
    padding:20px!important;
  }
  body.single-product div.product div.summary{
    padding:22px!important;
  }
  body.single-product div.product form.cart .variations th{
    width:72px!important;
  }
}


/* =========================================
   QUOTE ART SHIRT 3.3.7 — HARD PRODUCT PAGE FIX
   Uses theme-owned markup so WooCommerce cannot collapse back to raw layout.
   ========================================= */
.qas-product-page{
  width:min(calc(100% - 40px),1180px);
  margin:42px auto 70px;
}
.qas-product-main{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:48px;
  align-items:start;
}
.qas-product-media{
  min-width:0;
}
.qas-product-media-frame{
  background:#f7f3ec;
  border:1px solid #e7e1d8;
  border-radius:20px;
  overflow:hidden;
}
.qas-product-media-frame img{
  display:block;
  width:100%;
  height:auto;
  max-height:760px;
  object-fit:contain;
}
.qas-product-summary{
  background:#fff;
  border:1px solid #e7e1d8;
  border-radius:20px;
  padding:32px;
  min-width:0;
}
.qas-product-summary .product_title{
  margin:0 0 12px!important;
  font-size:clamp(2rem,3vw,3.35rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em;
}
.qas-product-summary .price{
  color:#0b5d88!important;
  font-size:1.35rem!important;
  font-weight:900!important;
  margin:0 0 22px!important;
}
.qas-product-summary form.cart{
  margin:22px 0!important;
}
.qas-product-summary table.variations{
  width:100%!important;
  margin:0 0 12px!important;
  border:0!important;
}
.qas-product-summary table.variations tr{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.qas-product-summary table.variations th,
.qas-product-summary table.variations td{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}
.qas-product-summary table.variations label{
  font-weight:900!important;
}
.qas-product-summary table.variations select{
  width:100%!important;
  min-height:44px!important;
  padding:8px 36px 8px 12px!important;
  border:1px solid #cfc8be!important;
  border-radius:10px!important;
  background:#fff!important;
  font-size:15px!important;
}
.qas-product-summary .reset_variations{
  display:inline-block;
  margin-top:5px;
  color:#0b5d88!important;
  font-weight:800;
}
.qas-product-summary .quantity{
  float:none!important;
  display:inline-block!important;
  margin:0 8px 0 0!important;
}
.qas-product-summary .quantity .qty{
  width:68px!important;
  min-height:44px!important;
  border:1px solid #cfc8be!important;
  border-radius:10px!important;
  padding:8px!important;
  text-align:center!important;
}
.qas-product-summary .single_add_to_cart_button{
  min-height:44px!important;
  padding:10px 20px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0b5d88!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.qas-product-summary .single_add_to_cart_button:hover,
.qas-product-summary .single_add_to_cart_button:focus{
  background:#ef7b23!important;
  color:#fff!important;
}
.qas-product-summary .product_meta{
  clear:both;
  margin-top:22px!important;
  padding-top:18px!important;
  border-top:1px solid #e7e1d8!important;
  font-size:.9rem!important;
  line-height:1.65!important;
}
.qas-product-below{
  margin-top:42px;
}
.qas-product-below .woocommerce-tabs,
.qas-product-below .related,
.qas-product-below .upsells{
  width:100%!important;
  float:none!important;
  clear:both!important;
}

/* Product-grid buttons: white + gradient border, orange fill on hover */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  padding:8px 14px!important;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg,var(--qas-product-btn-a,#ef7b23),var(--qas-product-btn-b,#0b5d88)) border-box!important;
  color:var(--qas-product-btn-text,#0b5d88)!important;
  border:2px solid transparent!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:900!important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus,
.woocommerce-page ul.products li.product .button:focus{
  background:#ef7b23!important;
  color:#fff!important;
  border-color:#ef7b23!important;
  transform:none!important;
}

@media(max-width:900px){
  .qas-product-main{
    grid-template-columns:1fr;
    gap:28px;
  }
}
@media(max-width:620px){
  .qas-product-page{
    width:min(calc(100% - 24px),1180px);
    margin-top:24px;
  }
  .qas-product-summary{
    padding:22px;
  }
  .qas-product-summary table.variations tr{
    grid-template-columns:70px minmax(0,1fr);
  }
}


/* 3.3.8 — category header polish */
body.tax-product_cat .page-shell > .container{padding-top:34px!important}
body.tax-product_cat .woocommerce-products-header{
  margin:0 0 20px!important;padding:0 0 18px!important;border-bottom:1px solid #e8e1d7
}
body.tax-product_cat .woocommerce-products-header__title{
  margin:0 0 10px!important;font-size:clamp(2rem,3vw,3.1rem)!important;line-height:1!important;letter-spacing:-.035em
}
body.tax-product_cat .term-description{max-width:850px;margin:0!important;color:#5c6267;line-height:1.6}
body.tax-product_cat .term-description p{margin:0!important}
body.tax-product_cat .woocommerce-result-count{margin:0 0 14px!important;color:#777!important}
body.tax-product_cat .woocommerce-ordering{margin:0 0 14px!important}

/* Image hover: zoom inside image area, no card jump */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,.product-card{transform:none!important}
body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img,
.product-card-media img{
  transform:scale(1)!important;transition:transform .38s cubic-bezier(.2,.75,.25,1),filter .3s ease!important;transform-origin:center!important
}
body.woocommerce ul.products li.product:hover a img,
body.woocommerce-page ul.products li.product:hover a img,
.product-card:hover .product-card-media img{
  transform:scale(1.04)!important;filter:brightness(1.035)!important
}

/* Product buttons: thicker orange treatment on hover */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,.product-card .button{
  border:2px solid transparent!important;
  transition:background .18s ease,color .18s ease,border-width .18s ease,box-shadow .18s ease!important
}
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,.product-card .button:hover{
  background:#ef7b23!important;color:#fff!important;border:3px solid #ef7b23!important;box-shadow:0 0 0 2px rgba(29,95,126,.2)!important
}

/* Homepage video */
.qas-video-section{padding:var(--qas-home-video-pad,70px) 0;background:var(--qas-home-video-bg,#111);color:#fff}
.qas-video-section .section-title{color:#fff}.qas-video-section .section-copy{color:#cfd6da}
.qas-video-wrap{width:min(100%,var(--qas-home-video-width,1040px));margin:28px auto 0;overflow:hidden;border-radius:var(--qas-home-video-radius,16px);border:1px solid rgba(255,255,255,.12);background:#080808}
.qas-video-wrap video{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;background:#000}
.qas-video-empty{min-height:260px;display:grid;place-items:center;padding:30px;text-align:center;color:#8f9ba2;border:1px dashed rgba(255,255,255,.25)}

/* Custom Shirts page showcase */
.qas-custom-showcase{margin-top:48px}
.qas-custom-process{padding-top:26px;border-top:1px solid #e6dfd5}
.qas-custom-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 10px}
.qas-custom-step{padding:20px;border:1px solid #e6dfd5;border-radius:var(--qas-box-radius);background:#fff}
.qas-custom-step strong{display:block;margin-bottom:7px;color:var(--qas-orange);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.qas-custom-step h3{margin:0 0 8px}.qas-custom-step p{margin:0;color:#61686d;line-height:1.55}
.qas-custom-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:center;padding:52px 0;border-top:1px solid #e6dfd5}
.qas-custom-feature:nth-of-type(3) .qas-custom-media{order:2}
.qas-custom-media{overflow:hidden;border-radius:var(--qas-box-radius);background:#f1eee8;min-height:320px}
.qas-custom-media img,.qas-custom-media video{display:block;width:100%;height:100%;max-height:560px;object-fit:cover}
.qas-custom-media .qas-video-empty{min-height:360px;color:#6b7479;border-color:#cfc8be}
.qas-custom-copy .section-title{font-size:clamp(2rem,3vw,3rem);margin-bottom:14px}
@media(max-width:820px){
 .qas-custom-steps{grid-template-columns:1fr}
 .qas-custom-feature{grid-template-columns:1fr;gap:24px;padding:38px 0}
 .qas-custom-feature:nth-of-type(3) .qas-custom-media{order:0}
}


/* v3.3.9 — Custom Shirts intro video */
.qas-custom-intro{margin:0 auto 42px;overflow:hidden;background:#111;position:relative}
.qas-custom-intro video{display:block;width:100%;height:auto;max-height:var(--qas-custom-intro-height,560px);object-fit:cover;background:#111}
.qas-custom-intro.is-finished video{cursor:pointer}
@media(max-width:820px){.qas-custom-intro{margin-bottom:28px}}


/* v3.3.10 — optional homepage intro video */
.qas-home-intro{
  width:min(calc(100% - 28px),var(--qas-home-intro-width,1200px));
  margin:24px auto var(--qas-home-intro-bottom,34px);
  overflow:hidden;
  background:#111;
  border-radius:var(--qas-home-intro-radius,16px);
}
.qas-home-intro video{
  display:block;
  width:100%;
  height:auto;
  max-height:var(--qas-home-intro-height,560px);
  object-fit:cover;
  background:#111;
}
@media(max-width:820px){
  .qas-home-intro{width:min(calc(100% - 18px),var(--qas-home-intro-width,1200px));margin-top:16px}
}


/* v3.3.11 — black edge-to-edge homepage intro band */
body.home .qas-home-intro{
  position:relative;
  isolation:isolate;
  background:#111;
}
body.home .qas-home-intro::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:#111;
}
body.home .qas-home-intro video{
  background:#111;
}


/* v3.3.12 — force homepage intro to be a true full-width black band */
body.home .qas-home-intro,
body.front-page .qas-home-intro{
  width:100%!important;
  max-width:none!important;
  margin:0 0 var(--qas-home-intro-bottom,34px)!important;
  padding:0!important;
  border-radius:0!important;
  background:#111!important;
  overflow:hidden!important;
}

body.home .qas-home-intro::before,
body.front-page .qas-home-intro::before{
  display:none!important;
  content:none!important;
}

body.home .qas-home-intro video,
body.front-page .qas-home-intro video{
  display:block!important;
  width:min(100%,var(--qas-home-intro-width,1200px))!important;
  max-width:var(--qas-home-intro-width,1200px)!important;
  height:auto!important;
  max-height:var(--qas-home-intro-height,560px)!important;
  margin:0 auto!important;
  border-radius:var(--qas-home-intro-radius,16px)!important;
  object-fit:cover!important;
  background:#111!important;
}

/* Kill any beige gap/padding immediately around the opening video */
body.home .qas-home-intro + *,
body.front-page .qas-home-intro + *{
  margin-top:0!important;
}


/* v3.3.13 — homepage intro spacing controls
   Keep all spacing INSIDE the black band so beige/white gaps do not appear. */
body.home .qas-home-intro,
body.front-page .qas-home-intro{
  margin:0!important;
  padding:
    var(--qas-home-intro-pad-top,0px)
    0
    var(--qas-home-intro-pad-bottom,0px)!important;
  background:var(--qas-home-intro-band-bg,#111111)!important;
}

body.home .qas-home-intro video,
body.front-page .qas-home-intro video{
  margin:0 auto!important;
}

/* Optional controlled gap AFTER the black intro band. Defaults to 0. */
body.home .qas-home-intro + *,
body.front-page .qas-home-intro + *{
  margin-top:var(--qas-home-intro-after-gap,0px)!important;
}

/* If the next section is the homepage hero, keep that gap black as well. */
body.home .qas-home-intro + .hero,
body.home .qas-home-intro + .qas-hero,
body.front-page .qas-home-intro + .hero,
body.front-page .qas-home-intro + .qas-hero{
  border-top:var(--qas-home-intro-after-gap,0px) solid var(--qas-home-intro-band-bg,#111111);
}


/* =========================================================
   v3.3.14 — Single-product lower content + related grid fix
   ========================================================= */

/* Keep the top product section clean and balanced */
body.single-product .qas-product-page{
  width:min(calc(100% - 40px),1180px);
  margin:42px auto 70px;
}
body.single-product .qas-product-main{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:48px;
  align-items:start;
}

/* Everything beneath image/summary uses the full page width */
body.single-product .qas-product-below{
  width:100%;
  max-width:none;
  margin-top:42px;
  clear:both;
}

/* Woo tabs/description/additional info should not inherit narrow widths */
body.single-product .qas-product-below .woocommerce-tabs,
body.single-product .qas-product-below .woocommerce-tabs .panel,
body.single-product .qas-product-below .woocommerce-Tabs-panel,
body.single-product .qas-product-below .related,
body.single-product .qas-product-below .upsells{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
  box-sizing:border-box;
}

/* Tabs stay horizontal and readable */
body.single-product .qas-product-below .woocommerce-tabs ul.tabs{
  display:flex!important;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 24px!important;
  padding:0!important;
  list-style:none!important;
}
body.single-product .qas-product-below .woocommerce-tabs ul.tabs li{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.single-product .qas-product-below .woocommerce-tabs ul.tabs li::before,
body.single-product .qas-product-below .woocommerce-tabs ul.tabs li::after{
  display:none!important;
}
body.single-product .qas-product-below .woocommerce-tabs ul.tabs li a{
  display:inline-block!important;
  padding:9px 14px!important;
  border:1px solid #d9d2c9!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0b5d88!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body.single-product .qas-product-below .woocommerce-tabs ul.tabs li.active a{
  background:#0b5d88!important;
  color:#fff!important;
  border-color:#0b5d88!important;
}

/* Description / additional information spacing */
body.single-product .qas-product-below .woocommerce-tabs .panel{
  padding:0!important;
  margin:0 0 38px!important;
}
body.single-product .qas-product-below .woocommerce-tabs .panel h2{
  margin:0 0 14px!important;
  font-size:clamp(1.55rem,2.3vw,2.15rem)!important;
}
body.single-product .qas-product-below .shop_attributes{
  width:100%!important;
  border-collapse:collapse!important;
}
body.single-product .qas-product-below .shop_attributes th,
body.single-product .qas-product-below .shop_attributes td{
  padding:12px 10px!important;
  border-bottom:1px solid #ece6dd!important;
  text-align:left!important;
}

/* Related products: proper horizontal grid, not a skinny vertical stack */
body.single-product .qas-product-below .related.products,
body.single-product .qas-product-below .upsells.products{
  margin-top:44px!important;
}
body.single-product .qas-product-below .related.products > h2,
body.single-product .qas-product-below .upsells.products > h2{
  margin:0 0 22px!important;
  font-size:clamp(1.8rem,2.6vw,2.5rem)!important;
}
body.single-product .qas-product-below .related.products ul.products,
body.single-product .qas-product-below .upsells.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.single-product .qas-product-below .related.products ul.products::before,
body.single-product .qas-product-below .related.products ul.products::after,
body.single-product .qas-product-below .upsells.products ul.products::before,
body.single-product .qas-product-below .upsells.products ul.products::after{
  display:none!important;
  content:none!important;
}
body.single-product .qas-product-below .related.products ul.products li.product,
body.single-product .qas-product-below .upsells.products ul.products li.product{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  margin:0!important;
  clear:none!important;
}

/* Related product image/cards retain the same shop styling */
body.single-product .qas-product-below ul.products li.product img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1;
  object-fit:cover;
}

/* Responsive */
@media(max-width:980px){
  body.single-product .qas-product-below .related.products ul.products,
  body.single-product .qas-product-below .upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  body.single-product .qas-product-main{
    grid-template-columns:1fr;
    gap:28px;
  }
}
@media(max-width:560px){
  body.single-product .qas-product-page{
    width:min(calc(100% - 24px),1180px);
  }
  body.single-product .qas-product-below .related.products ul.products,
  body.single-product .qas-product-below .upsells.products ul.products{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   v3.3.15 — direct single-product lower layout
   ========================================================= */

body.single-product .qas-product-lower{
  width:100%;
  margin-top:42px;
  clear:both;
}

body.single-product .qas-product-info-block{
  padding:30px 0;
  border-top:1px solid #e6dfd5;
}

body.single-product .qas-product-info-block:first-child{
  border-top:0;
  padding-top:0;
}

body.single-product .qas-product-info-block h2{
  margin:0 0 16px!important;
  font-size:clamp(1.6rem,2.4vw,2.2rem)!important;
  line-height:1.08;
}

body.single-product .qas-product-description{
  max-width:900px;
  line-height:1.7;
  color:#30363a;
}

body.single-product .qas-product-description p{
  margin:0 0 14px;
}

body.single-product .qas-attributes-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 28px;
  max-width:900px;
}

body.single-product .qas-attribute-row{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #ece6dd;
}

body.single-product .qas-attribute-row strong{
  color:#111;
}

body.single-product .qas-related-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  width:100%;
}

body.single-product .qas-related-card{
  background:#fff;
  border:1px solid #e5dfd6;
  border-radius:16px;
  overflow:hidden;
  min-width:0;
}

body.single-product .qas-related-card a{
  color:inherit;
  text-decoration:none;
}

body.single-product .qas-related-image{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  background:#f5f1ea;
}

body.single-product .qas-related-body{
  padding:14px;
}

body.single-product .qas-related-title{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.25;
  color:#111;
}

body.single-product .qas-related-price{
  margin:0 0 12px;
  color:#0b5d88;
  font-weight:800;
  font-size:14px;
}

body.single-product .qas-related-card .button{
  display:inline-flex!important;
  width:auto!important;
  margin:0!important;
  padding:8px 14px!important;
  border:2px solid transparent!important;
  border-radius:999px!important;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg,#ef7b23,#0b5d88) border-box!important;
  color:#0b5d88!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
}

body.single-product .qas-related-card .button:hover{
  background:#ef7b23!important;
  color:#fff!important;
  border-color:#ef7b23!important;
}

@media(max-width:980px){
  body.single-product .qas-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  body.single-product .qas-attributes-grid{
    grid-template-columns:1fr;
  }
  body.single-product .qas-attribute-row{
    grid-template-columns:100px minmax(0,1fr);
  }
}

@media(max-width:520px){
  body.single-product .qas-related-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v3.3.16 — PRODUCT PAGE SCOPE FIX
   Do NOT depend on body.single-product. The custom product route can omit
   that body class in some views, especially Customizer preview.
   ========================================================= */

.qas-product-page{
  width:min(calc(100% - 40px),1180px)!important;
  margin:42px auto 70px!important;
}

.qas-product-page .qas-product-main{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)!important;
  gap:48px!important;
  align-items:start!important;
}

.qas-product-page .qas-product-media,
.qas-product-page .qas-product-summary{
  min-width:0!important;
  width:100%!important;
}

.qas-product-page .qas-product-media-frame{
  overflow:hidden!important;
  border-radius:18px!important;
  background:#f7f3ec!important;
  border:1px solid #e7e1d8!important;
}

.qas-product-page .qas-product-media-frame img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:720px!important;
  object-fit:contain!important;
}

.qas-product-page .qas-product-summary{
  padding:30px!important;
  background:#fff!important;
  border:1px solid #e7e1d8!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
}

.qas-product-page .qas-product-summary .product_title{
  margin:0 0 14px!important;
  font-size:clamp(2rem,3.4vw,3.4rem)!important;
  line-height:1.02!important;
}

.qas-product-page .qas-product-summary .price{
  margin:0 0 24px!important;
  color:#0b5d88!important;
  font-size:1.3rem!important;
  font-weight:900!important;
}

.qas-product-page .qas-product-summary table.variations{
  width:100%!important;
  border:0!important;
  margin:0 0 14px!important;
}

.qas-product-page .qas-product-summary table.variations tr{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  margin-bottom:10px!important;
}

.qas-product-page .qas-product-summary table.variations th,
.qas-product-page .qas-product-summary table.variations td{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}

.qas-product-page .qas-product-summary table.variations select{
  width:100%!important;
  min-height:42px!important;
  padding:8px 34px 8px 12px!important;
  border:1px solid #cfc8be!important;
  border-radius:10px!important;
  background:#fff!important;
}

.qas-product-page .qas-product-summary .quantity{
  float:none!important;
  display:inline-block!important;
  margin-right:8px!important;
}

.qas-product-page .qas-product-summary .quantity .qty{
  width:68px!important;
  min-height:42px!important;
  border:1px solid #cfc8be!important;
  border-radius:10px!important;
}

.qas-product-page .qas-product-summary .single_add_to_cart_button{
  min-height:42px!important;
  padding:10px 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0b5d88!important;
  color:#fff!important;
  font-weight:900!important;
}

.qas-product-page .qas-product-summary .single_add_to_cart_button:hover{
  background:#ef7b23!important;
  color:#fff!important;
}

/* Lower content is always full width */
.qas-product-page .qas-product-lower{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:42px 0 0!important;
  clear:both!important;
}

.qas-product-page .qas-product-info-block{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:30px 0!important;
  border-top:1px solid #e6dfd5!important;
  box-sizing:border-box!important;
}

.qas-product-page .qas-product-info-block:first-child{
  padding-top:0!important;
  border-top:0!important;
}

.qas-product-page .qas-product-info-block h2{
  display:block!important;
  width:100%!important;
  margin:0 0 16px!important;
  font-size:clamp(1.6rem,2.4vw,2.2rem)!important;
  line-height:1.08!important;
}

.qas-product-page .qas-product-description{
  display:block!important;
  width:100%!important;
  max-width:900px!important;
  margin:0!important;
  line-height:1.7!important;
  color:#30363a!important;
}

.qas-product-page .qas-attributes-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 28px!important;
  width:100%!important;
  max-width:900px!important;
}

.qas-product-page .qas-attribute-row{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:12px!important;
  padding:12px 0!important;
  border-bottom:1px solid #ece6dd!important;
}

/* Related cards */
.qas-product-page .qas-related-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

.qas-product-page .qas-related-card{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  background:#fff!important;
  border:1px solid #e5dfd6!important;
  border-radius:16px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.qas-product-page .qas-related-card > a{
  display:block!important;
  width:100%!important;
}

.qas-product-page .qas-related-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  margin:0!important;
}

.qas-product-page .qas-related-body{
  display:block!important;
  padding:14px!important;
}

.qas-product-page .qas-related-title{
  margin:0 0 8px!important;
  font-size:15px!important;
  line-height:1.25!important;
}

.qas-product-page .qas-related-price{
  margin:0 0 12px!important;
  color:#0b5d88!important;
  font-weight:800!important;
  font-size:14px!important;
}

.qas-product-page .qas-related-card .button{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:8px 14px!important;
  border:2px solid transparent!important;
  border-radius:999px!important;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg,#ef7b23,#0b5d88) border-box!important;
  color:#0b5d88!important;
  font-size:12px!important;
  font-weight:800!important;
}

.qas-product-page .qas-related-card .button:hover{
  background:#ef7b23!important;
  color:#fff!important;
  border-color:#ef7b23!important;
}

/* Also catch old/default WooCommerce lower output if a cached request serves it. */
.qas-product-page .woocommerce-tabs,
.qas-product-page .related.products,
.qas-product-page .upsells.products{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
}

.qas-product-page .related.products ul.products,
.qas-product-page .upsells.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
}

.qas-product-page .related.products ul.products li.product,
.qas-product-page .upsells.products ul.products li.product{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  margin:0!important;
}

@media(max-width:980px){
  .qas-product-page .qas-related-grid,
  .qas-product-page .related.products ul.products,
  .qas-product-page .upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .qas-product-page .qas-product-main{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .qas-product-page .qas-attributes-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:520px){
  .qas-product-page{
    width:min(calc(100% - 24px),1180px)!important;
  }
  .qas-product-page .qas-related-grid,
  .qas-product-page .related.products ul.products,
  .qas-product-page .upsells.products ul.products{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   v3.3.17 — built-in share controls / product routing fix
   ========================================================= */
.qas-share-wrap{
  margin-top:var(--qas-share-top,26px)!important;
  padding-top:var(--qas-share-pad-top,20px)!important;
  border-top:var(--qas-share-divider,1px) solid var(--qas-share-divider-color,#ded8cf)!important;
  text-align:var(--qas-share-align,left)!important;
}
.qas-share-label{
  font-size:var(--qas-share-label-size,.72rem)!important;
  color:var(--qas-share-label-color,#777)!important;
}
.qas-share-buttons{
  gap:var(--qas-share-gap,8px)!important;
  justify-content:var(--qas-share-justify,flex-start)!important;
}
.qas-share-button{
  width:var(--qas-share-size,38px)!important;
  height:var(--qas-share-size,38px)!important;
  border-width:var(--qas-share-border-width,1px)!important;
  border-style:solid!important;
  border-color:var(--qas-share-border,#d7d2ca)!important;
  background:var(--qas-share-bg,#fff)!important;
  color:var(--qas-share-text,#222)!important;
  border-radius:var(--qas-share-radius,999px)!important;
}
.qas-share-button:hover{
  background:var(--qas-share-hover-bg,#ef7b23)!important;
  color:var(--qas-share-hover-text,#fff)!important;
  border-color:var(--qas-share-hover-border,#ef7b23)!important;
}
.qas-share-button.native-share{
  width:auto!important;
  min-height:var(--qas-share-size,38px)!important;
  padding:0 var(--qas-share-native-pad,12px)!important;
}


/* 3.3.22 — framed social group on desktop + compact 3x2 mobile social grid */
:root{
  --qas-social-icon-color:#ef7b23;
  --qas-social-frame-start:#1d5f7e;
  --qas-social-frame-end:#ef7b23;
  --qas-social-frame-thickness:2px;
  --qas-social-frame-radius:12px;
  --qas-social-frame-pad-x:8px;
  --qas-social-frame-pad-y:4px;
  --qas-social-icon-gap:4px;
  --qas-social-icon-size-desktop:18px;
  --qas-social-icon-size-mobile:17px;
  --qas-mobile-menu-nudge:0px;
}
.site-header .qas-social-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--qas-social-icon-gap);
  padding:var(--qas-social-frame-pad-y) var(--qas-social-frame-pad-x);
  border:var(--qas-social-frame-thickness) solid transparent;
  border-radius:var(--qas-social-frame-radius);
  background:
    linear-gradient(var(--qas-black),var(--qas-black)) padding-box,
    linear-gradient(90deg,var(--qas-social-frame-start),var(--qas-social-frame-end)) border-box;
  flex:0 0 auto;
}
.site-header .qas-social-frame.qas-no-frame{
  border-color:transparent!important;
  background:transparent!important;
}
.site-header .qas-social-frame .social-link{
  display:grid;
  width:30px;
  height:30px;
  color:var(--qas-social-icon-color)!important;
  flex:0 0 auto;
}
.site-header .qas-social-frame .social-link svg{
  width:var(--qas-social-icon-size-desktop)!important;
  height:var(--qas-social-icon-size-desktop)!important;
}
.site-header .header-actions>.cart-link{flex:0 0 auto}

@media(max-width:980px){
  .site-header .header-inner{
    grid-template-columns:auto auto 1fr auto!important;
    column-gap:10px!important;
  }
  .site-header .site-branding{grid-column:1}
  .site-header .menu-toggle{
    grid-column:2;
    transform:translateX(var(--qas-mobile-menu-nudge));
  }
  .site-header .main-nav{grid-column:1/-1}
  .site-header .header-actions{
    grid-column:3 / 5;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px!important;
    min-width:0;
  }
  .site-header .qas-social-frame{
    display:grid!important;
    grid-template-columns:repeat(3,26px);
    grid-auto-rows:26px;
    justify-content:center;
    align-content:center;
    gap:var(--qas-social-icon-gap);
    justify-self:end;
    padding:var(--qas-social-frame-pad-y) var(--qas-social-frame-pad-x);
  }
  .site-header .qas-social-frame .social-link{
    display:grid!important;
    width:26px;
    height:26px;
    place-items:center;
  }
  .site-header .qas-social-frame .social-link svg{
    width:var(--qas-social-icon-size-mobile)!important;
    height:var(--qas-social-icon-size-mobile)!important;
  }
  .site-header .cart-link{justify-self:end}
}
@media(max-width:620px){
  .site-header .header-inner{column-gap:6px!important}
  .site-header .site-branding{min-width:0}
  .site-header .qas-social-frame{grid-template-columns:repeat(3,24px);grid-auto-rows:24px}
  .site-header .qas-social-frame .social-link{width:24px;height:24px}
  .site-header .cart-link{padding-inline:4px}
}
