/*
Theme Name: sextaferia
Theme URI: https://paranoia.hqsite.online
Author: TEST
Description: Мінімалістична чорно-біла тема для магазину одягу з підтримкою WooCommerce.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: sextaferia
Tags: e-commerce, woocommerce, dark, minimal, black-and-white
*/

/* ── RESET & TOKENS ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#000;--bg2:#0a0a0a;--bg3:#111;--surface:#151515;
  --tx:#fff;--tx2:#999;--tx3:#555;--tx4:#333;
  --bd:#222;--bd2:#333;
  --font:'Inter',system-ui,sans-serif;
  --mono:'Space Mono',monospace;
  --head-h:60px;--max-w:1400px;
  --ease:cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--tx);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;color:var(--tx);background:var(--bg2);border:1px solid var(--bd);padding:10px 14px;font-size:.85rem;outline:none;transition:border .2s var(--ease)}
input:focus,select:focus,textarea:focus{border-color:var(--tx2)}
img{max-width:100%;height:auto;display:block}
::selection{background:#fff;color:#000}

/* ── HEADER ── */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--head-h);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(0,0,0,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--bd)}
.site-header__logo{font-size:.85rem;font-weight:800;letter-spacing:6px;text-transform:uppercase}
.site-header__logo img{height:28px;width:auto}
.site-header__actions{display:flex;align-items:center;gap:20px}
.site-header__actions a,.site-header__actions button{color:var(--tx2);transition:color .2s;position:relative}
.site-header__actions a:hover,.site-header__actions button:hover{color:var(--tx)}
.site-header__actions .cart-count{position:absolute;top:-4px;right:-6px;background:#fff;color:#000;font-size:.5rem;font-weight:700;min-width:13px;height:13px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ── SLIDE MENU ── */
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.menu-overlay.open{opacity:1;pointer-events:all}
.menu-panel{position:fixed;top:0;right:-400px;width:380px;height:100vh;background:var(--bg);border-left:1px solid var(--bd);display:flex;flex-direction:column;transition:right .35s var(--ease);z-index:301}
.menu-overlay.open .menu-panel{right:0}
.menu-panel__close{align-self:flex-end;padding:20px 24px;color:var(--tx2);transition:color .2s;background:none;border:none;cursor:pointer;font-size:24px}
.menu-panel__close:hover{color:var(--tx)}
.menu-panel__content{flex:1;padding:20px 32px;display:flex;flex-direction:column}
.menu-panel__link{font-size:1.4rem;font-weight:300;letter-spacing:2px;text-transform:uppercase;padding:14px 0;border-bottom:1px solid var(--bd);color:var(--tx);transition:all .2s}
.menu-panel__link:hover{padding-left:12px;color:var(--tx2)}
.menu-panel__link--sub{font-size:.85rem;font-weight:400;letter-spacing:3px;color:var(--tx2);padding-left:16px}
.menu-panel__link--sub:hover{padding-left:28px;color:var(--tx)}
.menu-panel__footer{padding:24px 32px;border-top:1px solid var(--bd);font-family:var(--mono);font-size:.65rem;color:var(--tx3);letter-spacing:2px}

/* ── LANDING / FRONT PAGE ── */
.landing{min-height:100vh;display:flex;align-items:center;padding-top:var(--head-h);position:relative;overflow:hidden}
.landing::before{content:'';position:absolute;inset:0;background:url('https://paranoia.hqsite.online/wp-content/uploads/2026/05/34643634646.png') center/cover no-repeat;opacity:.15;pointer-events:none;z-index:0}
.landing__inner{position:relative;z-index:1}
.landing__inner{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:calc(100vh - var(--head-h))}
.landing__left{display:flex;flex-direction:column;justify-content:center;padding-right:80px;border-right:1px solid var(--bd)}
.landing__tag{font-family:var(--mono);font-size:.65rem;letter-spacing:4px;text-transform:uppercase;color:var(--tx3);margin-bottom:24px}
.landing__title{font-size:clamp(3rem,6vw,5.5rem);font-weight:800;letter-spacing:-2px;line-height:.95;margin-bottom:32px;text-transform:uppercase}
.landing__desc{font-size:.85rem;color:var(--tx2);line-height:1.8;max-width:380px;margin-bottom:40px}
.landing__actions{display:flex;gap:16px;flex-wrap:wrap}
.landing__cta{display:inline-flex;align-items:center;gap:12px;padding:16px 36px;font-size:.7rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;border:1px solid var(--tx);color:var(--tx);transition:all .25s var(--ease);width:fit-content}
.landing__cta:hover{background:var(--tx);color:var(--bg)}
.landing__cta--secondary{border-color:var(--bd2);color:var(--tx2);padding:12px 24px;font-size:.65rem}
.landing__cta--secondary:hover{border-color:var(--tx);color:var(--tx);background:transparent}
.landing__right{display:flex;flex-direction:column;justify-content:center;padding-left:80px}
.landing__stats{display:flex;flex-direction:column;gap:32px}
.landing__stat{border-top:1px solid var(--bd);padding-top:16px}
.landing__stat-num{font-size:2.5rem;font-weight:800;font-family:var(--mono);margin-bottom:4px}
.landing__stat-label{font-size:.7rem;color:var(--tx3);letter-spacing:2px;text-transform:uppercase}

/* ── ABOUT PAGE ── */
.about-page{min-height:100vh;padding-top:calc(var(--head-h) + 60px);padding-bottom:80px;display:flex;flex-direction:column;align-items:center;text-align:center}
.about-page__inner{max-width:600px;width:100%;padding:0 32px;display:flex;flex-direction:column;align-items:center}
.about-page__title{font-size:3rem;font-weight:800;letter-spacing:-1px;text-transform:uppercase;margin-bottom:32px}
.about-page__content{font-size:.9rem;color:var(--tx2);line-height:1.8;display:flex;flex-direction:column;gap:20px}
.about-page__content p{margin:0}

/* ── WOOCOMMERCE OVERRIDES ── */
.woocommerce-page,.archive.woocommerce{background:var(--bg);color:var(--tx)}
.woo-catalog{max-width:var(--max-w);margin:0 auto;padding:calc(var(--head-h) + 40px) 32px 80px}
.woo-catalog__head{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--bd)}
.woo-catalog__breadcrumbs{font-family:var(--mono);font-size:.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--tx3);margin-bottom:12px}
.woo-catalog__breadcrumbs a{color:var(--tx3);transition:color .2s}
.woo-catalog__breadcrumbs a:hover{color:var(--tx)}
.woo-catalog__breadcrumbs span{color:var(--tx2)}
.woo-catalog__title{font-size:2.2rem;font-weight:800;letter-spacing:-1px;text-transform:uppercase;margin-bottom:20px}
.woo-catalog__search{position:relative;max-width:100%}
.woo-catalog__search form{position:relative}
.woo-catalog__search .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--tx3);pointer-events:none}
.woo-catalog__search input[type="search"]{width:100%;padding:12px 16px 12px 44px;background:var(--surface);border:1px solid var(--bd);color:var(--tx);font-size:.82rem;letter-spacing:.5px;outline:none;transition:border-color .2s var(--ease)}
.woo-catalog__search input[type="search"]::placeholder{color:var(--tx3);letter-spacing:2px;text-transform:uppercase;font-size:.72rem}
.woo-catalog__search input[type="search"]:focus{border-color:var(--tx2)}
.woo-catalog__search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}
.woo-catalog__count{font-family:var(--mono);font-size:.7rem;color:var(--tx3);letter-spacing:2px}

/* Catalog Layout (sidebar + products) */
.woo-catalog__layout{display:grid;grid-template-columns:220px 1fr;gap:32px}
.woo-catalog__products{min-width:0}

