:root {
	--wht-ink: #071d2b;
	--wht-ink-soft: #153648;
	--wht-paper: #fbf8f1;
	--wht-cream: #f3eddf;
	--wht-white: #fffdf8;
	--wht-green: #5f7b46;
	--wht-green-dark: #294936;
	--wht-gold: #d9bf78;
	--wht-burgundy: #942441;
	--wht-line: rgba(7, 29, 43, .14);
	--wht-radius: 18px;
}

html { scroll-behavior: smooth; }

body.wht-wine-cart-page {
	margin: 0 !important;
	background: var(--wht-paper) !important;
	color: var(--wht-ink) !important;
	font-family: "DM Sans", Arial, sans-serif !important;
	font-size: 16px;
	line-height: 1.55;
}

body.wht-wine-cart-page *,
body.wht-wine-cart-page *::before,
body.wht-wine-cart-page *::after { box-sizing: border-box; }

body.wht-wine-cart-page a { color: inherit; }
body.wht-wine-cart-page img { max-width: 100%; }
.wht-transaction-page { min-height: 100vh; overflow: clip; }
.wht-cart-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

/* Header */
.wht-transaction-header {
	position: relative;
	z-index: 200;
	width: 100%;
	background: var(--wht-ink);
	color: var(--wht-white);
	box-shadow: 0 10px 30px rgba(7, 29, 43, .11);
}

.wht-transaction-header__inner {
	display: flex;
	width: 100%;
	min-height: 82px;
	align-items: center;
	gap: clamp(18px, 2vw, 34px);
	padding: 0 clamp(28px, 5.9vw, 112px);
}

.wht-transaction-brand {
	display: inline-flex;
	width: clamp(245px, 15.5vw, 300px);
	min-width: 245px;
	align-items: center;
	text-decoration: none;
}

