/*
Theme Name: Hitra ketna
Author: TD
Description: Entirely disables the WordPress theme system and lets you design every part of your site with Breakdance, while keeping other theme functionality like templates overrides and functions.php.
Version: 1.0.0
Requires PHP: 7
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hitraketna

Requires Breakdance to be installed.
*/

/* ============================================================================
   Hitra ketna — WooCommerce cart & checkout styling
   Scoped to body.woocommerce-cart / body.woocommerce-checkout only, so the
   Breakdance homepage and the [hk_configurator] page are never affected.
   Brand: dark surfaces + gold (#d9962b) CTAs, Aleo headings, Merriweather Sans
   body, steel (#9aa7b5) for secondary/technical text. Matches the configurator.
   ========================================================================== */

body.woocommerce-cart,
body.woocommerce-checkout{
  --hk-card:#232019; --hk-card2:#2c281f; --hk-ink:#F3EEE6; --hk-muted:#ABA399;
  --hk-amber:#d9962b; --hk-amber-d:#f0ad44; --hk-line:#3a342b; --hk-field:#2a2620;
  --hk-steel:#9aa7b5; --hk-on-amber:#16120c;
}

/* --- base type ---------------------------------------------------------- */
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce{
  font-family:'Merriweather Sans',system-ui,sans-serif;
  color:var(--hk-ink);
  max-width:1080px;
  margin:0 auto;
}

/* cart: two columns — left = items/coupon/upsell/timeline, right = sticky totals */
.wc-empty-cart-message {
    flex-basis: 100%;
  }
.woocommerce-cart .woocommerce{display:flex;flex-wrap:wrap;align-items:flex-start;}
.woocommerce-cart .woocommerce-notices-wrapper{flex:0 0 100%;width:100%;order:1}
.woocommerce-cart .woocommerce-notices-wrapper:empty{display:none}

/* landing-page style heading (eyebrow + title), matching [hk_chain]/[hk_rewax] */
:is(.woocommerce-cart,.woocommerce-checkout) .hk-page-intro{ margin:0 0 24px; }
.woocommerce-cart .hk-page-intro{ flex:0 0 100%; width:100%; order:0; }
:is(.woocommerce-cart,.woocommerce-checkout) .hk-page-intro .hk-eyebrow{
  font-family:'Aleo',Georgia,serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.14em; font-size:13px; color:var(--hk-amber); margin:0 0 12px;
}
:is(.woocommerce-cart,.woocommerce-checkout) .hk-page-intro h1{
  font-family:'Aleo',Georgia,serif; font-size:clamp(28px,4.2vw,42px);
  font-weight:800; line-height:1.06; letter-spacing:-.01em; margin:0; color:var(--hk-ink);
}
.woocommerce-cart .woocommerce-cart-form{flex:0 0 62%;min-width:0;order:2;margin:0}
.woocommerce-cart .cart-collaterals{flex:0 0 calc(38% - 30px);order:2;position:sticky;top:20px;width:340px!important;float:none!important;margin:0 0 0 30px!important}
@media (max-width:880px){
  .woocommerce-cart .woocommerce{display:block}
  .woocommerce-cart .cart-collaterals{position:static;width:auto!important;margin-top:24px!important;margin-left:0!important;}
}

/* free-shipping progress bar (top of cart items column) */
.woocommerce-cart .hk-ship{
  background:var(--hk-card); border:1px solid var(--hk-line); border-radius:12px;
  padding:14px 16px; margin:0 0 20px;
}
.woocommerce-cart .hk-ship-msg{ font-size:13.5px; color:var(--hk-ink); margin:0 0 10px; line-height:1.45; }
.woocommerce-cart .hk-ship-msg b{ color:var(--hk-amber-d); font-weight:700; }
.woocommerce-cart .hk-ship-bar{ height:8px; background:var(--hk-card2); border-radius:5px; overflow:hidden; }
.woocommerce-cart .hk-ship-bar span{
  display:block; height:100%; min-width:6px; background:var(--hk-amber);
  border-radius:5px; transition:width .35s ease;
}