/* Shop Filters Sidebar */
.shop-filters{position:sticky;top:calc(var(--head-h) + 40px);align-self:start}
.filters__heading{font-size:.9rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--tx);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--bd)}
.filter-group{margin-bottom:0}
.filter-group__header{display:flex;align-items:center;justify-content:space-between;padding:18px 0;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--tx);border-bottom:1px solid var(--bd);user-select:none;transition:color .2s}
.filter-group__header:hover{color:var(--tx2)}
.filter-group__header .material-symbols-outlined{font-size:20px;color:var(--tx3);transition:transform .25s var(--ease)}
.filter-group__header.open .material-symbols-outlined{transform:rotate(180deg)}
.filter-group__body{max-height:0;overflow:hidden;transition:max-height .3s var(--ease),padding .3s var(--ease);padding:0}
.filter-group__body.open{max-height:500px;padding:14px 0 10px;overflow-y:auto}
.filter-group__body label{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--tx2);padding:6px 0;cursor:pointer;transition:color .15s}
.filter-group__body label:hover{color:var(--tx)}
.filter-group__body label span{flex:1}
.filter-group__body label a{display:block;padding:6px 0;font-size:.82rem;color:var(--tx2);transition:color .15s}
.filter-group__body label a:hover{color:var(--tx)}
.filter-empty{font-size:.75rem;color:var(--tx3);font-style:italic;padding:6px 0}
.filter-search{width:100%;padding:8px 12px;background:var(--bg2);border:1px solid var(--bd);color:var(--tx);font-size:.78rem;margin-bottom:10px;outline:none;transition:border-color .2s}
.filter-search::placeholder{color:var(--tx3)}
.filter-search:focus{border-color:var(--tx2)}
.filter-list{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bd2) transparent}
.filter-list::-webkit-scrollbar{width:4px}
.filter-list::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:2px}
.filter-group__body input[type="checkbox"]{-webkit-appearance:none !important;appearance:none !important;width:12px !important;height:12px !important;flex-basis:12px !important;min-width:12px !important;border:1px solid var(--tx3) !important;background:transparent;cursor:pointer;flex-shrink:0;position:relative;transition:all .15s var(--ease);border-radius:0 !important;margin:0 8px 0 0 !important;display:inline-block;vertical-align:middle;box-sizing:border-box !important;padding:0 !important}
.filter-group__body input[type="checkbox"]:hover{border-color:var(--tx)}
.filter-group__body input[type="checkbox"]:checked{border-color:var(--tx);background:#000}
.filter-group__body input[type="checkbox"]:checked::after{content:'\2714';position:absolute;top:-2px;left:1px;font-size:10px;color:var(--tx);font-weight:700;line-height:1}
.filter-group__body label{display:flex;align-items:center}
.price-inputs{display:flex;align-items:center;gap:6px}
.price-inputs input{width:100%;padding:8px 12px;font-size:.78rem}
.price-inputs span{color:var(--tx3);font-size:.78rem}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-size:.65rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:1px solid var(--bd2);background:transparent;color:var(--tx2);cursor:pointer;transition:all .2s}
.btn-outline:hover{border-color:var(--tx);color:var(--tx)}

/* Product Grid */
ul.products,
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:2px;list-style:none;padding:0;margin:0}
ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important;content:none!important}
ul.products li.product,
.woocommerce ul.products li.product{background:var(--surface);margin:0!important;padding:0!important;width:100%!important;float:none!important;cursor:pointer;transition:opacity .3s}
ul.products li.product:hover{opacity:.85}
ul.products li.product a{text-decoration:none;color:var(--tx)}
.product-img-wrap{position:relative;overflow:hidden}
.product-img-wrap img{aspect-ratio:3/4;object-fit:cover;width:100%;margin:0!important;border-radius:0;transition:opacity .4s var(--ease)}
.product-img-wrap .product-img-hover{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}
ul.products li.product:hover .product-img-hover{opacity:1}
ul.products li.product:hover .product-img-main{opacity:0}
ul.products li.product a img,
.woocommerce ul.products li.product a img{aspect-ratio:3/4;object-fit:cover;width:100%;margin:0!important;border-radius:0}
ul.products li.product .product-card-brand,
.woocommerce ul.products li.product .product-card-brand {
    font-size: .75rem;
    color: var(--tx2);
    padding: 16px 16px 0 !important;
    margin-bottom: -10px;
}
ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.9rem;font-weight:600;padding:16px 16px 4px!important;letter-spacing:.3px;margin:0}
ul.products li.product .product-card-color,
.woocommerce ul.products li.product .product-card-color {
    font-size: .75rem;
    color: var(--tx2);
    padding: 0 16px 4px !important;
    margin-top: -2px;
}
ul.products li.product .price,
.woocommerce ul.products li.product .price{font-size:.9rem;font-weight:600;padding:0 16px 20px;color:var(--tx);margin-top:auto}
ul.products li.product .price del{color:var(--tx3);font-weight:400;font-size:.7rem}
ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button,
ul.products li.product .button{display:none!important}
.woocommerce .woocommerce-result-count{color:var(--tx3);font-family:var(--mono);font-size:.7rem;letter-spacing:2px}
.woocommerce .woocommerce-ordering select{background:var(--bg);border:1px solid var(--bd);color:var(--tx2);padding:8px 16px;font-size:.7rem;letter-spacing:1px;text-transform:uppercase}

/* Single Product */
.single-product div.product{max-width:var(--max-w);margin:0 auto;padding:calc(var(--head-h) + 60px) 32px 80px}

