/* Gaming Mania: WooCommerce (cards, shop + filters, product page, bundle,
   quick view, cart drawer, cart, checkout, account). Tokens live in style.css. */

/* Basics WooCommerce's own stylesheet used to provide. */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery .flex-viewport { border-radius: var(--r); }
.woocommerce-product-gallery__image { position: relative; }
.woocommerce-product-gallery__image a { display: block; }
.blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }
.woocommerce-store-notice { display: none !important; }
.clear { clear: both; }

/* ---------- Product grid + card ------------------------------------------ */
ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
ul.products::before, ul.products::after { display: none !important; }
.shop__results ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
ul.products.rail__track { grid-template-columns: none; }
.card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--white); border: 1.5px solid var(--line); border-radius: var(--r); transition: border-color .25s, box-shadow .3s, transform .3s var(--ease-out); }
.card:hover { border-color: var(--ink); box-shadow: var(--shadow); }
.card__media { position: relative; aspect-ratio: 1; background: var(--paper); overflow: hidden; border-radius: var(--r) var(--r) 0 0; }
.card__img { display: block; width: 100%; height: 100%; }
.card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out), opacity .45s; }
.card:hover .card__img img { transform: scale(1.05); }
.card__alt { opacity: 0; }
.card:hover .card__img.has-alt .card__alt { opacity: 1; }
.card__flags { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.flag { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; position: relative; isolation: isolate; color: var(--ink); }
.flag::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skewX(var(--skew)); background: var(--white); box-shadow: 0 1px 3px rgba(43, 40, 41, .18); }
.flag--new { color: var(--white); }
.flag--new::before { background: var(--ink); }
.flag--pre::before { background: var(--blue-tint); }
.onsale { position: absolute; top: 6px; right: 6px; z-index: 2; width: 64px; height: 64px; display: grid; place-items: center; color: var(--blue); transform: rotate(-10deg); }
.onsale .burst { position: absolute; inset: 0; width: 100%; height: 100%; }
.onsale > span { position: relative; color: var(--white); font-weight: 800; font-style: italic; font-stretch: 80%; font-size: 16px; text-shadow: 0 1px 0 rgba(43, 40, 41, .3); }
.card:hover .onsale { animation: jiggle .5s var(--ease-out); }
@keyframes jiggle { 40% { transform: rotate(4deg) scale(1.1); } }
.card__oos { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 8px; background: rgba(55, 52, 53, .9); color: var(--white); text-align: center; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.card.outofstock .card__img img { filter: grayscale(.85); opacity: .75; }
.card__video { position: absolute; left: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; background: var(--white); color: var(--blue-ink); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; border-radius: 2px; box-shadow: 0 1px 3px rgba(43, 40, 41, .18); }
.card__video .i { width: 15px; height: 15px; }
.card__qv { position: absolute; right: 10px; bottom: 10px; z-index: 3; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 0; border-radius: 2px; background: var(--ink); color: var(--white); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; opacity: 0; transform: translateY(8px); transition: opacity .25s, transform .3s var(--ease-out), background-color .2s; }
.card__qv .i { width: 16px; height: 16px; }
.card:hover .card__qv, .card__qv:focus-visible { opacity: 1; transform: none; }
.card__qv:hover { background: var(--blue-ink); }
.card__body { display: flex; flex-direction: column; flex: 1; padding: 14px 14px 16px; }
.card__cat { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 8px; margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); }
.card__plat { color: var(--blue-ink); }
.card__t { margin: 0 0 6px; font-size: 15px; font-weight: 600; font-stretch: 95%; line-height: 1.3; letter-spacing: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card__t a { color: var(--ink); text-decoration: none; }
.card__t a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card__low { margin: 0 0 4px; font-size: 12px; font-weight: 700; color: var(--blue-ink); }
.card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 10px; position: relative; z-index: 2; }
.card__price { margin: 0; font-size: 19px; font-weight: 800; font-stretch: 85%; line-height: 1.1; min-width: 0; }
.price del { display: block; font-size: .7em; font-weight: 500; color: var(--mute); }
.price ins { text-decoration: none; color: var(--blue-ink); }
.price .woocommerce-Price-amount { white-space: nowrap; }
.btn--add { min-height: 40px; padding-inline: 14px; font-size: 13px; flex: none; }
.btn--add.added::before, .btn--add.is-added::before { --bg: var(--blue-ink); background: var(--blue-ink); }
.card .added_to_cart { display: none; }