/* checkout: two columns — left = billing/details, right = sticky order summary.
   Same principle as the cart. Every direct child of the form defaults to full
   width; the three known blocks are pulled into columns. The columns start at
   row 5 so any full-width express-payment button + "OR" separator that
   WooCommerce prints inside the form stays on top, and empty rows collapse. */
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  column-gap:30px;
  align-items:start;
}
.woocommerce-checkout form.checkout > *{ grid-column:1 / -1; }
.woocommerce-checkout #customer_details{ grid-column:1; grid-row:5 / span 2; }
/* stack the billing (.col-1) and additional/notes (.col-2) sub-columns full width */
.woocommerce-checkout #customer_details.col2-set{ display:block; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  float:none; width:100%; max-width:100%; margin:0;
}
.woocommerce-checkout #customer_details .col-2{ margin-top:24px; }

/* compact billing/shipping fields: two-column grid instead of one tall stack.
   Name -> two cols, address lines full width, postcode|city and phone|email pair up. */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid; grid-template-columns:1fr 1fr; gap:0 20px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row{
  width:auto !important; float:none !important; margin:0 0 16px !important; padding:0;
}
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #shipping_company_field{
  grid-column:1 / -1;
}
.woocommerce-checkout .form-row .select2-container{ width:100% !important; }
@media (max-width:560px){
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{ grid-template-columns:1fr; }
}
.woocommerce-checkout #order_review_heading{ grid-column:2; grid-row:5; margin-top:0; }
.woocommerce-checkout #order_review{
  grid-column:2; grid-row:6; align-self:start; position:sticky; top:20px;
}
@media (max-width:880px){
  .woocommerce-checkout form.checkout{ display:block; }
  .woocommerce-checkout #order_review{ position:static; }
}

/* --- compact checkout order summary ("Tvoje naročilo") ------------------ */
/* Summary table becomes a self-contained card with tight rows. */
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table{
  display:block; margin:0; overflow:hidden;
  background:var(--hk-card); border:1px solid var(--hk-line); border-radius:14px;
  padding:6px 16px 14px;
  margin-bottom: 20px;
}
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot{ display:block; }
.woocommerce-checkout #order_review thead{ display:none; }

/* line items: quantity pill + name on one line, price right, meta muted below */
.woocommerce-checkout #order_review tbody tr.cart_item{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 0; border-top:1px solid var(--hk-line);
}
.woocommerce-checkout #order_review tbody tr.cart_item:first-child{ border-top:0; }
.woocommerce-checkout #order_review tbody td{ border:0; padding:0; background:transparent; }
.woocommerce-checkout #order_review td.product-name{
  flex:1; min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:3px 8px;
  font-size:0; /* collapses the stray &nbsp; the WooCommerce template adds; children set their own size */
}
.woocommerce-checkout #order_review td.product-total{
  flex:0 0 auto; text-align:right; white-space:nowrap; font-size:13.5px; color:var(--hk-ink);
}
.woocommerce-checkout #order_review .hk-oi-qty{
  order:-1; display:inline-flex; align-items:center; justify-content:center;
  min-width:26px; height:23px; padding:0 7px; border-radius:7px;
  background:var(--hk-card2); color:var(--hk-amber-d);
  font-size:12px; font-weight:600; line-height:1;
}
.woocommerce-checkout #order_review .hk-oi-name{
  order:0; flex:1 1 auto; min-width:0; max-width: 190px !important;
  font-size:13.5px; font-weight:600; line-height:1.3; color:var(--hk-ink);
}
.woocommerce-checkout #payment div.form-row {
  padding-top: 0;
}
.woocommerce-checkout #order_review td.product-name dl.variation{
  order:1; flex-basis:100%; display:block; margin:2px 0 0 36px !important;
  font-size:11.5px; line-height:1.5; color:var(--hk-muted);
}
.woocommerce-checkout #order_review dl.variation dt{ display:none; }
.woocommerce-checkout #order_review dl.variation dd{
  display:inline; margin:0; color:var(--hk-muted);
}
.woocommerce-checkout #order_review dl.variation dd::after{ content:"\00a0·\00a0"; color:var(--hk-amber-d); }
.woocommerce-checkout #order_review dl.variation dd:last-child::after{ content:""; }
.woocommerce-checkout #order_review dl.variation dd p{ display:inline; margin:0; }

