/* =============================================================================
   KIDDOS RENTALS — COASTAL-TEAL CONSOLIDATED STYLESHEET
   Cart drawer ("Your Trip") + WooCommerce checkout + shop/product alignment.
   ALL values reference theme :root tokens (--teal, --coral, etc.). Fallback
   :root block included so it also renders on the dev/Storefront stack.
   Enqueue this AFTER WooCommerce's own styles so selectors win on specificity.
   z-index scale: launcher 8000, backdrop 9000, drawer 9001.
   ============================================================================= */
:root{
  --mint:#A5E8D3; --teal:#0E8A72; --teal-deep:#0B6E5B; --teal-ink:#0A5446;
  --deep-sea:#0A3F52; --coral:#F97316; --coral-dark:#C44D0A;
  --sand:#ECEAE3; --mist:#F0FDFA; --ink:#0F172A; --muted:#475569;
  --white:#FFFFFF; --border:#D1E8E3;
  --r-card:16px; --r-btn:12px; --r-pill:999px;
  --font-head:'Fredoka',sans-serif; --font-body:'Nunito',sans-serif;
  --shadow-sm:0 1px 4px rgba(10,84,70,.08);
  --shadow-md:0 4px 20px rgba(10,84,70,.12);
  --shadow-lg:0 8px 40px rgba(10,84,70,.15);
  --transition:200ms ease;
}

/* ===========================================================================
   0) SHARED PRIMITIVES — used by drawer, checkout AND shop/product
   =========================================================================== */
.kt-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* -- Buttons: the ONLY two CTAs in the whole funnel -- */
.btn-coral{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;font-family:var(--font-head);font-size:1rem;font-weight:600;color:var(--white);background:var(--coral);border:none;border-radius:var(--r-pill);text-decoration:none;cursor:pointer;transition:background var(--transition),transform var(--transition);}
.btn-coral:hover{background:var(--coral-dark);transform:translateY(-1px);}
.btn-coral:focus-visible{outline:3px solid var(--coral-dark);outline-offset:3px;}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 18px;font-family:var(--font-head);font-size:1rem;font-weight:600;color:var(--teal-deep);background:var(--white);border:1.5px solid var(--teal);border-radius:var(--r-pill);text-decoration:none;cursor:pointer;transition:background var(--transition),color var(--transition);}
.btn-ghost:hover{background:var(--mist);}
.btn-ghost:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}

/* -- Shared date-range primitive: shop hero == PDP booking == drawer edit target -- */
.kre-daterange{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;}
.kre-daterange .kre-field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:150px;}
.kre-daterange .kre-field label{font-family:var(--font-head);font-weight:600;font-size:.8rem;color:var(--teal-ink);display:inline-flex;align-items:center;gap:6px;}
.kre-daterange .kre-field input,.kre-daterange .kre-field select{font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-btn);padding:11px 14px;width:100%;min-height:46px;transition:border-color var(--transition),box-shadow var(--transition);}
.kre-daterange .kre-field input:focus-visible,.kre-daterange .kre-field select:focus-visible{outline:3px solid var(--mint);outline-offset:1px;border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);}
/* Arrow sits at the bottom edge (like the inputs) and centres on the input row —
   NOT on the label+input block, which floated it too high before. */
.kre-daterange .kre-arrow{align-self:flex-end;display:flex;align-items:center;justify-content:center;min-height:46px;color:var(--teal);font-size:1.4rem;font-weight:700;flex:none;padding:0;}
.kre-quote{display:flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--font-body);font-size:.9rem;color:var(--teal-deep);}
.kre-quote .kre-quote-days{font-weight:700;color:var(--teal-ink);}
.kre-quote.is-nudge{color:var(--coral-dark);}
.kre-quote.is-empty{color:var(--muted);}

/* -- Shared availability pill: ONE element + state class everywhere -- */
.in-stock-pill,.kre-avail-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:700;font-size:.78rem;line-height:1;padding:6px 12px;border-radius:var(--r-pill);white-space:nowrap;}
.in-stock-pill .pill-dot,.kre-avail-pill .pill-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;}
.in-stock-pill.is-available,.kre-avail-pill.is-available{background:var(--mint);color:var(--teal-ink);}            /* no dates yet */
.in-stock-pill.is-instock,.kre-avail-pill.is-instock{background:#EAF3DE;color:#27500A;}                          /* dates set, plenty */
.in-stock-pill.is-low,.kre-avail-pill.is-low{background:#FAEEDA;color:#854F0B;}                                  /* low — amber, not red */
.in-stock-pill.is-booked,.kre-avail-pill.is-booked{background:var(--sand);color:var(--muted);}                  /* booked — calm grey */
.in-stock-pill.is-checking,.kre-avail-pill.is-checking{background:var(--sand);color:var(--muted);}              /* mid-AJAX */
.in-stock-pill.is-checking .pill-icon{animation:kre-spin 800ms linear infinite;}
@keyframes kre-spin{to{transform:rotate(360deg);}}

/* ===========================================================================
   1) SHOP / ARCHIVE GRID — restyle WC <li.product> AS .product-card (KEEP look)
   =========================================================================== */
.woocommerce,.woocommerce-page{font-family:var(--font-body);color:var(--ink);}
.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce-page h1,.woocommerce-page h2,.woocommerce-page h3{font-family:var(--font-head);color:var(--teal-ink);letter-spacing:.2px;}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:.9rem;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--border);border-radius:var(--r-btn);padding:8px 12px;font-family:var(--font-body);color:var(--ink);background:var(--white);}

.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin:0;padding:0;list-style:none;}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none;}
.woocommerce ul.products li.product,.product-card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm);overflow:hidden;margin:0;width:auto;transition:transform var(--transition),box-shadow var(--transition);}
.woocommerce ul.products li.product:hover,.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.woocommerce ul.products li.product>a img,.product-card .product-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin:0;border-radius:0;}
.woocommerce ul.products li.product .product-img,.product-card .product-img{position:relative;background:var(--mist);}
/* availability pill anchored top-left over the image (states from §0) */
.woocommerce ul.products li.product .in-stock-pill,.product-card .in-stock-pill{position:absolute;top:12px;left:12px;z-index:2;box-shadow:var(--shadow-sm);}
.woocommerce ul.products li.product .product-body,.product-card .product-body{display:flex;flex-direction:column;gap:6px;padding:16px;flex:1;}
.product-card .product-meta{display:flex;flex-direction:column;gap:4px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.product-card .product-name a,.product-card .product-name{font-family:var(--font-head);font-weight:600;font-size:1.05rem;line-height:1.25;color:var(--teal-ink);text-decoration:none;padding:0;margin:0;}
.product-card .product-name a:hover{color:var(--teal);}
.product-card .product-area{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;color:var(--muted);}
.product-card .product-area svg,.product-card .product-area .pin{width:14px;height:14px;flex:none;color:var(--teal);}
.woocommerce ul.products li.product .price,.product-card .product-price{font-family:var(--font-head);font-weight:700;font-size:1.15rem;color:var(--teal-deep);margin:2px 0 0;}
.woocommerce ul.products li.product .price .woocommerce-Price-amount,.product-card .product-price .amount{color:var(--teal-deep);}
.product-card .product-price .per,.woocommerce ul.products li.product .price .per{font-family:var(--font-body);font-weight:600;font-size:.85rem;color:var(--muted);}
.product-card .product-minimum,.kre-min-note{font-size:.78rem;color:var(--muted);display:inline-flex;align-items:center;gap:5px;}
.product-card .product-minimum::before{content:"·";color:var(--mint);font-weight:700;}
.woocommerce ul.products li.product a.button,.product-card .btn-coral{margin-top:auto;align-self:stretch;text-align:center;background:var(--coral);color:var(--white);font-family:var(--font-head);font-weight:600;border-radius:var(--r-btn);padding:11px 16px;border:none;min-height:auto;transition:background var(--transition),transform var(--transition);}
.woocommerce ul.products li.product a.button:hover,.product-card .btn-coral:hover{background:var(--coral-dark);transform:translateY(-1px);}
.product-card.is-unavailable{opacity:.92;}
.product-card.is-unavailable .btn-coral,.product-card.is-unavailable a.button{background:var(--sand);color:var(--muted);pointer-events:none;}

/* category filter chips (keep) */
.kre-cat-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:0;list-style:none;}
.kre-cat-chips .chip,.kre-cat-chips a{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:600;font-size:.88rem;color:var(--teal-deep);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-pill);padding:8px 16px;text-decoration:none;cursor:pointer;transition:all var(--transition);}
.kre-cat-chips .chip:hover,.kre-cat-chips a:hover{border-color:var(--teal);background:var(--mist);}
.kre-cat-chips .chip.is-active,.kre-cat-chips a.is-active,.kre-cat-chips .chip[aria-current="true"]{background:var(--teal);border-color:var(--teal);color:var(--white);}
.kre-cat-chips .chip.is-active:hover{background:var(--teal-deep);border-color:var(--teal-deep);}

/* ===========================================================================
   2) SHOP HERO date picker — wraps the §0 .kre-daterange primitive
   =========================================================================== */
.kre-shop-hero{background:var(--mist);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:28px 28px 24px;margin:0 0 28px;}
.kre-shop-hero .kre-hero-head{font-family:var(--font-head);font-weight:600;font-size:1.25rem;color:var(--teal-ink);margin:0 0 4px;}
.kre-shop-hero .kre-hero-sub{font-size:.92rem;color:var(--muted);margin:0 0 18px;}
.kre-shop-hero .kre-daterange{gap:14px;}
.kre-shop-hero .kre-apply{background:var(--coral);color:var(--white);font-family:var(--font-head);font-weight:600;border:none;border-radius:var(--r-btn);padding:11px 22px;align-self:flex-end;white-space:nowrap;transition:background var(--transition),transform var(--transition);}
.kre-shop-hero .kre-apply:hover{background:var(--coral-dark);transform:translateY(-1px);}

/* ===========================================================================
   3) SINGLE PRODUCT — harmonize; .kre-booking reuses §0 .kre-daterange
   =========================================================================== */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:40px;align-items:start;}