/* ---------- Shop layout --------------------------------------------------- */
.phead--shop { padding-bottom: 0; }
.phead--shop .phead__in { padding-bottom: 28px; }
.catrail { position: relative; z-index: 1; border-top: 1px solid rgba(255, 255, 255, .12); }
.catrail ul { display: flex; gap: 4px; margin: 0; padding: 10px 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.catrail ul::-webkit-scrollbar { display: none; }
.catrail a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 2px; color: rgba(255, 255, 255, .86); font-weight: 700; font-size: 14px; white-space: nowrap; text-decoration: none; }
.catrail a .i { width: 16px; height: 16px; }
.catrail a em { font-style: normal; font-weight: 500; font-size: 12px; opacity: .7; }
.catrail a:hover { background: rgba(255, 255, 255, .1); color: var(--white); }
.catrail a[aria-current] { background: var(--white); color: var(--ink); }
.woo-main { padding-block: 32px 80px; }
.shop { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
.shop__bar { display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; margin-bottom: 18px; }
.filters-open { display: none !important; }
.filters-open .count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 10px; background: var(--blue-ink); color: var(--white); font-size: 11px; }
.filters-open .count:empty { display: none; }
.woocommerce-result-count { margin: 0; font-size: 14px; color: var(--mute); }
.woocommerce-ordering { margin: 0 0 0 auto; }
.woocommerce-ordering select { min-height: 42px; padding: 0 36px 0 12px; border: 1.5px solid var(--line-2); border-radius: var(--r); background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23373435' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 16px; appearance: none; font-weight: 600; font-size: 14px; }
.shop__results { transition: opacity .25s; }
.shop__results.is-loading { opacity: .4; pointer-events: none; }
.shop__empty { display: grid; justify-items: center; gap: 8px; padding: 48px 20px; text-align: center; background: var(--paper); border-radius: var(--r); }
.shop__burst { width: 72px; height: 72px; color: var(--blue); }
.shop__empty h2 { font-size: 26px; margin: 8px 0 0; }
.shop__empty p { max-width: 52ch; color: var(--ink-3); }
.shop__empty .sbox { width: 100%; max-width: 440px; }
.shop__empty-a { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }

/* Filters */
.filters { position: sticky; top: calc(var(--header-h) + 16px); max-height: calc(100vh - var(--header-h) - 32px); overflow: auto; scrollbar-width: thin; }
.filters__head { display: none; }
.facet { margin: 0 0 22px; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--line); min-width: 0; }
.facet legend { margin-bottom: 12px; padding: 0; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.check { display: flex; align-items: center; gap: 10px; min-height: 34px; font-size: 15px; cursor: pointer; }
.check input { width: 18px; height: 18px; accent-color: var(--blue-ink); flex: none; }
.check em { margin-left: auto; font-style: normal; font-size: 12px; color: var(--mute); }
.check--sub { padding-left: 26px; font-size: 14px; }
.seg { display: grid; grid-template-columns: repeat(3, auto); gap: 0; margin-bottom: 10px; border: 1.5px solid var(--ink); border-radius: var(--r); overflow: hidden; }
.seg label { position: relative; }
.seg input { position: absolute; opacity: 0; }
.seg span { display: grid; place-items: center; min-height: 40px; padding: 0 6px; font-size: 13px; font-weight: 700; cursor: pointer; text-align: center; }
.seg label + label span { border-left: 1.5px solid var(--ink); }
.seg input:checked + span { background: var(--ink); color: var(--white); }
.seg input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: -3px; }
.pills { display: flex; flex-wrap: wrap; gap: 6px; }
.pill input { position: absolute; opacity: 0; }
.pill span { position: relative; isolation: isolate; display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; font-size: 13px; font-weight: 700; cursor: pointer; }
.pill span::before { content: ""; position: absolute; inset: 0; z-index: -1; border: 1.5px solid var(--line-2); transform: skewX(var(--skew)); }
.pill input:checked + span { color: var(--white); }
.pill input:checked + span::before { background: var(--ink); border-color: var(--ink); }
.pill input:focus-visible + span::before { outline: 3px solid var(--blue); outline-offset: 2px; }
.range { position: relative; padding-top: 6px; }
.range__track { position: relative; height: 4px; margin: 10px 9px 0; background: var(--line); border-radius: 2px; }
.range__track span { position: absolute; top: 0; bottom: 0; left: calc(var(--a) * 100%); right: calc((1 - var(--b)) * 100%); background: var(--blue-ink); }
.range label { display: block; }
.range input[type="range"] { position: absolute; left: 0; right: 0; top: 7px; width: 100%; height: 18px; margin: 0; background: none; pointer-events: none; appearance: none; -webkit-appearance: none; }
.range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--white); border: 3px solid var(--ink); pointer-events: auto; cursor: grab; box-shadow: 0 1px 4px rgba(43, 40, 41, .25); }
.range input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--white); border: 3px solid var(--ink); pointer-events: auto; cursor: grab; }
.range input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 3px solid var(--blue); outline-offset: 2px; }
.range__out { display: flex; justify-content: space-between; margin: 18px 0 0; font-size: 14px; font-weight: 700; }
.range__out span[aria-hidden] { font-weight: 500; color: var(--mute); }
.filters__foot { display: grid; gap: 8px; }
.filters__show { display: none !important; }
.filters__clear { font-size: 14px; font-weight: 700; color: var(--ink); }