/* totals block */
.woocommerce-checkout #order_review tfoot tr{
  display:flex; justify-content:space-between; align-items:baseline;
}
.woocommerce-checkout #order_review tfoot th{
  font-family:'Merriweather Sans',sans-serif; font-weight:400; font-size:12.5px;
  color:var(--hk-muted); background:transparent; padding:0; border:0; text-transform:none;
}
.woocommerce-checkout #order_review tfoot td{
  padding:0; border:0; background:transparent; text-align:right;
  font-size:13px; color:var(--hk-ink);
}
.woocommerce-checkout #order_review tfoot tr.cart-subtotal{
  border-top:1px solid var(--hk-line); padding-top:14px; margin-top:2px;
}
.woocommerce-checkout #order_review tfoot tr.cart-subtotal th,
.woocommerce-checkout #order_review tfoot tr.cart-subtotal td{ padding-bottom:8px; }

/* shipping choices: label above, compact selectable rows below */
.woocommerce-checkout #order_review tfoot tr.woocommerce-shipping-totals{
  display:block; padding:4px 0 2px;
}
.woocommerce-checkout #order_review tfoot tr.woocommerce-shipping-totals th{
  display:block; padding:0 0 8px; font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--hk-muted);
}
.woocommerce-checkout #order_review tfoot tr.woocommerce-shipping-totals td{
  display:block; text-align:left;
}
.woocommerce-checkout #order_review #shipping_method{ margin:0; padding:0; list-style:none; }
.woocommerce-checkout #order_review #shipping_method li{
  display:flex; align-items:center; gap:10px; margin:0 0 8px; padding:9px 11px;
  border:1px solid var(--hk-line); border-radius:9px;
}
.woocommerce-checkout #order_review #shipping_method li:last-child{ margin-bottom:0; }
.woocommerce-checkout #order_review #shipping_method li:has(input:checked){
  border-color:var(--hk-amber); background:var(--hk-card2);
}
.woocommerce-checkout #order_review #shipping_method li input{ margin:0; flex:0 0 auto; }
.woocommerce-checkout #order_review #shipping_method li label{
  flex:1; min-width:0; margin:0; color:var(--hk-ink);
  display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px;
}
.woocommerce-checkout #order_review .hk-sm-t{
  order:1; flex:1 1 auto; font-size:13px; font-weight:600; color:var(--hk-ink);
}
.woocommerce-checkout #order_review .hk-sm-p{
  order:2; margin-left:auto; font-size:12px; font-weight:600; color:var(--hk-amber-d); white-space:nowrap;
}
.woocommerce-checkout #order_review .hk-sm-s{
  order:3; flex-basis:100%; font-size:11px; font-weight:400; color:var(--hk-muted); line-height:1.3;
}

/* grand total, emphasised in amber */
.woocommerce-checkout #order_review tfoot tr.order-total{
  border-top:1px solid var(--hk-line); padding-top:14px; margin-top:4px; align-items:baseline;
}
.woocommerce-checkout #order_review tfoot tr.order-total th{
  font-family:'Aleo',serif; font-weight:700; font-size:16px; color:var(--hk-ink);
}
.woocommerce-checkout #order_review tfoot tr.order-total td,
.woocommerce-checkout #order_review tfoot tr.order-total td .amount{
  font-family:'Aleo',serif; font-weight:800; font-size:22px; color:var(--hk-amber-d);
}
.woocommerce-checkout #order_review tfoot tr.order-total small{
  font-family:'Merriweather Sans',sans-serif; font-weight:400; font-size:11px; color:var(--hk-muted);
}
.woocommerce form .form-row .country_to_state--single {
  width: 100%;
}
/* place-order button: full-width amber CTA (carries the total via PHP filter) */
.woocommerce-checkout #order_review #place_order{
  width:100%; float:none; margin:6px 0 0; box-shadow:none; text-shadow:none;
  background:var(--hk-amber); color:var(--hk-on-amber); border:0; border-radius:10px;
  padding:15px 16px; font-family:'Aleo',serif; font-weight:700; font-size:15.5px; cursor:pointer;
}
.woocommerce-checkout #order_review #place_order:hover{ background:var(--hk-amber-d); }
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce h1,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce h2,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce h3,
:is(.woocommerce-cart,.woocommerce-checkout) #order_review_heading{
  font-family:'Aleo',Georgia,serif; color:var(--hk-ink); font-weight:700;
}
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce a{ color:var(--hk-amber-d); }
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce a:hover{ color:var(--hk-amber); }