@media (max-width:768px){.single-product div.product{grid-template-columns:1fr;gap:24px;}}
.single-product .woocommerce-product-gallery{border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-sm);}
.single-product .woocommerce-product-gallery img{border-radius:var(--r-card);}
.single-product .flex-control-thumbs li img{border-radius:10px;border:1.5px solid transparent;}
.single-product .flex-control-thumbs li img.flex-active{border-color:var(--teal);}
.single-product .product_title{font-family:var(--font-head);font-weight:600;font-size:1.8rem;color:var(--teal-ink);margin:0 0 8px;}
.single-product .product-area{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem;margin-bottom:14px;}
.single-product .product-area svg{width:16px;height:16px;color:var(--teal);}
.single-product div.product p.price,.single-product div.product span.price{font-family:var(--font-head);font-weight:700;font-size:1.5rem;color:var(--teal-deep);}
.single-product div.product p.price .per{font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--muted);}
.single-product .woocommerce-product-details__short-description{color:var(--ink);line-height:1.6;}
.single-product .woocommerce-tabs ul.tabs{border:none;padding:0;display:flex;gap:8px;}
.single-product .woocommerce-tabs ul.tabs::before{border-color:var(--border);}
.single-product .woocommerce-tabs ul.tabs li{background:var(--mist);border:1px solid var(--border);border-radius:var(--r-btn) var(--r-btn) 0 0;}
.single-product .woocommerce-tabs ul.tabs li.active{background:var(--white);border-bottom-color:var(--white);}
.single-product .woocommerce-tabs ul.tabs li a{color:var(--teal-ink);font-family:var(--font-head);font-weight:600;}
/* .kre-booking — the native rental panel (the engine ships a neutral base; this is the coastal-teal skin) */
.single-product .kre-booking,.kre-booking{background:var(--mist);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:22px;margin:18px 0;}
.kre-booking .kre-booking-head{font-family:var(--font-head);font-weight:600;font-size:1.05rem;color:var(--teal-ink);margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.kre-booking .kre-daterange{margin-bottom:14px;}
.kre-booking .kre-booking-quote{display:flex;align-items:baseline;justify-content:space-between;padding:12px 0;border-top:1px dashed var(--border);}
.kre-booking .kre-booking-quote .label{color:var(--muted);font-size:.9rem;}
.kre-booking .kre-booking-quote .total{font-family:var(--font-head);font-weight:700;font-size:1.35rem;color:var(--teal-deep);}
.kre-booking .kre-booking-quote .total small{font-family:var(--font-body);font-weight:600;font-size:.8rem;color:var(--muted);}
.kre-booking .kre-avail-pill{position:static;box-shadow:none;margin-bottom:14px;}
.single-product div.product form.cart .button,.kre-booking .kre-add-to-trip{width:100%;background:var(--coral);color:var(--white);font-family:var(--font-head);font-weight:600;font-size:1.05rem;border:none;border-radius:var(--r-btn);padding:14px;transition:background var(--transition),transform var(--transition);}
.single-product div.product form.cart .button:hover,.kre-booking .kre-add-to-trip:hover{background:var(--coral-dark);transform:translateY(-1px);}
.single-product div.product form.cart .quantity input.qty{border:1.5px solid var(--border);border-radius:var(--r-btn);padding:12px;font-family:var(--font-body);color:var(--ink);width:70px;text-align:center;}
.kre-booking .kre-min-nudge{background:#FAEEDA;color:var(--coral-dark);border-radius:var(--r-btn);padding:10px 12px;font-size:.85rem;margin-bottom:14px;display:flex;align-items:center;gap:8px;}

/* ===========================================================================
   4) "YOUR TRIP" CART DRAWER
   =========================================================================== */
.kt-launcher{position:fixed;right:16px;bottom:16px;z-index:8000;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px 0 16px;font-family:var(--font-head);font-size:1rem;font-weight:600;color:var(--white);background:var(--teal);border:none;border-radius:var(--r-pill);box-shadow:var(--shadow-md);cursor:pointer;transition:background var(--transition),box-shadow var(--transition);}
.kt-launcher:hover{background:var(--teal-deep);box-shadow:var(--shadow-lg);}
.kt-launcher:focus-visible{outline:3px solid var(--coral-dark);outline-offset:3px;}
.kt-launcher__icon{display:inline-flex;}
.kt-launcher__label{line-height:1;}
.kt-launcher__badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-left:2px;font-family:var(--font-body);font-size:.8rem;font-weight:800;line-height:1;color:var(--teal-ink);background:var(--mint);border-radius:var(--r-pill);}
.kt-launcher.is-bumping{animation:kt-bump 360ms ease;}
@keyframes kt-bump{0%{transform:scale(1)}35%{transform:scale(1.08)}100%{transform:scale(1)}}

.kt-backdrop{position:fixed;inset:0;z-index:9000;background:rgba(10,63,82,.45);opacity:0;transition:opacity var(--transition);}
.kt-backdrop.is-open{opacity:1;}

.kt-drawer{position:fixed;top:0;right:0;z-index:9001;display:flex;flex-direction:column;width:100%;max-width:480px;height:100dvh;background:var(--white);box-shadow:var(--shadow-lg);font-family:var(--font-body);color:var(--ink);transform:translateX(100%);transition:transform 260ms ease;will-change:transform;}
.kt-drawer.is-open{transform:translateX(0);}
.kt-drawer:focus{outline:none;}
@media (min-width:768px){.kt-drawer{max-width:420px;}}

.kt-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;background:var(--teal);color:var(--white);flex:0 0 auto;}
.kt-drawer__title{margin:0;font-family:var(--font-head);font-size:1.35rem;font-weight:600;display:flex;align-items:baseline;gap:10px;}
.kt-drawer__count{font-family:var(--font-body);font-size:.85rem;font-weight:700;color:var(--mint);}
.kt-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;color:var(--white);background:transparent;border:none;border-radius:var(--r-btn);cursor:pointer;transition:background var(--transition);}
.kt-iconbtn:hover{background:rgba(255,255,255,.16);}
.kt-iconbtn:focus-visible{outline:3px solid var(--mint);outline-offset:2px;}

.kt-dates{padding:14px 16px;background:var(--mist);border-bottom:1px solid var(--border);flex:0 0 auto;}
.kt-dates__main{display:flex;align-items:flex-start;gap:12px;}
.kt-dates__icon{color:var(--teal);margin-top:2px;flex:0 0 auto;}
.kt-dates__body{flex:1 1 auto;min-width:0;}
.kt-dates__label{margin:0 0 2px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-deep);}
.kt-dates__range{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.92rem;color:var(--ink);}
.kt-dates__leg{display:flex;flex-direction:column;}
.kt-dates__legtag{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.kt-dates__leg time{font-weight:700;}
.kt-dates__arrow{color:var(--teal);font-weight:700;align-self:center;}
.kt-dates__nights{margin:4px 0 0;font-size:.8rem;font-weight:700;color:var(--teal-deep);}
.kt-dates__edit{flex:0 0 auto;align-self:center;min-height:36px;padding:0 12px;font-family:var(--font-body);font-size:.85rem;font-weight:800;color:var(--teal-deep);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-pill);cursor:pointer;transition:border-color var(--transition),color var(--transition);}
.kt-dates__edit:hover{border-color:var(--teal);color:var(--teal-ink);}
.kt-dates__edit:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}
/* Edit-dates editor: clean full-width panel below the dates row. */
.kt-dates__editor{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);}
.kt-dates__field{display:flex;flex-direction:column;gap:4px;flex:1 1 130px;min-width:0;}
.kt-dates__field label{font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--teal-deep);}
.kt-dates__field input[type="date"]{width:100%;box-sizing:border-box;padding:9px 10px;border:1.5px solid var(--border);border-radius:var(--r-btn);font-family:var(--font-body);font-size:.9rem;color:var(--ink);background:var(--white);min-height:42px;}
.kt-dates__field input[type="date"]:focus-visible{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);}
.kt-dates__apply{flex:0 0 auto;min-height:42px;padding:0 18px;font-size:.9rem;border:0;cursor:pointer;}
/* Cart-page "Edit dates" toggle + editor panel (reuses .kt-dates__editor styling). */
.kre-dates-toggle{display:inline-block;margin-top:6px;background:none;border:0;padding:0;font-family:var(--font-body);font-size:.8rem;font-weight:700;color:var(--teal-deep);text-decoration:underline;cursor:pointer;}
.kre-dates-toggle:hover{color:var(--coral-dark);}
.kre-cart-dates-editor{margin:10px 0 0;}
/* Low-stock urgency cue (inline in quote lines + cart qty area). */
.kre-low{color:#854F0B;font-weight:700;}
.kre-qty__cap{display:block;margin-top:4px;font-size:.75rem;font-weight:700;}
.kre-qty__cap--low{color:#854F0B;}
.kre-qty__cap--out{color:#b91c1c;}

.kt-drawer__body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 16px 16px;}
.kt-items{list-style:none;margin:0;padding:0;}
.kt-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);}
.kt-item:last-child{border-bottom:none;}
.kt-item__thumb{width:72px;height:72px;object-fit:cover;border-radius:12px;background:var(--sand);}
.kt-item__main{min-width:0;display:flex;flex-direction:column;gap:4px;}
.kt-item__name{font-family:var(--font-head);font-size:1rem;font-weight:600;line-height:1.25;color:var(--ink);text-decoration:none;}
.kt-item__name:hover{color:var(--teal-deep);text-decoration:underline;}
.kt-item__name:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px;}
/* per-item availability reuses §0 colour logic but as inline dot+word */
.kt-item__avail{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.8rem;font-weight:700;}
.kt-item__avail .kt-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
.kt-item__avail--ok{color:var(--teal-deep);}
.kt-item__avail--ok .kt-dot{background:var(--teal);}
.kt-item__avail--low{color:var(--coral-dark);}
.kt-item__avail--low .kt-dot{background:var(--coral);}
.kt-item__avail--out{color:var(--coral-dark);}
.kt-item__avail--out .kt-dot{background:var(--coral-dark);box-shadow:0 0 0 2px var(--white),0 0 0 3px var(--coral-dark);}
.kt-item__price{margin:2px 0 0;font-size:.82rem;color:var(--muted);}
.kt-item__rate{font-weight:800;color:var(--ink);}
.kt-item__calc{margin-left:4px;}
.kt-item__side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.kt-item__total{margin:0;font-family:var(--font-head);font-size:1.05rem;font-weight:600;color:var(--teal-ink);white-space:nowrap;}
.kt-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--r-pill);background:var(--white);overflow:hidden;}
.kt-stepper__btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--teal-deep);cursor:pointer;transition:background var(--transition);}
.kt-stepper__btn:hover:not(:disabled){background:var(--mist);}
.kt-stepper__btn:focus-visible{outline:2px solid var(--teal);outline-offset:-2px;}
.kt-stepper__btn:disabled{color:var(--border);cursor:not-allowed;}
.kt-stepper__val{min-width:30px;text-align:center;font-weight:800;font-size:.95rem;color:var(--ink);}
.kt-item__remove{padding:2px;font-size:.78rem;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition);}
.kt-item__remove:hover{color:var(--coral-dark);}
.kt-item__remove:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px;}
.kt-item.is-removing{opacity:.4;transition:opacity 180ms ease;}
.kt-note{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:10px 12px;border-radius:var(--r-btn);font-size:.85rem;font-weight:700;}
.kt-note--save{background:var(--mist);color:var(--teal-deep);}

.kt-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:32px 28px;}
.kt-empty__art{margin-bottom:4px;}
.kt-empty__title{margin:0;font-family:var(--font-head);font-size:1.3rem;font-weight:600;color:var(--ink);}
.kt-empty__text{margin:0;max-width:34ch;font-size:.95rem;line-height:1.55;color:var(--muted);}
.kt-empty__cta{margin-top:10px;}

.kt-foot{flex:0 0 auto;padding:14px 16px;border-top:1px solid var(--border);background:var(--white);box-shadow:0 -4px 20px rgba(10,84,70,.06);}
.kt-nudge{margin:0 0 12px;padding:12px;border-radius:var(--r-btn);background:var(--mist);border:1px solid var(--border);}
.kt-nudge__bar{height:8px;border-radius:var(--r-pill);background:var(--sand);overflow:hidden;margin-bottom:8px;}
.kt-nudge__fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--teal);transition:width 300ms ease;}
.kt-nudge__text{margin:0;font-size:.85rem;line-height:1.45;color:var(--teal-ink);}
.kt-nudge__text strong{color:var(--coral-dark);}
.kt-foot__row{display:flex;align-items:center;justify-content:space-between;padding:3px 0;font-size:.92rem;}
.kt-foot__row--info{color:var(--muted);}
.kt-foot__row--info .kt-foot__label{display:inline-flex;align-items:center;gap:6px;}
.kt-foot__row--sub{padding-top:6px;font-size:1.05rem;}
.kt-foot__row--sub .kt-foot__label{font-family:var(--font-head);font-weight:600;color:var(--ink);}
.kt-foot__row--sub .kt-foot__val{font-family:var(--font-head);font-weight:600;font-size:1.25rem;color:var(--teal-ink);}
.kt-foot__fine{margin:4px 0 12px;font-size:.76rem;line-height:1.4;color:var(--muted);}
.kt-foot__actions{display:flex;gap:10px;}
.kt-foot__actions>*{flex:1 1 50%;text-align:center;}
.kt-foot__checkout[aria-disabled="true"]{background:var(--sand);color:var(--muted);border-color:var(--sand);cursor:not-allowed;pointer-events:none;}

.kt-drawer.is-busy .kt-drawer__body,.kt-drawer.is-busy .kt-foot{opacity:.55;pointer-events:none;}
.kt-drawer.is-busy::after{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;animation:kt-spin .7s linear infinite;}
@keyframes kt-spin{to{transform:rotate(360deg);}}
body.kt-locked{overflow:hidden;}

/* ===========================================================================
   5) CHECKOUT (classic two-column restyle)
   =========================================================================== */
