/* Jet Splash Holidays - classic WooCommerce Cart / Checkout skin.
   Styling only: scoped to body.woocommerce-cart and body.woocommerce-checkout.
   No native selectors hidden, no table display overrides (keeps WC responsive data-title behaviour). */

body.woocommerce-cart,body.woocommerce-checkout{
  --jc-teal:#087F8C;--jc-aqua:#27C7C4;--jc-orange:#FF8A32;--jc-orange-d:#E9701A;--jc-cream:#FFF9F2;--jc-navy:#08354A;
  --jc-muted:#4c6b78;--jc-line:rgba(8,53,74,.12);--jc-panel:#fffdfa;--jc-r:16px;--jc-shadow:0 14px 34px -22px rgba(8,53,74,.45);
  background:var(--jc-cream)}

/* wider content column than regular pages, still within the theme wrapper */
body.woocommerce-cart .entry-content,body.woocommerce-checkout .entry-content{max-width:1180px;padding-left:clamp(14px,3vw,28px);padding-right:clamp(14px,3vw,28px)}
body.woocommerce-cart .woocommerce,body.woocommerce-checkout .woocommerce{color:var(--jc-navy);font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.55;min-width:0;max-width:100%}
body.woocommerce-cart .woocommerce *,body.woocommerce-checkout .woocommerce *{box-sizing:border-box}
body.woocommerce-cart .woocommerce a:not(.button),body.woocommerce-checkout .woocommerce a:not(.button){color:var(--jc-teal);font-weight:600;text-underline-offset:3px}
body.woocommerce-cart .woocommerce a:not(.button):hover,body.woocommerce-checkout .woocommerce a:not(.button):hover{color:var(--jc-orange-d)}
body.woocommerce-cart .woocommerce :focus-visible,body.woocommerce-checkout .woocommerce :focus-visible{outline:3px solid var(--jc-aqua);outline-offset:2px}
body.woocommerce-cart .woocommerce h2,body.woocommerce-cart .woocommerce h3,body.woocommerce-checkout .woocommerce h2,body.woocommerce-checkout .woocommerce h3{color:var(--jc-navy);font-weight:800;letter-spacing:-.015em;font-family:inherit}
body.woocommerce-checkout .woocommerce h3{font-size:20px;margin:0 0 14px}

/* ---------- buttons ---------- */
@media(max-width:767px){
  body.woocommerce-cart .woocommerce table.cart td.product-thumbnail{display:block;text-align:left!important}
  body.woocommerce-cart .woocommerce table.cart td.product-thumbnail::before{display:none}
}

body.woocommerce-cart .woocommerce .button,body.woocommerce-checkout .woocommerce .button,
body.woocommerce-cart .woocommerce a.button,body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-cart .woocommerce button.button,body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-cart .woocommerce input.button,body.woocommerce-checkout .woocommerce input.button{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border:2px solid var(--jc-teal);border-radius:999px;
  background:#fff;color:var(--jc-teal);font:inherit;font-weight:700;font-size:14.5px;line-height:1.2;text-decoration:none;text-shadow:none;box-shadow:none;cursor:pointer;
  transition:background-color .2s,color .2s,border-color .2s,transform .2s}