/* Pagination */
.woocommerce-pagination ul.page-numbers { border: 0; }
.woocommerce-pagination .page-numbers li { border: 0; }
.woocommerce-pagination a.page-numbers, .woocommerce-pagination span.page-numbers, .nav-links .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border: 1.5px solid var(--line-2); border-radius: var(--r); color: var(--ink); font-weight: 700; text-decoration: none; }
.woocommerce-pagination span.current, .nav-links .current { background: var(--ink); border-color: var(--ink); color: var(--white); }
.woocommerce-pagination a.page-numbers:hover { border-color: var(--ink); }
.woocommerce-pagination .i { width: 18px; height: 18px; }

/* ---------- Notices ------------------------------------------------------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { list-style: none; margin: 0 0 20px; padding: 14px 18px; border-left: 4px solid var(--blue); background: var(--paper); border-radius: 0 var(--r) var(--r) 0; font-size: 15px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.woocommerce-error { border-left-color: var(--ink); background: #ECEBEB; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit, .qv .button, .single_add_to_cart_button, .notify .button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border: 0; border-radius: var(--r); background: var(--ink); color: var(--white); font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background-color .2s; line-height: 1.2; }
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover, .qv .button:hover, .single_add_to_cart_button:hover { background: var(--blue-ink); color: var(--white); }
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt, .single_add_to_cart_button.alt, .single_add_to_cart_button { background: var(--blue-ink); }
.woocommerce .button.alt:hover, .woocommerce button.button.alt:hover, .single_add_to_cart_button:hover { background: var(--ink); }
.woocommerce .button:disabled, .woocommerce .button.disabled { opacity: .5; cursor: not-allowed; }
.cart-msg { width: 100%; margin: 10px 0 0; padding: 10px 14px; font-size: 14px; font-weight: 600; border-radius: var(--r); }
.cart-msg.err { background: var(--ink); color: var(--white); }

/* ---------- Single product ----------------------------------------------- */
.single-product .woo-main { padding-top: 24px; }
.single-product .woo-main > .woocommerce-breadcrumb, .single-product .crumbs { color: var(--mute); }
.single-product .crumbs a { color: var(--ink-3); }
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px 56px; align-items: start; }
.single-product div.product > .onsale { display: none; }
.single-product div.product .woocommerce-product-gallery { position: sticky; top: calc(var(--header-h) + 16px); margin: 0; width: auto !important; float: none !important; opacity: 1 !important; }
.woocommerce-product-gallery__wrapper { margin: 0; background: var(--paper); border-radius: var(--r); overflow: hidden; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; }
.woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; border-radius: 2px; border: 2px solid transparent; opacity: .7; cursor: pointer; transition: opacity .2s, border-color .2s; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--ink); }
.woocommerce-product-gallery__trigger { position: absolute; top: 12px; right: 12px; z-index: 5; display: grid; place-items: center; width: 44px; height: 44px; background: var(--white); border-radius: 50%; box-shadow: var(--shadow); font-size: 0; text-decoration: none; }
.woocommerce-product-gallery__trigger::before { content: ""; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23373435' stroke-width='2'%3E%3Ccircle cx='10.8' cy='10.8' r='6.6'/%3E%3Cpath d='m15.8 15.8 4.7 4.7M10.8 8v5.6M8 10.8h5.6'/%3E%3C/svg%3E") center / contain no-repeat; }
.single-product .summary { margin: 0; width: auto !important; float: none !important; }
.single-product .product_title { margin: 0 0 12px; font-size: clamp(28px, 3.2vw, 42px); font-stretch: 85%; line-height: 1.1; }
.single-product .summary > .price { margin: 4px 0 18px; font-size: clamp(30px, 3.2vw, 40px); font-weight: 800; font-stretch: 80%; font-style: italic; line-height: 1; }
.single-product .summary > .price del { display: inline; margin-right: 10px; font-size: .55em; font-style: normal; }
.pmeta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 14px; font-size: 13px; color: var(--mute); }
.pmeta__low { color: var(--blue-ink); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.badges--single { margin-bottom: 12px; }
.grade-note, .box-note { margin: 0 0 12px; font-size: 14px; color: var(--ink-3); }
.box-note { display: flex; gap: 8px; align-items: flex-start; }
.box-note .i { width: 20px; height: 20px; color: var(--blue-ink); }
.woocommerce-product-details__short-description { margin-bottom: 20px; color: var(--ink-3); }
.specs { display: grid; margin: 0 0 18px; border-top: 1px solid var(--line); }
.specs > div { display: grid; grid-template-columns: 38% 1fr; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.specs dt { color: var(--mute); font-weight: 600; }
.specs dd { margin: 0; font-weight: 700; }
form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 0 18px; }
form.cart .quantity { display: flex; }
.quantity .qty { width: 72px; min-height: 52px; padding: 0 8px; border: 1.5px solid var(--line-2); border-radius: var(--r); text-align: center; font-weight: 700; font-size: 17px; }
.single_add_to_cart_button { flex: 1 1 200px; min-height: 52px !important; font-size: 16px !important; }
.single_add_to_cart_button.is-busy { color: transparent !important; position: relative; }
.single_add_to_cart_button.is-busy::after { content: ""; position: absolute; left: calc(50% - 10px); top: calc(50% - 10px); width: 20px; height: 20px; border: 2.5px solid var(--white); border-right-color: transparent; border-radius: 50%; animation: spin .7s linear infinite; }
.variations { width: 100%; margin: 0 0 6px; border: 0; }
.variations th, .variations td { display: block; padding: 0; text-align: left; }
.variations label { font-size: 14px; font-weight: 700; }
.variations td { margin-bottom: 12px; }
.variations select { width: 100%; min-height: 48px; padding: 0 12px; border: 1.5px solid var(--line-2); border-radius: var(--r); }
.has-varpills select { position: absolute; opacity: 0; pointer-events: none; width: 1px; }
.varpills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.varpills .size { min-height: 44px; padding: 0 16px; border: 1.5px solid var(--line-2); border-radius: var(--r); background: var(--white); font-weight: 700; }
.varpills .size[aria-checked="true"] { background: var(--ink); border-color: var(--ink); color: var(--white); }
.varpills .size:disabled { opacity: .35; text-decoration: line-through; }
.reset_variations { font-size: 13px; }
.woocommerce-variation-price .price { font-size: 26px; font-weight: 800; }
.stock { font-size: 14px; font-weight: 700; }
.stock.in-stock { color: var(--blue-ink); }
.stock.out-of-stock { color: var(--ink); }
.assure { display: grid; gap: 10px; margin: 18px 0; padding: 18px; list-style: none; background: var(--paper); border-radius: var(--r); }
.assure li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.45; }
.assure .i { width: 22px; height: 22px; color: var(--blue-ink); }
.assure b { font-weight: 800; }
.summary .help-wa { margin-bottom: 8px; }