.woocommerce-checkout,.woocommerce-checkout *{box-sizing:border-box;}
.woocommerce-checkout{font-family:var(--font-body);color:var(--ink);background:var(--mist);}
.woocommerce-checkout .woocommerce{max-width:1120px;margin-inline:auto;padding:1rem;}
.woocommerce-checkout h1,.woocommerce-checkout h2,.woocommerce-checkout h3{font-family:var(--font-head);color:var(--teal-ink);letter-spacing:.2px;}
.kre-trust{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;justify-content:center;margin:0 0 1rem;padding:.7rem 1rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);font-size:.86rem;font-weight:700;color:var(--teal-deep);}
.kre-trust span{display:inline-flex;align-items:center;gap:.4rem;}
.kre-trust span::before{content:"";width:1.05rem;height:1.05rem;flex:none;background:var(--mint);border-radius:var(--r-pill);box-shadow:inset 0 0 0 .18rem var(--teal);}
.woocommerce-checkout .woocommerce-info,.woocommerce-checkout .woocommerce-message{background:var(--mist);border-top:3px solid var(--teal);border-radius:var(--r-btn);color:var(--teal-ink);box-shadow:var(--shadow-sm);padding:1rem 1.25rem;}
.woocommerce-checkout .woocommerce-info::before,.woocommerce-checkout .woocommerce-message::before{color:var(--teal);}
.woocommerce-checkout .woocommerce-error{background:#FEF2F2;border-top:3px solid var(--coral-dark);border-radius:var(--r-btn);color:#7F1D1D;}
.woocommerce-checkout form.checkout{display:block;}
@media(min-width:880px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);grid-template-areas:"details review";gap:1.75rem;align-items:start;}
  .woocommerce-checkout #customer_details{grid-area:details;}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-area:review;}
  .woocommerce-checkout #order_review{position:sticky;top:1rem;}
  .woocommerce-checkout #order_review_heading{margin-top:0;}
}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2,.woocommerce-checkout .kre-checkout-fields,.woocommerce-checkout #order_review{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:1.4rem 1.5rem;margin:0 0 1.25rem;}
.woocommerce-checkout #customer_details .col2-set{display:grid;gap:0;}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:auto;float:none;}
.woocommerce-checkout h3{margin:0 0 1rem;font-size:1.15rem;display:flex;align-items:center;gap:.55rem;}
.woocommerce-checkout h3::before{content:"";width:1.6rem;height:1.6rem;flex:none;border-radius:var(--r-pill);background:var(--mint);box-shadow:inset 0 0 0 .22rem var(--teal);}
.woocommerce-checkout .kre-checkout-fields h3::before{box-shadow:inset 0 0 0 .22rem var(--coral);}
.woocommerce-checkout .form-row{margin:0 0 1rem;padding:0;}
.woocommerce-checkout .form-row label{display:block;font-weight:700;font-size:.86rem;color:var(--teal-ink);margin-bottom:.35rem;}
.woocommerce-checkout .form-row .required{color:var(--coral-dark);text-decoration:none;}
.woocommerce-checkout .form-row.form-row-first,.woocommerce-checkout .form-row.form-row-last{width:calc(50% - .5rem);}
.woocommerce-checkout .form-row.form-row-first{float:left;}
.woocommerce-checkout .form-row.form-row-last{float:right;}
.woocommerce-checkout .col2-set::after,.woocommerce-checkout .form-row::after{content:"";display:table;clear:both;}
.woocommerce-checkout .input-text,.woocommerce-checkout select,.woocommerce-checkout textarea,.woocommerce-checkout .select2-selection{width:100%;padding:.7rem .85rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-btn);transition:border-color var(--transition),box-shadow var(--transition);min-height:46px;}
.woocommerce-checkout textarea{min-height:96px;line-height:1.5;}
.woocommerce-checkout .input-text::placeholder,.woocommerce-checkout textarea::placeholder{color:var(--muted);opacity:.8;}
.woocommerce-checkout .input-text:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus,.woocommerce-checkout .select2-container--focus .select2-selection{outline:3px solid var(--mint);outline-offset:1px;border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);}
.woocommerce-checkout .form-row.woocommerce-invalid .input-text,.woocommerce-checkout .form-row.woocommerce-invalid select,.woocommerce-checkout .form-row.woocommerce-invalid textarea{border-color:var(--coral-dark);box-shadow:0 0 0 1px var(--coral-dark);}
.woocommerce-checkout .form-row.woocommerce-validated .input-text{border-color:var(--teal);}
.woocommerce-checkout .form-row.woocommerce-invalid label{color:var(--coral-dark);}
.woocommerce-checkout .description{font-size:.82rem;color:var(--muted);margin:.4rem 0 0;}
.woocommerce-checkout input[type="checkbox"]{width:1.3rem;height:1.3rem;accent-color:var(--teal);vertical-align:-.25rem;margin-right:.5rem;cursor:pointer;}
.woocommerce-checkout #kiddos_airport_field label{display:inline-flex;align-items:center;gap:.25rem;padding:.65rem .85rem;border:1.5px solid var(--border);border-radius:var(--r-btn);background:var(--mist);width:100%;cursor:pointer;transition:border-color var(--transition);}
.woocommerce-checkout #kiddos_airport_field label:hover{border-color:var(--teal);}
/* zone radio cards */
.woocommerce-checkout #shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;}
.woocommerce-checkout #shipping_method li{margin:0;padding:0;position:relative;border:1.5px solid var(--border);border-radius:var(--r-card);background:var(--white);transition:border-color var(--transition),box-shadow var(--transition);}
.woocommerce-checkout #shipping_method li:hover{border-color:var(--teal);box-shadow:var(--shadow-sm);}
.woocommerce-checkout #shipping_method li:has(input:checked),.woocommerce-checkout #shipping_method li.selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal),var(--shadow-md);background:var(--mist);}
.woocommerce-checkout #shipping_method input[type="radio"]{position:absolute;top:1.15rem;left:1.1rem;width:1.25rem;height:1.25rem;accent-color:var(--teal);margin:0;}
.woocommerce-checkout #shipping_method label{display:block;margin:0;padding:1rem 1.1rem 1rem 2.8rem;cursor:pointer;font-weight:800;color:var(--teal-ink);font-size:1rem;}
.woocommerce-checkout #shipping_method .woocommerce-Price-amount{float:right;color:var(--teal-deep);font-family:var(--font-head);}
.woocommerce-checkout #shipping_method .kre-zone-desc{display:block;margin-top:.3rem;font-weight:600;font-size:.83rem;color:var(--muted);padding-right:3rem;}
.woocommerce-checkout #shipping_method li:has(input:checked) label::after,.woocommerce-checkout #shipping_method li.selected label::after{content:"✓ Selected";display:inline-block;margin-left:.5rem;font-size:.72rem;font-weight:800;color:var(--teal);}
/* order summary "Your trip" */
.woocommerce-checkout #order_review_heading{font-size:1.25rem;margin:0 0 .75rem;}
.kre-trip-dates{display:flex;align-items:center;gap:.75rem;background:var(--teal-ink);color:var(--white);border-radius:var(--r-btn);padding:.9rem 1rem;margin:0 0 1rem;}
.kre-trip-dates .kre-leg{flex:1;}
.kre-trip-dates .kre-leg small{display:block;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);font-weight:800;}
.kre-trip-dates .kre-leg b{font-family:var(--font-head);font-size:.98rem;font-weight:600;}
.kre-trip-dates .kre-arrow{color:var(--mint);font-size:1.2rem;flex:none;}
.kre-trip-dates a.kre-edit{flex:none;color:var(--mint);font-weight:800;font-size:.78rem;text-decoration:underline;text-underline-offset:2px;}
.woocommerce-checkout .shop_table{width:100%;border-collapse:collapse;font-size:.95rem;}
.woocommerce-checkout .shop_table th,.woocommerce-checkout .shop_table td{padding:.7rem 0;text-align:right;border:0;border-bottom:1px solid var(--border);color:var(--ink);}
.woocommerce-checkout .shop_table th{text-align:left;font-weight:700;color:var(--teal-ink);}
.woocommerce-checkout .shop_table .product-name{text-align:left;font-weight:700;}
.woocommerce-checkout .shop_table .product-name .product-quantity{color:var(--muted);font-weight:600;}
/* per-line "Rental dates" meta (KRE_Cart::display → wc-item-meta) */
.woocommerce-checkout .shop_table .product-name .wc-item-meta,.woocommerce-checkout .shop_table .product-name dl.variation{margin:.25rem 0 0;font-size:.8rem;color:var(--teal-deep);font-weight:700;}
.woocommerce-checkout .shop_table .fee td{color:var(--coral-dark);font-weight:700;}
.woocommerce-checkout .shop_table .order-total th{font-size:1.1rem;color:var(--teal-ink);}
.woocommerce-checkout .shop_table .order-total td{font-size:1.35rem;font-family:var(--font-head);color:var(--teal-deep);font-weight:600;}
.woocommerce-checkout .shop_table .order-total th,.woocommerce-checkout .shop_table .order-total td{border-bottom:0;padding-top:1rem;}
.woocommerce-checkout .shop_table .woocommerce-shipping-totals .shipping_method{display:none;}
.woocommerce-checkout .checkout_coupon,.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 1rem;}
/* payment */
.woocommerce-checkout #payment{background:var(--mist);border-radius:var(--r-card);border:1px solid var(--border);padding:1.1rem;margin-top:1rem;}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0;border:0;}
.woocommerce-checkout #payment ul.payment_methods li{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-btn);padding:.85rem 1rem;margin:0 0 .6rem;}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);}
.woocommerce-checkout #payment label{font-weight:800;color:var(--teal-ink);}
.woocommerce-checkout #payment .payment_box{background:transparent;margin:.6rem 0 0;padding:0;}
.woocommerce-checkout #payment .payment_box::before{display:none;}
.woocommerce-checkout #payment .wc-stripe-upe-element,.woocommerce-checkout #payment #wc-stripe-payment-element{margin-top:.5rem;}
/* place order */
.woocommerce-checkout #place_order,.woocommerce-checkout .button.alt{width:100%;margin-top:1rem;background:var(--coral);color:var(--white);font-family:var(--font-head);font-size:1.1rem;font-weight:600;letter-spacing:.3px;border:0;border-radius:var(--r-pill);padding:1rem 1.25rem;cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--transition),transform var(--transition);}
.woocommerce-checkout #place_order:hover{background:var(--coral-dark);transform:translateY(-1px);}
.woocommerce-checkout #place_order:focus-visible{outline:3px solid var(--mint);outline-offset:2px;}
.woocommerce-checkout #place_order:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:1rem 0;font-size:.9rem;}
.kre-checkout-reassure{margin:.9rem 0 0;padding-top:.9rem;border-top:1px dashed var(--border);font-size:.82rem;color:var(--muted);line-height:1.5;text-align:center;}
.kre-checkout-reassure b{color:var(--teal-deep);}
.kre-min-nudge{display:flex;gap:.6rem;align-items:center;background:var(--mist);border:1px dashed var(--teal);border-radius:var(--r-btn);padding:.7rem .9rem;margin:0 0 1rem;font-size:.88rem;color:var(--teal-ink);font-weight:700;}
.woocommerce-checkout .blockUI.blockOverlay{border-radius:var(--r-card);}
@media(max-width:879px){
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{order:-1;}
  .woocommerce-checkout #place_order{position:sticky;bottom:.5rem;z-index:5;}
}

/* ===========================================================================
   6) REDUCED MOTION (global)
   =========================================================================== */
@media (prefers-reduced-motion:reduce){
  .kt-drawer,.kt-backdrop,.kt-nudge__fill{transition:none;}
  .kt-launcher.is-bumping{animation:none;}
  .kt-drawer.is-busy::after,.in-stock-pill.is-checking .pill-icon{animation:none;}
  .woocommerce-checkout *{transition:none !important;}
  .woocommerce-checkout #place_order:hover,.product-card:hover,.woocommerce ul.products li.product:hover{transform:none;}
}

/* ===========================================================================
   7) KIDDOS OVERRIDES — load-order hardening + requested polish
      (appended last; !important only where it must beat WC/theme stylesheets
       that load after ours)
   =========================================================================== */

/* 7a) Shop grid: force our CSS grid over WooCommerce's float "columns-N" layout */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:24px!important;float:none!important;width:100%!important;margin:0 0 30px!important;}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;clear:none!important;padding:0 0 0 0!important;min-height:0;}

/* 7b) Shop card internals (the WooCommerce loop has no .product-body wrapper) */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:flex;flex-direction:column;text-decoration:none;}
.woocommerce ul.products li.product a img{margin:0 0 12px!important;width:100%;aspect-ratio:4/3;object-fit:cover;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 16px!important;margin:0 0 4px!important;font-family:var(--font-head);font-weight:600;font-size:1.02rem;line-height:1.25;color:var(--teal-ink)!important;}
.woocommerce ul.products li.product .price{padding:0 16px;margin:0;font-family:var(--font-head)!important;font-weight:700!important;color:var(--teal-deep)!important;font-size:1.18rem!important;}
.woocommerce ul.products li.product .price .kre-per,.product-price .kre-per{font-family:var(--font-body);font-weight:600;font-size:.78rem;color:var(--muted);}
.kre-card-area{display:flex;align-items:center;gap:5px;padding:6px 16px 0;font-size:.8rem;color:var(--muted);}
.kre-card-area svg{color:var(--teal);flex:none;}
.kre-card-min{display:block;padding:2px 16px 0;font-size:.72rem;color:var(--muted);}
.woocommerce ul.products li.product>.button,.woocommerce ul.products li.product .kre-view-rent{margin:14px 16px 16px!important;width:calc(100% - 32px);}
.woocommerce ul.products li.product .in-stock-pill{position:absolute;top:12px;left:12px;z-index:2;}