.single-product div.product img{width:100%;height:auto;object-fit:cover}
.single-product div.product .summary{padding:24px 0}
.single-product div.product .summary .brand{font-family:var(--mono);font-size:.6rem;color:var(--tx3);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}
.single-product div.product .summary h1{font-size:1.6rem;font-weight:500;margin-bottom:16px;letter-spacing:0;line-height:1.2}
.single-product div.product .summary .price{font-size:1.1rem;font-weight:600;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--bd);color:var(--tx)}
.single-product div.product .summary .price del{color:var(--tx3);font-weight:400;font-size:.9rem}
.single-product div.product .summary .price ins{text-decoration:none}
.single-product div.product .summary .woocommerce-product-details__short-description{font-size:.82rem;color:var(--tx2);line-height:1.9;margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--bd)}
.single-product div.product .flex-control-thumbs{display:flex;gap:4px;margin-top:8px;list-style:none;padding:0}
.single-product div.product .flex-control-thumbs li{flex:1}
.single-product div.product .flex-control-thumbs li img{opacity:.5;cursor:pointer;transition:opacity .2s}
.single-product div.product .flex-control-thumbs li img.flex-active{opacity:1}
.single-product div.product .summary .product_meta{font-size:.72rem;color:var(--tx3);margin-top:32px;padding-top:20px;border-top:1px solid var(--bd)}
.single-product div.product .summary .product_meta span{display:block;margin-bottom:6px}
.single-product div.product .summary .product_meta a{color:var(--tx2)}
.single-product-tabs{max-width:var(--max-w);margin:0 auto;padding:0 32px 60px}
.woocommerce div.product .woocommerce-tabs{background:transparent!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:0;padding:0!important;margin:0 0 32px!important;border-bottom:1px solid var(--bd);background:transparent!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;margin:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:14px 24px;font-size:.7rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--tx3);border-bottom:2px solid transparent;background:transparent!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--tx);border-bottom-color:var(--tx);background:transparent!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none!important}
.woocommerce div.product .woocommerce-tabs .panel{background:transparent!important;color:var(--tx)!important}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1rem;font-weight:700;letter-spacing:1px;margin-bottom:16px;color:var(--tx)}
.woocommerce div.product .woocommerce-tabs .panel p{font-size:.85rem;color:var(--tx2);line-height:1.8}
.woocommerce #reviews{background:transparent!important;color:var(--tx)!important}
.woocommerce #reviews .comment-text{background:var(--surface)!important;border:1px solid var(--bd);padding:16px;margin-bottom:12px;color:var(--tx)}
.woocommerce #reviews .comment-text .meta{font-size:.7rem;color:var(--tx3);margin-bottom:8px}
.woocommerce #reviews .woocommerce-noreviews{color:var(--tx2)}
.woocommerce #reviews #review_form label{font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--tx3)}
.woocommerce #reviews #review_form input,.woocommerce #reviews #review_form textarea{background:var(--bg2)!important;border:1px solid var(--bd)!important;color:var(--tx)!important}
.woocommerce #reviews #review_form .comment-form-rating label{color:var(--tx2)}
.woocommerce .star-rating{color:#fff}
.woocommerce p.stars a{color:#fff!important}
.single-product-related{max-width:var(--max-w);margin:0 auto;padding:0 32px 80px}
.single-product-related h2{font-size:1rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--bd)}

/* Variation & Cart Form */
.woocommerce div.product form.cart{margin-top:8px;margin-bottom:32px;padding-top:4px}
.woocommerce div.product form.cart .quantity{display:none!important}
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button{display:flex!important;align-items:center;justify-content:center;width:100%;padding:18px 28px!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:3px!important;text-transform:uppercase!important;background:#fff!important;color:#000!important;border:1px solid #fff!important;border-radius:0!important;transition:all .2s var(--ease);cursor:pointer;margin-top:24px}
.woocommerce div.product form.cart .button:hover,
.woocommerce .single_add_to_cart_button:hover{background:transparent!important;color:#fff!important}
.woocommerce div.product form.cart .button.disabled,
.woocommerce .single_add_to_cart_button.disabled{opacity:.3!important;cursor:not-allowed!important;pointer-events:none}
.woocommerce table.variations{border:none;margin-bottom:8px}
.woocommerce table.variations td,.woocommerce table.variations th{border:none;padding:10px 0}
.woocommerce table.variations label{font-family:var(--mono);font-size:.65rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--tx2)}
.woocommerce table.variations select{background:var(--bg2);border:1px solid var(--bd);color:var(--tx);padding:8px 12px}

/* Custom Variation Swatches */
.woocommerce table.variations { border-spacing: 0; margin-bottom: 24px; width: 100%; }
.woocommerce table.variations tr { display: block; margin-bottom: 24px; }
.woocommerce table.variations th { padding: 0 0 12px 0; text-align: left; width: 100%; display: flex; align-items: flex-end; justify-content: space-between; }
.woocommerce table.variations td.value { padding: 0; position: relative; width: 100%; display: block; }
.woocommerce table.variations td.value select { display: none !important; }
.custom-swatches-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.custom-swatch { border: 1px solid var(--bd2); padding: 12px 0; font-size: 0.85rem; font-weight: 400; color: var(--tx); cursor: pointer; transition: all 0.2s var(--ease); background: transparent; display: flex; align-items: center; justify-content: center; min-width: 52px; }
.custom-swatch:hover { border-color: var(--tx); }
.custom-swatch.selected { border-color: var(--tx); background: var(--tx); color: var(--bg); font-weight: 600; }
.custom-swatch.disabled { opacity: 0.2; cursor: not-allowed; border-color: var(--bd) !important; text-decoration: line-through; }
.custom-swatch.is-color { padding: 0; min-width: 44px; height: 44px; border: 1px solid var(--bd2); }
.custom-swatch.is-color .swatch-inner-color { display: block; width: 100%; height: 100%; border: 1px solid rgba(255,255,255,0.1); }
.custom-swatch.is-color.selected { padding: 4px; border-color: var(--tx); background: transparent; }
.size-guide-link { font-family: var(--font); font-size: 0.65rem; color: var(--tx3); text-decoration: underline; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: color 0.2s; }
.size-guide-link:hover { color: var(--tx); }
.woocommerce div.product .reset_variations { font-size: 0.65rem; color: #e53935 !important; letter-spacing: 1px; text-transform: uppercase; display: block; margin-top: 12px; transition: opacity 0.2s; }
.woocommerce div.product .reset_variations:hover { opacity: 0.7; }

/* Modal */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.8); backdrop-filter: blur(5px); z-index: 1000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s var(--ease); }
.modal-overlay.open { opacity: 1; pointer-events: all; }
.modal-content { background: var(--bg2); border: 1px solid var(--bd); width: 100%; max-width: 500px; padding: 32px; position: relative; transform: translateY(20px); transition: transform 0.3s var(--ease); }
.modal-overlay.open .modal-content { transform: translateY(0); }
.modal-close { position: absolute; top: 16px; right: 16px; font-size: 1.2rem; color: var(--tx3); transition: color 0.2s; }
.modal-close:hover { color: var(--tx); }
.modal-content h2 { font-size: 1.2rem; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; }

/* Custom OTP Auth */
.custom-auth-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:40px 20px}
.custom-auth-logo{margin-bottom:60px}
.custom-auth-logo svg{fill:var(--tx)}
.custom-auth-form-container{width:100%;max-width:320px;text-align:center}
.auth-input-wrap{position:relative;display:flex;align-items:center;border:1px solid var(--bd2);background:var(--bg2);padding:14px 20px;transition:border-color .3s}
.auth-input-wrap:focus-within{border-color:var(--tx)}
.auth-input-wrap .input-icon{font-size:1.1rem;color:var(--tx3);margin-right:12px}
.auth-input-wrap input{flex:1;background:transparent;border:none;color:var(--tx);font-family:var(--mono);font-size:.7rem;letter-spacing:2px;text-transform:uppercase;outline:none}
.auth-input-wrap input::placeholder{color:var(--tx3)}
.auth-submit-btn{background:transparent;border:none;color:var(--tx3);cursor:pointer;padding:0;display:flex;align-items:center;transition:color .3s}
.auth-submit-btn:hover{color:var(--tx)}
.auth-submit-btn .spin{animation:spin 1s linear infinite}
.auth-error{color:#e53935;font-size:.7rem;margin-top:12px;font-family:var(--mono)}
.auth-meta{margin-top:24px}
.auth-back-btn{background:transparent;border:none;color:var(--tx3);font-size:.7rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;cursor:pointer;text-decoration:underline;transition:color .3s}
.auth-back-btn:hover{color:var(--tx)}
@keyframes spin{100%{transform:rotate(360deg)}}

/* ═══════════════════════════════════════════════════════
   CART PAGE — Premium Dark Layout
   ═══════════════════════════════════════════════════════ */

/* Cart page title */
.woocommerce-cart .page-title {
    max-width: 1200px !important;
    margin: 40px auto 24px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    font-size: 2rem !important;
}

/* Center empty cart perfectly */
body.woocommerce-cart:has(.cart-empty) .page-title,
body.woocommerce-cart:has(.wc-empty-cart-message) .page-title {
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.woocommerce-cart:has(.cart-empty) .woocommerce,
body.woocommerce-cart:has(.wc-empty-cart-message) .woocommerce {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 40vh;
}

/* Main cart wrapper — two column layout */
.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 32px 80px;
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 48px;
    align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}
.woocommerce-cart .woocommerce > form.woocommerce-cart-form {
    min-width: 0;
}
.woocommerce-cart .woocommerce > .cart-collaterals {
    position: sticky;
    top: calc(var(--head-h) + 40px);
    width: 100% !important;
    float: none !important;
}

/* ── Cart Table ── */
.woocommerce table.shop_table {
    border: none;
    border-collapse: collapse;
    width: 100%;
}
.woocommerce table.shop_table thead {
    border-bottom: 1px solid var(--bd);
}
.woocommerce table.shop_table th {
    font-family: var(--mono);
    font-size: .6rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--tx3);
    padding: 16px 12px;
    background: transparent;
    text-align: left;
    border: none;
}
.woocommerce table.shop_table th.product-thumbnail {
    width: 100px;
}
.woocommerce table.shop_table th.product-price,
.woocommerce table.shop_table td.product-price {
    display: none !important;
}
.woocommerce table.shop_table td {
    border: none;
    border-bottom: 1px solid var(--bd);
    padding: 24px 12px;
    color: var(--tx);
    vertical-align: middle;
}

/* Product remove (X button) */
.woocommerce table.shop_table td.product-remove {
    width: 28px;
    padding: 24px 8px 24px 0;
}
.woocommerce table.shop_table td.product-remove a {
    color: #c0392b;
    font-size: 1.2rem;
    font-weight: 400;
    text-decoration: none;
    transition: all .2s var(--ease);
    opacity: .6;
}
.woocommerce table.shop_table td.product-remove a:hover {
    color: #e74c3c;
    opacity: 1;
}

/* Product thumbnail */
.woocommerce table.shop_table img {
    width: 80px;
    height: 100px;
    object-fit: cover;
    background: var(--bg3);
    border: 1px solid var(--bd);
}

/* Product name */
.woocommerce table.shop_table td.product-name {
    font-weight: 500;
    font-size: .88rem;
}
.woocommerce table.shop_table td.product-name a {
    color: var(--tx);
    font-weight: 600;
    font-size: .88rem;
    text-decoration: none;
    transition: color .2s;
}
.woocommerce table.shop_table td.product-name a:hover {
    color: var(--tx2);
}
.woocommerce table.shop_table td.product-name dl.variation {
    margin: 6px 0 0;
}
.woocommerce table.shop_table td.product-name dl.variation dt,
.woocommerce table.shop_table td.product-name dl.variation dd {
    display: inline;
    font-size: .72rem;
    color: var(--tx3);
    margin: 0;
    padding: 0;
}

/* Quantity input */
.woocommerce table.shop_table td.product-quantity .quantity input.qty {
    width: 56px;
    background: var(--bg2);
    border: 1px solid var(--bd);
    color: var(--tx);
    font-size: .82rem;
    font-weight: 500;
    text-align: center;
    padding: 10px 6px;
    transition: border-color .2s var(--ease);
}
.woocommerce table.shop_table td.product-quantity .quantity input.qty:focus {
    border-color: var(--tx2);
}

/* Subtotal */
.woocommerce table.shop_table td.product-subtotal {
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .5px;
    white-space: nowrap;
}

/* Actions row */
.woocommerce table.shop_table td.actions {
    padding: 20px 0;
    border-bottom: none;
}
.woocommerce table.shop_table td.actions .coupon {
    display: none;
}
.woocommerce table.shop_table td.actions button[name="update_cart"] {
    float: right;
    background: transparent !important;
    color: var(--tx3) !important;
    border: 1px solid var(--bd) !important;
    font-size: .6rem !important;
    font-weight: 600 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    padding: 12px 24px !important;
    transition: all .25s var(--ease);
}
.woocommerce table.shop_table td.actions button[name="update_cart"]:hover {
    color: var(--tx) !important;
    border-color: var(--tx) !important;
}