/* Bundle builder */
.bundle { margin: 6px 0 20px; border: 1.5px solid var(--ink); border-radius: var(--r); overflow: hidden; }
.bundle__head { padding: 14px 16px; background: var(--ink); color: var(--white); }
.bundle__t { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 19px; font-weight: 800; font-style: italic; font-stretch: 80%; text-transform: uppercase; }
.bundle__t .i { width: 20px; height: 20px; color: var(--blue); }
.bundle__sub { margin: 2px 0 0; font-size: 13px; color: rgba(255, 255, 255, .8); }
.bundle__list { margin: 0; padding: 6px; list-style: none; max-height: 340px; overflow: auto; }
.bundle__item > label, .bundle__item.is-base { display: grid; grid-template-columns: 24px 48px 1fr auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 2px; cursor: pointer; }
.bundle__item > label:hover { background: var(--paper); }
.bundle__item.is-base { cursor: default; }
.bundle__item input { position: absolute; opacity: 0; }
.bundle__check { display: grid; place-items: center; width: 24px; height: 24px; border: 2px solid var(--line-2); border-radius: 3px; color: transparent; transition: background-color .2s, border-color .2s; }
.bundle__check .i { width: 16px; height: 16px; }
.bundle__item input:checked ~ .bundle__check, .is-base .bundle__check { background: var(--blue-ink); border-color: var(--blue-ink); color: var(--white); }
.bundle__item input:focus-visible ~ .bundle__check { outline: 3px solid var(--blue); outline-offset: 2px; }
.bundle__item img { width: 48px; height: 48px; object-fit: cover; background: var(--paper); border-radius: 2px; }
.bundle__name { font-size: 14px; font-weight: 600; line-height: 1.3; }
.bundle__name small { display: block; font-size: 12px; color: var(--mute); font-weight: 600; }
.bundle__price { font-size: 14px; font-weight: 800; text-align: right; }
.bundle__price del { display: block; font-size: 11px; }
.bundle__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; border-top: 1px solid var(--line); background: var(--paper); }
.bundle__total { display: grid; margin: 0; }
.bundle__total span { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
.bundle__total b { font-size: 26px; font-weight: 800; font-style: italic; font-stretch: 80%; line-height: 1; font-variant-numeric: tabular-nums; }
.bundle__total b.is-bump { animation: bump .4s var(--ease-out); }

/* Back in stock */
.notify { margin: 6px 0 20px; padding: 18px; border: 1.5px dashed var(--ink); border-radius: var(--r); }
.notify__t { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font-weight: 800; font-size: 17px; }
.notify__t .i { color: var(--blue-ink); }
.notify__sub { margin: 0 0 12px; font-size: 14px; color: var(--ink-3); }
.notify__row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.notify__row input { flex: 1 1 220px; min-height: 48px; }
.notify .link-arrow { font-size: 14px; }
.notify.is-done .notify__row { display: none; }

/* Tabs + related */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 40px; }
.woocommerce-tabs ul.tabs { display: flex; gap: 4px; margin: 0 0 24px; padding: 0; list-style: none; border-bottom: 1.5px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 14px 18px; color: var(--mute); font-weight: 700; font-size: 15px; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; margin-bottom: -1.5px; }
.woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-color: var(--blue); }
.woocommerce-Tabs-panel { max-width: 820px; font-size: 16px; }
.woocommerce-Tabs-panel table.shop_attributes { width: 100%; border-collapse: collapse; }
.shop_attributes th, .shop_attributes td { padding: 10px 0; border-bottom: 1px solid var(--line); text-align: left; font-size: 15px; }
.shop_attributes td p { margin: 0; }
.related, .upsells { grid-column: 1 / -1; margin-top: 56px; }
.related > h2, .upsells > h2 { font-size: clamp(28px, 3vw, 40px); font-style: italic; font-stretch: 78%; text-transform: uppercase; }