/* 7c) Drawer header contrast — white title + close, mint count on the green head */
#kt-drawer .kt-drawer__head{background:var(--teal-deep);}
#kt-drawer .kt-drawer__title,#kt-drawer #kt-drawer-title{color:var(--white)!important;}
#kt-drawer .kt-drawer__count{color:var(--mint)!important;}
#kt-drawer .kt-drawer__close,#kt-drawer .kt-iconbtn{color:var(--white)!important;}
#kt-drawer .kt-drawer__close:hover{background:rgba(255,255,255,.18);}

/* 7d) Modern sectioned checkout with numbered step pills */
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;margin:0;}
.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .kre-checkout-fields,.woocommerce-checkout #order_review,.woocommerce-checkout #payment{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:22px 22px 18px;margin:0 0 20px;}
.woocommerce-checkout #payment{padding-top:6px;}
.woocommerce-checkout .woocommerce-billing-fields>h3,.woocommerce-checkout .kre-checkout-fields>h3,.woocommerce-checkout #order_review_heading{font-family:var(--font-head);color:var(--teal-ink);display:flex;align-items:center;gap:10px;font-size:1.12rem;margin:0 0 16px;}
.woocommerce-checkout .woocommerce-billing-fields>h3::before,.woocommerce-checkout .kre-checkout-fields>h3::before,.woocommerce-checkout #order_review_heading::before{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-pill);background:var(--mint);color:var(--teal-ink);font-family:var(--font-head);font-size:.95rem;font-weight:700;flex:none;}
.woocommerce-checkout .woocommerce-billing-fields>h3::before{content:"1";}
.woocommerce-checkout .kre-checkout-fields>h3::before{content:"2";}
.woocommerce-checkout #order_review_heading::before{content:"3";}
/* Delivery-method radios as selectable cards with their area descriptions */
.woocommerce-checkout #shipping_method li,.woocommerce-checkout ul.woocommerce-shipping-methods li,.woocommerce-checkout .woocommerce-shipping-totals .shipping ul li{list-style:none;margin:0 0 10px;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--r-btn);transition:border-color var(--transition),background var(--transition);}
.woocommerce-checkout #shipping_method li:has(input:checked),.woocommerce-checkout .woocommerce-shipping-methods li:has(input:checked){border-color:var(--teal);background:var(--mist);}
.woocommerce-checkout #shipping_method label,.woocommerce-checkout .woocommerce-shipping-methods label{font-family:var(--font-head);font-weight:600;color:var(--teal-ink);}
.kre-zone-desc{display:block;font-family:var(--font-body);font-weight:400;font-size:.8rem;color:var(--muted);margin-top:4px;line-height:1.4;}
.woocommerce-checkout #place_order{width:100%;}
/* ===========================================================================
   8) CART PAGE — coastal-teal "Your Trip" (templates/woocommerce/cart/cart.php
      + cart-totals.php). Scoped under .kre-cart; relies on the :root tokens
      defined at the top of this file (token fallbacks repeated here so the cart
      still renders if this block is ever served standalone). Mobile-first, AA.
   =========================================================================== */
.kre-cart{
  --r-card:16px; --r-btn:12px; --r-pill:999px;
  font-family:var(--font-body);color:var(--ink);
  max-width:1180px;margin:0 auto;padding:clamp(16px,4vw,32px);
}
.kre-cart *,.kre-cart *::before,.kre-cart *::after{box-sizing:border-box;}

/* header */
.kre-cart__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:20px;}
.kre-cart__title{font-family:var(--font-head);font-size:clamp(26px,5vw,34px);font-weight:700;color:var(--deep-sea);margin:0;line-height:1.1;}
.kre-cart__count{font-weight:500;color:var(--muted);margin-left:8px;font-size:.62em;}
.kre-cart__continue-top{font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--teal);text-decoration:none;white-space:nowrap;}
.kre-cart__continue-top:hover{color:var(--teal-deep);text-decoration:underline;}
.kre-cart__continue-top:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:6px;}

/* grid */
.kre-cart__grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media (min-width:900px){.kre-cart__grid{grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start;}}
.kre-cart__main{min-width:0;}

/* progress banner ($50 minimum) */
.kre-progress{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:24px;}
.kre-progress--met{background:var(--mist);}
.kre-progress__chip{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--mint);color:var(--teal-ink);border-radius:var(--r-btn);font-size:20px;}
.kre-progress__body{flex:1 1 auto;min-width:0;}
.kre-progress__headline{font-family:var(--font-head);font-size:clamp(15px,2.4vw,18px);font-weight:600;color:var(--teal-ink);margin:0 0 2px;}
.kre-progress__sub{font-size:13.5px;color:var(--muted);margin:0 0 12px;}
.kre-progress__track{height:10px;border-radius:var(--r-pill);background:var(--sand);overflow:hidden;}
.kre-progress__fill{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--mint),var(--teal));transition:width .4s ease;}

/* items list */
.kre-items__head{display:none;padding:0 0 10px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);}
@media (min-width:680px){
  .kre-items__head{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) 150px 130px;gap:16px;}
  .kre-items__head .kre-col-qty{text-align:center;}
  .kre-items__head .kre-col-total{text-align:right;}
}
.kre-item{display:grid;gap:12px 16px;grid-template-columns:1fr auto;grid-template-areas:"product total" "qty qty";align-items:center;padding:20px 0;border-bottom:1px solid var(--border);}
@media (min-width:680px){.kre-item{grid-template-columns:minmax(0,1fr) 150px 130px;grid-template-areas:"product qty total";gap:16px;}}
.kre-item__product{grid-area:product;display:flex;gap:14px;min-width:0;}
.kre-item__thumb{flex:0 0 auto;width:72px;height:72px;border-radius:var(--r-btn);overflow:hidden;background:#E1F5EE;}
.kre-item__thumb a{display:block;width:100%;height:100%;}
.kre-item__img,.kre-item__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.kre-item__meta{min-width:0;display:flex;flex-direction:column;gap:3px;}
.kre-item__eyebrow{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--teal);}
.kre-item__name{font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--ink);text-decoration:none;line-height:1.25;}
a.kre-item__name:hover{color:var(--teal-deep);text-decoration:underline;}
a.kre-item__name:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px;}
.kre-item__dates{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:5px;}
.kre-item__dates .kre-i-cal{color:var(--teal);}
.kre-item__perday{font-size:12.5px;font-weight:700;color:var(--teal-ink);}
.kre-item__perday .woocommerce-Price-amount{font-weight:700;}

/* qty stepper (pill wraps WC's native quantity input) */
.kre-item__qty{grid-area:qty;display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
@media (min-width:680px){.kre-item__qty{align-items:center;}}
.kre-item__qty .quantity{display:inline-flex;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);overflow:hidden;}
.kre-item__qty .quantity .minus,.kre-item__qty .quantity .plus{border:none;background:none;width:34px;height:40px;color:var(--teal);font-size:18px;line-height:1;cursor:pointer;}
.kre-item__qty .quantity .minus:hover,.kre-item__qty .quantity .plus:hover{color:var(--teal-deep);background:var(--mist);}
.kre-qty__input{width:48px;height:40px;border:0;background:transparent;text-align:center;font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--ink);-moz-appearance:textfield;appearance:textfield;}
.kre-qty__input:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:8px;}
.kre-qty__input::-webkit-outer-spin-button,.kre-qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.kre-qty--single{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:40px;font-weight:700;color:var(--ink);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--white);}
.kre-qty__cap{font-size:11.5px;color:var(--muted);}

/* total + remove */
.kre-item__total{grid-area:total;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;}
.kre-item__linetotal{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--ink);}
.kre-item__remove{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--coral-dark);text-decoration:none;background:none;border:0;cursor:pointer;padding:4px 2px;border-radius:6px;}
.kre-item__remove:hover{color:var(--coral);text-decoration:underline;}
.kre-item__remove:focus-visible{outline:2px solid var(--coral);outline-offset:2px;}

/* cart-level actions */
.kre-cart__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;}
.kre-cart__update{display:flex;gap:10px;}

/* buttons (cart-local; complement the global .btn-coral/.btn-ghost) */
.kre-cart .kre-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-head);font-weight:700;font-size:15px;line-height:1;cursor:pointer;text-decoration:none;border-radius:var(--r-btn);padding:14px 22px;transition:transform .12s ease,background .15s ease,box-shadow .15s ease;border:1.5px solid transparent;}
.kre-cart .kre-btn:active{transform:scale(.98);}
.kre-cart .kre-btn--coral{background:var(--coral);color:var(--white);box-shadow:var(--shadow-sm);}
.kre-cart .kre-btn--coral:hover{background:var(--coral-dark);box-shadow:var(--shadow-md);}
.kre-cart .kre-btn--coral:focus-visible{outline:3px solid var(--coral-dark);outline-offset:2px;}
.kre-cart .kre-btn--ghost{background:var(--white);color:var(--teal);border-color:var(--teal);}
.kre-cart .kre-btn--ghost:hover{background:var(--mist);color:var(--teal-deep);border-color:var(--teal-deep);}
.kre-cart .kre-btn--ghost:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}

/* summary card (sticky) */
@media (min-width:900px){.kre-cart__aside{position:sticky;top:24px;}}
.kre-summary__card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-md);padding:24px;}
.kre-summary__title{font-family:var(--font-head);font-size:20px;font-weight:600;color:var(--deep-sea);margin:0 0 16px;}
.kre-summary__rows{display:flex;flex-direction:column;gap:12px;}
.kre-summary__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14.5px;}
.kre-summary__label{color:var(--muted);display:inline-flex;align-items:center;gap:5px;}
.kre-summary__label .kre-i-cal{color:var(--teal);}
.kre-summary__value{font-weight:700;color:var(--ink);text-align:right;}
.kre-summary__value--stack{display:flex;flex-direction:column;align-items:flex-end;font-weight:600;line-height:1.3;}
.kre-summary__value--stack small{font-weight:500;color:var(--muted);font-size:11.5px;}
.kre-summary__row--coupon .kre-summary__value{color:var(--teal);}
.kre-summary__note{font-size:13px;color:var(--muted);margin:2px 0 0;display:flex;align-items:center;gap:6px;}
.kre-summary__note .kre-i-truck{color:var(--teal);flex:none;}

/* promo */
.kre-promo{display:flex;gap:8px;margin:16px 0 4px;}
.kre-promo__input{flex:1 1 auto;min-width:0;height:44px;border:1px solid var(--border);border-radius:var(--r-btn);background:var(--mist);padding:0 14px;font-family:var(--font-body);font-size:14px;color:var(--ink);}
.kre-promo__input::placeholder{color:var(--muted);}
.kre-promo__input:focus-visible{outline:2px solid var(--teal);outline-offset:1px;background:var(--white);}
.kre-promo__apply{flex:0 0 auto;padding:0 18px;height:44px;}

.kre-summary__divider{height:1px;background:var(--border);margin:18px 0;}
.kre-summary__total-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;}
.kre-summary__total-label{display:block;font-family:var(--font-head);font-size:18px;font-weight:600;color:var(--deep-sea);}
.kre-summary__total-note{display:block;font-size:12px;color:var(--muted);margin-top:2px;}
.kre-summary__total-value{font-family:var(--font-head);font-size:22px;font-weight:700;color:var(--ink);white-space:nowrap;text-align:right;}
.kre-summary__total-value .woocommerce-Price-amount{font-size:inherit;font-weight:700;}