/* --- tables (cart, totals, order review) -------------------------------- */
:is(.woocommerce-cart,.woocommerce-checkout) table.shop_table{
  border:1px solid var(--hk-line); border-radius:12px; border-collapse:separate;
  border-spacing:0; background:transparent; overflow:hidden;
}
:is(.woocommerce-cart,.woocommerce-checkout) table.shop_table th{
  font-family:'Aleo',serif; font-weight:700; color:var(--hk-ink);
  background:var(--hk-card2); padding:14px; border:0;
}
:is(.woocommerce-cart,.woocommerce-checkout) table.shop_table td{
  padding:14px; border-top:1px solid var(--hk-line); color:var(--hk-ink);
  background:transparent;
}
:is(.woocommerce-cart,.woocommerce-checkout) table.shop_table td.product-name a{ font-weight:600; }
/* product thumbnails are hidden on cart & checkout (covers th + td) */
:is(.woocommerce-cart,.woocommerce-checkout) .product-thumbnail{ display:none!important; }

/* variation / item meta under the product name: compact, two-column label -> value */
:is(.woocommerce-cart,.woocommerce-checkout) dl.variation{
  display:grid; grid-template-columns:auto 1fr; gap:3px 8px;
  margin:8px 0 0; font-size:12px; line-height:1.45;
}
:is(.woocommerce-cart,.woocommerce-checkout) dl.variation dt{
  margin:0; padding:0; float:none; font-weight:600; color:var(--hk-steel); text-align: left;
}
:is(.woocommerce-cart,.woocommerce-checkout) dl.variation dd{
  margin:0; padding:0; color:var(--hk-ink);
}
:is(.woocommerce-cart,.woocommerce-checkout) dl.variation dd p{ margin:0; }
/* locked / plain quantity coming from the configurator items */
:is(.woocommerce-cart,.woocommerce-checkout) .hk-locked-qty{
  display:inline-block; min-width:28px; text-align:center; font-weight:600; color:var(--hk-ink);
}
/* checkout: service-start consent box (shown for "Ponovno voskanje") */
.woocommerce-checkout p.hk-consent{
  display:block; margin:0 0 14px; padding:12px 14px;
  background:var(--hk-card2); border:1px solid var(--hk-line); border-radius:9px;
}
.woocommerce-checkout p.hk-consent label{
  display:flex; align-items:flex-start; gap:10px; margin:0; cursor:pointer;
  font-size:12.5px; font-weight:300; line-height:1.45; color:var(--hk-muted);
}
.woocommerce-checkout p.hk-consent input[type=checkbox]{
  flex:0 0 auto; width:16px; height:16px; margin:0 8px 0 0;
}
.woocommerce-checkout p.hk-consent .required{ color:var(--wc-red); border:0; }

/* checkout: Brevo newsletter opt-in (#ws_opt_in_field). Brevo borrows Woo's
   .terms class, so it otherwise inherits our bold 13.5px label rule and Woo's
   inline checkbox layout. Styled to match the terms line: light, muted, its
   own row with an aligned checkbox. ID selector so it beats both. */
