/* ================= shop / category ================= */
.qs-pagehead{background:linear-gradient(120deg,var(--qs-navy),var(--qs-blue));color:#fff;padding:26px 0 24px;position:relative;overflow:hidden}
.qs-pagehead::after{content:"";position:absolute;right:-40px;top:-70px;width:260px;height:260px;border-radius:50%;background:rgba(242,140,40,.22);animation:qs-float 9s ease-in-out infinite}
.qs-pagehead .wc-block-breadcrumbs,.qs-pagehead .woocommerce-breadcrumb,.qs-pagehead .wc-block-breadcrumbs a{color:#cfe0fb;font-size:.85rem}
.qs-pagehead h1{color:#fff;font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:900;margin:6px 0 0}
.qs-pagehead .wp-block-term-description{color:#cfe0fb;margin-top:6px}
.qs-shop-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;padding-top:26px;padding-bottom:20px;align-items:start}
.qs-side{background:#fff;border:1px solid var(--qs-line);border-radius:var(--qs-r);padding:18px 18px 8px;position:sticky;top:130px}
.qs-side h3{font-size:1rem;margin:0 0 8px;padding-bottom:8px;border-bottom:2px solid var(--qs-orange);display:inline-block}
.qs-side ul{list-style:none;margin:0 0 16px;padding:0}
.qs-side li a{display:block;padding:7px 10px;margin:1px -10px;border-radius:8px;color:var(--qs-ink);text-decoration:none;font-size:.93rem;font-weight:500;transition:background .2s,color .2s,padding .2s}
.qs-side li a:hover{background:var(--qs-sky);color:var(--qs-blue);padding-left:15px}
.qs-toolbar{margin-bottom:14px;font-size:.9rem;color:var(--qs-mute)}
.qs-toolbar select{border:1px solid var(--qs-line);border-radius:8px;padding:8px 10px;background:#fff}
.qs-results .wc-block-product-template{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.qs-results .wc-block-product{width:auto!important;margin:0!important;display:flex;flex-direction:column}
.qs-results .wc-block-product .wp-block-woocommerce-product-button{margin-top:auto;padding-top:8px}
.qs-results .wp-block-query-pagination{margin:26px 0;gap:6px}
.qs-results .page-numbers,.qs-results .wp-block-query-pagination a{padding:8px 13px;border:1px solid var(--qs-line);border-radius:8px;background:#fff;text-decoration:none;color:var(--qs-ink);font-weight:600}
.qs-results .page-numbers.current{background:var(--qs-blue);color:#fff;border-color:var(--qs-blue)}
.wc-block-components-product-sale-badge{background:var(--qs-orange)!important;color:var(--qs-navy)!important;border:0!important;font-weight:800}

/* ================= product page ================= */
.qs-single .qs-wrap{padding-top:10px;padding-bottom:20px}
.qs-pdp{gap:36px!important;margin:10px 0 30px}
.qs-pdp .woocommerce-product-gallery{background:#fff;border:1px solid var(--qs-line);border-radius:var(--qs-r);padding:14px}
.qs-pdp .woocommerce-product-gallery img{border-radius:10px}
.qs-brand a{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--qs-orange-d);text-decoration:none}
.qs-pdp h1{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:900;margin:4px 0 10px;line-height:1.15}
.qs-pdp .wp-block-woocommerce-product-price{color:var(--qs-blue);font-weight:800}
.qs-pdp form.cart table.variations{width:100%;margin-bottom:12px}
.qs-pdp form.cart select,.qs-pdp .quantity input{border:2px solid var(--qs-line);border-radius:10px;padding:11px 12px;font-size:1rem;background:#fff;width:100%}
.qs-pdp form.cart .quantity input{width:90px;text-align:center}
.qs-pdp form.cart select:focus,.qs-pdp .quantity input:focus{border-color:var(--qs-blue);outline:0}
.qs-pdp .single_add_to_cart_button,.qs-pdp .wp-element-button{background:var(--qs-orange);color:var(--qs-navy);border:0;border-radius:999px;padding:14px 34px;font-weight:800;font-size:1rem;cursor:pointer;transition:background .25s,color .25s,transform .2s}
.qs-pdp .single_add_to_cart_button:hover{background:var(--qs-navy);color:#fff;transform:translateY(-2px)}
.qs-pdp .stock{font-weight:700;color:#1d8a4b}.qs-pdp .out-of-stock{color:#d62828}
.wp-block-woocommerce-product-meta{margin-top:18px;padding-top:14px;border-top:1px solid var(--qs-line);font-size:.88rem;color:var(--qs-mute)}

/* ================= cart / checkout / account ================= */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{max-width:1280px;margin:0 auto;padding:10px 20px 20px}
.wc-block-cart .wc-block-cart__main,.wc-block-checkout__main{background:#fff;border:1px solid var(--qs-line);border-radius:var(--qs-r);padding:18px}
.wc-block-cart__sidebar,.wc-block-checkout__sidebar{background:#fff;border:1px solid var(--qs-line);border-radius:var(--qs-r);padding:18px!important}
.wc-block-components-button:not(.is-link){background:var(--qs-orange)!important;color:var(--qs-navy)!important;border-radius:999px!important;font-weight:800;border:0!important;transition:background .25s,color .25s,transform .2s}
.wc-block-components-button:not(.is-link):hover{background:var(--qs-navy)!important;color:#fff!important;transform:translateY(-1px)}
.wc-block-components-product-name{font-weight:700;color:var(--qs-ink)}
.wc-block-components-text-input input,.wc-block-components-select-control select{border:2px solid var(--qs-line)!important;border-radius:10px!important}
.wc-block-components-text-input input:focus{border-color:var(--qs-blue)!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--qs-blue);font-weight:900}
.woocommerce-info,.woocommerce-message,.wc-block-components-notice-banner{border-radius:10px}
.woocommerce-account .woocommerce{max-width:1100px;margin:0 auto;padding:26px 20px}
.woocommerce-account h2,.woocommerce-account h3{font-weight:800}
.woocommerce form.login,.woocommerce form.register{background:#fff;border:1px solid var(--qs-line)!important;border-radius:var(--qs-r);padding:22px!important}
.woocommerce form .form-row input.input-text{border:2px solid var(--qs-line);border-radius:10px;padding:11px 12px;width:100%}
.woocommerce form .button,.woocommerce-Button{background:var(--qs-orange);color:var(--qs-navy);border:0;border-radius:999px;padding:12px 28px;font-weight:800;cursor:pointer}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:600}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--qs-sky);color:var(--qs-blue)}

/* ================= mobile ================= */
@media(max-width:1100px){.qs-results .wc-block-product-template{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  .qs-shop-grid{grid-template-columns:minmax(0,1fr)}
  .qs-side{position:static;display:block;padding:12px 14px}
  .qs-side h3{display:none}
  .qs-side ul{display:flex;gap:6px;overflow-x:auto;margin:0 0 6px;scrollbar-width:none}
  .qs-side li a{white-space:nowrap;background:var(--qs-sky);border-radius:999px;margin:0;padding:7px 14px}
  .qs-side li a:hover{padding-left:14px}
  .qs-results .wc-block-product-template{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .qs-pdp{flex-direction:column}.qs-pdp .wp-block-column{flex-basis:100%!important}
  .qs-toolbar{flex-wrap:wrap!important;gap:8px}
  .qs-row .wc-block-product{flex-basis:62%!important}.qs-arrow{display:none}
  .qs-cta h2{font-size:1.4rem}.qs-slide h1,.qs-slide h2{font-size:2rem}
  .qs-slide .qs-wrap{padding-top:44px;padding-bottom:56px}
  .qs-btn{padding:12px 22px;margin-bottom:8px}
  .wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{padding:8px 12px}
}
@media(max-width:480px){
  .qs-wrap{padding:0 14px}.qs-cats{gap:10px}.qs-cat{min-height:118px;padding:14px}.qs-cat b{font-size:1rem}
  .qs-trust .qs-wrap{grid-template-columns:1fr 1fr;gap:12px}.qs-trust div{font-size:.82rem}
  .qs-foot-grid{grid-template-columns:1fr}.qs-sec-h h2{font-size:1.35rem}
}

/* ===== mobile header + overflow fixes ===== */
html,body{overflow-x:clip}
.qs-row{max-width:100%}
@media(max-width:900px){
  .qs-row{overflow:hidden}
  .qs-actions{gap:10px!important}
  .qs-actions .wc-block-customer-account__link{font-size:0!important;display:flex;align-items:center}
  .qs-actions .wc-block-customer-account__account-icon{width:26px!important;height:26px!important}
  .qs-head-in{grid-template-columns:auto minmax(0,1fr) auto}
  .qs-logo img{height:38px;max-width:100%}
  .qs-top .qs-wrap{justify-content:center}
}
@media(max-width:900px){
  .qs-results .wc-block-product .wp-block-post-title{font-size:.85rem!important;line-height:1.25}
  .qs-results .wc-block-product .wp-block-button__link{padding:10px 8px;font-size:.8rem}
}

/* ===== card quantity + add to cart ===== */
.qs-addform{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.qs-qty{display:flex;align-items:stretch;border:2px solid var(--qs-line);border-radius:999px;overflow:hidden;background:#fff}
.qs-qty button{width:38px;border:0;background:var(--qs-sky);color:var(--qs-blue);font-size:1.2rem;font-weight:800;cursor:pointer;transition:background .2s,color .2s}
.qs-qty button:hover{background:var(--qs-blue);color:#fff}
.qs-qty input{flex:1;min-width:0;border:0;text-align:center;font-weight:700;font-size:.95rem;background:transparent;-moz-appearance:textfield;padding:8px 0}
.qs-qty input::-webkit-outer-spin-button,.qs-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qs-add{background:var(--qs-orange);color:var(--qs-navy);border:0;border-radius:999px;padding:11px 10px;font-weight:800;font-size:.9rem;cursor:pointer;transition:background .25s,color .25s}
.qs-add:hover{background:var(--qs-navy);color:#fff}.qs-add.done{background:#1d8a4b;color:#fff}.qs-add:disabled{opacity:.8;cursor:wait}

/* ===== Tobacco drop-down (opens on hover) ===== */
.qs-nav .qs-has-sub{position:relative}
.qs-nav .qs-sub{display:none;flex-direction:column;gap:0;position:absolute;top:100%;left:0;min-width:270px;background:#fff;border-radius:0 0 10px 10px;box-shadow:0 12px 28px rgba(15,42,86,.22);z-index:60;list-style:none;margin:0;padding:6px 0;overflow:visible}
.qs-nav .qs-has-sub:hover>.qs-sub,.qs-nav .qs-has-sub:focus-within>.qs-sub{display:flex}
.qs-nav .qs-sub li{display:block;width:100%}
.qs-nav .qs-sub a{color:var(--qs-ink);padding:10px 18px;font-weight:600;white-space:normal}
.qs-nav .qs-sub a:hover{background:var(--qs-sky)}
.qs-nav .qs-sub a::after{display:none}
@media(min-width:901px){.qs-nav ul{overflow:visible}}
@media(max-width:900px){.qs-nav .qs-sub{display:flex;position:static;box-shadow:none;background:rgba(255,255,255,.12);border-radius:0}.qs-nav .qs-sub a{color:#fff;padding-left:30px}}


/* ===== Tobacco menu item: amber/brown ===== */
.qs-nav .qs-has-sub>a{background:#b45309;color:#fff}
.qs-nav .qs-has-sub:hover>a,.qs-nav .qs-has-sub:focus-within>a{background:#92400e}
.qs-nav .qs-has-sub>a::after{background:#fff}

/* ===== header scan button ===== */
.qs-search .qs-scanbtn{background:var(--qs-sky);color:var(--qs-blue);padding:0 14px;min-width:44px;border:0;cursor:pointer}
.qs-search .qs-scanbtn:hover{background:var(--qs-orange);color:var(--qs-navy)}

/* ===== scan / request modal ===== */
html.qs-modal-open{overflow:hidden}
.qs-modal{position:fixed;inset:0;background:rgba(15,42,86,.55);z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.qs-mb{background:#fff;border-radius:16px;padding:22px;width:100%;max-width:480px;max-height:100%;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.qs-mb h2{margin:0 0 10px;font-size:1.35rem;font-weight:800}
.qs-mb video{display:none;width:100%;border-radius:10px;background:var(--qs-navy);min-height:170px}
.qs-note{color:var(--qs-mute);font-size:.92rem;margin:10px 0}
.qs-mb label{display:block;font-weight:700;font-size:.88rem;margin:10px 0 4px}
.qs-mb input[type=text],.qs-mb input[type=number]{width:100%;border:2px solid var(--qs-line);border-radius:10px;padding:11px 12px;font-size:1rem;box-sizing:border-box;min-height:44px}
.qs-mb input:focus{border-color:var(--qs-blue);outline:0}
.qs-srow{display:flex;gap:8px}.qs-srow input{flex:1;min-width:0}
.qs-form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.qs-form .full{grid-column:1/-1}
.qs-res{min-height:1.4em;font-weight:700;margin:10px 0 0}.qs-res.err{color:#d62828}
.qs-acts{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-wrap:wrap}
.qs-pb,.qs-gb{border:0;border-radius:999px;padding:12px 24px;font-weight:800;cursor:pointer;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem}
.qs-pb{background:var(--qs-blue);color:#fff}.qs-pb.or{background:var(--qs-orange);color:var(--qs-navy)}
.qs-gb{background:var(--qs-sky);color:var(--qs-blue)}
.qs-pb:disabled{opacity:.6;cursor:wait}
@media(max-width:480px){.qs-form{grid-template-columns:1fr}.qs-acts>*{flex:1}}

/* ===== flavor / option selection board ===== */
.qs-board{background:#fff;border:1px solid var(--qs-line);border-radius:var(--qs-r);padding:16px;margin:12px 0}
.qs-board-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:10px}
.qs-board-h b{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:800}
.qs-board-h span{color:var(--qs-mute);font-size:.88rem}
.qs-board-s{width:100%;box-sizing:border-box;border:2px solid var(--qs-line);border-radius:999px;padding:10px 16px;font-size:1rem;margin-bottom:10px;min-height:44px}
.qs-board-s:focus{border-color:var(--qs-blue);outline:0}
.qs-board-list{max-height:460px;overflow-y:auto;border-top:1px solid var(--qs-line)}
.qs-brow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid var(--qs-line)}
.qs-brow[hidden]{display:none}
.qs-brow.on{background:var(--qs-sky)}
.qs-brow.out{opacity:.5}
.qs-bn{min-width:0}.qs-bn b{display:block;font-size:.95rem;overflow-wrap:anywhere}
.qs-bst{font-size:.8rem;color:#1d8a4b;font-weight:600}.qs-bst.low{color:#c2410c}.qs-brow.out .qs-bst{color:#d62828}
.qs-bp{font-weight:800;color:var(--qs-blue);white-space:nowrap}
.qs-bq{display:flex;align-items:stretch;border:2px solid var(--qs-line);border-radius:999px;overflow:hidden;background:#fff}
.qs-bq button{width:40px;min-height:40px;border:0;background:var(--qs-sky);color:var(--qs-blue);font-size:1.2rem;font-weight:800;cursor:pointer}
.qs-bq button:hover:not(:disabled){background:var(--qs-blue);color:#fff}
.qs-bq button:disabled{cursor:not-allowed;opacity:.6}
.qs-bq input{width:48px;border:0;text-align:center;font-weight:700;font-size:1rem;background:transparent;-moz-appearance:textfield;padding:0;min-width:0}
.qs-bq input::-webkit-outer-spin-button,.qs-bq input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qs-board-none{padding:14px 4px;color:var(--qs-mute)}
.qs-board-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.qs-board-sum{font-size:.88rem;color:var(--qs-mute)}.qs-board-tot{font-size:1.5rem;font-weight:900;color:var(--qs-blue)}
.qs-board-add{background:var(--qs-orange);color:var(--qs-navy);border:0;border-radius:999px;padding:14px 28px;font-weight:800;font-size:1rem;cursor:pointer;min-height:48px}
.qs-board-add:hover{background:var(--qs-navy);color:#fff}.qs-board-add:disabled{opacity:.7;cursor:wait}
.qs-board-msg{min-height:1.3em;margin-top:8px;font-weight:700}.qs-board-msg.ok{color:#1d8a4b}.qs-board-msg.err{color:#d62828}
.qs-board-login a{font-weight:800;color:var(--qs-blue)}

/* ===== mobile: tap targets, header, nav, tables as cards ===== */
@media(max-width:900px){

  .qs-nav ul{overflow:visible;gap:0}
  .qs-nav li{width:100%}
  .qs-nav a{padding:14px 18px;min-height:44px;box-sizing:border-box}
  .qs-nav a::after{display:none}
  .qs-nav .qs-has-sub>a{display:block}
  .qs-burger{min-width:44px;min-height:44px}
  .qs-search .qs-scanbtn,.qs-search button{min-width:46px}
  .qs-board-add{width:100%}
  .qs-brow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n q" "p q";align-items:center}
  .qs-brow .qs-bn{grid-area:n}.qs-brow .qs-bp{grid-area:p}.qs-brow .qs-bq{grid-area:q;justify-self:end}
  /* tables -> stacked cards */
  .woocommerce table.shop_table_responsive thead,.woocommerce-page table.shop_table_responsive thead,
  .woocommerce table.my_account_orders thead{display:none}
  .woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr{display:block;border:1px solid var(--qs-line);border-radius:10px;margin-bottom:12px;background:#fff}
  .woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{display:flex;justify-content:space-between;gap:12px;text-align:right!important;border-top:1px solid var(--qs-line);padding:10px 12px}
  .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);font-weight:700;text-align:left;color:var(--qs-mute)}
  .woocommerce table.shop_table_responsive tr td:first-child{border-top:0}
  .woocommerce form .form-row,.woocommerce-page form .form-row{width:100%!important;float:none!important}
  .woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea,.woocommerce form .form-row input[type=file]{max-width:100%;box-sizing:border-box;min-height:44px}
  .woocommerce form .button,.woocommerce-Button,.wc-block-components-button{min-height:44px}
  .woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content{float:none!important;width:100%!important}
  .woocommerce-account .woocommerce{padding:16px 14px}
  .u-columns.col2-set .u-column1,.u-columns.col2-set .u-column2,.col2-set .col-1,.col2-set .col-2{float:none!important;width:100%!important}
  .woocommerce-account .woocommerce,.woocommerce-cart .wp-block-post-content,.woocommerce-checkout .wp-block-post-content{overflow-wrap:anywhere}
  img,video,iframe,table{max-width:100%}
  .wc-block-components-quantity-selector{min-height:44px}
  .wc-block-components-quantity-selector__button{min-width:36px;min-height:44px}
}

/* ===== mobile: reclaim side space on cart / checkout / account pages ===== */
@media(max-width:900px){
  html body{--wp--style--root--padding-left:12px;--wp--style--root--padding-right:12px}
  .woocommerce table.shop_table_responsive,.woocommerce-page table.shop_table_responsive,.woocommerce table.woocommerce-orders-table{width:100%!important;table-layout:fixed;box-sizing:border-box;display:block}
  .woocommerce table.shop_table_responsive tbody,.woocommerce table.woocommerce-orders-table tbody{display:block}
  .woocommerce table.shop_table_responsive tr td{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
  .woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions,.woocommerce table.shop_table_responsive td.order-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;text-align:left!important}
  .woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before{display:none}
  .wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{padding-left:0!important;padding-right:0!important}
  .wc-block-cart .wc-block-cart__main,.wc-block-checkout__main,.wc-block-cart__sidebar,.wc-block-checkout__sidebar{padding:12px!important}
  .woocommerce-account .woocommerce{padding:12px 0}
}
.qs-pb,.qs-gb,.qs-board-add,.qs-board-s,.qs-mb input{font-family:inherit}
.qs-pb,.qs-gb{line-height:1.2;text-align:center}
@media(max-width:900px){
  .qs-pdp .wp-block-column{min-width:0}
  .qs-pdp .woocommerce-product-gallery,.qs-pdp .wp-block-woocommerce-product-image-gallery{max-width:100%;box-sizing:border-box;width:100%!important}
  .qs-pdp .woocommerce-product-gallery img{max-width:100%;height:auto}
}
@media(min-width:901px){.qs-nav ul{flex-wrap:wrap}}
@media(min-width:901px) and (max-width:1250px){.qs-nav a{padding:13px 11px;font-size:.88rem}.qs-nav a::after{left:11px;right:11px}}