/* ── Cart Totals (Order Summary) ── */
.woocommerce .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
}
.woocommerce .cart_totals {
    border: 1px solid var(--bd);
    padding: 32px 24px;
    background: var(--bg2);
}
.woocommerce .cart_totals h2 {
    font-family: var(--mono);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--tx);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--bd);
}
.woocommerce .cart_totals table {
    border: none;
    width: 100%;
    border-collapse: collapse;
}
.woocommerce .cart_totals table td,
.woocommerce .cart_totals table th {
    border: none;
    padding: 12px 0;
    color: var(--tx2);
    font-size: .82rem;
    text-align: left;
    background: transparent;
    vertical-align: top;
}
.woocommerce .cart_totals table th {
    font-weight: 500;
    font-size: .75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--tx3);
    width: 45%;
}
.woocommerce .cart_totals table td {
    text-align: right;
    font-weight: 500;
}
.woocommerce .cart_totals .shipping-calculator-button,
.woocommerce .cart_totals .woocommerce-shipping-calculator {
    display: none !important;
}
.woocommerce .cart_totals table .shipping td {
    font-size: .8rem;
    color: var(--tx2);
    font-family: var(--font);
    text-align: right;
}
.woocommerce .cart_totals table .shipping td .woocommerce-shipping-methods {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce .cart_totals table .shipping td label {
    font-size: .78rem;
    color: var(--tx2);
}
.woocommerce .cart_totals table .shipping td .woocommerce-shipping-destination {
    display: none !important;
}
.woocommerce .cart_totals table tr.cart-subtotal {
    display: none !important;
}
.woocommerce .cart_totals table tr.order-total th,
.woocommerce .cart_totals table tr.order-total td {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--tx);
    padding-top: 20px;
    margin-top: 8px;
    border-top: 1px solid var(--bd);
}
.woocommerce .cart_totals table tr.order-total td {
    text-align: right;
    white-space: nowrap;
}
.woocommerce form .form-row .optional {
    display: none !important;
}
.woocommerce .cart_totals .wc-proceed-to-checkout {
    margin-top: 28px;
}
.woocommerce .cart_totals .wc-proceed-to-checkout a {
    display: block;
    width: 100%;
    text-align: center;
    background: #fff !important;
    color: #000 !important;
    padding: 16px 20px !important;
    font-size: .65rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    border: 1px solid #fff !important;
    border-radius: 0 !important;
    transition: all .25s var(--ease);
    text-decoration: none;
}
.woocommerce .cart_totals .wc-proceed-to-checkout a:hover {
    background: transparent !important;
    color: #fff !important;
    border-color: #fff !important;
}

/* ── Global WooCommerce Buttons ── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: #fff !important;
    color: #000 !important;
    border-radius: 0 !important;
    font-size: .68rem !important;
    font-weight: 600 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    border: 1px solid #fff !important;
    transition: all .25s var(--ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: transparent !important;
    color: #fff !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: #fff !important;
    color: #000 !important;
}

/* ── Empty Cart ── */
.woocommerce-cart .cart-empty {
    text-align: center;
    padding: 80px 20px;
    grid-column: 1 / -1;
}
.woocommerce-cart .cart-empty::before {
    content: '';
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 auto 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='1.5'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: .5;
}
.woocommerce-cart .return-to-shop {
    grid-column: 1 / -1;
    text-align: center;
}
.woocommerce-cart .return-to-shop a {
    display: inline-block;
    margin-top: 8px;
}

/* Hide Cross Sells / New Arrivals when Cart is Empty */
.wc-block-cart__empty-cart ~ .wp-block-woocommerce-product-new,
.wc-block-cart__empty-cart ~ h2,
.wc-block-cart__empty-cart ~ h3,
.wc-block-cart__empty-cart ~ .wc-block-grid,
.cart-empty ~ .cross-sells,
.cart-empty ~ h2 {
    display: none !important;
}

/* Checkout */
.woocommerce-checkout .page-title {
    max-width: 640px !important;
    margin: 40px auto 24px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    font-size: 2rem !important;
}
.woocommerce-checkout .woocommerce{max-width:640px;margin:0 auto;padding:calc(var(--head-h) + 48px) 32px 80px}
.checkout-steps{display:flex;gap:24px;margin-bottom:40px;padding-bottom:16px;border-bottom:1px solid var(--bd)}
.checkout-step{font-family:var(--mono);font-size:.7rem;font-weight:600;color:var(--tx3);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:color .2s}
.checkout-step:hover{color:var(--tx2)}
.checkout-step.active{color:var(--tx)}

/* Multi-step visibility */
.checkout-step-content{display:none}
.checkout-step-content.active{display:block}
.checkout-continue-btn{display:block;width:100%;margin-top:32px;padding:16px 28px;background:var(--tx3);color:var(--bg);border:none;font-family:var(--font);font-size:.7rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .2s}
.checkout-continue-btn:hover{background:var(--tx)}

/* Hide coupon toggle */
.woocommerce-form-coupon-toggle{display:none!important}

.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
.woocommerce-checkout h3{font-size:.85rem!important;font-weight:700!important;letter-spacing:2px!important;text-transform:uppercase!important;margin-bottom:24px!important;color:var(--tx)!important;padding-bottom:0!important;border:none!important}
.woocommerce-checkout h3#ship-to-different-address{cursor:default}
.woocommerce-checkout h3#ship-to-different-address label{font-size:.85rem!important;font-weight:700!important;letter-spacing:2px!important;text-transform:uppercase!important;color:var(--tx)!important;cursor:default}
.woocommerce-checkout h3#ship-to-different-address input[type="checkbox"]{display:none}
.woocommerce-checkout .woocommerce label{font-size:.72rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--tx3)!important;margin-bottom:6px;display:block}
.woocommerce-checkout .woocommerce label .required{color:var(--tx3)}
.woocommerce-checkout .woocommerce input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),.woocommerce-checkout .woocommerce select,.woocommerce-checkout .woocommerce textarea{background:var(--bg2)!important;border:1px solid var(--bd)!important;color:var(--tx)!important;padding:14px 16px;font-size:.85rem;width:100%}
.woocommerce-checkout .woocommerce input::placeholder{color:var(--tx3)}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:32px}
.woocommerce-checkout .woocommerce p.form-row{margin-bottom:16px}
.woocommerce-checkout .woocommerce p{color:#bbb;font-size:.82rem;line-height:1.7}
.woocommerce-checkout .woocommerce a{color:#fff;text-decoration:underline}
.woocommerce-checkout #order_review_heading{font-size:.85rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tx);margin-bottom:24px}
.woocommerce-checkout .wc_payment_methods{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.woocommerce-checkout .wc_payment_method{background:transparent;border:1px solid var(--bd);padding:14px 16px;margin-bottom:0}
.woocommerce-checkout .wc_payment_method label{font-size:.85rem!important;font-weight:600!important;color:var(--tx2)!important;cursor:pointer;display:flex!important;align-items:center;gap:12px;margin:0!important;text-transform:none!important;letter-spacing:0!important}
.woocommerce-checkout .wc_payment_method input[type="radio"]{accent-color:#fff;width:14px!important;height:14px!important;margin:0!important}
.woocommerce-checkout .wc_payment_method .payment_box{color:var(--tx3);font-size:.78rem;line-height:1.7;padding:12px 0 4px 26px}
.woocommerce-checkout .wc_payment_method .payment_box p{color:var(--tx3)}
.woocommerce-checkout .woocommerce-checkout-review-order-table{border:none;width:100%;margin-bottom:24px}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart-subtotal{display:none!important}
.woocommerce-checkout .woocommerce-checkout-review-order-table th{color:var(--tx3);font-family:var(--mono);font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:14px 0 !important;border-bottom:1px solid var(--bd) !important;background:transparent;text-align:left;vertical-align:middle !important}
.woocommerce-checkout .woocommerce-checkout-review-order-table td{color:var(--tx);padding:14px 0 !important;border-bottom:1px solid var(--bd) !important;text-align:right;vertical-align:middle !important}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--bd);padding-top:16px;margin-top:8px;width:100%}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td{font-size:1.1rem!important;font-weight:700!important;color:var(--tx)!important;padding:0!important;margin:0!important;border:none!important;width:auto!important;display:block!important;text-align:right}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th{text-align:left}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td bdi,.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td span.amount{white-space:nowrap!important;display:inline-block}
.woocommerce-checkout .woocommerce-privacy-policy-text p{color:var(--tx3);font-size:.72rem}
.woocommerce-checkout input[type="radio"]{accent-color:#fff}
.woocommerce-checkout input[type="checkbox"]{accent-color:#fff}
.woocommerce-checkout #place_order{width:100%;margin-top:16px;background:#fff!important;color:#000!important;border:1px solid #fff!important;padding:16px 28px!important;font-size:.7rem!important;font-weight:600!important;letter-spacing:3px!important;text-transform:uppercase!important;border-radius:0!important;cursor:pointer;transition:all .2s}
.woocommerce-checkout #place_order:hover{background:#ddd!important}
.woocommerce-checkout .select2-container .select2-selection--single{background:var(--bg2)!important;border:1px solid var(--bd)!important;border-radius:0!important;height:auto!important;padding:10px 14px}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{color:var(--tx)!important;padding:0;line-height:1.5}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%)}

/* Custom Checkout Payment Tooltip and Coupon styles */
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .wc_payment_method .payment_box {
    background-color: var(--bg2) !important;
    border: 1px solid var(--bd) !important;
    color: var(--tx3) !important;
    border-radius: 0 !important;
    margin: 14px 0 0 0 !important;
    padding: 16px 20px !important;
    position: relative;
    font-size: .78rem !important;
    line-height: 1.6 !important;
    box-shadow: none !important;
}
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout .wc_payment_method .payment_box::before {
    content: "" !important;
    border: 8px solid transparent !important;
    border-bottom-color: var(--bg2) !important;
    position: absolute !important;
    top: -16px !important;
    left: 20px !important;
    margin: 0 !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
}
.woocommerce-checkout #payment div.payment_box p,
.woocommerce-checkout .wc_payment_method .payment_box p {
    color: var(--tx3) !important;
    margin: 0 !important;
    font-size: .78rem !important;
    line-height: 1.6 !important;
}

/* Custom Coupon Field */
.sxt-coupon-row td {
    border-bottom: none !important;
}
.sxt-coupon-wrapper {
    margin: 4px 0 16px 0;
}
.sxt-coupon-input-group {
    display: flex;
    gap: 12px;
}
.sxt-coupon-input-group input {
    flex: 1;
    background: var(--bg2) !important;
    border: 1px solid var(--bd) !important;
    color: var(--tx) !important;
    padding: 12px 16px !important;
    font-family: var(--font) !important;
    font-size: .75rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    height: 48px !important;
    box-sizing: border-box !important;
    outline: none !important;
}
.sxt-coupon-input-group input:focus {
    border-color: var(--tx2) !important;
}
.sxt-coupon-input-group button {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #fff !important;
    padding: 0 24px !important;
    font-family: var(--font) !important;
    font-size: .7rem !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    height: 48px !important;
    transition: all .2s ease !important;
    box-sizing: border-box !important;
}
.sxt-coupon-input-group button:hover {
    background: #ddd !important;
    border-color: #ddd !important;
}
#sxt_coupon_message {
    margin-top: 10px;
    font-size: 0.75rem;
    font-family: var(--font);
    line-height: 1.5;
}
#sxt_coupon_message ul,
#sxt_coupon_message li,
#sxt_coupon_message .woocommerce-error,
#sxt_coupon_message .woocommerce-message {
    background: transparent !important;
    border: none !important;
    color: #ff3b30 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    font-size: 0.75rem !important;
}
#sxt_coupon_message .woocommerce-message {
    color: #34c759 !important;
}