/* Sticky add bar (phones) */
.stickybuy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: flex; align-items: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -10px 30px rgba(43, 40, 41, .1); transform: translateY(110%); transition: transform .35s var(--ease-out); }
.stickybuy.is-on { transform: none; }
.stickybuy__t { min-width: 0; flex: 1; }
.stickybuy__t strong { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stickybuy__t .price { font-weight: 800; font-size: 17px; }
.stickybuy__t .price del { display: inline; }
@media (min-width: 900px) { .stickybuy { display: none; } }
body.has-stickybuy .fab { transform: translateY(-74px); }

/* ---------- Quick view --------------------------------------------------- */
.qv { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.qv__media { padding: 20px; background: var(--paper); }
.qv__main { aspect-ratio: 1; background: var(--white); overflow: hidden; border-radius: var(--r); }
.qv__main img { width: 100%; height: 100%; object-fit: cover; }
.qv__thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
.qv__thumb { padding: 0; border: 2px solid transparent; border-radius: 2px; background: none; opacity: .65; overflow: hidden; transition: opacity .2s, border-color .2s; }
.qv__thumb img { aspect-ratio: 1; object-fit: cover; }
.qv__thumb.is-on, .qv__thumb:hover { opacity: 1; border-color: var(--ink); }
.qv__info { padding: 36px 32px 28px; }
.qv__t { margin: 0 0 10px; font-size: clamp(24px, 2.5vw, 32px); font-stretch: 85%; line-height: 1.1; outline: none; }
.qv__price { margin: 0 0 16px; font-size: 30px; font-weight: 800; font-style: italic; font-stretch: 80%; }
.qv__price del { display: inline; font-size: .6em; margin-right: 8px; font-style: normal; }
.qv__buy { margin-top: 18px; }
.qv--loading .qv__media { min-height: 380px; animation: shimmer 1.2s infinite; }
.qv--loading .qv__info span { display: block; height: 18px; margin-bottom: 14px; background: var(--paper); border-radius: 2px; animation: shimmer 1.2s infinite; }
.qv--loading .qv__info span:first-child { width: 40%; }
.qv--loading .qv__info span:nth-child(2) { width: 90%; height: 32px; }
@keyframes shimmer { 50% { opacity: .5; } }

/* ---------- Cart drawer + free delivery ---------------------------------- */
.freebar { padding: 14px 20px; background: var(--paper); border-bottom: 1px solid var(--line); }
.freebar[hidden] { display: none; }
.freebar p { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 14px; }
.freebar p .i { width: 22px; height: 22px; color: var(--blue-ink); }
.freebar b { color: var(--ink); font-weight: 800; }
.freebar__track { height: 6px; background: var(--line); overflow: hidden; transform: skewX(var(--skew)); }
.freebar__track span { display: block; height: 100%; width: var(--p); background: var(--blue); transition: width .6s var(--ease-out); }
.freebar.is-done p { font-weight: 800; }
.freebar.is-done .freebar__track span { background: var(--blue-ink); }
.freebar--page { margin-bottom: 24px; border: 1.5px solid var(--line); border-radius: var(--r); }
.drawer .freebar:empty { display: none; }
.mcart { flex: 1; margin: 0; padding: 8px 20px; list-style: none; overflow: auto; }
.mcart__item { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 14px; padding: 14px 32px 14px 0; border-bottom: 1px solid var(--line); transition: opacity .2s; }
.mcart__item.is-busy { opacity: .45; pointer-events: none; }
.mcart__img img { width: 76px; height: 76px; object-fit: cover; background: var(--paper); border-radius: 2px; }
.mcart__name { display: block; color: var(--ink); font-weight: 600; font-size: 14px; line-height: 1.3; text-decoration: none; }
.mcart__name:hover { color: var(--blue-ink); }
.mcart__tag { display: block; margin-top: 3px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--blue-ink); }
.mcart__info dl.variation { margin: 4px 0 0; font-size: 12px; color: var(--mute); }
.mcart__info dl.variation dt, .mcart__info dl.variation dd { display: inline; margin: 0; }
.mcart__info dl.variation p { display: inline; margin: 0; }
.mcart__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.mcart__sub { font-weight: 800; font-size: 15px; }
.mcart__rm { position: absolute; top: 12px; right: 0; display: grid; place-items: center; width: 32px; height: 32px; color: var(--mute) !important; text-decoration: none; border-radius: 2px; }
.mcart__rm:hover { background: var(--paper); color: var(--ink) !important; }
.mcart__rm .i { width: 18px; height: 18px; }
.stepper { display: inline-flex; align-items: center; border: 1.5px solid var(--line-2); border-radius: var(--r); }
.stepper button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; background: none; color: var(--ink); }
.stepper button:hover:not(:disabled) { background: var(--paper); }
.stepper button:disabled { opacity: .3; }
.stepper button .i { width: 16px; height: 16px; }
.stepper input { width: 36px; height: 36px; padding: 0; border: 0; text-align: center; font-weight: 700; -moz-appearance: textfield; }
.stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.mcart__foot { padding: 16px 20px calc(18px + env(safe-area-inset-bottom, 0px)); border-top: 1.5px solid var(--ink); background: var(--white); }
.mcart__total { display: flex; justify-content: space-between; margin: 0 0 6px; font-size: 18px; }
.mcart__total strong { font-weight: 600; }
.mcart__total .amount { font-weight: 800; font-size: 22px; font-style: italic; font-stretch: 80%; }
.mcart__note { display: flex; gap: 8px; margin: 0 0 14px; font-size: 13px; color: var(--mute); }
.mcart__note .i { width: 18px; height: 18px; color: var(--blue-ink); }
.mcart__buttons { display: grid; gap: 8px; margin: 0 0 12px; }
.mcart__buttons .btn { margin: 0 6px; width: calc(100% - 12px); }
.mcart__help { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--ink); }
.mcart__help .i { width: 20px; height: 20px; color: var(--blue-ink); }
.mcart__empty { display: grid; justify-items: center; gap: 6px; padding: 48px 28px; text-align: center; }
.mcart__mark { display: grid; place-items: center; width: 80px; height: 80px; margin-bottom: 8px; background: var(--blue-tint); color: var(--blue-ink); transform: skewX(var(--skew)); }
.mcart__mark .i { width: 44px; height: 44px; transform: skewX(12deg); }
.mcart__empty-t { margin: 0; font-weight: 800; font-size: 20px; font-style: italic; font-stretch: 85%; text-transform: uppercase; }
.mcart__empty p { color: var(--mute); font-size: 14px; }
.mcart__empty .btn { margin-top: 8px; max-width: 280px; }