.woocommerce-checkout #ws_opt_in_field{
  display:flow-root; float:none; clear:both; position:static; height:auto;
  margin:0 0 14px; padding:0; background:none; border:0;
}
/* The row was collapsing (something inside it floats), so the next box —
   the delivery note, then the "Soglašam" consent box — started BEHIND it.
   Contain everything inside the row, and force whatever follows below it. */
.woocommerce-checkout #ws_opt_in_field *{ float:none !important; position:static !important; }
.woocommerce-checkout #ws_opt_in_field + *{ clear:both; }
.woocommerce-checkout #ws_opt_in_field label.checkbox{
  display:flex; align-items:flex-start; gap:10px; margin:0; cursor:pointer;
  font-size:12.5px; font-weight:300; line-height:1.45; color:var(--hk-muted);
}
.woocommerce-checkout #ws_opt_in_field input[type=checkbox]{
  flex:0 0 auto; margin:1px 0 0 0;
}

/* editable quantity stepper (e.g. Ponovno voskanje in the cart). The .qty input
   carries WooCommerce's .input-text class, so override that field styling and
   lay the wrapper out as a single bordered minus | value | plus control. */
.woocommerce-cart .cart_item .quantity{
  display:inline-flex; align-items:stretch; height:40px;
  border:1px solid var(--hk-line); border-radius:9px; overflow:hidden;
  background:var(--hk-field);
}
.woocommerce-cart .cart_item .quantity .qty{
  width:46px; height:100%; margin:0; padding:0 !important; text-align:center;
  border:0 !important; border-radius:0 !important; background:transparent !important;
  color:var(--hk-ink) !important; font-size:15px; font-weight:600;
  box-shadow:none !important; -moz-appearance:textfield; appearance:textfield;
}
.woocommerce-cart .cart_item .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart .cart_item .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}
.woocommerce-cart .cart_item .quantity .plus,
.woocommerce-cart .cart_item .quantity .minus{
  width:36px; height:100%; margin:0; padding:0; border:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--hk-card2); color:var(--hk-ink);
  font-size:17px; font-weight:600; line-height:1; cursor:pointer;
  text-decoration:none; border-radius:0 !important;
  box-shadow:none !important; appearance:none; -webkit-appearance:none;
}
.woocommerce-cart .cart_item .quantity .plus:hover,
.woocommerce-cart .cart_item .quantity .minus:hover{
  background:var(--hk-line); color:var(--hk-amber-d);
}
.woocommerce-cart .cart_item .quantity .minus{ order:-1; border-right:1px solid var(--hk-line); }
.woocommerce-cart .cart_item .quantity .plus{ border-left:1px solid var(--hk-line); }
/* remove (×) link */
:is(.woocommerce-cart,.woocommerce-checkout) a.remove{
  color:var(--hk-muted)!important; font-size:20px; line-height:1; border-radius:50%;
}
:is(.woocommerce-cart,.woocommerce-checkout) a.remove:hover{
  color:var(--hk-amber)!important; background:transparent!important;
}

/* --- cart totals box ---------------------------------------------------- */
.woocommerce-cart .cart_totals{
  background:var(--hk-card); border:1px solid var(--hk-line); border-radius:13px;
  padding:22px 24px; box-shadow:0 6px 22px rgba(0,0,0,.4);
  width: 100% !important;
}
.woocommerce-cart .cart_totals h2{ font-size:24px; margin:0 0 14px; }
.woocommerce-cart .cart_totals table.shop_table{ border:0; border-radius:0; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  background:transparent; border-top:1px solid var(--hk-line); padding:13px 0; color:var(--hk-ink);
}
.woocommerce-cart .cart_totals .order-total .amount{ color:var(--hk-amber-d); font-weight:700; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-button{ color:var(--hk-muted); }

/* --- shipping method choices ------------------------------------------- */
#add_payment_method #payment ul.payment_methods li input, .woocommerce-cart #payment ul.payment_methods li input, .woocommerce-checkout #payment ul.payment_methods li input {
  margin-right: 8px;
}
:is(.woocommerce-cart,.woocommerce-checkout) input[type=radio],
:is(.woocommerce-cart,.woocommerce-checkout) input[type=checkbox]{ accent-color:var(--hk-amber); }
:is(.woocommerce-cart,.woocommerce-checkout) ul#shipping_method,
:is(.woocommerce-cart,.woocommerce-checkout) #shipping_method li{ list-style:none; margin:0; }
:is(.woocommerce-cart,.woocommerce-checkout) #shipping_method li label{ color:var(--hk-ink); }