/* Notices */
.woocommerce .woocommerce-message, 
.woocommerce .woocommerce-info {
    background: transparent !important;
    border: 1px solid var(--bd) !important;
    color: var(--tx) !important;
    padding: 16px 24px !important;
    font-size: .85rem !important;
    margin-bottom: 32px !important;
    overflow: hidden;
    line-height: 1.5;
}
.woocommerce .woocommerce-error {
    background: transparent !important;
    border: 1px solid #e53935 !important;
    color: #e53935 !important;
    padding: 16px 24px !important;
    font-size: .85rem !important;
    margin-bottom: 32px !important;
    list-style-position: inside;
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-message svg,
.woocommerce .woocommerce-info svg,
.woocommerce .woocommerce-error svg,
.woocommerce .woocommerce-message .icon {
    display: none !important;
}
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
    float: right !important;
    margin-left: 24px !important;
    margin-top: -4px !important;
    margin-bottom: -4px !important;
}

/* ── FOOTER ── */
.site-footer{border-top:1px solid var(--bd);padding:48px 32px 20px;margin-top:80px}
.site-footer__inner{max-width:var(--max-w);margin:0 auto}
.site-footer__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.site-footer__col h4{font-family:var(--mono);font-size:.55rem;letter-spacing:3px;text-transform:uppercase;color:var(--tx3);margin-bottom:16px}
.site-footer__col p{font-size:.78rem;color:var(--tx3);line-height:1.7}
.site-footer__col a{display:block;font-size:.78rem;color:var(--tx3);padding:3px 0;transition:color .15s}
.site-footer__col a:hover{color:var(--tx)}
.site-footer__col ul{list-style:none;padding:0}
.site-footer__col ul li a{display:block;font-size:.78rem;color:var(--tx3);padding:3px 0;transition:color .15s}
.site-footer__col ul li a:hover{color:var(--tx)}
.site-footer__bottom{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;font-family:var(--mono);font-size:.6rem;color:var(--tx4);letter-spacing:2px;text-transform:uppercase}

/* ── TOAST ── */
#toast-container{position:fixed;bottom:28px;right:28px;z-index:400;display:flex;flex-direction:column;gap:8px}
.toast{padding:12px 20px;font-size:.75rem;font-weight:500;letter-spacing:1px;animation:slideUp .3s var(--ease);background:#fff;color:#000;min-width:220px}
@keyframes slideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ── WP DEFAULTS RESET ── */
.wp-block-group,.entry-content,.page-content{color:var(--tx)}
h1,h2,h3,h4,h5,h6{color:var(--tx)}
.widget{color:var(--tx)}
.widget a{color:var(--tx2)}
.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .woo-catalog__layout{grid-template-columns:180px 1fr}
  .single-product div.product{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:repeat(2,1fr)}
  .landing__inner{grid-template-columns:1fr}
  .landing__left{border-right:none;padding-right:0}
  .landing__right{padding-left:0}
}
@media(max-width:768px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:640px){
  .site-header{padding:0 16px}
  .woo-catalog__layout{grid-template-columns:1fr;gap:20px}
  .shop-filters{position:relative;top:0;margin-bottom:20px;border-bottom:1px solid var(--bd)}
  .filters__heading{font-size:.8rem;margin-bottom:16px;padding-bottom:12px}
  ul.products,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:2px}
  .site-footer__grid{grid-template-columns:1fr;gap:24px}
  .menu-panel{width:100vw;right:-100vw}
  .landing__inner{grid-template-columns:1fr;padding:20px 16px;text-align:center;align-content:center}
  .landing__left{align-items:center;padding-right:0;border-right:none}
  .landing__actions{justify-content:center}
  .landing__right{padding-left:0;margin-top:40px}
  .landing__title{font-size:2.2rem;line-height:1.1}
  .woo-catalog{padding:calc(var(--head-h) + 20px) 16px 40px}
  .single-product div.product{padding:calc(var(--head-h) + 20px) 16px 40px}

  .single-product-tabs{padding:0 16px 40px}
  .single-product-related{padding:0 16px 40px}
  .woocommerce-cart .entry-title,.woocommerce-cart .page-title,.woocommerce-cart .wp-block-post-title{padding:calc(var(--head-h) + 20px) 16px 0;font-size:1.4rem}
  .woocommerce-cart .woocommerce{grid-template-columns:1fr;padding:20px 16px 40px;gap:24px}
  .woocommerce-cart .woocommerce > .cart-collaterals{position:static}
  /* Kill WooCommerce default responsive ::before labels */
  .woocommerce-cart table.shop_table_responsive tr td::before,
  .woocommerce-cart table.shop_table tr td::before{display:none!important;content:none!important}

  /* Cart table grid card layout (override both shop_table and shop_table_responsive) */
  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table_responsive{border:0!important;display:block!important;width:100%!important;overflow:visible;white-space:normal}
  .woocommerce-cart table.shop_table thead,
  .woocommerce-cart table.shop_table_responsive thead{display:none!important}
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table_responsive tbody{display:block!important;width:100%}
  .woocommerce-cart table.shop_table tr,
  .woocommerce-cart table.shop_table_responsive tr{display:grid!important;grid-template-columns:80px 1fr auto;grid-template-rows:auto auto;gap:0;border-bottom:1px solid var(--bd);padding:20px 0;position:relative;align-items:start}
  .woocommerce-cart table.shop_table td,
  .woocommerce-cart table.shop_table_responsive tr td{border:none!important;padding:0!important;display:block!important;width:auto!important;text-align:left!important}

  /* Remove button top right */
  .woocommerce-cart table.shop_table td.product-remove,
  .woocommerce-cart table.shop_table_responsive tr td.product-remove{position:absolute!important;top:20px;right:0;width:auto!important;z-index:2;padding:0!important}
  .woocommerce-cart table.shop_table td.product-remove a{font-size:1rem}

  /* Thumbnail FORCE VISIBLE */
  .woocommerce-cart table.shop_table td.product-thumbnail,
  .woocommerce-cart table.shop_table_responsive tr td.product-thumbnail{display:block!important;grid-column:1;grid-row:1/3;width:80px!important;padding:0!important}
  .woocommerce-cart table.shop_table td.product-thumbnail img{width:80px!important;height:100px!important;object-fit:cover}

  /* Product name row 1 col 2-3 */
  .woocommerce-cart table.shop_table td.product-name,
  .woocommerce-cart table.shop_table_responsive tr td.product-name{grid-column:2/4;grid-row:1;padding:0 28px 0 12px!important;font-size:.82rem!important;word-wrap:break-word;overflow-wrap:break-word;text-align:left!important}
  .woocommerce-cart table.shop_table td.product-name a{font-size:.82rem!important}
  .woocommerce-cart table.shop_table td.product-price,
  .woocommerce-cart table.shop_table_responsive tr td.product-price{display:none!important}

  /* Quantity row 2 col 2 */
  .woocommerce-cart table.shop_table td.product-quantity,
  .woocommerce-cart table.shop_table_responsive tr td.product-quantity{grid-column:2;grid-row:2;padding:10px 0 0 12px!important;display:flex!important;align-items:center}
  .woocommerce-cart table.shop_table td.product-quantity .quantity input.qty{width:48px;padding:8px 4px;font-size:.78rem}

  /* Subtotal row 2 col 3 */
  .woocommerce-cart table.shop_table td.product-subtotal,
  .woocommerce-cart table.shop_table_responsive tr td.product-subtotal{grid-column:3;grid-row:2;text-align:right!important;padding:10px 0 0 0!important;font-size:.85rem!important;display:flex!important;align-items:center;justify-content:flex-end}

  /* Actions row full width */
  .woocommerce-cart table.shop_table td.actions,
  .woocommerce-cart table.shop_table_responsive tr td.actions{grid-column:1/-1;display:block!important;padding:16px 0 0!important;border-top:none!important}
  .woocommerce-cart table.shop_table td.actions .coupon{display:none!important}
  .woocommerce-cart table.shop_table td.actions button[name="update_cart"]{float:none!important;width:100%!important;padding:14px 20px!important;text-align:center!important}
  .woocommerce-checkout .woocommerce{padding:calc(var(--head-h) + 20px) 16px 40px}
  .woocommerce-checkout .col2-set{flex-direction:column;gap:32px}
  .checkout-steps{gap:16px;flex-wrap:wrap}
  .checkout-step{font-size:.6rem}
  .site-footer{padding:32px 16px 20px;margin-top:40px}
  .custom-auth-wrapper{padding:20px 16px}
}

