/* ===== core: layout + WooCommerce pages. Designs set the variables and add their own character. ===== */
:root{
  --bg:#fff; --surface:#f6f6f7; --surface-2:#ececef; --text:#16161a; --muted:#6b6b76; --border:#e2e2e6;
  --accent:#333; --accent-text:#fff; --accent-2:#666; --danger:#c62828; --ok:#2e7d32;
  --font-head:system-ui,sans-serif; --font-body:system-ui,sans-serif; --head-weight:700; --head-case:none; --head-spacing:0;
  --radius:10px; --btn-radius:8px; --card-radius:var(--radius); --wrap:1200px; --gap:24px; --shadow:0 1px 2px rgba(0,0,0,.06);
  --input-bg:#fff; --input-text:var(--text); --input-border:var(--border);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:var(--head-weight);text-transform:var(--head-case);letter-spacing:var(--head-spacing);line-height:1.15;margin:0 0 .5em}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit}
.gk-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.gk-main{min-height:50vh}
.gk-hp{position:absolute;left:-9999px}

/* buttons */
.gk-btn,.button,button.button,a.button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-proceed-to-checkout a.checkout-button,#place_order{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--accent);color:var(--accent-text);border:0;border-radius:var(--btn-radius);
  padding:.8em 1.4em;font-weight:700;font-family:var(--font-body);text-decoration:none;cursor:pointer;line-height:1.2;transition:filter .15s,transform .15s}
.gk-btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,#place_order:hover{filter:brightness(1.08);color:var(--accent-text);background:var(--accent)}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5;background:var(--accent);color:var(--accent-text)}
a.added_to_cart{display:inline-block;margin-left:.6em;font-size:.85em;text-decoration:underline}

/* forms */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],select,textarea,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{
  width:100%;background:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);border-radius:calc(var(--btn-radius) * .8);padding:.7em .9em;min-height:46px}
.woocommerce form .form-row textarea,.woocommerce-page form .form-row textarea,textarea{background:var(--input-bg)!important;color:var(--input-text)!important}
.select2-container .select2-selection--single{display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--input-text);line-height:1.4;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.select2-dropdown{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}
label{font-size:.9em;font-weight:600}
.gk-contact label{display:block}.gk-contact input,.gk-contact textarea{margin-top:.35em}
.gk-notice{padding:1em 1.2em;border-radius:var(--radius);background:var(--surface)}.gk-ok{border-left:4px solid var(--ok)}.gk-err{border-left:4px solid var(--danger)}

/* search */
.gk-search{display:flex;gap:0}
.gk-search input[type=search]{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}
.gk-search button{background:var(--accent);color:var(--accent-text);border:0;padding:0 1.1em;border-radius:0 var(--btn-radius) var(--btn-radius) 0;font-weight:700;cursor:pointer}

/* currency dropdown */
.gk-cur{position:relative;display:inline-block}
.gk-cur-btn{background:transparent;color:inherit;border:1px solid currentColor;border-radius:var(--btn-radius);padding:.35em .7em;cursor:pointer;font-weight:600;font-size:.85em;opacity:.9}
.gk-caret{margin-left:.35em;font-size:.8em}
.gk-cur-list{display:none;position:absolute;right:0;top:calc(100% + 6px);list-style:none;margin:0;padding:6px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:60;min-width:90px}
.gk-cur.open .gk-cur-list{display:block}
.gk-cur-list a{display:block;padding:.4em .7em;text-decoration:none;border-radius:6px;font-size:.9em}
.gk-cur-list a:hover{background:var(--surface)}

/* page heads + prose */
.gk-page-head{padding:48px 0 24px}
.gk-page-title{font-size:clamp(28px,4vw,44px);margin:0}
.gk-prose{max-width:820px;padding-bottom:64px}
.gk-prose h2{font-size:1.4em;margin-top:1.6em}.gk-prose h3{font-size:1.15em;margin-top:1.3em}
.gk-prose ul,.gk-prose ol{padding-left:1.3em}
.gk-woo-page{padding-bottom:64px}

/* ===== WooCommerce: shop grid ===== */
.gk-shop{padding:32px 0 64px}
.woocommerce-products-header__title.page-title,.gk-shop h1.page-title{font-size:clamp(26px,3.5vw,40px)}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .woocommerce-product-gallery{max-width:100%;overflow:hidden}
.woocommerce div.product .summary,.woocommerce div.product .woocommerce-tabs{min-width:0;overflow-wrap:anywhere}
.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:.85em;margin:0 0 1em}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-result-count{color:var(--muted);font-size:.9em}
.woocommerce .woocommerce-ordering select{width:auto;min-height:40px}
.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap);margin:0 0 2em;padding:0;clear:both}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--card-radius);overflow:hidden;padding:0 0 14px;position:relative}
.woocommerce ul.products li.product a img{margin:0 0 12px;aspect-ratio:16/10;object-fit:cover;width:100%}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-body);font-size:.95em;font-weight:600;padding:0 14px;margin:0 0 6px;line-height:1.35;text-transform:none;letter-spacing:0}
.woocommerce ul.products li.product .price{color:var(--text);font-weight:800;padding:0 14px;margin:auto 0 10px;font-size:1.05em}
.woocommerce ul.products li.product .button{margin:0 14px;padding:.6em 1em;font-size:.88em}
.woocommerce ul.products li.product a.added_to_cart{margin:6px 14px 0}
.woocommerce span.onsale{background:var(--accent);color:var(--accent-text);border-radius:var(--btn-radius);min-height:0;min-width:0;padding:.2em .6em;line-height:1.5;top:10px;left:10px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:.55em .9em;border-radius:var(--btn-radius);background:var(--surface);color:var(--text);min-width:40px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--accent);color:var(--accent-text)}