/* CTA — coerce WC's default .checkout-button too, so it matches even via the hook */
.kre-summary__cta .kre-summary__checkout,
.kre-summary__cta .checkout-button{display:flex;width:100%;box-sizing:border-box;align-items:center;justify-content:center;text-align:center;background:var(--coral);color:var(--white);font-family:var(--font-head);font-weight:700;font-size:17px;border-radius:var(--r-btn);padding:16px 22px;text-decoration:none;box-shadow:var(--shadow-sm);border:0;cursor:pointer;transition:transform .12s ease,background .15s ease,box-shadow .15s ease;}
.kre-summary__cta .checkout-button:hover,.kre-summary__cta .kre-summary__checkout:hover{background:var(--coral-dark);color:var(--white);box-shadow:var(--shadow-md);}
/* Force the primary checkout CTA to brand coral over any WP/WC/theme button default (was rendering purple). */
.kre-summary__cta .kre-summary__checkout,.kre-summary__cta .checkout-button,.kre-summary__cta a.button,.kre-summary__cta .kre-btn--coral,.kre-btn.kre-btn--coral{background:var(--coral)!important;background-image:none!important;color:var(--white)!important;border-color:var(--coral)!important;}
.kre-summary__cta .kre-summary__checkout:hover,.kre-summary__cta .checkout-button:hover,.kre-btn.kre-btn--coral:hover{background:var(--coral-dark)!important;}
.kre-summary__cta .checkout-button:active,.kre-summary__cta .kre-summary__checkout:active{transform:scale(.98);}
.kre-summary__cta .checkout-button:focus-visible,.kre-summary__cta .kre-summary__checkout:focus-visible{outline:3px solid var(--coral-dark);outline-offset:2px;}
.kre-summary__cta .kre-summary__checkout.is-disabled{background:#E2E0D8;color:#7A837F;box-shadow:none;cursor:not-allowed;}
.kre-summary__checkout-hint{text-align:center;font-size:12.5px;color:var(--coral-dark);margin:8px 0 0;}

.kre-summary__secure{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--muted);margin:14px 0 12px;}
.kre-summary__secure .kre-i-lock{color:var(--teal);}
.kre-summary__badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;margin:0 0 18px;padding:0;}
.kre-summary__badges .kre-badge{font-size:11px;font-weight:700;color:var(--deep-sea);background:var(--mist);border:1px solid var(--border);border-radius:6px;padding:5px 9px;}

.kre-cart .kre-trust{background:var(--mist);border:1px solid var(--border);border-radius:var(--r-btn);padding:14px 16px;display:flex;flex-direction:column;gap:8px;}
.kre-cart .kre-trust__item{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--teal-ink);margin:0;line-height:1.4;}
.kre-cart .kre-trust__item .kre-i-check{color:var(--teal);flex:0 0 auto;}

/* inline mask icons (no icon-font dependency) */
.kre-i-check,.kre-i-cart,.kre-i-trash,.kre-i-lock,
.kre-i-cal,.kre-i-truck,.kre-i-refresh{display:inline-block;width:1em;height:1em;vertical-align:-.125em;background-color:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;}
.kre-i-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");}
.kre-i-cart{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM7.2 14h9.5l3.6-7H6.2L5.3 4H2v2h2l3.6 8Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM7.2 14h9.5l3.6-7H6.2L5.3 4H2v2h2l3.6 8Z'/%3E%3C/svg%3E");}
.kre-i-trash{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 7h12l-1 14H7L6 7Zm3-3h6l1 2H8l1-2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 7h12l-1 14H7L6 7Zm3-3h6l1 2H8l1-2Z'/%3E%3C/svg%3E");}
.kre-i-lock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 1a5 5 0 0 0-5 5v3H5v13h14V9h-2V6a5 5 0 0 0-5-5Zm3 8H9V6a3 3 0 0 1 6 0v3Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 1a5 5 0 0 0-5 5v3H5v13h14V9h-2V6a5 5 0 0 0-5-5Zm3 8H9V6a3 3 0 0 1 6 0v3Z'/%3E%3C/svg%3E");}
.kre-i-cal{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7Zm12 8v10H5V10h14Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7Zm12 8v10H5V10h14Z'/%3E%3C/svg%3E");}
.kre-i-truck{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 4h11v9H3V4Zm12 3h3l3 3v3h-2a2 2 0 1 1-4 0h-3V7h3ZM6 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm12 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 4h11v9H3V4Zm12 3h3l3 3v3h-2a2 2 0 1 1-4 0h-3V7h3ZM6 18a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm12 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z'/%3E%3C/svg%3E");}
.kre-i-refresh{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 6V3L8 7l4 4V8a4 4 0 1 1-4 4H6a6 6 0 1 0 6-6Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 6V3L8 7l4 4V8a4 4 0 1 1-4 4H6a6 6 0 1 0 6-6Z'/%3E%3C/svg%3E");}

@media (prefers-reduced-motion:reduce){.kre-cart *{transition:none!important;}}

/* ===========================================================================
   9) CHECKOUT — PREMIUM SUMMARY-CARD POLISH (coastal-teal)
      Elevates the existing sectioned-card checkout (§7d) so the right-rail
      #order_review reads as the SAME summary card as the cart (§8). Three step
      pills on the FORM sections only — ① details ② delivery ③ payment — and the
      order review is the destination card (NO number). Style + light hooks only;
      no checkout template is rewritten. Appended last so it wins on load order.
      RECONCILES §7d: nulls #order_review_heading::before "3" and moves ③ onto a
      new .kre-pay-head element (KRE_Checkout_UI::payment_head, hook F below).
   =========================================================================== */

/* 9a) canvas + width */
.woocommerce-checkout{background:var(--mist);}
.woocommerce-checkout .woocommerce{max-width:1180px;margin-inline:auto;padding:clamp(1rem,3vw,2rem) 1rem 3rem;}

/* 9b) "Your Trip" title row (KRE_Checkout_UI::co_top via woocommerce_before_checkout_form pr.0) */
.kre-co-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1.25rem;}
.kre-co-top__title{font-family:var(--font-head);font-weight:700;font-size:clamp(1.7rem,4vw,2.1rem);color:var(--deep-sea);line-height:1.1;margin:0;}
.kre-co-top__back{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-head);font-weight:700;font-size:.95rem;color:var(--teal);text-decoration:none;white-space:nowrap;border-radius:var(--r-pill);padding:.4rem .25rem;transition:color var(--transition);}
.kre-co-top__back:hover{color:var(--teal-deep);}
.kre-co-top__back:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}

/* 9c) top trust strip (KRE_Checkout_UI::trust_strip, exists) refined to a pill row */
.woocommerce-checkout .kre-trust{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:center;margin:0 0 1.5rem;padding:.85rem 1.25rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-sm);font-family:var(--font-body);font-size:.88rem;font-weight:700;color:var(--teal-deep);}
.woocommerce-checkout .kre-trust span{display:inline-flex;align-items:center;gap:.45rem;}

/* 9d) two-column grid — wide form, sticky summary card */
@media(min-width:900px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);grid-template-areas:"details review";gap:2rem;align-items:start;}
  .woocommerce-checkout #customer_details{grid-area:details;min-width:0;}
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-area:review;}
  .woocommerce-checkout #order_review{position:sticky;top:1.25rem;}
  .woocommerce-checkout #order_review_heading{margin-top:0;}
}

/* 9e) section cards + THREE step pills (① details ② delivery ③ payment) */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .kre-checkout-fields,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment{background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-md);padding:clamp(1.25rem,3vw,1.6rem);margin:0 0 1.25rem;}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;margin:0;padding:0;background:none;border:0;box-shadow:none;}
.woocommerce-checkout #payment{margin-top:1.25rem;}
.woocommerce-checkout .woocommerce-billing-fields>h3,
.woocommerce-checkout .kre-checkout-fields>h3,
.woocommerce-checkout #payment .kre-pay-head{font-family:var(--font-head);font-weight:600;color:var(--teal-ink);display:flex;align-items:center;gap:.7rem;font-size:1.15rem;margin:0 0 1.1rem;}
.woocommerce-checkout .woocommerce-billing-fields>h3::before,
.woocommerce-checkout .kre-checkout-fields>h3::before,
.woocommerce-checkout #payment .kre-pay-head::before{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:var(--r-pill);background:var(--mint);color:var(--teal-ink);font-family:var(--font-head);font-size:.95rem;font-weight:700;flex:none;}
.woocommerce-checkout .woocommerce-billing-fields>h3::before{content:"1";}
.woocommerce-checkout .kre-checkout-fields>h3::before{content:"2";}
.woocommerce-checkout #payment .kre-pay-head::before{content:"3";}
/* RECONCILE: drop the §7d rule that numbered the summary heading "3" */
.woocommerce-checkout #order_review_heading::before{content:none!important;display:none!important;}

/* 9f) inputs */
.woocommerce-checkout .form-row{margin:0 0 1.1rem;padding:0;}
.woocommerce-checkout .form-row label{display:block;font-family:var(--font-body);font-weight:700;font-size:.86rem;color:var(--teal-ink);margin-bottom:.4rem;}
.woocommerce-checkout .form-row .required{color:var(--coral-dark);text-decoration:none;}
.woocommerce-checkout .form-row.form-row-first,
.woocommerce-checkout .form-row.form-row-last{width:calc(50% - .6rem);}
.woocommerce-checkout .form-row.form-row-first{float:left;}
.woocommerce-checkout .form-row.form-row-last{float:right;}
.woocommerce-checkout .col2-set::after,.woocommerce-checkout .form-row::after{content:"";display:table;clear:both;}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-selection{width:100%;padding:.75rem .9rem;font:inherit;font-size:1rem;color:var(--ink);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-btn);min-height:48px;transition:border-color var(--transition),box-shadow var(--transition);}
.woocommerce-checkout textarea{min-height:100px;line-height:1.5;}
.woocommerce-checkout .input-text::placeholder,.woocommerce-checkout textarea::placeholder{color:var(--muted);opacity:.85;}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout .select2-container--focus .select2-selection{outline:3px solid var(--mint);outline-offset:1px;border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);}
.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid textarea{border-color:var(--coral-dark);box-shadow:0 0 0 1px var(--coral-dark);}
.woocommerce-checkout .form-row.woocommerce-invalid label{color:var(--coral-dark);}
.woocommerce-checkout .form-row.woocommerce-invalid .input-text:focus{outline-color:#FCA5A5;}
.woocommerce-checkout .form-row.woocommerce-validated .input-text{border-color:var(--teal);}
.woocommerce-checkout .description{font-size:.82rem;color:var(--muted);margin:.4rem 0 0;}
.woocommerce-checkout input[type="checkbox"]{width:1.3rem;height:1.3rem;accent-color:var(--teal);vertical-align:-.25rem;margin-right:.5rem;cursor:pointer;}
.woocommerce-checkout #kiddos_airport_field label{display:flex;align-items:center;gap:.4rem;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:var(--r-btn);background:var(--mist);width:100%;cursor:pointer;font-weight:700;color:var(--teal-ink);transition:border-color var(--transition);}
.woocommerce-checkout #kiddos_airport_field label:hover{border-color:var(--teal);}
.woocommerce-checkout #kiddos_airport_field label:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:var(--white);}

/* 9g) delivery radio cards (zone $25/$30/$45 + .kre-zone-desc from KRE_Checkout_UI::zone_label) */
.woocommerce-checkout ul#shipping_method,
.woocommerce-checkout .woocommerce-shipping-methods{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;}
.woocommerce-checkout #shipping_method li,
.woocommerce-checkout .woocommerce-shipping-methods li{list-style:none;position:relative;margin:0;padding:1rem 1.1rem 1rem 2.9rem;border:1.5px solid var(--border);border-radius:var(--r-card);background:var(--white);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);}
.woocommerce-checkout #shipping_method li:hover,
.woocommerce-checkout .woocommerce-shipping-methods li:hover{border-color:var(--teal);box-shadow:var(--shadow-sm);}
.woocommerce-checkout #shipping_method li:has(input:checked),
.woocommerce-checkout .woocommerce-shipping-methods li:has(input:checked){border-color:var(--teal);background:var(--mist);box-shadow:0 0 0 1px var(--teal),var(--shadow-md);}
.woocommerce-checkout #shipping_method input[type="radio"]{position:absolute;top:1.15rem;left:1.05rem;width:1.25rem;height:1.25rem;accent-color:var(--teal);margin:0;}
.woocommerce-checkout #shipping_method label,
.woocommerce-checkout .woocommerce-shipping-methods label{display:block;margin:0;cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:1rem;color:var(--teal-ink);}
.woocommerce-checkout #shipping_method .woocommerce-Price-amount{float:right;font-family:var(--font-head);font-weight:700;color:var(--teal-deep);}
.woocommerce-checkout .kre-zone-desc{display:block;clear:both;margin-top:.3rem;font-family:var(--font-body);font-weight:400;font-size:.82rem;line-height:1.4;color:var(--muted);padding-right:3.5rem;}
.woocommerce-checkout #shipping_method li:has(input:checked) label::after{content:"✓ Selected";display:inline-block;margin-left:.5rem;font-family:var(--font-body);font-size:.72rem;font-weight:800;color:var(--teal);vertical-align:1px;}