/* ---------- Cart + checkout pages ---------------------------------------- */
.shop-page { max-width: none; }
.woocommerce-cart-form { overflow-x: auto; }
table.shop_table { width: 100%; border-collapse: collapse; border: 0; font-size: 15px; }
table.shop_table th { padding: 12px 10px; border-bottom: 1.5px solid var(--ink); text-align: left; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
table.shop_table td { padding: 16px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
table.shop_table .product-thumbnail img { width: 72px; height: 72px; object-fit: cover; border-radius: 2px; background: var(--paper); }
table.shop_table .product-name a { color: var(--ink); font-weight: 600; text-decoration: none; }
table.shop_table a.remove { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--mute) !important; font-size: 22px; text-decoration: none; }
table.shop_table a.remove:hover { background: var(--ink); color: var(--white) !important; }
.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
.actions .coupon input { min-height: 46px; padding: 0 12px; border: 1.5px solid var(--line-2); border-radius: var(--r); }
.actions > .button { float: right; }
.cart-collaterals { margin-top: 32px; display: flex; justify-content: flex-end; }
.cart_totals { width: min(100%, 460px); padding: 24px; background: var(--paper); border-radius: var(--r); }
.cart_totals h2 { font-size: 24px; font-style: italic; font-stretch: 80%; text-transform: uppercase; }
.cart_totals th { width: 40%; }
.cart_totals .order-total .amount { font-size: 24px; font-weight: 800; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px !important; font-size: 16px !important; margin-top: 16px; background: var(--blue-ink) !important; }
.woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
.woocommerce-shipping-methods li { margin-bottom: 6px; }
.empty-note { text-align: center; color: var(--mute); }
.cart-empty.woocommerce-info { justify-content: center; }
.return-to-shop { text-align: center; }
.checkout-help { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; font-size: 15px; }
.checkout-help a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.checkout-help .i { width: 20px; height: 20px; }
form.checkout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 0 48px; align-items: start; }
form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
#customer_details { grid-column: 1; }
#customer_details .col-1, #customer_details .col-2 { width: 100%; float: none; }
#order_review_heading, #order_review, form.checkout > .freebar { grid-column: 2; }
form.checkout > .freebar { grid-row: 1; }
#order_review_heading { grid-row: 2; margin: 0; padding: 22px 24px 0; background: var(--paper); border-radius: var(--r) var(--r) 0 0; font-size: 24px; font-style: italic; font-stretch: 80%; text-transform: uppercase; }
#order_review { grid-row: 3; padding: 0 24px 24px; background: var(--paper); border-radius: 0 0 var(--r) var(--r); position: sticky; top: calc(var(--header-h) + 16px); }
#customer_details { grid-row: 1 / span 4; }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3 { font-size: 22px; font-stretch: 85%; margin: 8px 0 16px; }
.form-row { display: block; margin: 0 0 16px; padding: 0; }
.form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.form-row .required { color: var(--blue-ink); text-decoration: none; }
.form-row input.input-text, .form-row textarea, .form-row select, .select2-container .select2-selection--single { width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid var(--line-2) !important; border-radius: var(--r) !important; background: var(--white); font-size: 16px; }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 24px; }
.select2-container .select2-selection--single .select2-selection__arrow { top: 12px; right: 8px; }
.form-row input.input-text:focus, .form-row textarea:focus, .form-row select:focus { outline: none; border-color: var(--blue) !important; box-shadow: 0 0 0 4px rgba(0, 152, 218, .16); }
.form-row-first, .form-row-last { width: calc(50% - 8px); float: left; }
.form-row-last { margin-left: 16px; }
.form-row-wide { clear: both; }
.woocommerce-billing-fields__field-wrapper::after, .woocommerce-shipping-fields__field-wrapper::after { content: ""; display: table; clear: both; }
.woocommerce-invalid input.input-text { border-color: var(--ink) !important; box-shadow: inset 4px 0 0 var(--ink); }
#order_review table.shop_table td, #order_review table.shop_table th { padding: 12px 0; }
#order_review .order-total .amount { font-size: 24px; font-weight: 800; }
#payment { margin-top: 16px; }
#payment ul.payment_methods { margin: 0 0 16px; padding: 0; list-style: none; }
#payment ul.payment_methods li { padding: 14px; margin-bottom: 8px; background: var(--white); border: 1.5px solid var(--line); border-radius: var(--r); }
#payment ul.payment_methods li label { font-weight: 700; cursor: pointer; }
#payment ul.payment_methods li img { display: inline; max-height: 24px; width: auto; vertical-align: middle; margin-left: 6px; }
#payment .payment_box { margin-top: 8px; font-size: 14px; color: var(--ink-3); }
#payment .payment_box p:last-child { margin: 0; }
#place_order { width: 100%; min-height: 58px !important; font-size: 17px !important; background: var(--blue-ink) !important; }
#place_order:hover { background: var(--ink) !important; }
.woocommerce-terms-and-conditions-wrapper { font-size: 14px; margin-bottom: 14px; }
.woocommerce-form__label-for-checkbox { display: flex; gap: 8px; align-items: flex-start; font-weight: 500 !important; }
.woocommerce-form__label-for-checkbox input { margin-top: 4px; accent-color: var(--blue-ink); }