.woocommerce form .form-row .woocommerce-terms-and-conditions-wrapper label.checkbox, 
.woocommerce-page form .form-row .woocommerce-terms-and-conditions-wrapper label.checkbox {
  line-height: 1.4;
  font-size: 12.5px;
  margin-left: -3px;
}

/* --- form fields -------------------------------------------------------- */
.woocommerce-terms-and-conditions-checkbox-text {
  font-weight: 300 !important;
}
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce label{
  color:var(--hk-muted); font-size:13.5px; font-weight:600;
}
:is(.woocommerce-cart,.woocommerce-checkout) input.input-text,
:is(.woocommerce-cart,.woocommerce-checkout) textarea,
:is(.woocommerce-cart,.woocommerce-checkout) select,
:is(.woocommerce-cart,.woocommerce-checkout) #coupon_code{
  background:var(--hk-field)!important; color:var(--hk-ink)!important;
  border:1px solid var(--hk-line)!important; border-radius:8px!important;
  padding:12px 13px!important; font-family:'Merriweather Sans',sans-serif; font-size:15px;
  box-shadow:none!important;
}
:is(.woocommerce-cart,.woocommerce-checkout) input.input-text::placeholder,
:is(.woocommerce-cart,.woocommerce-checkout) textarea::placeholder{ color:var(--hk-muted); }
:is(.woocommerce-cart,.woocommerce-checkout) input.input-text:focus,
:is(.woocommerce-cart,.woocommerce-checkout) textarea:focus,
:is(.woocommerce-cart,.woocommerce-checkout) select:focus{
  outline:2px solid var(--hk-amber); outline-offset:1px; border-color:transparent!important;
}
:is(.woocommerce-cart,.woocommerce-checkout) .required{ color:var(--hk-amber); border:0; }

/* select2 (country picker) */
body.woocommerce-checkout .select2-container--default .select2-selection--single{
  background:var(--hk-field); border:1px solid var(--hk-line); border-radius:8px; height:46px;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--hk-ink); line-height:46px; padding-left:13px;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:44px; }
body.woocommerce-checkout .select2-dropdown{ background:var(--hk-card2); border:1px solid var(--hk-line); color:var(--hk-ink); }
body.woocommerce-checkout .select2-search--dropdown .select2-search__field{ background:var(--hk-field); color:var(--hk-ink); border:1px solid var(--hk-line); }
body.woocommerce-checkout .select2-results__option--highlighted[aria-selected]{ background:var(--hk-amber)!important; color:var(--hk-on-amber)!important; }

/* --- buttons ------------------------------------------------------------ */
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce .button,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce button.button,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce input.button,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce a.button{
  background:var(--hk-card2)!important; color:var(--hk-ink)!important;
  border:1px solid var(--hk-line)!important; border-radius:9px!important;
  font-family:'Aleo',serif!important; font-weight:700!important; padding:12px 20px!important;
  text-transform:none!important; transition:background .15s,border-color .15s;
}
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce .button:hover{ border-color:var(--hk-amber)!important; }
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce .button[disabled],
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce .button:disabled{ opacity:.45; cursor:not-allowed; }

/* "Update cart" is redundant — configured item quantities are locked, so it can
   never do anything. Hide it; removing items still works via the × link. */
.woocommerce-cart .actions button[name="update_cart"],
.woocommerce-cart .actions input[name="update_cart"]{ display:none!important; }

/* coupon row: wider input, matched to the apply button height */
.woocommerce-cart .actions .coupon{
  display:flex; align-items:stretch; gap:10px; float:none; width:100%; max-width:440px;
}
.woocommerce-cart .actions .coupon #coupon_code{ flex:1 1 auto; min-width:0; margin:0; }
.woocommerce-cart .actions .coupon .button{ flex:0 0 auto; margin:0; white-space:nowrap; }