.wht-transaction-brand img { display: block; width: 100%; height: auto; max-height: 52px; object-fit: contain; }
.wht-transaction-nav { display: flex; min-width: 0; flex: 1 1 auto; align-items: center; justify-content: flex-end; gap: clamp(16px, 2vw, 34px); }
.wht-transaction-nav > a,
.wht-transaction-nav__group > a { position: relative; display: inline-flex; align-items: center; color: var(--wht-white); font-size: .92rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.wht-transaction-nav > a.is-active { color: var(--wht-gold); }
.wht-transaction-nav__group { position: relative; padding-block: 28px; }
.wht-transaction-nav__group > a::after { content: "⌄"; margin-left: 8px; color: var(--wht-gold); font-size: .8rem; }
.wht-transaction-nav__submenu { position: absolute; top: calc(100% - 9px); left: -18px; display: grid; min-width: 285px; gap: 2px; padding: 10px; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: #0d2737; box-shadow: 0 22px 52px rgba(0,0,0,.28); opacity: 0; pointer-events: none; transform: translateY(8px); transition: .2s ease; }
.wht-transaction-nav__group:hover .wht-transaction-nav__submenu,
.wht-transaction-nav__group:focus-within .wht-transaction-nav__submenu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.wht-transaction-nav__submenu a { padding: 10px 12px; border-radius: 9px; color: rgba(255,255,255,.9); font-size: .84rem; font-weight: 600; text-decoration: none; }
.wht-transaction-nav__submenu a:hover,
.wht-transaction-nav__submenu a:focus { background: rgba(255,255,255,.08); color: #fff; }
.wht-transaction-nav__mobile-contact { display: none !important; }

.wht-transaction-header__actions { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; }
.wht-transaction-social,
.wht-transaction-cart,
.wht-transaction-menu-toggle { position: relative; display: inline-grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: transparent; color: #fff; text-decoration: none; }
.wht-transaction-social svg,
.wht-transaction-cart svg { display: block; width: 21px; height: 21px; }
.wht-transaction-cart.is-active { color: var(--wht-gold); border-color: rgba(217,191,120,.55); }
.wht-transaction-header__cart-count { position: absolute; top: -5px; right: -3px; display: grid; min-width: 23px; height: 23px; place-items: center; padding: 0 6px; border-radius: 999px; background: var(--wht-gold); color: var(--wht-ink); font-size: .7rem; font-weight: 800; }
.wht-transaction-contact { display: inline-flex; min-height: 46px; align-items: center; padding: 0 21px; border-radius: 10px; background: var(--wht-white); color: var(--wht-ink) !important; font-size: .86rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.wht-transaction-menu-toggle { display: none; cursor: pointer; }
.wht-transaction-menu-toggle span,
.wht-transaction-menu-toggle span::before,
.wht-transaction-menu-toggle span::after { display: block; width: 24px; height: 2px; border-radius: 2px; background: currentColor; }
.wht-transaction-menu-toggle span { position: relative; }
.wht-transaction-menu-toggle span::before,
.wht-transaction-menu-toggle span::after { content: ""; position: absolute; left: 0; }
.wht-transaction-menu-toggle span::before { top: -8px; }
.wht-transaction-menu-toggle span::after { top: 8px; }

/* Hero and progress */
.wht-cart-main { display: block; }
.wht-cart-hero { padding: clamp(70px, 8vw, 118px) 0 clamp(54px, 6vw, 82px); background: linear-gradient(130deg, #071d2b 0%, #153b46 100%); color: var(--wht-white); }
.wht-cart-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 48px; }
.wht-cart-kicker { margin: 0 0 11px !important; color: var(--wht-burgundy); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.wht-cart-hero .wht-cart-kicker { color: var(--wht-gold); }
.wht-cart-hero h1,
.wht-cart-content h2,
.wht-transaction-footer h2 { margin: 0; font-family: "Fraunces", Georgia, serif; font-weight: 700; letter-spacing: -.025em; }
.wht-cart-hero h1 { max-width: 760px; color: var(--wht-white); font-size: clamp(3rem, 6vw, 6.1rem); line-height: .94; }
.wht-cart-hero p:not(.wht-cart-kicker) { max-width: 680px; margin: 23px 0 0; color: rgba(255,255,255,.79); font-size: clamp(1rem, 1.35vw, 1.22rem); }
.wht-cart-close { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid rgba(255,255,255,.34); border-radius: 999px; color: #fff !important; font-size: .9rem; font-weight: 800; text-decoration: none; white-space: nowrap; transition: .2s ease; }
.wht-cart-close span { font-size: 1.5rem; line-height: 1; }
.wht-cart-close:hover,
.wht-cart-close:focus { border-color: var(--wht-gold); background: rgba(255,255,255,.08); transform: translateY(-2px); }

.wht-transaction-progress { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: -26px; border: 1px solid var(--wht-line); border-radius: var(--wht-radius); background: var(--wht-white); box-shadow: 0 20px 45px rgba(7,29,43,.08); overflow: hidden; }
.wht-transaction-progress span { position: relative; display: flex; min-height: 84px; align-items: center; justify-content: center; gap: 12px; color: rgba(7,29,43,.48); font-size: .83rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.wht-transaction-progress span + span { border-left: 1px solid var(--wht-line); }
.wht-transaction-progress b { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: .78rem; }
.wht-transaction-progress .is-current { background: rgba(95,123,70,.08); color: var(--wht-green-dark); }
.wht-transaction-progress .is-current b { border-color: var(--wht-green); background: var(--wht-green); color: #fff; }

/* Cart content and native WooCommerce */
.wht-cart-content { padding: clamp(66px, 8vw, 108px) 0 clamp(90px, 9vw, 132px); }
.wht-cart-content__heading { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, .55fr); align-items: end; gap: 60px; margin-bottom: 34px; }
.wht-cart-content__heading h2 { color: var(--wht-ink); font-size: clamp(2.35rem, 4.2vw, 4.55rem); line-height: .98; }
.wht-cart-content__heading > p { margin: 0; color: rgba(7,29,43,.65); }

body.wht-wine-cart-page .woocommerce { color: var(--wht-ink); }
body.wht-wine-cart-page .woocommerce-notices-wrapper:empty { display: none; }
body.wht-wine-cart-page .woocommerce-message,
body.wht-wine-cart-page .woocommerce-info,
body.wht-wine-cart-page .woocommerce-error { margin: 0 0 22px !important; padding: 16px 20px 16px 52px !important; border: 1px solid var(--wht-line); border-top: 0 !important; border-radius: 12px; background: #fff; color: var(--wht-ink); }
body.wht-wine-cart-page .woocommerce-message::before,
body.wht-wine-cart-page .woocommerce-info::before { color: var(--wht-green); }
body.wht-wine-cart-page .woocommerce-message .wc-forward { display: none !important; }

body.wht-wine-cart-page .woocommerce-cart-form,
body.wht-wine-cart-page .cart-collaterals { width: 100%; }
body.wht-wine-cart-page .woocommerce-cart-form { margin-bottom: 28px; }
body.wht-wine-cart-page .woocommerce table.shop_table { width: 100%; margin: 0 !important; border: 1px solid var(--wht-line) !important; border-collapse: separate !important; border-spacing: 0 !important; border-radius: var(--wht-radius) !important; background: var(--wht-white); box-shadow: 0 18px 44px rgba(7,29,43,.06); overflow: hidden; }
body.wht-wine-cart-page .woocommerce table.shop_table th { padding: 17px 18px !important; border: 0 !important; border-bottom: 1px solid var(--wht-line) !important; background: var(--wht-cream); color: var(--wht-ink); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.wht-wine-cart-page .woocommerce table.shop_table td { padding: 20px 18px !important; border: 0 !important; border-bottom: 1px solid var(--wht-line) !important; vertical-align: middle !important; }
body.wht-wine-cart-page .woocommerce table.shop_table tr:last-child td { border-bottom: 0 !important; }
body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-thumbnail { width: 120px; }
body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-thumbnail img { width: 86px !important; height: 108px !important; padding: 7px; border-radius: 10px; background: #fff; object-fit: contain; box-shadow: inset 0 0 0 1px var(--wht-line); }
body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-name a { color: var(--wht-ink); font-family: "Fraunces", Georgia, serif; font-size: 1.2rem; font-weight: 700; text-decoration: none; }
body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-price,
body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-subtotal { font-family: "Fraunces", Georgia, serif; font-size: 1.04rem; font-weight: 700; }
body.wht-wine-cart-page .woocommerce a.remove { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--wht-line); border-radius: 50%; color: var(--wht-burgundy) !important; font-size: 1.25rem; text-decoration: none; }
body.wht-wine-cart-page .woocommerce a.remove:hover { background: var(--wht-burgundy); color: #fff !important; }
body.wht-wine-cart-page .woocommerce .quantity .qty { width: 76px; min-height: 44px; padding: 8px; border: 1px solid var(--wht-line); border-radius: 10px; background: #fff; color: var(--wht-ink); font: inherit; }
body.wht-wine-cart-page .wht-cart-mobile-quantity { display: none; }
body.wht-wine-cart-page .woocommerce .quantity .wht-cart-quantity-select {
	width: 76px;
	min-height: 44px;
	border: 1px solid var(--wht-line);
	border-radius: 10px;
	padding: 8px 34px 8px 12px;
	background-color: #fff;
	background-image: linear-gradient(45deg, transparent 50%, var(--wht-ink) 50%), linear-gradient(135deg, var(--wht-ink) 50%, transparent 50%);
	background-position: calc(100% - 15px) 19px, calc(100% - 10px) 19px;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	font-weight: 700;
	text-align: left;
	-webkit-appearance: none;
	appearance: none;
}

body.wht-wine-cart-page .woocommerce td.actions { padding: 18px !important; background: rgba(243,237,223,.48); }
body.wht-wine-cart-page .woocommerce .coupon { display: flex; gap: 10px; }
body.wht-wine-cart-page .woocommerce .coupon .input-text { width: min(280px, 100%) !important; min-height: 46px; padding: 0 15px !important; border: 1px solid var(--wht-line) !important; border-radius: 10px !important; background: #fff !important; }
body.wht-wine-cart-page .woocommerce button.button,
body.wht-wine-cart-page .woocommerce a.button,
body.wht-wine-cart-page .woocommerce input.button { min-height: 46px; padding: 0 20px !important; border: 0 !important; border-radius: 10px !important; background: var(--wht-green) !important; color: #fff !important; font: 800 .86rem/1 "DM Sans", Arial, sans-serif !important; text-decoration: none !important; transition: .2s ease; }
body.wht-wine-cart-page .woocommerce button.button:hover,
body.wht-wine-cart-page .woocommerce a.button:hover,
body.wht-wine-cart-page .woocommerce input.button:hover { background: var(--wht-green-dark) !important; transform: translateY(-1px); }
body.wht-wine-cart-page .woocommerce button.button:disabled { opacity: .45; transform: none; }

body.wht-wine-cart-page .cart-collaterals { display: flex; justify-content: flex-end; }
body.wht-wine-cart-page .cart-collaterals .cart_totals { width: min(520px, 100%) !important; float: none !important; padding: 28px; border-radius: var(--wht-radius); background: var(--wht-ink); color: var(--wht-white); box-shadow: 0 22px 52px rgba(7,29,43,.14); }
body.wht-wine-cart-page .cart_totals h2 { margin: 0 0 18px; color: var(--wht-white); font-family: "Fraunces", Georgia, serif; font-size: 2rem; }
body.wht-wine-cart-page .cart_totals table.shop_table { border-color: rgba(255,255,255,.14) !important; background: transparent; box-shadow: none; color: #fff; }
body.wht-wine-cart-page .cart_totals table.shop_table th,
body.wht-wine-cart-page .cart_totals table.shop_table td { border-color: rgba(255,255,255,.14) !important; background: transparent; color: #fff; }
body.wht-wine-cart-page .cart_totals table.shop_table th { letter-spacing: 0; text-transform: none; }
body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods li { margin: 0 0 8px; }
body.wht-wine-cart-page .cart_totals .shipping-calculator-button { color: var(--wht-gold); font-weight: 700; }
body.wht-wine-cart-page .cart_totals > h2,
body.wht-wine-cart-page .cart_totals .shipping-calculator-form { display: none !important; }
body.wht-wine-cart-page .cart_totals .wc-proceed-to-checkout { padding: 20px 0 0; }
body.wht-wine-cart-page .cart_totals .wc-proceed-to-checkout .checkout-button { display: flex; min-height: 56px; align-items: center; justify-content: center; margin: 0 !important; background: var(--wht-green) !important; font-size: 1rem !important; }
body.wht-wine-cart-page .woocommerce .return-to-shop { display: flex; justify-content: center; margin: 26px 0 0; }
body.wht-wine-cart-page .woocommerce .cart-empty { padding: 34px; border-radius: var(--wht-radius); background: var(--wht-white); text-align: center; }

/* Footer */
.wht-transaction-footer { padding: 72px 0; background: linear-gradient(135deg, #0a2432, #153f45); color: var(--wht-white); }
.wht-transaction-footer__inner { display: grid; width: min(1180px, calc(100% - 48px)); grid-template-columns: minmax(0, 1.15fr) minmax(520px, .9fr); gap: 80px; margin-inline: auto; }
.wht-transaction-footer__brand img { display: block; width: min(270px, 100%); height: auto; margin-bottom: 24px; }
.wht-transaction-footer__kicker { margin: 0 0 9px; color: var(--wht-gold); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.wht-transaction-footer h2 { max-width: 560px; color: #fff; font-size: clamp(2.35rem, 4vw, 4.3rem); line-height: .96; }
.wht-transaction-footer__brand > p:last-child { max-width: 560px; color: rgba(255,255,255,.69); }
.wht-transaction-footer__columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding-top: 56px; }
.wht-transaction-footer__columns h3 { margin: 0 0 18px; color: var(--wht-gold); font-family: "Fraunces", Georgia, serif; font-size: 1.1rem; }
.wht-transaction-footer__columns a { display: block; margin: 0 0 10px; color: rgba(255,255,255,.78); font-size: .88rem; text-decoration: none; overflow-wrap: anywhere; }
.wht-transaction-footer__columns a:hover { color: #fff; }

body.wht-wine-cart-page .grecaptcha-badge,
body.wht-wine-cart-page .xoo-wsc-basket { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

body.wht-wine-cart-page > .xoo-wsc-modal,
body.wht-wine-cart-page > .xoo-wsc-markup,
body.wht-wine-cart-page .xoo-wsc-modal,
body.wht-wine-cart-page .xoo-wsc-markup {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

html:has(body.wht-wine-cart-page),
body.wht-wine-cart-page,
body.wht-wine-cart-page.xoo-wsc-cart-active,
body.wht-wine-cart-page.xoo-wsc-open {
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

@media (max-width: 1100px) {
	.wht-transaction-header__inner { padding-inline: clamp(16px, 4vw, 42px); }
	.wht-transaction-nav { display: none; position: absolute; top: 100%; left: 0; width: 100%; padding: 18px; background: #081f2d; box-shadow: 0 20px 40px rgba(0,0,0,.22); }
	body.wht-transaction-menu-open .wht-transaction-nav { display: grid; }
	.wht-transaction-nav > a,
	.wht-transaction-nav__group > a { display: flex; min-height: 48px; align-items: center; padding: 0 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; }
	.wht-transaction-nav__group { padding: 0; }
	.wht-transaction-nav__submenu { display: none; }
	.wht-transaction-nav__mobile-contact { display: flex !important; background: var(--wht-white); color: var(--wht-ink) !important; }
	.wht-transaction-menu-toggle { display: inline-grid; border-radius: 9px; }
	.wht-transaction-contact { display: none; }
	.wht-transaction-footer__inner { grid-template-columns: 1fr; gap: 28px; }
	.wht-transaction-footer__columns { padding-top: 0; }
}

@media (max-width: 820px) {
	.wht-cart-container { width: min(100% - 30px, 680px); }
	.wht-cart-hero__inner,
	.wht-cart-content__heading { grid-template-columns: 1fr; gap: 26px; }
	.wht-cart-close { width: 100%; }
	.wht-transaction-progress span { min-height: 72px; flex-direction: column; gap: 5px; font-size: .68rem; }
	.wht-transaction-progress b { width: 25px; height: 25px; }
	body.wht-wine-cart-page .woocommerce table.shop_table_responsive tr { display: block; padding: 16px; border-bottom: 1px solid var(--wht-line); }
	body.wht-wine-cart-page .woocommerce table.shop_table_responsive tr:last-child { border-bottom: 0; }
	body.wht-wine-cart-page .woocommerce table.shop_table_responsive tr td { display: flex !important; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 0 !important; border: 0 !important; text-align: right !important; }
	body.wht-wine-cart-page .woocommerce table.shop_table_responsive tr td::before { color: rgba(7,29,43,.58); font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
	body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-thumbnail { display: flex !important; width: 100%; justify-content: center !important; }
	body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-thumbnail::before { display: none; }
	body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-thumbnail img { width: 120px !important; height: 150px !important; }
	body.wht-wine-cart-page .woocommerce-cart-form__cart-item .product-name { align-items: flex-start !important; text-align: left !important; }
	body.wht-wine-cart-page .woocommerce td.actions { display: block !important; padding: 16px !important; }
	body.wht-wine-cart-page .woocommerce .coupon { display: grid; }
	body.wht-wine-cart-page .woocommerce .coupon .input-text,
	body.wht-wine-cart-page .woocommerce .coupon button { width: 100% !important; }
	body.wht-wine-cart-page .woocommerce td.actions > button { width: 100%; margin-top: 10px; }
	.wht-transaction-footer__columns { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
	.wht-transaction-header__inner { min-height: 78px; gap: 6px; padding-inline: 10px; }
	.wht-transaction-brand { width: 150px; min-width: 0; flex: 0 1 150px; }
	.wht-transaction-brand img { width: 150px; max-height: none; }
	.wht-transaction-header__actions { gap: 6px; margin-left: auto; }
	.wht-transaction-social,
	.wht-transaction-cart,
	.wht-transaction-menu-toggle { width: 42px; height: 42px; flex-basis: 42px; }
	.wht-transaction-social svg,
	.wht-transaction-cart svg { width: 19px; height: 19px; }
	.wht-cart-hero { padding-top: 58px; }
	.wht-cart-hero h1 { font-size: clamp(2.7rem, 15vw, 4.3rem); }
	.wht-cart-content { padding-top: 56px; }
	.wht-cart-content__heading h2 { font-size: 2.7rem; }
	.wht-transaction-progress { width: calc(100% - 20px); }
	.wht-transaction-progress span { min-height: 67px; padding: 8px 4px; font-size: .58rem; text-align: center; }
	.wht-transaction-footer__inner { width: calc(100% - 30px); }
	.wht-transaction-footer__columns { grid-template-columns: 1fr; }
}

@media (max-width: 400px) {
	.wht-transaction-brand { width: 126px; flex-basis: 126px; }
	.wht-transaction-brand img { width: 126px; }
	.wht-transaction-social { display: none; }
}

/* v1.2.0 — clear two-column cart, automatic quantities and six-bottle shipping notice. */
@media (min-width: 981px) {
	body.wht-wine-cart-page .wht-cart-content .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1.7fr) minmax(340px, .82fr);
		align-items: start;
		gap: 30px;
	}

	body.wht-wine-cart-page .wht-cart-content .woocommerce > .woocommerce-notices-wrapper,
	body.wht-wine-cart-page .wht-cart-content .woocommerce > .woocommerce-error,
	body.wht-wine-cart-page .wht-cart-content .woocommerce > .woocommerce-message,
	body.wht-wine-cart-page .wht-cart-content .woocommerce > .woocommerce-info {
		grid-column: 1 / -1;
	}

	body.wht-wine-cart-page .woocommerce-cart-form {
		grid-column: 1;
		margin: 0;
	}

	body.wht-wine-cart-page .cart-collaterals {
		grid-column: 2;
		position: sticky;
		top: 24px;
		display: block;
		width: 100%;
	}

	body.wht-wine-cart-page .cart-collaterals .cart_totals {
		width: 100% !important;
	}
}

body.wht-wine-cart-page .woocommerce button[name="update_cart"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
}

body.wht-wine-cart-page .woocommerce-cart-form.is-updating {
	opacity: .7;
	pointer-events: none;
}

.wht-cart-breakdown {
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 13px;
	background: rgba(255,255,255,.055);
}

.wht-cart-breakdown h3 {
	margin: 0 0 12px;
	color: var(--wht-gold);
	font: 700 1.05rem/1.2 "Fraunces", Georgia, serif;
}

.wht-cart-breakdown ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.wht-cart-breakdown li { display: flex; align-items: end; justify-content: space-between; gap: 18px; color: #fff; }
.wht-cart-breakdown li span { display: grid; min-width: 0; gap: 2px; }
.wht-cart-breakdown li strong { overflow-wrap: anywhere; font-size: .82rem; }
.wht-cart-breakdown li small { color: rgba(255,255,255,.65); font-size: .72rem; }
.wht-cart-breakdown li b { flex: 0 0 auto; color: #fff; font-family: "Fraunces", Georgia, serif; }
.wht-cart-shipping-price { color: #fff !important; font: 600 1.08rem/1.2 "DM Sans", Arial, sans-serif; }
.wht-cart-shipping-band { display: block; margin: 6px 0 0; color: rgba(255,255,255,.72) !important; font-size: .7rem; line-height: 1.4; }

body.wht-wine-cart-page .cart_totals tr.cart-subtotal th,
body.wht-wine-cart-page .cart_totals tr.cart-subtotal td,
body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals th,
body.wht-wine-cart-page .cart_totals tr.order-total th,
body.wht-wine-cart-page .cart_totals tr.order-total td {
	color: #fff !important;
	font-size: 1.06rem !important;
	font-weight: 600 !important;
}

body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods,
body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods label,
body.wht-wine-cart-page .cart_totals .woocommerce-Price-amount,
body.wht-wine-cart-page .cart_totals .amount { color: #fff !important; }

body.wht-wine-cart-page .cart_totals .woocommerce-shipping-destination { margin: 15px 0 4px; color: #fff !important; }

.wht-cart-last-minute {
	margin-top: 30px;
	padding: 24px;
	border: 1px solid var(--wht-line);
	border-radius: var(--wht-radius);
	background: var(--wht-cream);
}

.wht-cart-last-minute > div > p { margin: 0 0 5px; color: var(--wht-burgundy); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wht-cart-last-minute h3 { margin: 0 0 18px; color: var(--wht-ink); font: 700 1.55rem/1.05 "Fraunces", Georgia, serif; }
.wht-cart-last-minute ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.wht-cart-last-minute li { position: relative; display: grid; grid-template-areas: "image info" "image controls"; grid-template-columns: 56px minmax(0,1fr); grid-template-rows: auto auto; min-width: 0; min-height: 104px; align-items: center; column-gap: 10px; row-gap: 8px; padding: 10px; overflow: hidden; border: 1px solid var(--wht-line); border-radius: 11px; background: var(--wht-white); }
.wht-cart-last-minute__image { display: grid; grid-area: image; width: 56px; height: 82px; overflow: hidden; place-items: center; border-radius: 8px; background: #fff; }
.wht-cart-last-minute__image img { display: block !important; width: 100% !important; height: 100% !important; max-width: 100% !important; opacity: 1 !important; visibility: visible !important; object-fit: contain !important; object-position: center !important; }
.wht-cart-last-minute__info { grid-area: info; min-width: 0; align-self: end; }
.wht-cart-last-minute h4 { max-width: 100%; margin: 0 0 5px; overflow-wrap: anywhere; word-break: normal; hyphens: none; color: var(--wht-ink); font-size: .72rem; line-height: 1.2; }
.wht-cart-last-minute__info > span { display: block; color: var(--wht-ink); font: 700 .75rem/1.2 "Fraunces", Georgia, serif; }
.wht-cart-last-minute__info > span small { display: block; margin-top: 2px; color: rgba(7,29,43,.55); font: 600 .56rem/1.2 "DM Sans", Arial, sans-serif; }
.wht-cart-last-minute__form { display: grid; grid-area: controls; grid-template-columns: minmax(0,1fr) 32px; width: 100%; min-width: 0; align-items: center; align-self: start; gap: 6px; }
.wht-cart-last-minute__qty { width: 100%; min-width: 0; height: 32px; padding: 0 7px; border: 1px solid var(--wht-line); border-radius: 8px; background: #fff; color: var(--wht-ink); font: 700 .72rem/1 "DM Sans", Arial, sans-serif; }
.wht-cart-last-minute__add { display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: var(--wht-green); color: #fff !important; font-size: 1.25rem; font-weight: 500; line-height: 1; text-decoration: none; cursor: pointer; }
.wht-cart-last-minute__add:disabled { cursor: wait; opacity: .58; }
.wht-cart-last-minute__feedback { grid-column: 1 / -1; color: #9a1e3f; font-size: .62rem; font-weight: 700; line-height: 1.25; }
.wht-cart-last-minute__fallback { grid-column: 1 / -1; color: var(--wht-green); font-size: .66rem; font-weight: 800; }

.wht-shipping-box-dialog[hidden] { display: none !important; }
.wht-shipping-box-dialog { position: fixed; inset: 0; z-index: 2147482000; display: grid; place-items: center; padding: 20px; }
.wht-shipping-box-dialog__backdrop { position: absolute; inset: 0; background: rgba(4,17,25,.72); backdrop-filter: blur(5px); }
.wht-shipping-box-dialog__panel { position: relative; width: min(640px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: clamp(28px, 5vw, 48px); border-radius: 20px; background: var(--wht-white); box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.wht-shipping-box-dialog__panel h2 { margin: 0 0 12px; color: var(--wht-ink); font: 700 clamp(2rem, 5vw, 3rem)/1 "Fraunces", Georgia, serif; }
.wht-shipping-box-dialog__panel > p:not(.wht-cart-kicker) { margin: 0 0 18px; color: rgba(7,29,43,.7); }
.wht-shipping-destination-fields { display: grid; gap: 14px; margin-top: 22px; }
.wht-shipping-destination-fields label { display: block; margin-bottom: 7px; color: var(--wht-ink); font-size: .78rem; font-weight: 800; }
.wht-shipping-destination-fields select { width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid var(--wht-line); border-radius: 10px; background: #fff; color: var(--wht-ink); font: 600 .95rem/1.2 "DM Sans", Arial, sans-serif; }
.wht-shipping-rate-schedule { margin-top: 22px; padding: 20px; border-radius: 14px; background: var(--wht-ink); color: #fff; }
.wht-shipping-rate-schedule h3 { margin: 0 0 12px; color: var(--wht-gold); font: 700 1.2rem/1.15 "Fraunces", Georgia, serif; }
.wht-shipping-rate-schedule__rows { display: grid; }
.wht-shipping-rate-schedule__rows > div { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.wht-shipping-rate-schedule__rows strong { min-width: 0; font-size: .86rem; line-height: 1.35; }
.wht-shipping-rate-schedule__rows span { white-space: nowrap; font: 700 1rem/1 "Fraunces", Georgia, serif; }
.wht-shipping-rate-schedule p { margin: 15px 0 0; color: rgba(255,255,255,.78); font-size: .76rem; line-height: 1.5; }
.wht-shipping-destination-error { margin: 16px 0 0 !important; color: #a51f3c !important; font-weight: 800; }
.wht-shipping-box-dialog.is-loading .wht-shipping-box-dialog__panel { cursor: progress; }
.wht-shipping-box-dialog__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.wht-shipping-box-dialog__actions button,
.wht-shipping-box-dialog__actions a { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 18px; border: 0; border-radius: 10px; font: 800 .82rem/1 "DM Sans", Arial, sans-serif; text-decoration: none; cursor: pointer; }
.wht-shipping-box-dialog__actions button { background: var(--wht-green); color: #fff; }
.wht-shipping-box-dialog__actions button:disabled { opacity: .48; cursor: not-allowed; }
.wht-shipping-box-dialog__actions a { border: 1px solid var(--wht-line); color: var(--wht-ink); }
body.wht-shipping-box-dialog-open { overflow: hidden; }

@media (max-width: 980px) {
	.wht-cart-last-minute ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.wht-wine-cart-page .cart-collaterals { margin-top: 28px; }
}

@media (max-width: 620px) {
	.wht-cart-last-minute { padding: 17px; }
	.wht-cart-last-minute ul { grid-template-columns: 1fr; }
	.wht-shipping-box-dialog__actions { display: grid; }
}

/* v1.12.0 — mobile-first cost summary with an unambiguous shipping breakdown. */
@media (max-width: 820px) {
	.wht-cart-close { display: none !important; }

	body.wht-wine-cart-page .cart-collaterals {
		display: block;
		width: 100%;
		margin-top: 28px;
	}

	body.wht-wine-cart-page .cart-collaterals .cart_totals {
		width: 100% !important;
		padding: 20px;
		border-radius: 16px;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive {
		display: block !important;
		width: 100% !important;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tbody {
		display: block !important;
		width: 100%;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: baseline;
		column-gap: 18px;
		row-gap: 8px;
		padding: 18px 0 !important;
		border: 0 !important;
		border-bottom: 1px solid rgba(255,255,255,.16) !important;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr:last-child {
		border-bottom: 0 !important;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr th,
	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr td {
		display: block !important;
		width: auto !important;
		min-width: 0;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr th {
		grid-column: 1;
		color: rgba(255,255,255,.74) !important;
		font: 700 .82rem/1.3 "DM Sans", Arial, sans-serif !important;
		letter-spacing: .01em;
		text-align: left !important;
		text-transform: none;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr td {
		grid-column: 2;
		justify-self: end;
		color: #fff !important;
		font: 700 1.04rem/1.25 "DM Sans", Arial, sans-serif !important;
		text-align: right !important;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr td::before {
		display: none !important;
		content: none !important;
	}

	body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		row-gap: 12px;
	}

	body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals th,
	body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals td {
		grid-column: 1;
		width: 100% !important;
		justify-self: stretch;
	}

	body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals th {
		color: #fff !important;
		font-size: .9rem !important;
	}

	body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals td {
		text-align: left !important;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods {
		display: grid;
		width: 100%;
		gap: 10px;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods li {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		gap: 8px;
		margin: 0;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods input {
		margin-top: 4px;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods label {
		display: grid;
		grid-column: 2;
		grid-template-columns: minmax(0, 1fr) auto;
		width: 100%;
		align-items: baseline;
		gap: 8px 16px;
		text-align: right;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods input[type="hidden"] + label,
	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods li > label:first-child {
		grid-column: 1 / -1;
	}

	body.wht-wine-cart-page .cart_totals .wht-cart-shipping-price {
		grid-column: 2;
		font-size: 1.12rem;
		font-weight: 800;
		white-space: nowrap;
	}

	body.wht-wine-cart-page .cart_totals .wht-cart-shipping-band {
		grid-column: 1 / -1;
		margin: 2px 0 0;
		padding: 11px 12px;
		border: 1px solid rgba(217,191,120,.26);
		border-radius: 10px;
		background: rgba(255,255,255,.055);
		color: rgba(255,255,255,.76) !important;
		font-size: .72rem;
		line-height: 1.48;
		text-align: left;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-destination {
		grid-column: 1 / -1;
		margin: 2px 0 0;
		color: rgba(255,255,255,.82) !important;
		font-size: .78rem;
		line-height: 1.45;
		text-align: left;
	}

	body.wht-wine-cart-page .cart_totals .shipping-calculator-button {
		display: inline-flex;
		min-height: 38px;
		align-items: center;
		margin-top: 8px;
		padding: 0 11px;
		border: 1px solid rgba(217,191,120,.42);
		border-radius: 8px;
		font-size: .76rem;
		text-decoration: none;
	}

	body.wht-wine-cart-page .cart_totals tr.order-total th,
	body.wht-wine-cart-page .cart_totals tr.order-total td,
	body.wht-wine-cart-page .cart_totals tr.order-total .woocommerce-Price-amount {
		color: #fff !important;
		font-size: 1.16rem !important;
		font-weight: 800 !important;
	}

	body.wht-wine-cart-page .cart_totals .wc-proceed-to-checkout {
		padding-top: 18px;
	}

	body.wht-wine-cart-page .cart_totals .wc-proceed-to-checkout .checkout-button {
		min-height: 58px;
		border-radius: 11px !important;
		font-size: .96rem !important;
	}
}

@media (max-width: 400px) {
	body.wht-wine-cart-page .cart-collaterals .cart_totals { padding: 16px; }
	body.wht-wine-cart-page .wht-cart-breakdown { padding: 15px; }
	body.wht-wine-cart-page .wht-cart-breakdown li { gap: 12px; }
	body.wht-wine-cart-page .wht-cart-breakdown li strong { font-size: .78rem; }
}

/* v1.13.0 — canonical Shop/Order Confirmed header on mobile Cart. */
.wht-cart-mobile-shop-header { display: none; }

@media (max-width: 820px) {
	body.wht-wine-cart-page.wht-cart-has-shared-header > .wht-transaction-page > .wht-transaction-header {
		display: none !important;
	}

	body.wht-wine-cart-page.wht-cart-has-shared-header .wht-cart-mobile-shop-header {
		display: block;
	}

	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-header__inner {
		width: calc(100% - 20px) !important;
		min-height: 78px !important;
		gap: 6px !important;
		padding: 0 !important;
	}

	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-header__actions {
		order: 1 !important;
		margin: 0 !important;
	}

	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-brand {
		width: 150px !important;
		min-width: 0 !important;
		max-width: 150px !important;
		flex: 0 1 150px !important;
		order: 2 !important;
		margin: 0 0 0 auto !important;
	}

	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-brand__logo {
		width: 150px !important;
		max-width: 150px !important;
		max-height: none !important;
	}

	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-header__social,
	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-menu-toggle,
	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-cart-link {
		width: 40px !important;
		height: 40px !important;
		min-height: 40px !important;
		flex-basis: 40px !important;
	}

	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-header__socials {
		gap: 5px !important;
	}
}

@media (max-width: 350px) {
	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-brand,
	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-brand__logo {
		width: 110px !important;
		max-width: 110px !important;
		flex-basis: 110px !important;
	}

	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-header__social,
	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-menu-toggle,
	body.wht-wine-cart-page .wht-cart-mobile-shop-header .wht-wine-shop-cart-link {
		width: 37px !important;
		height: 37px !important;
		min-height: 37px !important;
		flex-basis: 37px !important;
	}
}

/* v1.14.0 — bounded bottle quantities, balanced mobile totals and clean page ending. */
@media (max-width: 820px) {
	html:has(body.wht-wine-cart-page),
	body.wht-wine-cart-page {
		min-height: 100dvh;
		margin: 0 !important;
		padding: 0 !important;
		background: #0a2432 !important;
	}

	body.wht-wine-cart-page .wht-transaction-page {
		min-height: 100dvh;
		margin: 0;
		padding: 0;
		background: var(--wht-paper);
	}

	body.wht-wine-cart-page .wht-transaction-footer {
		margin: 0;
	}

	body.wht-wine-cart-page .wht-cart-desktop-quantity {
		display: none;
	}

	body.wht-wine-cart-page .wht-cart-mobile-quantity {
		display: block;
	}

	body.wht-wine-cart-page .wht-cart-breakdown li b,
	body.wht-wine-cart-page .wht-cart-breakdown li b .woocommerce-Price-amount,
	body.wht-wine-cart-page .wht-cart-breakdown li b .woocommerce-Price-currencySymbol {
		white-space: nowrap;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr {
		padding-inline: 16px !important;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods li {
		min-width: 0;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods label {
		min-width: 0;
		max-width: 100%;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods input[type="hidden"] + label,
	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods li > label:first-child {
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods input[type="hidden"] + label .wht-cart-shipping-price,
	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods li > label:first-child .wht-cart-shipping-price {
		grid-column: 1;
		justify-self: end;
	}

	body.wht-wine-cart-page .cart_totals .wht-cart-shipping-band {
		width: 100%;
		max-width: 100%;
		overflow-wrap: normal;
		word-break: normal;
		white-space: normal;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-destination,
	body.wht-wine-cart-page .cart_totals .shipping-calculator-button {
		max-width: 100%;
	}
}

@media (max-width: 400px) {
	body.wht-wine-cart-page .cart-collaterals .cart_totals {
		padding: 16px;
	}

	body.wht-wine-cart-page .cart_totals table.shop_table_responsive tr {
		padding-inline: 14px !important;
	}

	body.wht-wine-cart-page .cart_totals .wht-cart-shipping-band {
		padding-inline: 10px;
		font-size: .7rem;
	}
}

/* v1.15.1 — canonical shared tour navigation; Cargo Wine amount and capacity block unchanged. */
body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods li {
	min-width: 0;
}

body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods input[type="hidden"] {
	display: none !important;
}

body.wht-wine-cart-page .cart_totals .woocommerce-shipping-methods label {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	text-align: inherit;
}

body.wht-wine-cart-page .cart_totals .wht-cart-shipping-stack {
	display: grid;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
}

body.wht-wine-cart-page .cart_totals .wht-cart-shipping-stack .wht-cart-shipping-price {
	display: block;
	grid-column: 1 !important;
	justify-self: end;
	margin: 0;
	white-space: nowrap;
}

body.wht-wine-cart-page .cart_totals .wht-cart-shipping-stack .wht-cart-shipping-band {
	display: block;
	grid-column: 1 !important;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 10px 12px;
	overflow: hidden;
	border: 1px solid rgba(217,191,120,.26);
	border-radius: 10px;
	background: rgba(255,255,255,.055);
	color: rgba(255,255,255,.78) !important;
	font-size: .7rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
	word-break: normal;
	white-space: normal;
	text-align: center !important;
}

@media (min-width: 821px) {
	body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals th {
		width: 38%;
		padding-right: 12px !important;
		vertical-align: top !important;
	}

	body.wht-wine-cart-page .cart_totals tr.woocommerce-shipping-totals td {
		width: 62%;
		min-width: 0;
		padding-left: 12px !important;
		vertical-align: top !important;
	}

	body.wht-wine-cart-page .cart_totals .woocommerce-shipping-destination {
		text-align: left;
	}
}

@media (max-width: 820px) {
	body.wht-wine-cart-page .cart_totals .wht-cart-shipping-stack {
		gap: 12px;
	}

	body.wht-wine-cart-page .cart_totals .wht-cart-shipping-stack .wht-cart-shipping-band {
		padding: 11px 14px;
		font-size: .72rem;
	}
}

@media (max-width: 400px) {
	body.wht-wine-cart-page .cart_totals .wht-cart-shipping-stack .wht-cart-shipping-band {
		padding-inline: 11px;
		font-size: .7rem;
	}
}
