/*
Theme Name: Kinky Galore Storefront
Theme URI: https://shop.kinkygalore.net/
Description: Kinky Galore branded child theme of Storefront — the storefront's design (Hudson NY Pro + Inter, #c41e3a on #060606) on cart, checkout, order confirmation and account.
Author: Jay
Author URI: https://kinkygalore.net/
Template: storefront
Version: 2.1.2
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: storefront-kinky-galore
*/

/* Storefront's Customizer colours are set to the brand as theme mods (background, text, accent, header, footer,
   buttons — see README "WordPress side"); this file adds fonts, the reduced header/footer and the dark form
   fields. Bump Version above after every change: Storefront versions this stylesheet with it. */

@font-face{font-family:'Hudson NY Pro';src:url('fonts/HudsonNYPro-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Hudson NY Pro';src:url('fonts/HudsonNYPro-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
/* Inter 4 variable (SIL OFL 1.1, fonts/Inter-OFL.txt), same files and ranges as the storefront */
@font-face{
  font-family:'Inter';src:url('fonts/Inter-latin-ext.woff2') format('woff2');font-weight:300 800;font-display:swap;
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Inter';src:url('fonts/Inter-latin.woff2') format('woff2');font-weight:300 800;font-display:swap;
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --kg-red:#c41e3a;
  --kg-red-bright:#e8384f;
  --kg-black:#060606;
  --kg-card:#0f0f0f;
  --kg-border:#1e1e1e;
  --kg-g-200:#e0e0e0;
  --kg-g-300:#aaaaaa;
  --kg-g-500:#666666;
  --kg-cream:#f8f0e8;
  --kg-display:'Hudson NY Pro',Georgia,serif;
  --kg-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}

body,button,input,select,textarea{font-family:var(--kg-body)}
body{background:var(--kg-black);color:var(--kg-g-200);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.entry-title{font-family:var(--kg-display);font-weight:700;color:#fff;letter-spacing:.01em}
.entry-title{text-transform:uppercase;font-size:clamp(34px,5vw,56px);line-height:1}
a{color:var(--kg-red-bright)}
a:hover,a:focus{color:#fff}
::selection{background:var(--kg-red);color:#fff}

/* ── header: logo + back link ── */
.site-header{background:var(--kg-black);border-bottom:1px solid var(--kg-border);padding:18px 0;margin-bottom:56px}
.site-header .col-full{display:flex;align-items:center}
.kg-brand{display:flex;align-items:center;justify-content:space-between;width:100%}
.kg-logo img{display:block;width:56px;height:auto;filter:drop-shadow(0 0 10px rgba(255,255,255,.18));transition:transform .3s}
.kg-logo:hover img{transform:scale(1.05)}
.kg-back{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--kg-g-300);text-decoration:none}
.kg-back:hover{color:#fff}

/* ── footer: legal links + 18+ ── */
.site-footer{background:var(--kg-black);border-top:1px solid var(--kg-border);padding:28px 0;margin-top:72px}
.kg-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--kg-g-500)}
.kg-foot p{margin:0}
.kg-foot nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.kg-foot a{color:var(--kg-g-300);text-decoration:none;letter-spacing:.05em}
.kg-foot a:hover{color:#fff}
.kg-age{border:1px solid var(--kg-red);color:var(--kg-red);font-family:var(--kg-display);font-size:13px;padding:4px 9px;border-radius:2px}

/* ── buttons (classic + blocks) ── */
button,.button,input[type=submit],.wc-block-components-button:not(.is-link){
  background:var(--kg-red);color:#fff;border:0;border-radius:2px;
  font-family:var(--kg-body);font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;transition:background .25s,box-shadow .25s;
}
button:hover,.button:hover,input[type=submit]:hover,.wc-block-components-button:not(.is-link):hover{
  background:var(--kg-red-bright);color:#fff;box-shadow:0 12px 40px -8px rgba(196,30,58,.3);
}

/* ── form fields (classic + blocks) ── */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],textarea,select,
.wc-block-components-text-input input,.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-select-input select,.wc-blocks-components-select__select,.wc-block-components-textarea{
  background:var(--kg-black)!important;color:#fff!important;border:1px solid var(--kg-border)!important;border-radius:2px!important;box-shadow:none!important;
}
input:focus,textarea:focus,select:focus,
.wc-block-components-text-input input:focus,.wc-blocks-components-select__select:focus{border-color:var(--kg-red)!important;outline:none}
.wc-block-components-text-input label,.wc-blocks-components-select__label,.wc-block-components-combobox label{color:var(--kg-g-300)!important}
.wc-blocks-components-select__container{background:var(--kg-black)!important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox],
.wc-block-components-radio-control__input{background:var(--kg-black)!important;border-color:var(--kg-g-500)!important}
.wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:#fff}
.wc-block-components-radio-control__input:checked:before{background:var(--kg-red)!important}

/* ── checkout + cart blocks ── */
.wc-block-components-title.wc-block-components-title,.wc-block-components-checkout-step__title{font-family:var(--kg-display);color:#fff;text-transform:uppercase;letter-spacing:.02em}
.wc-block-components-checkout-step__description,.wc-block-components-address-card,.wc-block-components-totals-item__description{color:var(--kg-g-300)}
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-components-radio-control-accordion-option,.wc-block-components-radio-control__option,
.wc-block-components-address-card,.wc-block-components-notice-banner{
  background:var(--kg-card);border:1px solid var(--kg-border)!important;border-radius:2px;color:var(--kg-g-200);
}
.wc-block-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{padding:0 16px 8px}
.wc-block-components-panel,.wc-block-components-totals-wrapper,.wc-block-components-order-summary-item,
.wc-block-cart-items,.wc-block-cart-items td,.wc-block-cart-items th{border-color:var(--kg-border)!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-product-name{color:#fff}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--kg-display);font-size:24px;color:var(--kg-cream)}
.wc-block-components-order-summary-item__quantity{background:var(--kg-red)!important;color:#fff!important;border-color:var(--kg-black)!important;box-shadow:none!important}
/* Germanized's checkout styles give the item list a light grey box; our text is light, so keep the card dark */
.wc-block-components-order-summary{background:transparent!important}
.wc-block-components-product-metadata,.wc-block-components-checkout-return-to-cart-button,
.wc-block-checkout__terms,.wc-block-components-validation-error{color:var(--kg-g-300)}
.wc-block-components-validation-error{color:var(--kg-red-bright)}
.wc-block-components-quantity-selector{border-color:var(--kg-border)!important}
.wc-block-components-quantity-selector input,.wc-block-components-quantity-selector__button{background:transparent!important;color:#fff!important;box-shadow:none!important}
.wc-block-components-notice-banner.is-error{border-color:rgba(196,30,58,.3)!important;background:rgba(196,30,58,.08)}
.wc-block-components-notice-banner.is-error > svg{background:var(--kg-red)}

/* ── classic templates (order received, my account) ── */
table,table th,table td{border-color:var(--kg-border)!important;background:transparent!important;color:var(--kg-g-200)}
.woocommerce-order-overview,.woocommerce-thankyou-order-details{border-color:var(--kg-border)}
.woocommerce-order-overview li strong{color:#fff}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews{background:var(--kg-card);color:var(--kg-g-200);border-left:3px solid var(--kg-red)}
.woocommerce-MyAccount-navigation ul{border-top-color:var(--kg-border)}
.woocommerce-MyAccount-navigation ul li{border-bottom-color:var(--kg-border)}
.wc-block-components-button,.wc-block-components-product-name{text-decoration:none!important}
.kg-return{margin-top:32px}

/* ── my account + login hints (kg-sso.php) ── */
.woocommerce-MyAccount-navigation ul li a{color:var(--kg-g-300);text-decoration:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.woocommerce-MyAccount-navigation ul li.is-active a,.woocommerce-MyAccount-navigation ul li a:hover{color:#fff}
.woocommerce-MyAccount-navigation ul li.is-active a{box-shadow:inset 3px 0 0 var(--kg-red);padding-left:12px}
.woocommerce-MyAccount-content mark{background:transparent;color:#fff;font-weight:600}
.woocommerce-Addresses address,.woocommerce-customer-details address{border-color:var(--kg-border)!important;color:var(--kg-g-200)}
.woocommerce-Address-title h2,.woocommerce-column__title,.woocommerce-order-details__title{font-size:22px;text-transform:uppercase}
.select2-container--default .select2-selection--single,.select2-dropdown,.select2-search__field{background:var(--kg-black)!important;border-color:var(--kg-border)!important;border-radius:2px!important}
.select2-container--default .select2-selection--single{height:auto;padding:8px 4px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:8px}
.select2-results__option{color:var(--kg-g-200)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--kg-red);color:#fff}
.kg-sso-note,.kg-sso-hint{color:var(--kg-g-300);font-size:14px}
.kg-sso-hint{background:var(--kg-card);border:1px solid var(--kg-border);border-left:3px solid var(--kg-red);padding:12px 16px}
