/* ==========================================================================
   Brand styling for WooCommerce's default Cart, Checkout, and My Account
   pages — the theme has no custom template files for these (single-product
   and archive-product are the only overrides), so without this they render
   with WooCommerce's completely generic, unbranded default look while every
   other page uses the navy/gold design. This targets WooCommerce's own
   stable, well-documented class names rather than replacing the templates
   themselves — lower risk, same visual result, and stays correct through
   WooCommerce updates.

   Font families reference --hls-font-body / --hls-font-heading (defined in
   inc/settings.php from the admin panel's font pickers) rather than being
   hardcoded, so Cart/Checkout/Account stay in sync if the brand font is
   ever changed there — with the current brand fonts as the fallback value.
   ========================================================================== */

:root{
	--hls-wc-navy:#0C404F;
	--hls-wc-navy-dark:#0F172A;
	--hls-wc-gold:#E7B75F;
}

/* ---------- Shared form controls (cart, checkout, account all use these) */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart-form td.product-quantity input.qty,
.woocommerce-checkout #order_review input,
.select2-container .select2-selection--single{
	border:1px solid #e5e7eb!important;
	border-radius:3px!important;
	padding:11px 12px!important;
	font-family:var(--hls-font-body,'Poppins'),sans-serif!important;
	font-size:13px!important;
	color:#1F2937!important;
	background:#fff!important;
	box-shadow:none!important;
	transition:border-color .2s ease;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
	border-color:var(--hls-wc-navy)!important;
	outline:none!important;
}
.woocommerce form .form-row label{
	font-size:12px!important;font-weight:600!important;color:#1F2937!important;margin-bottom:4px!important;
}
.woocommerce form .form-row .required{color:#dc2626!important;}

/* Buttons — matches the navy gradient used for CTAs site-wide */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #place_order, .woocommerce-cart .checkout-button,
.woocommerce a.checkout-button{
	background:linear-gradient(135deg,var(--hls-wc-navy),var(--hls-wc-navy-dark))!important;
	color:#fff!important;border:0!important;border-radius:3px!important;
	font-family:var(--hls-font-body,'Poppins'),sans-serif!important;font-weight:700!important;
	font-size:12px!important;letter-spacing:.05em!important;text-transform:uppercase!important;
	padding:13px 26px!important;box-shadow:0 2px 8px rgba(12,64,79,.25)!important;
	transition:filter .2s ease,transform .2s ease!important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #place_order:hover{ filter:brightness(1.08)!important; }
.woocommerce a.button:active, .woocommerce button.button:active{ transform:scale(.97); }
.woocommerce a.button.alt, .woocommerce #place_order{
	background:linear-gradient(135deg,var(--hls-wc-gold),#C8962A)!important;color:#1F2937!important;
}

/* ---------- Cart page ---------------------------------------------------- */
.woocommerce-cart table.cart{border:1px solid #f1f1ef;border-radius:6px;overflow:hidden;border-collapse:collapse;width:100%;}
.woocommerce-cart table.cart thead th{
	background:#FAFAF8;color:#1F2937;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
	font-weight:700;padding:14px 12px;border-bottom:1px solid #f1f1ef;
}
.woocommerce-cart table.cart td{padding:16px 12px;border-bottom:1px solid #f3f4f6;vertical-align:middle;}
.woocommerce-cart table.cart img{border-radius:4px;width:64px!important;height:auto;}
.woocommerce-cart table.cart td.product-name a{color:#1F2937;font-weight:600;font-size:13px;text-decoration:none;}
.woocommerce-cart table.cart .product-remove a{color:#dc2626!important;font-size:18px;}
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal{
	color:var(--hls-wc-navy);font-weight:700;font-size:13px;
}
.woocommerce-cart .cart-collaterals .cart_totals{
	background:#FAFAF8;border:1px solid #f1f1ef;border-radius:6px;padding:22px;
}
.woocommerce-cart .cart_totals h2{
	font-family:var(--hls-font-heading,'Cormorant Garamond'),serif;font-size:20px;color:#1F2937;margin:0 0 14px;
}
.woocommerce-cart .cart_totals table{width:100%;}
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td{
	padding:10px 0;border-bottom:1px solid #eef0ef;font-size:13px;
}
.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount{
	color:var(--hls-wc-navy);font-weight:800;font-size:17px;
}
.woocommerce-cart .coupon .input-text{width:auto!important;min-width:160px;}

/* ---------- Checkout page -------------------------------------------------*/
.woocommerce-checkout #customer_details{background:#fff;}
.woocommerce-checkout h3{
	font-family:var(--hls-font-heading,'Cormorant Garamond'),serif;font-size:20px;font-weight:700;color:#1F2937;
	margin:24px 0 14px;padding-bottom:10px;border-bottom:1px solid #f1f1ef;
}
.woocommerce-checkout #order_review{
	background:#FAFAF8;border:1px solid #f1f1ef;border-radius:6px;padding:22px;
}
.woocommerce-checkout table.shop_table{width:100%;}
.woocommerce-checkout table.shop_table th, .woocommerce-checkout table.shop_table td{
	padding:10px 0;border-bottom:1px solid #eef0ef;font-size:13px;
}
.woocommerce-checkout .woocommerce-checkout-payment{
	background:#fff!important;border:1px solid #f1f1ef!important;border-radius:6px;margin-top:14px;
}
.woocommerce-checkout ul.payment_methods{padding:14px!important;border-bottom:0!important;}
.woocommerce-checkout ul.payment_methods li{padding:10px 0!important;font-size:13px;}
.woocommerce-checkout .payment_box{
	background:#FAFAF8!important;border-radius:4px;font-size:12px!important;color:#6b7280;
}
.woocommerce-checkout #place_order{width:100%;padding:15px!important;font-size:13px!important;}

/* ---------- My Account -----------------------------------------------------*/
.woocommerce-account .woocommerce-MyAccount-navigation{
	background:#FAFAF8;border:1px solid #f1f1ef;border-radius:6px;padding:8px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid #f1f1ef;}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:block;padding:11px 14px;color:#4b5563;font-size:13px;font-weight:600;
	text-decoration:none;border-radius:4px;transition:all .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
	background:var(--hls-wc-navy);color:#fff;
}
.woocommerce-account .woocommerce-MyAccount-content{
	background:#fff;border:1px solid #f1f1ef;border-radius:6px;padding:24px;
}
.woocommerce-account table.woocommerce-orders-table{width:100%;}
.woocommerce-account table.woocommerce-orders-table th{
	background:#FAFAF8;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
	padding:12px;text-align:left;
}
.woocommerce-account table.woocommerce-orders-table td{padding:12px;border-bottom:1px solid #f3f4f6;font-size:13px;}
.woocommerce-account mark.order-status{
	background:rgba(231,183,95,.15);color:var(--hls-wc-navy);font-weight:700;font-size:11px;
	padding:4px 10px;border-radius:20px;text-transform:uppercase;
}
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register{
	background:#FAFAF8;border:1px solid #f1f1ef;border-radius:6px;padding:26px;max-width:420px;
}
.woocommerce-account .woocommerce-form-login-toggle, .woocommerce-account .woocommerce-form-register-toggle{
	background:rgba(12,64,79,.06);border:0!important;border-radius:4px;font-size:12px;padding:10px 14px;
}
.woocommerce-account .addresses .title h3{font-family:var(--hls-font-heading,'Cormorant Garamond'),serif;font-size:17px;}
.woocommerce-account .addresses .edit a{color:var(--hls-wc-navy);font-weight:700;}

/* Notices (errors/success) styled consistently across all three pages */
.woocommerce-error, .woocommerce-message, .woocommerce-info{
	border-top-color:var(--hls-wc-navy)!important;border-radius:4px!important;
	font-size:13px!important;padding:14px 18px!important;
}
.woocommerce-message{background:#ecfdf5!important;}
.woocommerce-error{background:#fef2f2!important;}

/* ---------- Responsive: cart table & my-account nav collapse on mobile ----*/
@media(max-width:700px){
	.woocommerce-cart table.cart thead{display:none;}
	.woocommerce-cart table.cart tr{display:block;border-bottom:8px solid #FAFAF8;}
	.woocommerce-cart table.cart td{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f8f8f7;}
	.woocommerce-cart table.cart td.product-name{flex-direction:column;align-items:flex-start;gap:8px;}
	.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px;}
	.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:0;flex-shrink:0;}
	.woocommerce-account table.woocommerce-orders-table thead{display:none;}
	.woocommerce-account table.woocommerce-orders-table tr{display:block;margin-bottom:12px;border:1px solid #f1f1ef;border-radius:6px;padding:4px;}
	.woocommerce-account table.woocommerce-orders-table td{display:flex;justify-content:space-between;border-bottom:1px solid #f8f8f7;}
}

/* ==========================================================================
   WooCommerce BLOCKS (Cart block / Checkout block / Mini-Cart block).
   These render completely different markup from the classic .woocommerce-*
   templates above (wc-block-* / wp-block-woocommerce-* classes, not
   table.cart or #order_review), so none of the rules above ever reached
   them. This is why Cart & Checkout specifically looked like plain
   unbranded WooCommerce even after the classic overrides existed.
   ========================================================================== */

/* Page shell + headings */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{font-family:var(--hls-font-body,'Poppins'),sans-serif;color:#1F2937;}
.wc-block-cart__title, .wc-block-checkout__title,
.wp-block-woocommerce-cart h1, .wp-block-woocommerce-checkout h1{
	font-family:var(--hls-font-heading,'Cormorant Garamond'),serif!important;font-weight:700!important;color:#1F2937!important;
}
.wc-block-components-checkout-step__title, .wc-block-checkout__order-summary-title,
.wc-block-components-panel__button-icon + span{
	font-family:var(--hls-font-heading,'Cormorant Garamond'),serif!important;font-weight:700!important;font-size:17px!important;color:#1F2937!important;
}
.wc-block-components-checkout-step__description{color:#6b7280!important;font-size:12px!important;}

/* Cart line items */
.wc-block-cart-items{border-top:1px solid #f1f1ef;}
.wc-block-cart-items__header{display:none;}
.wc-block-cart-item{border-bottom:1px solid #f1f1ef!important;padding:16px 0!important;}
.wc-block-cart-item__image img, .wc-block-components-product-image img{
	border-radius:4px!important;width:72px!important;
}
.wc-block-components-product-name{color:#1F2937!important;font-weight:600!important;font-size:13px!important;text-decoration:none!important;}
.wc-block-components-product-price, .wc-block-cart-item__total .wc-block-components-formatted-money-amount{
	color:var(--hls-wc-navy)!important;font-weight:700!important;font-size:13px!important;
}
.wc-block-components-product-metadata, .wc-block-components-product-metadata__description{color:#6b7280!important;font-size:12px!important;}
.wc-block-cart-item__remove-link, .wc-block-components-product-remove-button{
	color:#dc2626!important;font-size:12px!important;font-weight:600!important;
}

/* Quantity stepper (cart line items) */
.wc-block-components-quantity-selector{
	border:1px solid #e5e7eb!important;border-radius:3px!important;overflow:hidden!important;background:#fff!important;
}
.wc-block-components-quantity-selector__button{color:var(--hls-wc-navy)!important;font-weight:700!important;}
.wc-block-components-quantity-selector__input{
	font-family:var(--hls-font-body,'Poppins'),sans-serif!important;font-size:13px!important;color:#1F2937!important;
}

/* Totals / order summary sidebar (cart + checkout) */
.wc-block-cart__sidebar, .wc-block-checkout__sidebar,
.wc-block-components-totals-wrapper, .wc-block-components-sidebar .wc-block-components-panel{
	background:#FAFAF8!important;border:1px solid #f1f1ef!important;border-radius:6px!important;
}
.wc-block-components-totals-item{
	font-family:var(--hls-font-body,'Poppins'),sans-serif!important;font-size:13px!important;color:#1F2937!important;padding:10px 0!important;
}
.wc-block-components-totals-item__label{font-weight:500!important;}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount{
	color:var(--hls-wc-navy)!important;font-weight:800!important;font-size:17px!important;
}

/* Coupon code accordion */
.wc-block-components-totals-coupon-link{color:var(--hls-wc-navy)!important;font-weight:700!important;font-size:12px!important;}
.wc-block-components-totals-coupon__input .wc-block-components-text-input input,
.wc-block-components-text-input input, .wc-block-components-text-input textarea,
.wc-block-components-textarea{
	border:1px solid #e5e7eb!important;border-radius:3px!important;font-family:var(--hls-font-body,'Poppins'),sans-serif!important;
	font-size:13px!important;color:#1F2937!important;background:#fff!important;box-shadow:none!important;
}
.wc-block-components-text-input label{font-size:12px!important;color:#6b7280!important;}
.wc-block-components-text-input.is-active label, .wc-block-components-text-input.is-focused label{color:var(--hls-wc-navy)!important;}

/* Buttons everywhere inside the blocks (proceed to checkout, place order, apply coupon, express) */
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon__button, .wc-block-components-button:not(.is-link){
	background:linear-gradient(135deg,var(--hls-wc-navy),var(--hls-wc-navy-dark))!important;color:#fff!important;
	border:0!important;border-radius:3px!important;font-family:var(--hls-font-body,'Poppins'),sans-serif!important;font-weight:700!important;
	font-size:12px!important;letter-spacing:.05em!important;text-transform:uppercase!important;
	padding:13px 26px!important;box-shadow:0 2px 8px rgba(12,64,79,.25)!important;
}
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:not(.is-link):hover{filter:brightness(1.08)!important;}
.wc-block-components-button.is-link{color:var(--hls-wc-navy)!important;}

/* Shipping / payment method radio cards (checkout) */
.wc-block-components-radio-control__option{
	border:1px solid #e5e7eb!important;border-radius:4px!important;padding:12px 14px!important;margin-bottom:8px!important;
}
.wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__label-group{
	border-color:var(--hls-wc-navy)!important;background:rgba(12,64,79,.04)!important;
}
.wc-block-components-radio-control__label{font-size:13px!important;font-weight:600!important;color:#1F2937!important;}
.wc-block-components-radio-control__secondary-label{color:var(--hls-wc-navy)!important;font-weight:700!important;}
.wc-block-components-payment-method-label{font-size:13px!important;font-weight:600!important;}

/* Notices (out of stock, coupon applied, errors) */
.wc-block-components-notice-banner{
	border-radius:4px!important;font-size:13px!important;border-left-width:4px!important;
}
.wc-block-components-notice-banner.is-success{border-color:var(--hls-wc-navy)!important;background:#ecfdf5!important;}
.wc-block-components-notice-banner.is-error{background:#fef2f2!important;}

/* Empty cart state */
.wp-block-woocommerce-empty-cart-block{text-align:center;padding:40px 16px!important;}
.wp-block-woocommerce-empty-cart-block h2, .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{
	font-family:var(--hls-font-heading,'Cormorant Garamond'),serif!important;color:#1F2937!important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-components-button{
	background:linear-gradient(135deg,var(--hls-wc-navy),var(--hls-wc-navy-dark))!important;color:#fff!important;
	border-radius:3px!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-size:12px!important;
}

/* Mini-cart drawer, in case it's used anywhere in the header */
.wc-block-mini-cart__drawer .wc-block-mini-cart-items__product-name{color:#1F2937!important;font-weight:600!important;}
.wc-block-mini-cart__footer-actions .wc-block-components-button{
	background:linear-gradient(135deg,var(--hls-wc-navy),var(--hls-wc-navy-dark))!important;color:#fff!important;
	text-transform:uppercase!important;letter-spacing:.05em!important;
}

@media(max-width:700px){
	.wc-block-cart-item{display:grid!important;grid-template-columns:72px 1fr!important;gap:12px!important;}
}