body.woocommerce-cart .woocommerce .button:hover,body.woocommerce-checkout .woocommerce .button:hover{background:var(--jc-teal);border-color:var(--jc-teal);color:#fff;transform:translateY(-1px)}
body.woocommerce-cart .woocommerce .button:focus-visible,body.woocommerce-checkout .woocommerce .button:focus-visible{outline:3px solid var(--jc-aqua);outline-offset:2px}
/* primary: proceed, place order, apply coupon */
body.woocommerce-cart .woocommerce .button.alt,body.woocommerce-checkout .woocommerce .button.alt,
body.woocommerce-cart .woocommerce a.button.alt,body.woocommerce-checkout .woocommerce button.button.alt,
body.woocommerce-cart .woocommerce .checkout-button,body.woocommerce-checkout .woocommerce #place_order,
body.woocommerce-cart .woocommerce .coupon .button,body.woocommerce-checkout .woocommerce .checkout_coupon .button{
  background:var(--jc-orange);border-color:var(--jc-orange);color:#fff;box-shadow:0 12px 22px -14px rgba(255,138,50,.95)}
body.woocommerce-cart .woocommerce .button.alt:hover,body.woocommerce-checkout .woocommerce .button.alt:hover,
body.woocommerce-cart .woocommerce .checkout-button:hover,body.woocommerce-checkout .woocommerce #place_order:hover,
body.woocommerce-cart .woocommerce .coupon .button:hover,body.woocommerce-checkout .woocommerce .checkout_coupon .button:hover{
  background:var(--jc-orange-d);border-color:var(--jc-orange-d);color:#fff}
body.woocommerce-cart .woocommerce .button:disabled,body.woocommerce-cart .woocommerce .button.disabled,body.woocommerce-cart .woocommerce .button:disabled[disabled],
body.woocommerce-checkout .woocommerce .button:disabled,body.woocommerce-checkout .woocommerce .button.disabled{opacity:.55;cursor:not-allowed;transform:none;padding:10px 22px}
body.woocommerce-cart .woocommerce .button.loading,body.woocommerce-checkout .woocommerce .button.loading{opacity:.7}
body.woocommerce-cart .woocommerce .checkout-button,body.woocommerce-checkout .woocommerce #place_order{width:100%;min-height:54px;font-size:16px}

/* ---------- notices ---------- */
body.woocommerce-cart .woocommerce-message,body.woocommerce-cart .woocommerce-info,body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,body.woocommerce-checkout .woocommerce-info,body.woocommerce-checkout .woocommerce-error,
body.woocommerce-cart .wc-block-components-notice-banner,body.woocommerce-checkout .wc-block-components-notice-banner{
  margin:0 0 18px;padding:14px 18px 14px 48px;border:0;border-left:4px solid var(--jc-teal);border-radius:12px;background:#e4f8f6;color:#055a63;font-weight:600;overflow-wrap:anywhere}
body.woocommerce-cart .woocommerce-message::before,body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,body.woocommerce-checkout .woocommerce-info::before{color:var(--jc-teal);top:14px;left:18px}
body.woocommerce-cart .woocommerce-info,body.woocommerce-checkout .woocommerce-info{background:#fff;border-left-color:var(--jc-aqua);color:var(--jc-navy)}
body.woocommerce-cart .woocommerce-error,body.woocommerce-checkout .woocommerce-error{background:#fff1e6;border-left-color:#c2410c;color:#8a2d06}
body.woocommerce-cart .woocommerce-error::before,body.woocommerce-checkout .woocommerce-error::before{color:#c2410c;top:14px;left:18px}
body.woocommerce-cart .woocommerce-error li,body.woocommerce-checkout .woocommerce-error li{margin:0}
body.woocommerce-cart .woocommerce-message .button,body.woocommerce-checkout .woocommerce-message .button,
body.woocommerce-cart .woocommerce-info .button,body.woocommerce-checkout .woocommerce-info .button{float:right;min-height:36px;padding:6px 14px;margin-left:12px;font-size:13px}
body.woocommerce-checkout .woocommerce-info a.showcoupon,body.woocommerce-checkout .woocommerce-info a.showlogin{color:var(--jc-teal)}

/* ---------- empty cart ---------- */
body.woocommerce-cart .cart-empty.woocommerce-info{margin:8px 0 18px;padding:clamp(28px,6vw,52px) 20px;border:2px dashed rgba(8,127,140,.3);border-left:2px dashed rgba(8,127,140,.3);border-radius:var(--jc-r);background:#fff;text-align:center;font-size:18px;font-weight:800;color:var(--jc-navy)}
body.woocommerce-cart .cart-empty.woocommerce-info::before{display:none}
body.woocommerce-cart .return-to-shop{text-align:center;margin:0 0 30px}
body.woocommerce-cart .return-to-shop .button{background:var(--jc-orange);border-color:var(--jc-orange);color:#fff}
body.woocommerce-cart .return-to-shop .button:hover{background:var(--jc-orange-d);border-color:var(--jc-orange-d)}

/* ---------- tables (shared) ---------- */
body.woocommerce-cart .woocommerce table.shop_table,body.woocommerce-checkout .woocommerce table.shop_table{
  width:100%;margin:0 0 22px;border:1px solid var(--jc-line);border-radius:var(--jc-r);border-collapse:separate;border-spacing:0;background:var(--jc-panel);box-shadow:var(--jc-shadow);overflow:hidden}
body.woocommerce-cart .woocommerce table.shop_table th,body.woocommerce-checkout .woocommerce table.shop_table th{padding:14px 16px;color:var(--jc-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-color:var(--jc-line)}
body.woocommerce-cart .woocommerce table.shop_table td,body.woocommerce-checkout .woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--jc-line);vertical-align:middle;color:var(--jc-navy);overflow-wrap:anywhere}
body.woocommerce-cart .woocommerce table.shop_table thead th,body.woocommerce-checkout .woocommerce table.shop_table thead th{background:rgba(39,199,196,.08);border-bottom:2px solid var(--jc-line)}
body.woocommerce-cart .woocommerce table.shop_table .amount,body.woocommerce-checkout .woocommerce table.shop_table .amount{font-weight:700;white-space:nowrap}

/* cart rows */
body.woocommerce-cart table.cart td.product-remove{width:44px}
body.woocommerce-cart table.cart a.remove{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#a12c1b!important;font-size:20px;font-weight:600;line-height:1;background:#fff1e6;border:1px solid rgba(161,44,27,.2)}
body.woocommerce-cart table.cart a.remove:hover{background:#a12c1b;color:#fff!important}
body.woocommerce-cart table.cart td.product-thumbnail{width:120px}
body.woocommerce-cart table.cart td.product-thumbnail img{width:96px;height:96px;max-width:none;object-fit:cover;border-radius:12px;box-shadow:none}
body.woocommerce-cart table.cart td.product-name>a{color:var(--jc-navy);font-weight:800;font-size:16px;text-decoration:none}
body.woocommerce-cart table.cart td.product-name>a:hover{color:var(--jc-teal)}
body.woocommerce-cart table.cart .quantity .qty{width:76px;min-height:44px;text-align:center}
body.woocommerce-cart table.cart td.actions{padding:16px;background:rgba(255,249,242,.7)}
body.woocommerce-cart table.cart td.actions>.button{float:right}

/* coupon */
body.woocommerce-cart table.cart td.actions .coupon{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body.woocommerce-cart table.cart td.actions .coupon .input-text{float:none;width:200px;max-width:100%;margin:0}
body.woocommerce-checkout form.checkout_coupon{margin:0 0 22px;padding:18px;border:1px dashed rgba(8,127,140,.4);border-radius:var(--jc-r);background:#fff}
body.woocommerce-checkout form.checkout_coupon p{margin:0 0 10px}

/* ---------- tour image + meta (from plugin filters) ---------- */
body.woocommerce-cart .jsh-commerce-tour-image,body.woocommerce-checkout .jsh-commerce-tour-image{display:block;width:96px;height:96px;flex:none;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#e0faf5,#fff0df)}
body.woocommerce-cart .jsh-commerce-tour-image img,body.woocommerce-checkout .jsh-commerce-tour-image img,
body.woocommerce-cart img.jsh-commerce-tour-image,body.woocommerce-checkout img.jsh-commerce-tour-image{display:block;width:96px;height:96px;max-width:none;object-fit:cover;border-radius:12px;margin:0}
body.woocommerce-cart .jsh-commerce-tour-fallback,body.woocommerce-checkout .jsh-commerce-tour-fallback{display:grid;place-items:center;width:96px;height:96px;flex:none;padding:8px;border-radius:12px;border:1px dashed rgba(8,127,140,.35);background:var(--jc-cream);color:var(--jc-muted);font-size:11px;font-weight:700;line-height:1.3;text-align:center}
body.woocommerce-checkout .jsh-commerce-tour-thumb{display:inline-block;vertical-align:top;margin:0 12px 6px 0;float:left}
body.woocommerce-checkout .jsh-commerce-tour-thumb .jsh-commerce-tour-image,body.woocommerce-checkout .jsh-commerce-tour-thumb img,body.woocommerce-checkout .jsh-commerce-tour-thumb .jsh-commerce-tour-fallback{width:64px;height:64px}
body.woocommerce-checkout .jsh-commerce-tour-thumb .jsh-commerce-tour-fallback{font-size:9.5px;padding:4px}
body.woocommerce-checkout td.product-name{font-weight:700}
body.woocommerce-checkout td.product-name::after{content:"";display:table;clear:both}
body.woocommerce-cart .woocommerce dl.variation,body.woocommerce-checkout .woocommerce dl.variation{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:4px 10px;margin:8px 0 0;font-size:13px;font-weight:500;color:var(--jc-muted);min-width:0;max-width:100%;text-align:left}
body.woocommerce-cart .woocommerce dl.variation dt,body.woocommerce-checkout .woocommerce dl.variation dt{float:none;clear:none;margin:0;font-weight:700;color:var(--jc-navy)}
body.woocommerce-cart .woocommerce dl.variation dd,body.woocommerce-checkout .woocommerce dl.variation dd{float:none;margin:0;padding:0}
body.woocommerce-cart .woocommerce dl.variation dd p,body.woocommerce-checkout .woocommerce dl.variation dd p{margin:0}
body.woocommerce-checkout .woocommerce dl.variation{grid-template-columns:minmax(0,1fr)}
body.woocommerce-checkout .woocommerce dl.variation dt{margin-top:7px}
body.woocommerce-cart .woocommerce dl.variation dt,body.woocommerce-cart .woocommerce dl.variation dd,body.woocommerce-checkout .woocommerce dl.variation dt,body.woocommerce-checkout .woocommerce dl.variation dd{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
body.woocommerce-checkout .product-quantity{color:var(--jc-teal);font-weight:800}

/* ---------- cart totals ---------- */
body.woocommerce-cart .cart-collaterals .cart_totals{padding:clamp(16px,2.6vw,24px);border:1px solid var(--jc-line);border-top:4px solid var(--jc-orange);border-radius:var(--jc-r);background:var(--jc-panel);box-shadow:var(--jc-shadow)}
body.woocommerce-cart .cart-collaterals .cart_totals h2{margin:0 0 12px;font-size:20px}
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table{box-shadow:none;border:0;margin:0 0 16px;background:transparent}
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th{text-transform:none;letter-spacing:0;font-size:14px;color:var(--jc-muted);padding-left:0}
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td{text-align:right;padding-right:0}
body.woocommerce-cart .cart_totals .order-total .amount{font-size:20px;color:var(--jc-navy)}
body.woocommerce-cart .wc-proceed-to-checkout{padding:0}

/* ---------- forms ---------- */
body.woocommerce-cart .woocommerce .input-text,body.woocommerce-checkout .woocommerce .input-text,
body.woocommerce-checkout .woocommerce form .form-row select,body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-cart .woocommerce select{
  width:100%;min-height:48px;padding:11px 14px;border:1.5px solid rgba(8,53,74,.22);border-radius:12px;background:#fff;color:var(--jc-navy);font:inherit;font-size:16px;line-height:1.4;box-shadow:none;transition:border-color .2s,box-shadow .2s}
body.woocommerce-checkout .woocommerce form .form-row textarea{min-height:110px;resize:vertical}
body.woocommerce-cart .woocommerce .input-text:focus,body.woocommerce-checkout .woocommerce .input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus,body.woocommerce-checkout .woocommerce form .form-row textarea:focus{border-color:var(--jc-teal);box-shadow:0 0 0 3px rgba(39,199,196,.3);outline:none}
body.woocommerce-checkout .woocommerce form .form-row{margin:0 0 14px;padding:0}
body.woocommerce-checkout .woocommerce form .form-row label{display:block;margin:0 0 6px;font-weight:700;font-size:14px;color:var(--jc-navy);line-height:1.4}
body.woocommerce-checkout .woocommerce form .form-row .required{color:#c2410c;text-decoration:none}
body.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid .input-text,body.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid select{border-color:#c2410c}
body.woocommerce-checkout .woocommerce form .form-row.woocommerce-validated .input-text,body.woocommerce-checkout .woocommerce form .form-row.woocommerce-validated select{border-color:var(--jc-teal)}
body.woocommerce-checkout .woocommerce form .form-row input[type=checkbox],body.woocommerce-checkout .woocommerce input[type=radio]{accent-color:var(--jc-teal);width:18px;height:18px;vertical-align:middle}
body.woocommerce-checkout .woocommerce form .form-row label.checkbox,body.woocommerce-checkout .woocommerce form .form-row .woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:8px;font-weight:600}
/* select2 / selectWoo (country) */
body.woocommerce-checkout .select2-container .select2-selection--single{height:48px;border:1.5px solid rgba(8,53,74,.22);border-radius:12px}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:45px;padding-left:14px;color:var(--jc-navy)}
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{height:46px;right:6px}
body.woocommerce-checkout .select2-container--focus .select2-selection--single,body.woocommerce-checkout .select2-container--open .select2-selection--single{border-color:var(--jc-teal)}
body.woocommerce-checkout .select2-results__option--highlighted[aria-selected],body.woocommerce-checkout .select2-results__option--highlighted[data-selected]{background:var(--jc-teal)!important;color:#fff}

/* ---------- checkout layout ---------- */
body.woocommerce-checkout form.checkout .col2-set{margin:0 0 22px}
body.woocommerce-checkout form.checkout .col2-set .col-1,body.woocommerce-checkout form.checkout .col2-set .col-2{padding:clamp(16px,2.6vw,24px);border:1px solid var(--jc-line);border-radius:var(--jc-r);background:var(--jc-panel);box-shadow:var(--jc-shadow)}
body.woocommerce-checkout #order_review_heading{margin:8px 0 12px;font-size:20px}
body.woocommerce-checkout #order_review{padding:clamp(14px,2.4vw,22px);border:1px solid var(--jc-line);border-top:4px solid var(--jc-orange);border-radius:var(--jc-r);background:var(--jc-panel);box-shadow:var(--jc-shadow)}
body.woocommerce-checkout #order_review table.shop_table{box-shadow:none;margin-bottom:18px}
body.woocommerce-checkout #order_review table.shop_table tfoot th{text-transform:none;letter-spacing:0;font-size:14px;color:var(--jc-muted)}
body.woocommerce-checkout #order_review .order-total .amount{font-size:19px;color:var(--jc-navy)}
body.woocommerce-checkout .woocommerce-account-fields,body.woocommerce-checkout .woocommerce-additional-fields{margin-top:6px}

/* payment box */
body.woocommerce-checkout #payment{background:var(--jc-cream);border:1px solid var(--jc-line);border-radius:14px}
body.woocommerce-checkout #payment ul.payment_methods{padding:16px;border-bottom:1px solid var(--jc-line)}
body.woocommerce-checkout #payment ul.payment_methods li{padding:8px 0;line-height:1.5}
body.woocommerce-checkout #payment ul.payment_methods li>label{font-weight:700;color:var(--jc-navy);cursor:pointer}
body.woocommerce-checkout #payment ul.payment_methods li img{max-height:26px;vertical-align:middle;margin-left:6px}
body.woocommerce-checkout #payment div.payment_box{margin:10px 0 4px;padding:14px 16px;border-radius:12px;background:#fff;color:var(--jc-muted);font-size:14px;border:1px solid var(--jc-line)}
body.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff;top:-.72em}
body.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}
body.woocommerce-checkout #payment div.form-row{padding:16px}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13.5px;color:var(--jc-muted)}
body.woocommerce-checkout .woocommerce-privacy-policy-text p{margin:0 0 12px}
body.woocommerce-checkout .woocommerce-terms-and-conditions{border-radius:10px;border:1px solid var(--jc-line)!important;background:#fff}
/* processing overlay keeps WC blockUI, just tinted */
body.woocommerce-cart .blockUI.blockOverlay,body.woocommerce-checkout .blockUI.blockOverlay{background:rgba(255,249,242,.7)!important}

/* ---------- responsive ---------- */
@media (min-width:769px){
  body.woocommerce-cart .cart-collaterals .cart_totals{width:min(440px,100%)}
}
@media (min-width:1024px){
  body.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);column-gap:28px;align-items:start}
  body.woocommerce-checkout form.checkout>*{grid-column:1}
  body.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
  body.woocommerce-checkout form.checkout .col2-set{width:100%;display:grid;gap:18px}
  body.woocommerce-checkout form.checkout .col2-set .col-1,body.woocommerce-checkout form.checkout .col2-set .col-2{float:none;width:100%}
  body.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:1;margin-top:0}
  body.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:2 / span 6;position:sticky;top:24px}
}
@media (max-width:768px){
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr td.product-name{text-align:left!important}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr td.product-name::before{float:none;display:block;margin-bottom:8px}
  body.woocommerce-cart .woocommerce td.product-name dl.variation{grid-template-columns:minmax(0,1fr);clear:both;width:100%;font-size:14px}
  body.woocommerce-cart .woocommerce td.product-name dl.variation dt{margin-top:8px}
  body.woocommerce-cart .woocommerce td.product-name dl.variation dd{margin-bottom:5px}
  /* WC's smallscreen stylesheet turns tables into labelled rows (data-title); we only restyle them */
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr,body.woocommerce-checkout .woocommerce table.shop_table_responsive tr{border-top:1px solid var(--jc-line)}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr td,body.woocommerce-checkout .woocommerce table.shop_table_responsive tr td{padding:10px 14px;border-top:0}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr td::before,body.woocommerce-checkout .woocommerce table.shop_table_responsive tr td::before{color:var(--jc-muted);font-weight:700;font-size:13px}
  body.woocommerce-cart .woocommerce table.shop_table_responsive tr:nth-child(2n) td{background:transparent}
  body.woocommerce-cart table.cart td.product-thumbnail{width:auto}
  body.woocommerce-cart table.cart td.actions .coupon{float:none;width:100%;padding-bottom:12px}
  body.woocommerce-cart table.cart td.actions .coupon .input-text{flex:1 1 160px;width:auto}
  body.woocommerce-cart table.cart td.actions .coupon .button{flex:0 0 auto;width:auto}
  body.woocommerce-cart table.cart td.actions>.button{float:none;width:100%}
  body.woocommerce-checkout form.checkout .col2-set .col-1{margin-bottom:16px}
  body.woocommerce-checkout .woocommerce form .form-row-first,body.woocommerce-checkout .woocommerce form .form-row-last{float:none;width:100%}
  body.woocommerce-cart .woocommerce-message .button,body.woocommerce-checkout .woocommerce-message .button{float:none;margin:10px 0 0;display:flex;width:100%}
}
@media (max-width:420px){
  body.woocommerce-cart .woocommerce table.shop_table td,body.woocommerce-checkout .woocommerce table.shop_table td{font-size:14px}
  body.woocommerce-checkout .jsh-commerce-tour-thumb{float:none;display:block}
}
@media (prefers-reduced-motion:reduce){
  body.woocommerce-cart .woocommerce .button,body.woocommerce-checkout .woocommerce .button{transition:none;transform:none!important}
}

/* ---------- stabilization pass ---------- */
/* consolidated consent: native terms + custom booking policy read as one panel (both inputs/validation kept) */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:0;padding:14px 16px 6px;border:1px solid var(--jc-line);border-bottom:0;border-radius:12px 12px 0 0;background:#fff}
body.woocommerce-checkout .jsh-booking-policy-accept{margin:0 0 16px;padding:6px 16px 14px;border:1px solid var(--jc-line);border-top:1px dashed var(--jc-line);border-radius:0 0 12px 12px;background:#fff;font-size:13.5px;color:var(--jc-muted)}
body.woocommerce-checkout .jsh-booking-policy-accept label{display:flex;gap:8px;align-items:flex-start;font-weight:600;color:var(--jc-navy)}
body.woocommerce-checkout .jsh-booking-policy-accept input{accent-color:var(--jc-teal);width:18px;height:18px;flex:none;margin-top:2px}
body.woocommerce-checkout .jsh-policy-links{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 0 26px}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row.validate-required{padding:0}
body.woocommerce-checkout #order_review .order-total{position:static}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{border:1px solid var(--jc-line);border-radius:12px;padding:14px}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .jsh-booking-policy-accept{border:0;border-top:1px solid var(--jc-line);border-radius:0;padding:12px 0 0;margin:12px 0 0;background:transparent}
body.woocommerce-checkout .jsh-booking-policy-accept{border:1px solid var(--jc-line);border-radius:12px}
body.woocommerce-checkout .jsh-consent-heading{font-size:16px!important;margin:0 0 12px!important}
.jsh-checkout-total{display:flex;justify-content:space-between;gap:12px;padding:12px;margin:0 0 12px;border-radius:10px;background:#e6f8f6;color:#08354a;position:sticky;top:4px;z-index:2}
.jsh-booking-extra>summary{cursor:pointer;color:#087f8c;font-weight:700;line-height:1.5}
.jsh-booking-extra>dl{display:grid;grid-template-columns:minmax(65px,.7fr) minmax(0,1fr);gap:4px 8px;margin:10px 0;font-size:12px}
.jsh-booking-extra dt,.jsh-booking-extra dd{margin:0!important;overflow-wrap:anywhere;min-width:0}
body.woocommerce-cart dl.variation>dd,body.woocommerce-checkout dl.variation>dd{min-width:0;overflow-wrap:anywhere}
body.woocommerce-cart dl.variation:has(.jsh-booking-extra)>dt:last-of-type,body.woocommerce-checkout dl.variation:has(.jsh-booking-extra)>dt:last-of-type{display:none}
body.woocommerce-cart dl.variation:has(.jsh-booking-extra)>dd:last-of-type,body.woocommerce-checkout dl.variation:has(.jsh-booking-extra)>dd:last-of-type{grid-column:1/-1}
@media (max-width:768px){
  /* compact cart booking card */
  body.woocommerce-cart table.cart tr.cart_item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:4px 12px;padding:12px;align-items:start}
  body.woocommerce-cart table.cart tr.cart_item td{display:block;padding:0!important;text-align:left!important;background:transparent!important}
  body.woocommerce-cart table.cart tr.cart_item td::before{display:none!important}
  body.woocommerce-cart table.cart tr.cart_item td.product-thumbnail{grid-column:1;grid-row:1 / span 3}
  body.woocommerce-cart table.cart tr.cart_item td.product-thumbnail img,body.woocommerce-cart table.cart tr.cart_item .jsh-commerce-tour-image,body.woocommerce-cart table.cart tr.cart_item .jsh-commerce-tour-fallback{width:72px;height:72px}
  body.woocommerce-cart table.cart tr.cart_item td.product-name{grid-column:2 / -1;padding-right:24px!important}
  body.woocommerce-cart table.cart tr.cart_item td.product-remove{grid-column:3;grid-row:1;justify-self:end;width:auto}
  body.woocommerce-cart table.cart tr.cart_item td.product-price{display:none}
  body.woocommerce-cart table.cart tr.cart_item td.product-quantity{grid-column:2/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}
  body.woocommerce-cart table.cart tr.cart_item td.product-subtotal{grid-column:2 / -1;font-size:17px}
  body.woocommerce-cart .woocommerce td.product-name dl.variation{grid-template-columns:auto minmax(0,1fr);gap:2px 10px;font-size:13px}
  body.woocommerce-cart .woocommerce td.product-name dl.variation dt,body.woocommerce-cart .woocommerce td.product-name dl.variation dd{margin:0}
  body.woocommerce-checkout .woocommerce dl.variation{grid-template-columns:auto minmax(0,1fr);gap:2px 10px}
  body.woocommerce-checkout .woocommerce dl.variation dt{margin-top:0}
}
@media(max-width:380px){
  body.woocommerce-cart table.cart tr.cart_item{grid-template-columns:44px minmax(0,1fr) auto;gap:4px 8px}
  body.woocommerce-cart table.cart tr.cart_item td.product-thumbnail img,body.woocommerce-cart table.cart tr.cart_item .jsh-commerce-tour-image,body.woocommerce-cart table.cart tr.cart_item .jsh-commerce-tour-fallback{width:44px;height:44px;font-size:8px}
  body.woocommerce-cart .woocommerce td.product-name dl.variation,body.woocommerce-checkout .woocommerce dl.variation{grid-template-columns:minmax(0,1fr)}
  body.woocommerce-cart .woocommerce td.product-name dl.variation:has(.jsh-booking-extra)>dt,body.woocommerce-checkout .woocommerce dl.variation:has(.jsh-booking-extra)>dt{display:none}
}
@media(max-width:430px){
  body.woocommerce-checkout #order_review .shop_table{table-layout:fixed}
  body.woocommerce-checkout #order_review .shop_table thead th.product-name{width:60%}
  body.woocommerce-checkout #order_review .shop_table thead th.product-total{width:40%}
  body.woocommerce-checkout #order_review .shop_table th,body.woocommerce-checkout #order_review .shop_table td{padding:9px 5px;font-size:13px;overflow-wrap:anywhere}
  body.woocommerce-checkout #order_review .shop_table thead th{font-size:11px;letter-spacing:0}
  body.woocommerce-checkout #order_review table.shop_table tfoot td .amount{white-space:nowrap}
  body.woocommerce-checkout #order_review table.shop_table .order-total .amount{font-size:16px;white-space:nowrap}
}