/* Order received + account */
.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0 0 28px; padding: 20px; list-style: none; background: var(--paper); border-radius: var(--r); }
.woocommerce-order-overview li { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--mute); }
.woocommerce-order-overview strong { display: block; font-size: 17px; text-transform: none; letter-spacing: 0; color: var(--ink); }
.woocommerce-thankyou-order-received { font-size: 22px; font-weight: 800; font-style: italic; font-stretch: 85%; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px 48px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border: 1.5px solid var(--line); border-radius: var(--r); overflow: hidden; }
.woocommerce-MyAccount-navigation a { display: block; padding: 13px 16px; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 600; text-decoration: none; }
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ink); color: var(--white); }
.woocommerce-MyAccount-navigation a:hover { background: var(--paper); }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.u-columns.col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.u-columns .col-1, .u-columns .col-2 { width: auto; float: none; }
.woocommerce-form-login, .woocommerce-form-register { padding: 28px; border: 1.5px solid var(--line); border-radius: var(--r); }

/* ---------- Responsive --------------------------------------------------- */
@media (max-width: 1180px) {
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.shop__results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.shop { grid-template-columns: minmax(0, 1fr); }
	.filters-open { display: inline-flex !important; }
	.filters { position: fixed; inset: 0; z-index: 90; max-height: none; display: flex; flex-direction: column; background: var(--white); transform: translateX(-100%); visibility: hidden; transition: transform .35s var(--ease-out), visibility 0s .35s; }
	.filters.is-open { transform: none; visibility: visible; transition: transform .35s var(--ease-out); }
	.filters__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px 12px 20px; border-bottom: 1px solid var(--line); }
	.filters__head h2 { margin: 0; font-size: 24px; font-style: italic; font-stretch: 80%; text-transform: uppercase; }
	.filters__form { flex: 1; overflow: auto; padding: 20px; }
	.filters__foot { position: sticky; bottom: -20px; margin: 0 -20px -20px; padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px)); background: var(--white); border-top: 1px solid var(--line); }
	.filters__show { display: flex !important; }
	.shop__results ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	.single-product div.product .woocommerce-product-gallery { position: relative; top: 0; }
	.qv { grid-template-columns: 1fr; }
	.qv__info { padding: 22px 20px 24px; }
	form.checkout { grid-template-columns: minmax(0, 1fr); }
	#customer_details, #order_review_heading, #order_review, form.checkout > .freebar { grid-column: 1; grid-row: auto; }
	#order_review { position: static; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
}
@media (max-width: 699px) {
	ul.products, .shop__results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.card__body { padding: 10px 10px 12px; }
	.card__t { font-size: 14px; }
	.card__cat { font-size: 10px; letter-spacing: .06em; }
	.card__plat { display: none; }
	.card__price { font-size: 17px; }
	.card__foot { flex-direction: column; align-items: stretch; gap: 8px; }
	.card__foot .btn--add { width: calc(100% - 8px); margin-inline: 4px; }
	.card__qv { opacity: 1; transform: none; width: 36px; padding: 0; justify-content: center; }
	.card__qv span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.card__video span { display: none; }
	.card__video { padding: 5px; }
	.onsale { width: 54px; height: 54px; }
	.onsale > span { font-size: 14px; }
	.shop__bar { gap: 10px; }
	.woocommerce-result-count { order: 3; width: 100%; }
	.woocommerce-ordering select { max-width: 52vw; }
	.rail .card__foot { flex-direction: row; align-items: center; }
	.rail .card__foot .btn--add { width: auto; }
	.form-row-first, .form-row-last { width: 100%; float: none; margin-left: 0; }
	table.shop_table_responsive thead { display: none; }
	table.shop_table_responsive tr { display: block; position: relative; padding: 12px 0; border-bottom: 1px solid var(--line); }
	table.shop_table_responsive td { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border: 0; text-align: right; }
	table.shop_table_responsive td::before { content: attr(data-title); font-weight: 700; text-align: left; }
	table.shop_table_responsive td.product-remove { position: absolute; right: 0; top: 8px; }
	table.shop_table_responsive td.product-remove::before, table.shop_table_responsive td.product-thumbnail::before, table.shop_table_responsive td.actions::before { display: none; }
	table.shop_table_responsive td.product-thumbnail { justify-content: flex-start; }
	.actions { display: grid !important; gap: 10px; }
	.actions > .button { float: none; width: 100%; }
	.u-columns.col2-set { grid-template-columns: 1fr; }
	.bundle__item > label, .bundle__item.is-base { grid-template-columns: 24px 40px 1fr; }
	.bundle__item img { width: 40px; height: 40px; }
	.bundle__price { grid-column: 3; text-align: left; }
	.bundle__foot .btn { width: calc(100% - 12px); margin-inline: 6px; }
}