/* 9h) summary card interior — heading, trip banner, rows, total, fine print */
.woocommerce-checkout #order_review_heading{font-family:var(--font-head);font-weight:600;font-size:1.3rem;color:var(--deep-sea);margin:0 0 .75rem;}
.woocommerce-checkout .kre-trip-dates{display:flex;align-items:center;gap:.75rem;background:var(--teal-ink);color:var(--white);border-radius:var(--r-btn);padding:.9rem 1rem;margin:0 0 1rem;}
.woocommerce-checkout .kre-trip-dates__icon{font-size:1.2rem;flex:none;}
.woocommerce-checkout .kre-trip-dates>div{flex:1;min-width:0;}
.woocommerce-checkout .kre-trip-dates__label{margin:0 0 1px;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);font-weight:800;}
.woocommerce-checkout .kre-trip-dates__range{margin:0;font-family:var(--font-head);font-weight:600;font-size:.98rem;color:var(--white);}
.woocommerce-checkout .kre-trip-dates__edit{flex:none;color:var(--mint);font-weight:800;font-size:.78rem;text-decoration:underline;text-underline-offset:2px;}
.woocommerce-checkout .kre-trip-dates__edit:focus-visible{outline:3px solid var(--mint);outline-offset:2px;border-radius:4px;}
.woocommerce-checkout .kre-min-nudge{display:flex;gap:.6rem;align-items:center;background:var(--mist);border:1px dashed var(--teal);border-radius:var(--r-btn);padding:.7rem .9rem;margin:0 0 1rem;font-family:var(--font-body);font-size:.88rem;color:var(--teal-ink);font-weight:700;}
.woocommerce-checkout #order_review .shop_table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0;}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{padding:.7rem 0;text-align:right;border:0;border-bottom:1px solid var(--border);color:var(--ink);vertical-align:top;}
.woocommerce-checkout #order_review .shop_table th{text-align:left;font-family:var(--font-body);font-weight:700;color:var(--teal-ink);}
.woocommerce-checkout #order_review .shop_table .product-name{text-align:left;font-family:var(--font-head);font-weight:600;color:var(--ink);}
.woocommerce-checkout #order_review .shop_table .product-name .product-quantity{color:var(--muted);font-family:var(--font-body);font-weight:600;}
.woocommerce-checkout #order_review .shop_table .product-total{font-family:var(--font-head);font-weight:600;color:var(--teal-ink);white-space:nowrap;}
.woocommerce-checkout #order_review .shop_table .product-name .wc-item-meta,
.woocommerce-checkout #order_review .shop_table .product-name dl.variation{margin:.25rem 0 0;font-family:var(--font-body);font-size:.8rem;color:var(--teal-deep);font-weight:700;}
.woocommerce-checkout #order_review .shop_table .cart-subtotal th,
.woocommerce-checkout #order_review .shop_table .woocommerce-shipping-totals th,
.woocommerce-checkout #order_review .shop_table .tax-total th{font-weight:700;color:var(--teal-ink);}
.woocommerce-checkout #order_review .shop_table .fee td{color:var(--coral-dark);font-weight:700;}
.woocommerce-checkout #order_review .shop_table .woocommerce-shipping-totals .shipping_method{display:none;}
.woocommerce-checkout #order_review .shop_table .order-total th{font-family:var(--font-head);font-size:1.1rem;color:var(--deep-sea);border-bottom:0;padding-top:1rem;}
.woocommerce-checkout #order_review .shop_table .order-total td{font-family:var(--font-head);font-size:1.5rem;font-weight:600;color:var(--teal-deep);border-bottom:0;padding-top:1rem;}
.woocommerce-checkout .kre-tax-note{margin:.15rem 0 0;font-size:.78rem;color:var(--muted);text-align:right;}
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 1rem;}
.woocommerce-checkout .checkout_coupon .form-row{display:flex;gap:.5rem;align-items:stretch;}
.woocommerce-checkout .checkout_coupon #coupon_code{flex:1;}
.woocommerce-checkout .checkout_coupon button{flex:none;background:var(--white);color:var(--teal-deep);border:1.5px solid var(--teal);border-radius:var(--r-btn);font-family:var(--font-head);font-weight:600;padding:0 1.1rem;cursor:pointer;transition:background var(--transition);}
.woocommerce-checkout .checkout_coupon button:hover{background:var(--mist);}

/* 9i) payment (step ③) */
.woocommerce-checkout #payment{background:var(--white);border:1px solid var(--border);}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0;border:0;}
.woocommerce-checkout #payment ul.payment_methods li{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-btn);padding:.85rem 1rem;margin:0 0 .6rem;transition:border-color var(--transition),box-shadow var(--transition);}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);}
.woocommerce-checkout #payment label{font-family:var(--font-head);font-weight:600;color:var(--teal-ink);}
.woocommerce-checkout #payment .payment_box{background:transparent;margin:.6rem 0 0;padding:0;}
.woocommerce-checkout #payment .payment_box::before{display:none;}
.woocommerce-checkout #payment .wc-stripe-upe-element,
.woocommerce-checkout #payment #wc-stripe-payment-element{margin-top:.5rem;}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:1rem 0;font-size:.9rem;color:var(--muted);}

/* 9j) place order — full-width coral pill */
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment .button.alt{width:100%;margin-top:1rem;display:inline-flex;align-items:center;justify-content:center;min-height:54px;background:var(--coral);color:var(--white);font-family:var(--font-head);font-size:1.1rem;font-weight:600;letter-spacing:.3px;border:0;border-radius:var(--r-pill);padding:1rem 1.25rem;cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--transition),transform var(--transition);}
.woocommerce-checkout #place_order:hover{background:var(--coral-dark);transform:translateY(-1px);}
.woocommerce-checkout #place_order:focus-visible{outline:3px solid var(--coral-dark);outline-offset:3px;}
.woocommerce-checkout #place_order:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;}

/* 9k) secure line + payment badges + trust callout (KRE_Checkout_UI::secure_badges_trust) */
.kre-secure{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:.85rem 0 0;font-family:var(--font-body);font-size:.82rem;font-weight:700;color:var(--teal-deep);}
.kre-secure svg{width:.95rem;height:.95rem;flex:none;color:var(--teal);}
.kre-pay-badges{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem;margin:.65rem 0 0;}
.kre-pay-badges .kre-badge{display:inline-flex;align-items:center;justify-content:center;height:1.6rem;min-width:2.4rem;padding:0 .5rem;background:var(--white);border:1px solid var(--border);border-radius:6px;font-family:var(--font-head);font-weight:700;font-size:.66rem;letter-spacing:.02em;color:var(--muted);box-shadow:var(--shadow-sm);}
.kre-pay-badges .kre-badge--visa{color:#1A1F71;}
.kre-pay-badges .kre-badge--mc{color:#B34701;}
.kre-pay-badges .kre-badge--amex{color:#1F72CD;}
.kre-pay-badges .kre-badge--apple,
.kre-pay-badges .kre-badge--google{color:var(--ink);}
.kre-co-callout{margin:1rem 0 0;padding:.95rem 1.1rem;background:var(--mist);border:1px solid var(--border);border-radius:var(--r-card);}
.kre-co-callout__title{display:flex;align-items:center;gap:.45rem;margin:0 0 .55rem;font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--teal-ink);}
.kre-co-callout ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem;}
.kre-co-callout li{display:flex;align-items:flex-start;gap:.5rem;font-family:var(--font-body);font-size:.84rem;line-height:1.4;color:var(--teal-deep);}
.kre-co-callout li::before{content:"✓";flex:none;font-weight:800;color:var(--teal);}

/* 9l) WC notices */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message{background:var(--mist);border-top:3px solid var(--teal);border-radius:var(--r-btn);color:var(--teal-ink);box-shadow:var(--shadow-sm);padding:1rem 1.25rem;}
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before{color:var(--teal);}
.woocommerce-checkout .woocommerce-error{background:#FEF2F2;border-top:3px solid var(--coral-dark);border-radius:var(--r-btn);color:#7F1D1D;list-style:none;padding:1rem 1.25rem;}
.woocommerce-checkout .woocommerce-error li{margin:0;}
.woocommerce-checkout .blockUI.blockOverlay{border-radius:var(--r-card);}

/* 9m) mobile — summary card above the form; sticky place-order */
@media(max-width:899px){
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{order:-1;margin-bottom:1.25rem;}
  .woocommerce-checkout #order_review{position:static;}
  .woocommerce-checkout .form-row.form-row-first,
  .woocommerce-checkout .form-row.form-row-last{width:100%;float:none;}
  .woocommerce-checkout #place_order{position:sticky;bottom:.5rem;z-index:5;}
  .kre-co-top{flex-direction:column;gap:.4rem;align-items:flex-start;}
}

/* 9n) reduced motion */
@media (prefers-reduced-motion:reduce){
  .woocommerce-checkout *{transition:none!important;}
  .woocommerce-checkout #place_order:hover{transform:none;}
}


/* ===========================================================================
   10) RENTALS CATALOG PAGE  ([kiddos_rentals] — port of page-rentals.php)
       Scoped to .kre-rentals-page so it stands alone on the shortcode page.
       The engine already skins .product-card/.product-img/.product-name/
       .product-area/.product-price/.in-stock-pill/.btn-coral/.kre-daterange
       (sections 0-1); this only adds page chrome + exact-match sizing.
   =========================================================================== */
.kre-rentals-page{font-family:var(--font-body);color:var(--ink);background:var(--mist);}
.kre-rentals-page .container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px;}

/* Section typography (ported from theme.css .section-label/.section-title/.section-sub) */
.kre-rentals-page .section-label{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep);display:block;margin-bottom:8px;}
.kre-rentals-page .section-title{font-family:var(--font-head);font-size:clamp(28px,4vw,42px);font-weight:600;color:var(--teal-ink);line-height:1.2;margin:0;}
.kre-rentals-page .section-sub{font-size:17px;color:var(--muted);max-width:560px;margin-top:10px;}

/* Page head (ported from page-rentals.php inline <style>) */
.kre-rentals-page .page-head{background:linear-gradient(160deg,#E8F8F2 0%,var(--sand) 100%);padding:50px 0 36px;}
.kre-rentals-page .breadcrumb{font-size:13px;color:var(--muted);margin-bottom:16px;}
.kre-rentals-page .breadcrumb a{color:var(--teal-deep);}

/* Filters card (was .filters w/ Booqable datepicker; now wraps the §0 .kre-daterange) */
.kre-rentals-page .filters{background:#fff;border-radius:16px;padding:18px;box-shadow:var(--shadow-sm);margin-top:26px;max-width:520px;}
.kre-rentals-page .filters>label{display:block;font-size:12px;font-weight:700;color:var(--teal-ink);margin-bottom:8px;}
.kre-rentals-page .filters .kre-daterange{margin:0;}
.kre-rentals-page .kre-daterange__hint{margin:10px 0 0;font-size:12px;color:var(--muted);}
.kre-rentals-page .kre-daterange__hint.is-loading{color:var(--muted);}
.kre-rentals-page .kre-daterange__hint.is-ok{color:var(--teal-deep);}
.kre-rentals-page .kre-daterange__hint.is-warn{color:var(--coral-dark);}

/* Category chips (ported from .cat-chips/.cat-chip) */
.kre-rentals-page .cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.kre-rentals-page .cat-chip{font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--teal-ink);cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition);}
.kre-rentals-page .cat-chip:hover{border-color:var(--teal);background:var(--mist);}
.kre-rentals-page .cat-chip.active{background:var(--teal-ink);color:#fff;border-color:var(--teal-ink);}

/* List section + toolbar (ported from the inline section + .cat-toolbar) */
.kre-rentals-page .rentals-list-section{padding:44px 0 72px;background:var(--mist);}
.kre-rentals-page .cat-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:var(--muted);font-size:14px;flex-wrap:wrap;gap:10px;}
.kre-rentals-page .cat-toolbar .cat-count{color:var(--teal-ink);}

/* Products grid (ported from .products-grid: 2-up mobile, 4-up >=768) */
.kre-rentals-page .products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px;}
@media (min-width:768px){.kre-rentals-page .products-grid{grid-template-columns:repeat(4,1fr);}}