/* ── MY ACCOUNT PAGE ── */
.woocommerce-account .woocommerce {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: calc(var(--head-h) + 60px) 32px 80px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 48px;
}
.woocommerce-account .woocommerce > * {
  width: 100%;
}
.woocommerce-MyAccount-navigation {
  background: transparent;
  padding: 0;
  width: 260px !important;
  flex: 0 0 260px;
  float: none !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.woocommerce-MyAccount-navigation ul li {
  margin: 0;
  padding: 0;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 24px;
  font-size: .75rem;
  font-weight: 500;
  color: var(--tx2);
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: all .2s var(--ease);
  border: 1px solid var(--bd);
  background: var(--bg2);
}
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--tx);
  background: var(--surface);
  border-color: var(--tx3);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--tx);
  background: var(--tx);
  border-color: var(--tx);
  font-weight: 700;
  color: var(--bg);
}
.woocommerce-MyAccount-content {
  background: var(--bg2);
  border: 1px solid var(--bd);
  padding: 48px;
  min-height: 400px;
  width: calc(100% - 260px - 48px) !important;
  flex: 1;
  float: none !important;
  min-width: 0;
}
.woocommerce-MyAccount-content > p {
  color: var(--tx2);
  font-size: .85rem;
  line-height: 1.8;
  margin-bottom: 24px;
}
.woocommerce-MyAccount-content > p strong {
  color: var(--tx);
  font-weight: 700;
}
.woocommerce-MyAccount-content a {
  color: var(--tx);
  text-decoration: underline;
  transition: color .2s;
}
.woocommerce-MyAccount-content a:hover {
  color: var(--tx2);
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 24px;
  color: var(--tx);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bd);
}
.woocommerce-MyAccount-content mark {
  background: transparent;
  color: var(--tx);
  font-weight: 700;
}
/* Account Forms & Tables */
.woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 32px;
}
.woocommerce-MyAccount-content table.shop_table th {
  background: transparent;
  padding: 12px 0;
  text-transform: uppercase;
  font-family: var(--mono);
  font-size: .65rem;
  letter-spacing: 2px;
  color: var(--tx3);
  border-bottom: 1px solid var(--bd);
  text-align: left;
}
.woocommerce-MyAccount-content table.shop_table td {
  padding: 16px 0;
  border-bottom: 1px solid var(--bd);
  color: var(--tx2);
  font-size: .85rem;
}
.woocommerce-MyAccount-content table.shop_table td.woocommerce-orders-table__cell-order-actions a {
  display: inline-block;
  padding: 8px 16px;
  background: var(--surface);
  color: var(--tx);
  text-decoration: none;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: 1px solid var(--bd);
  transition: all .2s;
}
.woocommerce-MyAccount-content table.shop_table td.woocommerce-orders-table__cell-order-actions a:hover {
  background: var(--tx);
  color: var(--bg);
  border-color: var(--tx);
}
.woocommerce-MyAccount-content address {
  font-style: normal;
  color: var(--tx2);
  font-size: .85rem;
  line-height: 1.8;
  padding: 24px;
  background: var(--surface);
  border: 1px solid var(--bd);
}
.woocommerce-MyAccount-content header.title h3 {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 16px;
}
.woocommerce-MyAccount-content header.title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  border-bottom: 1px solid var(--bd);
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.woocommerce-MyAccount-content header.title a {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.4;
}
.woocommerce-MyAccount-content form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.woocommerce-MyAccount-content form label {
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: 1px;
  color: var(--tx3);
  margin-bottom: 6px;
  display: block;
}
.woocommerce-MyAccount-content form input {
  width: 100%;
}
.woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--bd);
  padding: 24px;
  margin-top: 24px;
}
.woocommerce-MyAccount-content fieldset legend {
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0 12px;
  color: var(--tx);
}

/* Login / Register form (not logged in) */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
  max-width: 800px;
  margin: 0 auto;
  padding: calc(var(--head-h) + 60px) 32px 80px;
}
.woocommerce-account .u-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
}
.woocommerce-account .u-columns > p,
.woocommerce-account .u-columns > header,
.woocommerce-account .u-columns > h2,
.woocommerce-account .u-columns > h3 {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2,
.woocommerce-account .u-columns .col-1,
.woocommerce-account .u-columns .col-2 {
  width: 100% !important;
  float: none !important;
  min-width: 0 !important;
}
.woocommerce-account .u-columns h2 {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--bd);
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label {
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--tx3);
  margin-bottom: 4px;
  display: block;
}
.woocommerce-account .woocommerce-form-login input:not([type="submit"]):not([type="checkbox"]),
.woocommerce-account .woocommerce-form-register input:not([type="submit"]):not([type="checkbox"]) {
  width: 100%;
  background: var(--bg2);
  border: 1px solid var(--bd);
  color: var(--tx);
  padding: 14px 16px;
  font-size: .85rem;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form-row,
.woocommerce-account .woocommerce-form-register .woocommerce-form-row {
  margin-bottom: 8px;
}
.woocommerce-account .woocommerce-form-login .show-password-input,
.woocommerce-account .woocommerce-form-register .show-password-input {
  color: var(--tx3);
}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  color: var(--tx2);
}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
  accent-color: #fff;
  width: 14px;
  height: 14px;
}
.woocommerce-account .woocommerce-form-login button[type="submit"],
.woocommerce-account .woocommerce-form-register button[type="submit"],
.woocommerce-account .woocommerce-form-login input[type="submit"],
.woocommerce-account .woocommerce-form-register input[type="submit"] {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  font-size: .68rem !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: all .2s;
  width: 100%;
}
.woocommerce-account .woocommerce-form-login button[type="submit"]:hover,
.woocommerce-account .woocommerce-form-register button[type="submit"]:hover {
  background: #ddd !important;
}
.woocommerce-account .woocommerce-LostPassword a {
  color: var(--tx3);
  font-size: .75rem;
  text-decoration: underline;
  transition: color .2s;
}
.woocommerce-account .woocommerce-LostPassword a:hover {
  color: var(--tx);
}
.woocommerce-account .woocommerce-privacy-policy-text p {
  color: var(--tx3);
  font-size: .72rem;
  line-height: 1.7;
}
.woocommerce-account .woocommerce-privacy-policy-text a {
  color: var(--tx2);
  text-decoration: underline;
}