/* primary actions: proceed to checkout + place order */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order{
  background:var(--hk-amber)!important; color:var(--hk-on-amber)!important; border:0!important;
  width:100%; font-size:16px!important; padding:15px!important; border-radius:10px!important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover{ background:var(--hk-amber-d)!important; }

/* --- notices / info bars ------------------------------------------------ */
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce-info,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce-message,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce-error{
  background:var(--hk-card2)!important; color:var(--hk-ink)!important;
  border:3px solid var(--hk-amber)!important; border-radius:8px!important;
}
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce-info::before,
:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce-message::before{ color:var(--hk-amber)!important; }

/* --- checkout layout + payment box ------------------------------------- */
.woocommerce-checkout #customer_details h3 {
  margin-top: 0;
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading{ font-size:19px; margin-bottom:14px; }
.woocommerce-checkout #order_review{
  border-radius:13px;
}
.woocommerce-checkout #payment{
  background:var(--hk-card)!important; border:1px solid var(--hk-line); border-radius:11px;
}
.woocommerce-checkout #payment ul.payment_methods li label{ color:var(--hk-ink); line-height: 1em; }
.woocommerce-checkout #payment div.payment_box{
  background:var(--hk-line)!important; color:var(--hk-muted)!important; border-radius:8px; padding: 0; margin-bottom: 0;
}
.woocommerce-checkout #payment div.payment_box fieldset {
  border: 0;
  border-radius: 8px;
  margin-left: 0;
  background: #42403c;
}
.woocommerce-checkout #payment div.payment_box::before{ border-bottom-color:#42403c!important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ font-size: 12.5px; color:var(--hk-muted); }