/* Card image height + padding to match the original (engine card skin handles the rest) */
.kre-rentals-page .product-card{border:none;}
.kre-rentals-page .product-card .product-img{height:210px;display:flex;align-items:center;justify-content:center;background:#F6FCFA;}
.kre-rentals-page .product-card .product-img img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;padding:14px;}
@media (min-width:768px){.kre-rentals-page .product-card .product-img{height:230px;}}
.kre-rentals-page .product-card .product-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:8px;}
.kre-rentals-page .product-card .product-meta{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.kre-rentals-page .product-card .product-name{font-size:16px;}
.kre-rentals-page .product-card .product-area{font-size:12px;}
.kre-rentals-page .product-card .product-price{font-size:20px;}
.kre-rentals-page .product-card .product-price .per{font-size:13px;font-weight:400;color:var(--muted);}
.kre-rentals-page .product-card .product-minimum{font-size:11px;color:var(--muted);margin-top:-4px;}
.kre-rentals-page .product-card .product-minimum::before{content:none;} /* drop the engine's "·" prefix to match original */
.kre-rentals-page .product-card .btn{width:100%;justify-content:center;font-size:14px;padding:11px 18px;margin-top:auto;border-radius:var(--r-btn);}
.kre-rentals-page .product-card .product-img.kqv-trigger{cursor:pointer;}
.kre-rentals-page .product-card .product-img.kqv-trigger:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;}
/* Original theme's exact in-stock green (vs the engine's mint default) for pixel parity */
.kre-rentals-page .in-stock-pill.is-available{background:#DCFCE7;color:#166534;}

/* "Good to know" notes (ported from .rentals-notes/.notes-list/.note-item/.note-dot) */
.kre-rentals-page .rentals-notes{padding:52px 0 72px;background:#fff;}
.kre-rentals-page .rentals-notes .notes-inner{max-width:760px;margin:0 auto;}
.kre-rentals-page .rentals-notes .section-label{text-align:center;margin-bottom:14px;}
.kre-rentals-page .rentals-areas{font-size:16px;line-height:1.65;color:var(--teal-ink);text-align:center;margin:0 auto 30px;max-width:680px;}
.kre-rentals-page .notes-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.kre-rentals-page .note-item{display:flex;gap:12px;align-items:flex-start;background:var(--mist);border:1px solid var(--border);border-radius:14px;padding:14px 18px;font-size:14.5px;line-height:1.55;color:var(--muted);}
.kre-rentals-page .note-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--teal-deep);margin-top:7px;}

/* ===========================================================================
   11) QUICK-VIEW LIGHTBOX (.kqv) — "View & Rent" modal (parity with theme .kqv)
       NOT scoped to .kre-rentals-page: the modal prints in the footer site-wide
       (works from the catalog AND the WC shop loop). z-index sits just below the
       drawer (launcher 8000 / kqv 8500-8502 / drawer backdrop 9000 / drawer 9001)
       so the drawer always wins after an add — the lightbox is closed first anyway.
   =========================================================================== */
.product-card .product-img.kqv-trigger,.woocommerce ul.products li.product .product-img.kqv-trigger{cursor:pointer;}
.product-card .product-img.kqv-trigger:focus-visible{outline:3px solid var(--teal);outline-offset:-3px;}

.kqv{position:fixed;inset:0;z-index:8500;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.kqv.is-open{display:block;}
.kqv-backdrop{position:fixed;inset:0;background:rgba(10,63,82,.55);}
.kqv-panel{position:relative;z-index:8501;max-width:820px;margin:4vh auto;background:var(--white);border-radius:18px;box-shadow:var(--shadow-lg);padding:28px;}
.kqv-close{position:fixed;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:var(--white);color:var(--teal-ink);font-size:26px;line-height:40px;text-align:center;cursor:pointer;box-shadow:var(--shadow-md);z-index:8502;}
.kqv-close:hover{background:var(--mint);}
.kqv-close:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}
.kqv-body{min-height:120px;}
.kqv-loading,.kqv-error{display:flex;align-items:center;justify-content:center;min-height:160px;font-family:var(--font-body);color:var(--muted);text-align:center;padding:24px;}
.kqv-error{color:var(--coral-dark);}

/* --- Quick-view product layout: image left, booking right; stacks on mobile --- */
.kqv-product{display:grid;grid-template-columns:1fr;gap:22px;}
.kqv-media{background:#F6FCFA;border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;}
.kqv-img{width:100%;height:auto;max-height:340px;object-fit:contain;padding:18px;display:block;}
.kqv-thumbs{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 14px;justify-content:center;}
.kqv-thumb{flex:none;width:56px;height:56px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(10,84,70,.10);transition:border-color var(--transition);}
.kqv-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.kqv-thumb:hover{border-color:var(--mint);}
.kqv-thumb.is-active{border-color:var(--teal);}
.kqv-thumb:focus-visible{outline:3px solid var(--mint);outline-offset:1px;}
.kqv-info{display:flex;flex-direction:column;}
.kqv-eyebrow{font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep);}
.kqv-title{font-family:var(--font-head);font-weight:600;font-size:1.45rem;line-height:1.2;color:var(--teal-ink);margin:4px 0 8px;}
.kqv-area{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:.85rem;color:var(--muted);}
.kqv-area svg{color:var(--teal);flex:none;}
.kqv-price{font-family:var(--font-head);font-weight:700;font-size:1.4rem;color:var(--teal-deep);margin:12px 0 0;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;}
.kqv-price span{font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--muted);}
.kqv-price small{font-family:var(--font-body);font-size:.78rem;font-weight:600;color:var(--muted);flex-basis:100%;}
.kqv-desc{font-family:var(--font-body);font-size:.92rem;line-height:1.6;color:var(--ink);margin:14px 0 0;}
.kqv-desc p{margin:0 0 8px;}

.kqv-booking{margin-top:18px;padding-top:18px;border-top:1px dashed var(--border);}
.kqv-quote{min-height:1.2em;}
.kqv-quote.is-ok{color:var(--teal-deep);}
.kqv-quote.is-checking{color:var(--muted);}
.kqv-quote .kre-ok{color:var(--teal);font-weight:700;}
.kqv-quote .kre-x{color:var(--coral-dark);font-weight:700;}

.kqv-actions{display:flex;align-items:flex-end;gap:12px;margin-top:16px;}
.kqv-qty{display:flex;flex-direction:column;gap:5px;flex:none;}
.kqv-qty label{font-family:var(--font-head);font-weight:600;font-size:.8rem;color:var(--teal-ink);}
.kqv-qty-input{font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-btn);padding:11px 12px;width:74px;min-height:46px;text-align:center;}
.kqv-qty-input:focus-visible{outline:3px solid var(--mint);outline-offset:1px;border-color:var(--teal);}
.kqv-add{flex:1;gap:8px;}
.kqv-add.is-disabled,.kqv-add:disabled{background:var(--sand);color:var(--muted);cursor:not-allowed;transform:none;}
.kqv-add.is-busy{opacity:.75;cursor:progress;}
.kqv-fulllink{display:inline-block;margin-top:12px;font-family:var(--font-body);font-size:.82rem;color:var(--teal-deep);text-decoration:underline;}

@media (min-width:680px){
  .kqv-product{grid-template-columns:minmax(0,42%) minmax(0,1fr);align-items:start;}
  .kqv-img{max-height:420px;}
}
@media (max-width:600px){
  .kqv-panel{margin:0;min-height:100%;border-radius:0;padding:20px 16px 48px;}
  .kqv-actions{flex-wrap:wrap;}
  .kqv-add{flex:1 1 100%;}
}

/* Date-range picker on phones: keep Drop-off and Pick-up SIDE BY SIDE with the
   → centred between them. Uses a GRID so the two columns are exactly equal and
   CANNOT overflow — minmax(0,1fr) lets the native date input shrink below its
   intrinsic width (the real cause of the boxes being "too wide" and the arrow
   breaking out of the card on iOS). The middle track is just the arrow glyph. */
@media (max-width:600px){
  .kre-daterange{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:6px;}
  /* overflow:hidden guarantees a field can NEVER spill over the centre arrow track,
     even if iOS refuses to shrink the native date control below its content. */
  .kre-daterange .kre-field{min-width:0;overflow:hidden;}
  .kre-daterange .kre-field label{font-size:.72rem;}
  /* smaller font + tight padding = narrower intrinsic width, so the two date
     controls actually fit side by side with clear space for the arrow. */
  .kre-daterange .kre-field input{width:100%;min-width:0;font-size:.8rem;padding:9px 7px;min-height:42px;}
  .kre-daterange .kre-field input::-webkit-calendar-picker-indicator{padding:0;margin-left:2px;}
  .kre-daterange .kre-arrow{min-height:42px;align-self:end;font-size:1.05rem;}
}

/* ===========================================================================
   10) CHECKOUT POLISH — cart-parity order review (thumbnails), clean trip/trust
        bands, coupon + misc fixes. Appended last so it wins the cascade.
   =========================================================================== */

/* The floating "Your Trip" drawer launcher is redundant on checkout + overlapped
   the summary — hide it here. */
body.woocommerce-checkout .kt-launcher,
body.woocommerce-checkout .kt-launcher.is-visible{display:none!important;}

/* Top bands (above the 2-col grid): title, dates, trust — all full width */
.woocommerce-checkout .kre-co-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;max-width:1120px;margin:0 auto .25rem;padding-inline:1rem;}
.woocommerce-checkout .kre-co-top__title{font-family:var(--font-head);font-size:clamp(26px,5vw,34px);font-weight:700;color:var(--teal-deep);margin:0;}
.woocommerce-checkout .kre-co-top__back{font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--teal);text-decoration:none;}
.woocommerce-checkout .kre-co-top__back:hover{color:var(--teal-deep);text-decoration:underline;}

/* Rental-dates band */
.woocommerce-checkout .kre-cotrip{display:flex;align-items:center;gap:.8rem;max-width:1120px;margin:.5rem auto;padding:.9rem 1.1rem;background:var(--teal-ink);color:var(--white);border-radius:var(--r-card);box-shadow:var(--shadow-sm);}
.woocommerce-checkout .kre-cotrip .kre-i-cal{color:var(--mint);font-size:1.5rem;flex:none;}
.woocommerce-checkout .kre-cotrip__body{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;}
.woocommerce-checkout .kre-cotrip__label{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mint);font-weight:800;}
.woocommerce-checkout .kre-cotrip__range{font-family:var(--font-head);font-size:1.05rem;font-weight:600;}
.woocommerce-checkout .kre-cotrip__days{color:var(--mint);font-weight:500;}
.woocommerce-checkout .kre-cotrip__edit{flex:none;color:var(--mint);font-weight:800;font-size:.82rem;text-decoration:underline;text-underline-offset:2px;}
.woocommerce-checkout .kre-cotrip__edit:hover{color:var(--white);}

/* Trust strip — SVG icons, single clean pill (replaces the emoji strip) */
.woocommerce-checkout .kre-cotrust{display:flex;flex-wrap:wrap;gap:.45rem 1.75rem;align-items:center;justify-content:center;max-width:1120px;margin:.5rem auto 1.25rem;padding:.7rem 1.1rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);}
.woocommerce-checkout .kre-cotrust__item{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;color:var(--teal-deep);}
.woocommerce-checkout .kre-cotrust__item .kre-i-truck,.woocommerce-checkout .kre-cotrust__item .kre-i-check,.woocommerce-checkout .kre-cotrust__item .kre-i-lock{color:var(--teal);font-size:1.1rem;}

/* Order review — product rows with thumbnails (fixes the cramped, image-less list) */
.woocommerce-checkout .kre-review{width:100%;table-layout:fixed;}
/* Fixed 60/40 columns so long shipping descriptions can't squeeze the item name */
.woocommerce-checkout .kre-review thead .product-name,.woocommerce-checkout .kre-review tbody .product-name,.woocommerce-checkout .kre-review tfoot th{width:60%;}
.woocommerce-checkout .kre-review thead .product-total,.woocommerce-checkout .kre-review tbody .product-total,.woocommerce-checkout .kre-review tfoot td{width:40%;}
.woocommerce-checkout .kre-review__name{overflow-wrap:anywhere;}
/* Delivery methods span the full card width (out of the 2-column grid) */
.woocommerce-checkout .kre-review .woocommerce-shipping-totals{display:block;width:100%;}
.woocommerce-checkout .kre-review .woocommerce-shipping-totals th{display:block;width:auto;text-align:left;border-top:1px solid var(--border);color:var(--teal-ink);font-weight:700;padding:.75rem 0 .5rem;}
.woocommerce-checkout .kre-review .woocommerce-shipping-totals td{display:block;width:auto;border:0;padding:0 0 .5rem;}
.woocommerce-checkout .kre-review thead th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800;padding-bottom:.5rem;}
.woocommerce-checkout .kre-review tbody .cart_item td{padding:.7rem 0;border-bottom:1px solid var(--border);vertical-align:middle;}
.woocommerce-checkout .kre-review .product-total{text-align:right;font-family:var(--font-head);font-weight:700;color:var(--ink);white-space:nowrap;}
.kre-review__item{display:flex;gap:.75rem;align-items:center;text-align:left;}
.kre-review__thumb{flex:0 0 auto;width:54px;height:54px;border-radius:10px;overflow:hidden;background:#E1F5EE;}
.kre-review__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.kre-review__body{min-width:0;display:flex;flex-direction:column;gap:2px;}
.kre-review__name{font-family:var(--font-head);font-weight:600;color:var(--ink);font-size:.95rem;line-height:1.25;}
.kre-review__qty{color:var(--muted);font-weight:600;white-space:nowrap;}
.woocommerce-checkout .kre-review .product-name .wc-item-meta,
.woocommerce-checkout .kre-review .product-name .variation{margin:.2rem 0 0;padding:0;font-size:.76rem;color:var(--teal-deep);font-weight:600;line-height:1.35;list-style:none;}
.woocommerce-checkout .kre-review .product-name .wc-item-meta li,
.woocommerce-checkout .kre-review .product-name .variation dt,
.woocommerce-checkout .kre-review .product-name .variation dd{margin:0;display:inline;font-weight:600;}
.woocommerce-checkout .kre-review .product-name .wc-item-meta li strong{font-weight:700;}
/* totals rows */
.woocommerce-checkout .kre-review tfoot th{text-align:left;font-weight:700;color:var(--teal-ink);padding:.55rem 0;border-top:1px solid var(--border);}
.woocommerce-checkout .kre-review tfoot td{text-align:right;padding:.55rem 0;border-top:1px solid var(--border);color:var(--ink);}
.woocommerce-checkout .kre-review .fee th,.woocommerce-checkout .kre-review .fee td{color:var(--coral-dark);font-weight:700;}
.woocommerce-checkout .kre-review .order-total th{font-size:1.05rem;border-top:2px solid var(--teal-ink);}
.woocommerce-checkout .kre-review .order-total td{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--teal-deep);border-top:2px solid var(--teal-ink);}

