@import url('https://fonts.googleapis.com/css2?family=Teko:wght@400;700&family=DM+Sans:wght@400;700&display=swap');

:root{--c-red:#da2128;--c-red2:#ff3b3b;--c-gold:#ffd700;--c-ink:#f6f3ef;--c-dim:rgba(246,243,239,.66);--c-bg:#0f0f10;--c-panel:#1b1b1e;--c-line:rgba(255,255,255,.12);}

body:not(.home){background:var(--c-bg);color:var(--c-ink);font-family:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;margin:0;}
body:not(.home) a{color:var(--c-red2);}
body:not(.home) h1,body:not(.home) h2,body:not(.home) h3{font-family:"Teko","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;}

.site-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(16px,5vw,48px);border-bottom:1px solid var(--c-line);}
.site-bar__brand{display:flex;align-items:center;gap:10px;color:var(--c-ink);text-decoration:none;font-family:"Teko";font-size:24px;font-weight:700;}
.site-bar__nav a{margin-left:18px;color:var(--c-dim);text-decoration:none;font-weight:700;font-size:15px;}
.site-bar__nav a:hover{color:var(--c-ink);}
.site-main{min-height:62vh;}
.site-wrap{max-width:1080px;margin:0 auto;padding:clamp(28px,6vw,60px) clamp(16px,5vw,48px) 90px;}
.site-wrap__title{font-size:clamp(30px,5vw,52px);margin:0 0 26px;}
.site-foot{padding:26px clamp(16px,5vw,48px);border-top:1px solid var(--c-line);font-size:14px;color:var(--c-dim);}
.site-foot a{color:var(--c-dim);}

/* WooCommerce, lightly re-skinned */
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #place_order{background:var(--c-red);color:#fff;border:0;border-radius:999px;font-family:"Teko";font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.03em;padding:.6em 1.7em;cursor:pointer;}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce #place_order:hover{background:var(--c-red2);color:#fff;}
.woocommerce span.amount,.woocommerce .price,.woocommerce-Price-amount{color:var(--c-ink);}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--c-gold);}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{background:var(--c-panel);border-top-color:var(--c-red);color:var(--c-ink);}
.woocommerce table.shop_table,.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #payment,
.woocommerce form.checkout_coupon,.woocommerce-order-received .woocommerce-order{background:var(--c-panel);border:1px solid var(--c-line);}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--c-line);}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--c-panel);border:1px solid var(--c-line);border-radius:12px;padding:14px;}
.woocommerce ul.products li.product a img{border-radius:8px;}

/* --- Classic (shortcode) checkout: every field identical, all dark --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout #customer_details .input-text,
.woocommerce-checkout #customer_details textarea,
.woocommerce-checkout #customer_details select,
.woocommerce .select2-container--default .select2-selection--single{
	-webkit-appearance:none;-moz-appearance:none;appearance:none;
	box-sizing:border-box;width:100%;
	background:#141414;color:var(--c-ink);
	border:1px solid rgba(255,255,255,.18);border-radius:10px;
	min-height:50px;padding:13px 14px;
	font-family:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.4;
	box-shadow:none;
}
.woocommerce form .form-row textarea{min-height:100px;resize:vertical;}

/* select: custom caret (appearance:none removes the native one) + dark options */
.woocommerce form .form-row select,
.woocommerce-checkout #customer_details select{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='none' stroke='%23f6f3ef' stroke-width='1.8' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;
}
.woocommerce form .form-row select option{background:#141414;color:var(--c-ink);}

/* select2 (country/state, if ever shown) matched to the same look */
.woocommerce .select2-container--default .select2-selection--single{display:flex;align-items:center;}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--c-ink);line-height:1.4;padding:0;}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:12px;}
.select2-dropdown{background:#141414;color:var(--c-ink);border:1px solid rgba(255,255,255,.18);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--c-red);color:#fff;}
.select2-search--dropdown .select2-search__field{background:#0e0e0e;color:var(--c-ink);border:1px solid rgba(255,255,255,.18);}

/* placeholders — same faint tone everywhere */
.woocommerce form .form-row input::placeholder,
.woocommerce form .form-row textarea::placeholder{color:rgba(246,243,239,.45);opacity:1;}

/* labels + required marker */
.woocommerce form .form-row label{color:var(--c-ink);font-weight:700;font-size:14px;margin-bottom:6px;display:block;}
.woocommerce form .form-row .required,.woocommerce form .form-row .optional{color:var(--c-dim);border:0;text-decoration:none;}

/* focus / validation states keep the same field shape, only the border shifts */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--c-red2);}
.woocommerce form .form-row.woocommerce-invalid label{color:var(--c-red2);}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea{border-color:var(--c-red2);}
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select,
.woocommerce form .form-row.woocommerce-validated textarea{border-color:rgba(255,255,255,.18);}

/* Chrome autofill paints its own colours — pin them back to dark */
.woocommerce form .form-row input:-webkit-autofill,
.woocommerce form .form-row input:-webkit-autofill:hover,
.woocommerce form .form-row input:-webkit-autofill:focus{
	-webkit-text-fill-color:var(--c-ink);
	-webkit-box-shadow:0 0 0 1000px #141414 inset;
	caret-color:var(--c-ink);
}

/* --- WooCommerce block checkout / cart (wc-blocks): white fields => dark text --- */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox input,
.wc-blocks-components-select select,
.wc-blocks-components-select__select,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-checkout input.wc-block-components-text-input__input{background:#fff!important;color:#151515!important;}

.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-blocks-components-select__label{color:#1f1f1f!important;font-weight:400!important;}

.wc-block-components-text-input input::placeholder,
.wc-block-components-text-input textarea::placeholder{color:#454545!important;opacity:1!important;}

.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-text-input input:-webkit-autofill:focus{-webkit-text-fill-color:#151515!important;caret-color:#151515;}

/* keep the step titles / helper text readable on the dark page */
.wc-block-components-checkout-step__title{color:var(--c-ink)!important;}
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__heading-content{color:var(--c-dim)!important;}