@media(max-width: 768px) {
  .woocommerce-account .u-columns {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .woocommerce-account .woocommerce {
    flex-direction: column !important;
    gap: 24px;
    padding: calc(var(--head-h) + 20px) 16px 40px;
  }
  .woocommerce-MyAccount-navigation {
    width: 100% !important;
    flex: none !important;
  }
  .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    overflow-x: auto;
    padding-bottom: 8px;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
    display: none;
  }
  .woocommerce-MyAccount-navigation ul li {
    flex-shrink: 0;
  }
  .woocommerce-MyAccount-content {
    width: 100% !important;
    padding: 24px 16px;
  }
  .woocommerce-account:not(.logged-in) .woocommerce {
    padding: calc(var(--head-h) + 20px) 16px 40px;
  }
}
/* Custom OTP Auth */
.custom-auth-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:40px 20px}
.custom-auth-logo{margin-bottom:60px}
.custom-auth-logo svg{fill:var(--tx)}
.custom-auth-form-container{width:100%;max-width:320px;text-align:center}
.auth-input-wrap{position:relative;display:flex;align-items:center;border:1px solid var(--bd2);background:var(--bg2);padding:14px 20px;transition:border-color .3s}
.auth-input-wrap:focus-within{border-color:var(--tx)}
.auth-input-wrap .input-icon{font-size:1.1rem;color:var(--tx3);margin-right:12px}
.auth-input-wrap input{flex:1;background:transparent;border:none;color:var(--tx);font-family:var(--mono);font-size:.7rem;letter-spacing:2px;text-transform:uppercase;outline:none}
.auth-input-wrap input::placeholder{color:var(--tx3)}
.auth-submit-btn{background:transparent;border:none;color:var(--tx3);cursor:pointer;padding:0;display:flex;align-items:center;transition:color .3s}
.auth-submit-btn:hover{color:var(--tx)}
.auth-submit-btn .spin{animation:spin 1s linear infinite}
.auth-error{color:#e53935;font-size:.7rem;margin-top:12px;font-family:var(--mono)}
.auth-meta{margin-top:24px}
.auth-back-btn{background:transparent;border:none;color:var(--tx3);font-size:.7rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;cursor:pointer;text-decoration:underline;transition:color .3s}
.auth-back-btn:hover{color:var(--tx)}
@keyframes spin{100%{transform:rotate(360deg)}}

/* Force Hide Default WooCommerce Login Forms (only when NOT logged in) */
.woocommerce-account:not(.logged-in) .u-columns.col2-set,
.woocommerce-account:not(.logged-in) form.login,
.woocommerce-account:not(.logged-in) form.register,
.woocommerce-account:not(.logged-in) h2 {
    display: none !important;
}

/* Address page styling */
.woocommerce-account .addresses,
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns.col2-set.addresses {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 32px !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
  margin: 24px 0 0 0 !important;
}
.woocommerce-account .addresses::after,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account .u-columns.col2-set.addresses::after {
  content: none !important;
  display: none !important;
}
.woocommerce-account .addresses .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .u-columns.col2-set.addresses .u-column1,
.woocommerce-account .u-columns.col2-set.addresses .u-column2,
.woocommerce-account .u-columns.col2-set.addresses .col-1,
.woocommerce-account .u-columns.col2-set.addresses .col-2 {
  flex: 1 !important;
  width: 50% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  background: var(--bg2) !important;
  border: 1px solid var(--bd) !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}
.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--bd);
  padding-bottom: 12px;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
  display: block !important;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--tx);
  margin: 0;
}
.woocommerce-account .woocommerce-Address-title a.edit {
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--tx2);
  text-decoration: none;
  border: 1px solid var(--bd);
  padding: 8px 16px;
  transition: all 0.2s;
}
.woocommerce-account .woocommerce-Address-title a.edit:hover {
  color: var(--tx);
  border-color: var(--tx);
}
.woocommerce-account address {
  font-style: normal;
  font-size: .8rem;
  color: var(--tx2);
  line-height: 1.8;
}

/* Address edit form + Account details form � unified dark style */
.woocommerce-EditAccountForm,
.woocommerce-address-fields {
  max-width: 600px;
}
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
  margin-bottom: 16px;
}
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label {
  display: block;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--tx2);
  margin-bottom: 6px;
}
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"],
.woocommerce-EditAccountForm input[type="password"],
.woocommerce-EditAccountForm input.input-text,
.woocommerce-EditAccountForm select,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select {
  width: 100% !important;
  background: var(--bg2) !important;
  border: 1px solid var(--bd) !important;
  color: var(--tx) !important;
  padding: 12px 16px !important;
  font-size: .8rem !important;
  font-family: var(--font);
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.woocommerce-EditAccountForm input:focus,
.woocommerce-address-fields input.input-text:focus,
.woocommerce-address-fields select:focus {
  border-color: var(--tx) !important;
  outline: none;
}
.woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--bd);
  padding: 24px;
  margin: 24px 0;
}
.woocommerce-EditAccountForm fieldset legend {
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--tx);
  padding: 0 8px;
}
.woocommerce-EditAccountForm .show-password-input {
  color: var(--tx2) !important;
}
.woocommerce-EditAccountForm em {
  color: var(--tx3);
  font-size: .7rem;
}
.woocommerce-EditAccountForm .button,
.woocommerce-address-fields .button {
  background: var(--tx) !important;
  color: var(--bg) !important;
  border: none !important;
  padding: 14px 32px !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  cursor: pointer;
  transition: opacity 0.2s;
  margin-top: 12px;
}
.woocommerce-EditAccountForm .button:hover,
.woocommerce-address-fields .button:hover {
  opacity: 0.85;
}
@media (max-width: 640px) {
  .woocommerce-account .u-columns.col2-set,
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
}

/* Gallery: only minimal fixes */
.woocommerce-product-gallery__trigger { display: none !important; }
.zoomImg { background-color: var(--bg) !important; }
.woocommerce div.product .images { width: 48% !important; float: left !important; }
.woocommerce div.product .summary { width: 48% !important; float: right !important; clear: none !important; }





/* Logo centered */
.site-header__actions { margin-left: auto; }
.site-header__logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.site-header__logo img { height: 28px; width: auto; display: block; }







/* -- MOBILE STABILIZATION (max-width: 640px) -- */
@media (max-width: 640px) {

  /* Header */
  .site-header__logo img { height: 22px; }

  /* Single product: stack columns */
  .woocommerce div.product .images,
  .woocommerce div.product .summary {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  /* Gallery thumbnails */
  .woocommerce-product-gallery .flex-control-thumbs { flex-wrap: wrap; }

  /* Swatches */
  .custom-swatches { flex-wrap: wrap; gap: 6px; }

  /* Checkout */
  .woocommerce-checkout .woocommerce { padding: calc(var(--head-h) + 16px) 16px 60px; }
  .woocommerce-checkout .col2-set { display: block; }
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; }

  /* Cart */
  .woocommerce-cart .woocommerce { padding: 16px; }

  /* Buttons */
  .woocommerce div.product form.cart .button,
  .woocommerce .single_add_to_cart_button { padding: 16px !important; font-size: .7rem !important; }

  /* My account */
  .woocommerce-account .woocommerce { padding: calc(var(--head-h) + 16px) 16px 40px; }
  .woocommerce-MyAccount-navigation { width: 100% !important; float: none !important; }
  .woocommerce-MyAccount-content { width: 100% !important; float: none !important; }

  /* OTP auth form */
  .custom-auth-wrapper { padding: 60px 16px 40px; }

  /* Catalog */
  ul.products, .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; }

  /* Product tabs */
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 14px; font-size: .65rem; }

  /* Typography */
  .single-product div.product .summary h1 { font-size: 1.3rem; }
}


/* -- CUSTOM GALLERY (Show only gallery images) -- */
.sxt-gallery { position: relative; }
.sxt-gallery__main { position: relative; overflow: hidden; background: transparent; width: 100%; }
.sxt-slide { display: none; width: 100%; aspect-ratio: 3/4; overflow: hidden; cursor: default; background: #fff; }
.sxt-slide.sxt-active { display: block; }
.sxt-slide.sxt-hidden { display: none !important; }
.sxt-slide img { width: 100%; height: 100%; display: block; object-fit: contain; transition: transform 0.15s linear; }
.sxt-slide:hover img { transform: scale(1.3); }

.sxt-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: transparent; color: var(--tx3); border: none; font-size: 2rem; cursor: pointer; padding: 0 10px; z-index: 10; opacity: 0.5; transition: opacity 0.2s; outline: none; }
.sxt-arrow:hover { opacity: 1; }
.sxt-prev { left: 0; }
.sxt-next { right: 0; }

/* -- BRAND INDICATORS -- */
.single-product-brand-under-title {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--tx2);
  margin-top: 4px;
  margin-bottom: 12px;
}

/* -- WOOCOMMERCE PAGINATION (Square, clean blocks with beautiful spacing in premium dark style) -- */
.woocommerce-pagination {
  margin: 60px 0 20px !important;
  display: flex !important;
  justify-content: center !important;
  border: none !important;
  padding: 0 !important;
}
.woocommerce-pagination ul.page-numbers {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.woocommerce-pagination ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  display: block !important;
  float: none !important;
}
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: var(--bg2) !important; /* Premium dark background */
  color: var(--tx) !important;       /* White text */
  border: 1px solid var(--bd) !important; /* Muted border */
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}
/* Active page: high-contrast solid white block with black text */
.woocommerce-pagination ul.page-numbers li span.current {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
  cursor: default !important;
}
/* Hover state */
.woocommerce-pagination ul.page-numbers li a:hover {
  background: var(--bg3) !important;
  border-color: var(--tx2) !important;
  color: var(--tx) !important;
}
.woocommerce-pagination ul.page-numbers li a.next,
.woocommerce-pagination ul.page-numbers li a.prev {
  font-size: 1.1rem !important;
}