/* ===== single product ===== */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product div.images img{border-radius:var(--card-radius)}
.woocommerce div.product .product_title{font-size:clamp(24px,3vw,36px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--accent);font-size:1.9em;font-weight:800;font-family:var(--font-head)}
.woocommerce div.product form.cart{display:flex;gap:10px;align-items:stretch;margin:1.2em 0}
.woocommerce div.product form.cart .quantity .qty{width:72px;min-height:48px;text-align:center}
.woocommerce div.product form.cart .button{flex:1;min-height:48px;font-size:1.05em}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1em;border-bottom:1px solid var(--border);display:flex;gap:4px;flex-wrap:wrap;overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent!important;border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;margin:0;padding:0;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted);padding:.7em 1em;font-weight:600}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}
.woocommerce div.product .woocommerce-tabs .panel{line-height:1.7}
.woocommerce div.product .product_meta{font-size:.85em;color:var(--muted)}
.woocommerce div.product .product_meta a{color:var(--muted)}
.related.products>h2,.upsells>h2{font-size:1.5em;margin-top:1.5em}
.gk-assure{list-style:none;padding:0;margin:1em 0;display:grid;gap:6px;font-size:.92em;color:var(--muted)}
.gk-assure li::before{content:"✓";color:var(--accent);font-weight:800;margin-right:.5em}
.woocommerce .quantity .qty{background:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);border-radius:calc(var(--btn-radius)*.8)}

/* ===== notices ===== */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{background:var(--surface);color:var(--text);border:0;border-left:4px solid var(--accent);border-radius:var(--radius);padding:1em 1.2em 1em 3em;list-style:none}
.woocommerce-error{border-left-color:var(--danger)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)}
.woocommerce-message .button,.woocommerce-info .button{float:right;padding:.45em 1em;font-size:.88em}

/* ===== cart ===== */
.woocommerce table.shop_table{border:1px solid var(--border);border-radius:var(--radius);border-collapse:separate;background:var(--surface);color:var(--text)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--border);padding:14px 12px}
.woocommerce table.shop_table img{width:64px;border-radius:6px}
.woocommerce a.remove{color:var(--danger)!important;font-size:1.4em}
.woocommerce a.remove:hover{background:var(--danger);color:#fff!important}
.woocommerce table.cart td.actions .coupon .input-text{width:180px;min-height:44px;margin-right:6px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{width:100%;max-width:480px;float:right}
.woocommerce .cart-collaterals .cart_totals h2{font-size:1.3em}
.wc-proceed-to-checkout a.checkout-button{width:100%;font-size:1.1em;padding:1em}

/* ===== checkout ===== */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:10px}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:100%;float:none}
.woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:40px;row-gap:12px;align-items:start}
.woocommerce form.checkout>*{grid-column:1/-1}
.woocommerce form.checkout #customer_details{grid-column:1;grid-row:1/span 2}
.woocommerce form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0}
.woocommerce form.checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:110px}
#customer_details h3,#order_review_heading{font-size:1.3em}
.woocommerce-checkout #payment{background:var(--surface);border-radius:var(--radius);color:var(--text)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:var(--border)}
.woocommerce-checkout #payment div.payment_box{background:var(--surface-2);color:var(--text)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--surface-2)}
#place_order{width:100%;font-size:1.1em;padding:1em;float:none!important}
.woocommerce-terms-and-conditions-wrapper{font-size:.88em;color:var(--muted)}
.woocommerce form .form-row{margin:0 0 12px;padding:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48%}
.woocommerce-checkout-review-order-table{font-size:.95em}

/* ===== account ===== */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:32px}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:.6em .9em;border-radius:var(--btn-radius);text-decoration:none;background:var(--surface)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--accent);color:var(--accent-text)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:520px}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}

/* ===== responsive ===== */
@media (max-width:1024px){ .woocommerce ul.products{--cols:3!important} }
@media (max-width:800px){
  .woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:24px}
  .woocommerce form.checkout{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:20px}
  .woocommerce form.checkout #order_review{position:static}
  .woocommerce form.checkout #customer_details,.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{grid-column:1;grid-row:auto}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .woocommerce .cart-collaterals .cart_totals{float:none;max-width:none}
}
@media (max-width:640px){
  .woocommerce ul.products{--cols:2!important;gap:12px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.88em;padding:0 10px}
  .woocommerce ul.products li.product .price{padding:0 10px}
  .woocommerce ul.products li.product .button{margin:0 10px;font-size:.8em;padding:.55em .6em}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
  .woocommerce table.shop_table_responsive tr td{padding:10px 12px}
  .woocommerce table.cart td.actions .coupon{display:flex;gap:6px}
  .woocommerce table.cart td.actions .coupon .input-text{width:100%;margin:0}
  .gk-wrap{padding:0 16px}
}