/* Coupon + login toggles: clear the info icon so the first letter isn't clipped,
   and make both blocks read identically. The login toggle previously fell back to
   the base .woocommerce-info layout, so its icon overlapped the "R" in "Returning". */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{position:relative;padding:.9rem 1rem .9rem 2.75rem;margin:0;line-height:1.45;}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before{left:1rem;top:50%;transform:translateY(-50%);}

/* Payment card-on-file note — softer, on-brand */
.woocommerce-checkout #payment .payment_box{color:var(--muted);font-size:.86rem;}
.woocommerce-checkout #order_review_heading{margin-top:0;}

/* The theme floats #place_order right, which collapsed the reassurance line to
   0-width beside it — force the button + all after-submit content to stack. */
.woocommerce-checkout #payment .form-row.place-order{overflow:hidden;}
.woocommerce-checkout #payment #place_order{float:none;}
.woocommerce-checkout #payment .kre-secure,
.woocommerce-checkout #payment .kre-pay-badges,
.woocommerce-checkout #payment .kre-co-callout{clear:both;float:none;width:100%;}

/* Review item meta ("Rental dates", "Availability") — one readable line each. */
.woocommerce-checkout .kre-review .product-name .wc-item-meta li{display:block;margin:1px 0;}
.woocommerce-checkout .kre-review .product-name .variation dt{display:inline;font-weight:700;}
.woocommerce-checkout .kre-review .product-name .variation dt::after{content:"\00a0";}
.woocommerce-checkout .kre-review .product-name .variation dd{display:inline;margin:0;}
.woocommerce-checkout .kre-review .product-name .variation dd p{display:inline;margin:0;}
.woocommerce-checkout .kre-review .product-name .variation dd::after{content:"";display:block;}

/* --- Review refinements: drop the table's own border box (it hugged the thumb),
   remove the stray "Shipment" label, and compress the delivery-method cards. --- */
.woocommerce-checkout table.shop_table.kre-review{border:0;border-radius:0;}
.woocommerce-checkout .kre-review thead th{border-bottom:1px solid var(--border);}
/* No section label above the delivery cards ("Shipment" reads random here) */
.woocommerce-checkout .kre-review .woocommerce-shipping-totals th{display:none;}
.woocommerce-checkout .kre-review .woocommerce-shipping-totals td{border-top:0;padding:.35rem 0 .5rem;}
/* Compact, left-aligned delivery-method cards */
.woocommerce-checkout .kre-review ul#shipping_method,
.woocommerce-checkout .kre-review ul.woocommerce-shipping-methods{margin:0;padding:0;list-style:none;}
.woocommerce-checkout .kre-review ul#shipping_method li,
.woocommerce-checkout .kre-review ul.woocommerce-shipping-methods li{position:relative;margin:0 0 .45rem;padding:.5rem .65rem .5rem 1.95rem;border:1.5px solid var(--border);border-radius:var(--r-btn);text-align:left;list-style:none;background:var(--white);box-shadow:none;transition:border-color var(--transition),background var(--transition);}
.woocommerce-checkout .kre-review ul#shipping_method li:last-child,
.woocommerce-checkout .kre-review ul.woocommerce-shipping-methods li:last-child{margin-bottom:0;}
.woocommerce-checkout .kre-review ul#shipping_method li:has(input:checked),
.woocommerce-checkout .kre-review ul.woocommerce-shipping-methods li:has(input:checked){border-color:var(--teal);background:var(--mist);box-shadow:0 0 0 1px var(--teal);}
.woocommerce-checkout .kre-review #shipping_method input[type="radio"]{position:absolute;top:.62rem;left:.6rem;width:1rem;height:1rem;margin:0;}
.woocommerce-checkout .kre-review #shipping_method label{display:block;margin:0;padding:0;text-align:left;font-family:var(--font-body);font-weight:700;font-size:.85rem;line-height:1.3;color:var(--teal-ink);}
.woocommerce-checkout .kre-review #shipping_method label .woocommerce-Price-amount{float:none;color:var(--teal-deep);font-family:var(--font-head);}
.woocommerce-checkout .kre-review .kre-zone-desc{display:block;margin-top:2px;padding:0;font-weight:400;font-size:.72rem;line-height:1.35;color:var(--muted);}
.woocommerce-checkout .kre-review #shipping_method li:has(input:checked) label::after,
.woocommerce-checkout .kre-review #shipping_method li.selected label::after{content:"✓ Selected";display:inline-block;margin-left:.4rem;font-size:.66rem;font-weight:800;color:var(--teal);}
/* --- De-tableify the review: rows become full-width flex, so nothing is stuck
   in a fixed table column (this is what finally lets the delivery cards + totals
   fill the card width). Keeps the <table> markup WC needs for its shipping AJAX. --- */
.woocommerce-checkout .kre-review,
.woocommerce-checkout .kre-review tbody,
.woocommerce-checkout .kre-review tfoot,
.woocommerce-checkout .kre-review tr,
.woocommerce-checkout .kre-review td,
.woocommerce-checkout .kre-review th{display:block;width:auto;}
.woocommerce-checkout .kre-review thead{display:none;}
/* Separators are drawn by the flex ROWS below — zero every cell border so we
   don't get half-width underlines under individual th/td. */
.woocommerce-checkout .kre-review th,.woocommerce-checkout .kre-review td{border:0 !important;}
/* item rows */
.woocommerce-checkout .kre-review tbody .cart_item{display:flex;align-items:center;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--border);}
.woocommerce-checkout .kre-review tbody .cart_item .product-name{flex:1;min-width:0;padding:0;border:0;}
.woocommerce-checkout .kre-review tbody .cart_item .product-total{flex:none;padding:0;border:0;text-align:right;font-family:var(--font-head);font-weight:700;color:var(--ink);}
/* totals rows as label/value flex lines */
.woocommerce-checkout .kre-review tfoot .cart-subtotal,
.woocommerce-checkout .kre-review tfoot .fee,
.woocommerce-checkout .kre-review tfoot .cart-discount,
.woocommerce-checkout .kre-review tfoot .tax-rate,
.woocommerce-checkout .kre-review tfoot .tax-total,
.woocommerce-checkout .kre-review tfoot .order-total{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--border);}
.woocommerce-checkout .kre-review tfoot th{padding:0;border:0;text-align:left;}
.woocommerce-checkout .kre-review tfoot td{padding:0;border:0;text-align:right;}
.woocommerce-checkout .kre-review tfoot .order-total{border-top:2px solid var(--teal-ink);padding-top:.7rem;margin-top:.15rem;}
.woocommerce-checkout .kre-review tfoot .order-total td{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--teal-deep);}
/* shipping row: full-width block, no label, cards fill the width */
.woocommerce-checkout .kre-review tfoot .woocommerce-shipping-totals{display:block;border-top:0;padding:.3rem 0 .45rem;}
.woocommerce-checkout .kre-review tfoot .woocommerce-shipping-totals th{display:none;}
.woocommerce-checkout .kre-review tfoot .woocommerce-shipping-totals td{display:block;width:100%;text-align:left;}
.woocommerce-checkout .kre-review ul#shipping_method,
.woocommerce-checkout .kre-review ul.woocommerce-shipping-methods{display:block;width:100%;box-sizing:border-box;}
.woocommerce-checkout .kre-review ul#shipping_method li,
.woocommerce-checkout .kre-review ul.woocommerce-shipping-methods li{width:100%;box-sizing:border-box;}

/* ===========================================================================
   11) PAYMENT — on-brand card field (never purple), clean + simple.
   =========================================================================== */
/* Replace the theme's lavender payment_box + its arrow with a soft mist card. */
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout #payment .payment_box{
  background:var(--mist)!important;border:1px solid var(--border)!important;
  border-radius:var(--r-btn)!important;box-shadow:none!important;color:var(--ink)!important;
  margin:.7rem 0 0!important;padding:1rem 1.05rem!important;
}
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout #payment .payment_box::before{display:none!important;content:none!important;}
.woocommerce-checkout #payment .payment_box p{margin:0 0 .7rem;color:var(--muted);font-size:.86rem;line-height:1.5;}
.woocommerce-checkout #payment .payment_box p:last-child{margin-bottom:0;}
/* Payment-method row: radio + label inline, on-brand selected state */
.woocommerce-checkout #payment ul.payment_methods li{padding:.9rem 1rem;}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline-flex;align-items:center;gap:.5rem;margin:0;}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{accent-color:var(--teal);}
/* Stripe Card Element styled like our text inputs (white field, teal focus) */
.woocommerce-checkout .kre-stripe-fields{margin-top:.35rem;}
.woocommerce-checkout #kre-card-element{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-btn);padding:.85rem .9rem;min-height:46px;transition:border-color var(--transition),box-shadow var(--transition);}
.woocommerce-checkout #kre-card-element.StripeElement--focus,
.woocommerce-checkout #kre-card-element:focus-within{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);outline:none;}
.woocommerce-checkout #kre-card-element.StripeElement--invalid{border-color:var(--coral-dark);}
.woocommerce-checkout #kre-card-errors{color:var(--coral-dark);font-size:.82rem;margin-top:.45rem;min-height:1em;}

/* ===========================================================================
   12) ADDRESS AUTOCOMPLETE — Florida-only suggestion dropdown.
   =========================================================================== */
.kre-ac-list{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;
  margin:0;padding:4px;list-style:none;
  background:var(--white);border:1px solid var(--border);border-radius:var(--r-card);
  box-shadow:0 10px 30px rgba(31,45,47,.14);max-height:264px;overflow-y:auto;
}
.kre-ac-item{
  padding:9px 12px;border-radius:var(--r-btn);font-size:.9rem;line-height:1.35;
  color:var(--ink);cursor:pointer;transition:background var(--transition),color var(--transition);
}
.kre-ac-item:hover,.kre-ac-item.is-active{background:var(--mint);color:var(--teal-ink);}
.kre-ac-empty{padding:9px 12px;font-size:.82rem;color:var(--muted);}

/* ===========================================================================
   13) LOCKED delivery region — the DELIVERY (shipping) Country + State are fixed
   to US / Florida (single-option selects, non-editable); this just makes that
   visually obvious. Billing country/state stay EDITABLE (out-of-state customers),
   so they are intentionally NOT styled here. pointer-events:none (NOT disabled —
   disabled wouldn't POST).
   =========================================================================== */
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #shipping_state_field{position:relative;}
.woocommerce-checkout #shipping_country_field .select2-container,
.woocommerce-checkout #shipping_state_field .select2-container,
.woocommerce-checkout select#shipping_country,
.woocommerce-checkout select#shipping_state{pointer-events:none;}
.woocommerce-checkout #shipping_country_field .select2-selection,
.woocommerce-checkout #shipping_state_field .select2-selection,
.woocommerce-checkout select#shipping_country,
.woocommerce-checkout select#shipping_state{
  background:var(--mist)!important;color:var(--teal-ink)!important;cursor:not-allowed;
}
.woocommerce-checkout #shipping_country_field .select2-selection__arrow,
.woocommerce-checkout #shipping_state_field .select2-selection__arrow{display:none;}