/* ── ADDITIONAL MOBILE STABILIZATION ── */
@media (max-width: 480px) {
  /* Landing page — prevent title overflow */
  .landing__title { font-size: 1.8rem; word-break: break-word; }
  .landing__desc { font-size: .75rem; }
  .landing__tag { font-size: .65rem; }
  .landing__actions { flex-wrap: wrap; gap: 8px; }
  .landing__cta { font-size: .7rem; padding: 14px 20px; }
  .landing__stat-num { font-size: 1.6rem; }
  .landing__stat-label { font-size: .55rem; }

  /* Single product */
  .single-product div.product .summary h1 { font-size: 1.1rem !important; }
  .single-product div.product .summary .price { font-size: 1rem; }
  .single-product-brand-under-title { font-size: .65rem; }

  /* Gallery arrows */
  .sxt-arrow { font-size: 1.4rem; padding: 0 6px; }

  /* Swatches */
  .custom-swatches .swatch-item { min-width: 28px; min-height: 28px; }
  .custom-swatches .swatch-item[data-type="text"] { padding: 6px 10px; font-size: .6rem; }

  /* Cart table  */
  .woocommerce table.shop_table td.product-name { font-size: .75rem; }
  .woocommerce table.shop_table td.product-subtotal { font-size: .8rem; }
  .woocommerce .quantity .qty { width: 48px; font-size: .75rem; }

  /* Checkout */
  .woocommerce form .form-row label { font-size: .7rem; }
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select { font-size: .75rem; padding: 12px; }
  .checkout-step { font-size: .55rem; padding: 6px 10px; }

  /* Pagination */
  .woocommerce-pagination ul.page-numbers li a,
  .woocommerce-pagination ul.page-numbers li span {
    min-width: 34px !important;
    height: 34px !important;
    font-size: .75rem !important;
    padding: 0 10px !important;
  }

  /* My account */
  .woocommerce-MyAccount-navigation ul li a {
    font-size: .6rem !important;
    padding: 10px 12px !important;
  }
  .woocommerce-MyAccount-content { padding: 16px 0 !important; }

  /* Footer */
  .site-footer { font-size: .7rem; }
  .site-footer__grid { gap: 16px; }
}

/* Prevent horizontal scroll on mobile */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}

/* Thank You / Order Received BACS styling */
.woocommerce-order-received .wc-bacs-bank-details-heading {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--tx) !important;
  margin-top: 40px !important;
  margin-bottom: 8px !important;
  border-bottom: 1px solid var(--bd) !important;
  padding-bottom: 12px !important;
}
.woocommerce-order-received .wc-bacs-bank-details-account-name {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--tx) !important;
  letter-spacing: 1px !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
  display: block !important;
  border-bottom: 1px solid var(--bd) !important;
  padding-bottom: 8px !important;
}
.woocommerce-order-received ul.wc-bacs-bank-details,
.woocommerce-order-received ul.order_details_bank_details {
  list-style: none !important;
  padding: 24px !important;
  margin: 0 0 40px 0 !important;
  background: var(--bg2) !important;
  border: 1px solid var(--bd) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  float: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  clear: both !important;
}
.woocommerce-order-received ul.wc-bacs-bank-details li,
.woocommerce-order-received ul.order_details_bank_details li {
  font-size: 0.75rem !important;
  color: var(--tx2) !important;
  border-bottom: 1px solid var(--bd) !important;
  padding-bottom: 12px !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  float: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  clear: both !important;
}
.woocommerce-order-received ul.wc-bacs-bank-details li:last-child,
.woocommerce-order-received ul.order_details_bank_details li:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.woocommerce-order-received ul.wc-bacs-bank-details li strong,
.woocommerce-order-received ul.order_details_bank_details li strong {
  color: var(--tx) !important;
  font-family: var(--mono) !important;
  font-size: 0.8rem !important;
  user-select: all !important;
  float: none !important;
  display: inline-block !important;
  text-align: right !important;
}

/* Declutter Thank You page order table: hide redundant Subtotal and Payment Method rows */
.woocommerce-order-received table.shop_table tfoot tr.cart-subtotal,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr.cart-subtotal,
.woocommerce-order-received table.shop_table tfoot tr.payment-method,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr.payment-method,
.woocommerce-order-received table.shop_table tfoot tr.payment_method,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr.payment_method {
  display: none !important;
}

/* Unified clean Flexbox for Order Overview at the top of the Thank You page */
.woocommerce-order-received ul.order_details {
  list-style: none !important;
  padding: 24px !important;
  background: var(--bg2) !important;
  border: 1px solid var(--bd) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 24px !important;
  margin: 24px 0 32px 0 !important;
}
.woocommerce-order-received ul.order_details li {
  font-family: var(--mono) !important;
  font-size: 0.65rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--tx3) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  flex: 1 1 auto !important;
  min-width: 120px !important;
}
.woocommerce-order-received ul.order_details li strong {
  display: block !important;
  font-family: var(--font) !important;
  font-size: 0.85rem !important;
  color: var(--tx) !important;
  margin-top: 6px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
@media (max-width: 640px) {
  .woocommerce-order-received ul.order_details {
    gap: 16px !important;
  }
  .woocommerce-account .addresses,
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .u-columns.col2-set.addresses {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .woocommerce-account .addresses .woocommerce-Address,
  .woocommerce-account .woocommerce-Addresses .woocommerce-Address,
  .woocommerce-account .u-columns.col2-set.addresses .col-1,
  .woocommerce-account .u-columns.col2-set.addresses .col-2 {
    width: 100% !important;
  }
}



/* === GLOBAL: Kill WooCommerce built-in responsive cart overrides === */
@media only screen and (max-width: 768px) {
  .woocommerce-cart table.shop_table_responsive tr td.product-thumbnail {
    display: block !important;
  }
  .woocommerce-cart table.shop_table_responsive tr td::before {
    display: none !important;
    content: none !important;
  }
  .woocommerce-cart table.shop_table_responsive tr td {
    display: block !important;
    width: auto !important;
    text-align: left !important;
  }
  .woocommerce-cart table.shop_table_responsive tr {
    display: grid !important;
    grid-template-columns: 80px 1fr auto;
  }
}

/* === WooCommerce Pagination === */
.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination {
  text-align: center;
  margin: 40px 0 0;
  padding: 24px 0;
  border-top: 1px solid var(--bd);
}
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid var(--bd);
}
.woocommerce nav.woocommerce-pagination ul li {
  margin: 0;
  padding: 0;
  border-right: 1px solid var(--bd);
}
.woocommerce nav.woocommerce-pagination ul li:last-child {
  border-right: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  font-size: .8rem;
  font-weight: 500;
  color: var(--tx2);
  background: transparent;
  text-decoration: none;
  transition: all .2s var(--ease);
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--surface);
  color: var(--tx);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--tx);
  color: var(--bg);
  font-weight: 700;
}

/* Make Crisp Chatbox smaller on desktop */
@media only screen and (min-width: 768px) {
  .crisp-client iframe,
  #crisp-chatbox iframe {
    max-height: 500px !important;
    max-width: 330px !important;
  }
}

/* === CONCEPTUAL ABOUT PAGE (SXT) === */
.sxt-about-layout {
  padding: calc(var(--head-h) + 60px) 32px 100px;
  background: var(--bg);
  color: var(--tx);
  font-family: var(--font);
  display: flex;
  justify-content: center;
}
.sxt-about-container {
  width: 100%;
  max-width: var(--max-w);
  display: flex;
  flex-direction: column;
  gap: 80px;
}

/* Common Section Typography */
.sxt-section-label {
  font-family: var(--mono);
  font-size: 0.65rem;
  letter-spacing: 4px;
  color: var(--tx3);
  text-transform: uppercase;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--bd);
}

/* Manifesto Section */
.sxt-manifesto-section {
  padding-bottom: 60px;
  border-bottom: 1px solid var(--bd);
}
.sxt-manifesto-meta {
  display: flex;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: 0.65rem;
  letter-spacing: 2px;
  color: var(--tx3);
  margin-bottom: 20px;
}
.sxt-manifesto-title {
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 800;
  letter-spacing: -3px;
  line-height: 0.9;
  text-transform: uppercase;
  margin-bottom: 32px;
}
.sxt-manifesto-lead {
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: var(--tx);
  line-height: 1.6;
  max-width: 800px;
  font-weight: 400;
}

/* Methodology Grid */
.sxt-method-section {
  display: flex;
  flex-direction: column;
}
.sxt-method-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--bd); /* creates 1px border lines between cards */
  border: 1px solid var(--bd);
}
.sxt-method-card {
  background: var(--bg);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sxt-method-num {
  font-family: var(--mono);
  font-size: 0.7rem;
  color: var(--tx3);
  letter-spacing: 1px;
}
.sxt-method-title {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.sxt-method-desc {
  font-size: 0.78rem;
  color: var(--tx2);
  line-height: 1.6;
}

/* Technical Specification Section */
.sxt-info-section {
  display: flex;
  flex-direction: column;
}
.sxt-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--bd);
  border: 1px solid var(--bd);
}
.sxt-info-cell {
  background: var(--bg);
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sxt-cell-header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sxt-cell-num {
  font-family: var(--mono);
  font-size: 0.7rem;
  color: var(--tx3);
}
.sxt-cell-title {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.sxt-cell-content {
  font-size: 0.78rem;
  color: var(--tx2);
  line-height: 1.6;
}
.sxt-contacts-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sxt-contacts-details a {
  text-decoration: underline;
  color: var(--tx);
  transition: color 0.2s;
}
.sxt-contacts-details a:hover {
  color: var(--tx2);
}

/* Mobile Responsiveness */
@media (max-width: 900px) {
  .sxt-method-grid {
    grid-template-columns: 1fr;
  }
  .sxt-info-grid {
    grid-template-columns: 1fr;
  }
  .sxt-method-card, 
  .sxt-info-cell {
    padding: 30px 20px;
  }
  .sxt-manifesto-title {
    letter-spacing: -1.5px;
  }
}