/* --- lead-time: cart timeline + checkout note --------------------------- */
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt{
  margin:18px 0; background:var(--hk-card); border:1px solid var(--hk-line);
  border-radius:12px; padding:16px 18px;
}
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-head{
  display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px; margin-bottom:14px;
}
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-title{ font-family:'Aleo',serif; font-weight:700; font-size:15px; color:var(--hk-ink); }
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-total{ font-family:'Aleo',serif; font-weight:700; font-size:12.5px; color:var(--hk-amber-d); }
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-steps{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-step{ display:flex; gap:10px; align-items:flex-start; }
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-num{
  flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:var(--hk-card2);
  border:1.5px solid var(--hk-amber); color:var(--hk-amber-d); font-family:'Aleo',serif;
  font-weight:700; font-size:12px; display:flex; align-items:center; justify-content:center;
}
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-step b{ display:block; font-family:'Aleo',serif; font-weight:700; font-size:13px; color:var(--hk-ink); }
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-step span{ font-size:11.5px; color:var(--hk-steel); }
:is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-note{
  margin:14px 0 0; font-size:12.5px; color:var(--hk-muted); line-height:1.5;
}
@media (max-width:600px){ :is(.woocommerce-cart,.woocommerce-checkout) .hk-lt-steps{ grid-template-columns:1fr; } }

/* --- cart wax upsell (.hk-up) — compact ---------------------------------- */
.woocommerce-cart .hk-up{position:relative;margin:20px 0;background:var(--hk-card);border:1px solid var(--hk-line);border-radius:12px;padding:15px 16px 16px;overflow:hidden;font-family:'Merriweather Sans',sans-serif}
.woocommerce-cart .hk-up-hdr{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.woocommerce-cart .hk-up-hdr h3{font-family:'Aleo',serif;font-weight:700;font-size:15px;margin:0;color:var(--hk-ink)}
.woocommerce-cart .hk-up-pill{font-family:'Aleo',serif;font-weight:700;font-size:10.5px;color:#16120c;background:var(--hk-amber);border-radius:999px;padding:2px 9px;letter-spacing:.03em}
.woocommerce-cart .hk-up-sub{flex:1 1 100%;font-size:12px;color:var(--hk-muted);margin-top:3px}
.woocommerce-cart .hk-up-ctrl{display:flex;align-items:center;gap:14px;margin-top:13px;flex-wrap:wrap}
.woocommerce-cart .hk-up-qty{display:inline-flex;align-items:center;border:1px solid var(--hk-line);border-radius:8px;background:var(--hk-field);flex:0 0 auto}
.woocommerce-cart .hk-up-qty button{border:0;background:transparent;font-size:17px;width:34px;height:40px;color:var(--hk-amber-d);font-family:'Aleo',serif;cursor:pointer}
.woocommerce-cart .hk-up-qty span{min-width:30px;text-align:center;font-family:'Aleo',serif;font-weight:700;font-size:15px;color:var(--hk-ink)}
.woocommerce-cart .hk-up-price{flex:1 1 auto;white-space:nowrap}
.woocommerce-cart .hk-up-price s{color:var(--hk-steel);font-size:13px;margin-right:5px}
.woocommerce-cart .hk-up-price b{font-family:'Aleo',serif;font-weight:800;font-size:18px;color:var(--hk-amber-d)}
.woocommerce-cart .hk-up-price span{font-size:11.5px;color:var(--hk-muted)}
.woocommerce-cart .hk-up-add{flex:0 0 auto;border:0;border-radius:9px;background:var(--hk-amber);color:#16120c;font-family:'Aleo',serif;font-weight:700;font-size:14px;padding:11px 18px;cursor:pointer}
.woocommerce-cart .hk-up-add:hover{background:var(--hk-amber-d)}
.woocommerce-cart .hk-up-add b{font-weight:800}
.woocommerce-cart .hk-up-hint{margin-top:11px;font-size:12px;color:var(--hk-amber-d);line-height:1.45}
.woocommerce-cart .hk-up-dim{color:var(--hk-steel)}
@media (max-width:560px){
  .woocommerce-cart .hk-up-ctrl{flex-direction:column;align-items:stretch}
  .woocommerce-cart .hk-up-price{text-align:left}
}

/* --- responsive --------------------------------------------------------- */
@media (max-width:768px){
  .woocommerce-checkout .col2-set #customer_details,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review{ width:100%!important; float:none!important; }
  .woocommerce-checkout #order_review{ margin-top:22px; }
  .woocommerce-cart .hk-up-qty {
    justify-content: center;
  }
}
@media (max-width:600px){
  :is(.woocommerce-cart,.woocommerce-checkout) table.shop_table thead{ display:none; }
  .woocommerce-cart table.shop_table tr{
    display:block; border:1px solid var(--hk-line); border-radius:10px; margin-bottom:12px; padding:6px 0;
  }
  .woocommerce-cart table.shop_table tr:not(.cart_item) {
    margin-bottom: 0;
    border: 0;
  }
  .woocommerce-cart table.shop_table td{
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    border:0; padding:8px 14px; text-align:right;
  }
  .woocommerce-cart table.shop_table td::before{
    content:attr(data-title); font-weight:600; color:var(--hk-muted); text-align:left;
  }
  .woocommerce-cart table.shop_table td.product-remove::before,
  .woocommerce-cart table.shop_table td.product-thumbnail::before{ content:""; }
  .woocommerce-cart table.shop_table td.product-thumbnail{ justify-content:flex-start; }
}

@media (max-width:768px){
  .woocommerce-cart .cart_item .product-remove{
    display:flex; justify-content:flex-end; align-items:center; text-align:right;
  }
  .woocommerce-cart .cart_item .product-remove::before{ content:none !important; }
  .woocommerce-cart .cart_item .product-remove a.remove{ font-size:0; float:none; margin:0;  height: 16px; width: 12px; }
  .woocommerce-cart .cart_item .product-remove a.remove::after{
    content:"×"; font-size:20px; font-weight:600; color:#f0ad44;
    font-family:'Merriweather Sans',sans-serif; letter-spacing:0;
  }
  .woocommerce-cart .cart_item .product-remove a.remove:hover::after{ color:var(--hk-amber); }
}
