.woocommerce-cart .entry-title {
	display: flex;
	align-items: center;
	gap: 10px;
}
.woocommerce-cart .entry-title::before {
	content: '';
	display: inline-block;
	width: 50px;
	height: 50px;
	background: url('assets/cart-icon.png') no-repeat center / contain;
	background-size: contain;
	margin-top: -6px;
}

.csgssao-continue-shopping-wrap {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 1em;
}

.csgssao-continue-shopping-btn {
	cursor: pointer;
	background-color: #79c6d9 !important;
	font-family: "Bebas Neue";
	letter-spacing: 1.5px;
	border-radius: 3px;
	font-weight: bold;
	color: white !important;
	padding: 10px !important;
	border: none !important;
	text-decoration: none !important;
}

.woocommerce-js a.button,
.woocommerce button.button,
.woocommerce a.button.add_to_cart_button {
	border-radius: 0;
	background-color: #79c6d9 !important;
	font-family: "Bebas Neue";
	letter-spacing: 1.5px;
	border: none;
}

.woocommerce-js a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.add_to_cart_button:hover {
	border: none;
	background-color: #459889 !important;
}

.ship-gear-message {
	display: flex;
	background: #eee;
	font-weight: bold;
	padding: 10px;
	font-family: "Bebas Neue";
	letter-spacing: 1.5px;
	border: none;
	justify-content: space-evenly;
  align-items: center;
	margin-top: 20px;
	margin-bottom: 20px;
}

.ship-gear-message a {
	background: #79c6d9;
	color: white;
	padding: 10px;
}

.ship-gear-message a:hover {
	color: white;
	background-color: #459889 !important;
}

.valet-service-message {
	background: aliceblue;
	font-weight: bold;
	padding: 10px;
	font-family: "Bebas Neue";
	letter-spacing: 1.5px;
}

.my-account-dashboard-content div {
	margin-top: 20px;
}

.my-account-dashboard-content h3 {
	margin-bottom: 5px;
}

.woocommerce-checkout .woocommerce-shipping-totals {display: none !important;}
.shipping-services-accordion { padding-top: 20px; }
.accordion-toggle { background: #f1f1f1; border: none; padding: 10px; width: 100%; text-align: left; cursor: pointer; font-size: 16px; }
.accordion-toggle[aria-expanded="true"] { background: #e2e2e2; }
.accordion-content { padding: 10px; border: 1px solid #ddd; border-top: none; }
.accordion-item { margin-bottom: 5px; }
.accordion-toggle .price { float: right; }
.copy-num { margin-left: 10px; font-size: 0.85em; color: #555; }

.shipping-sections { display: flex; flex-wrap: wrap; gap: 20px; }
.shipping-section { flex: 1; min-width: 250px; }
.shipping-section label { display: block; margin-bottom: 8px; }
.shipping-section p { margin: 0 0 8px; }

.custom-modal { position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); display: none; align-items: center; justify-content: center; }

.custom-modal.show {
  display: flex;
}

.modal-content { background: white; padding: 20px; max-width: 500px; width: 90%; max-height: 80vh; border-radius: 6px; position: relative; overflow-y: auto; }
.close-modal { position: absolute; right: 10px; top: 10px; cursor: pointer; font-size: 20px; }

.shipping-calc-btn {
	cursor: pointer;
	background-color: #79c6d9 !important;
	font-family: "Bebas Neue";
	letter-spacing: 1.5px;
	border-radius: 3px;
	font-weight: bold;
	color: white !important;
	padding: 10px !important;
	outline: none !important;
	border: none !important;
}

.open-modal { margin-top: 0.5rem; }
.btn-small { padding: 10px !important; }

.open-modal:focus, .open-modal:active { outline: none !important; border: none !important; }

.disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
	pointer-events: none;
}

.shipping-rates-section { padding-top: 20px; padding-bottom: 30px; }

.cart-link-error {
	color: red !important
}

.shipto_state_province,
.shipfrom_state_province,
.valet-gear-details,
.arrival-datetime-field,
.departure-datetime-field,
.roundtrip-datetime-field {
	display: none;
}

.product_cat-shipping-services .price {
	display: none !important;
}

.single-product.product_cat-shipping-services .quantity {
	display: none !important;
}

.shipping-label-added-notice {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
	padding: 12px 16px;
	border-radius: 4px;
	margin-bottom: 16px;
}

.shipping-label-added-notice p {
	margin: 0 0 4px;
}

.shipping-label-added-notice p:last-child {
	margin-bottom: 0;
}

.shipping-label-added-notice a {
	color: #155724;
	font-weight: bold;
	text-decoration: underline;
}

.shipping-to-info,
.shipping-from-info {
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
}

.shipping-to-info {
	padding-top: 0;
}

.custom-form-column,
.custom-form-row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 10px;
}

.custom-form-row .form-row {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.custom-form-row .form-row select {
	line-height: 1.6rem;
}

.ship_to_colorado_ski_gear_storage .woocommerce-input-wrapper {
	display: flex;
  gap: 10px;
}

.woocommerce-cart table.shop_table dl dt {
	font-weight: bold !important;
}

.woocommerce-cart table.shop_table dl dd {
	margin: 0;
}

td.product-name dl.variation {
	width: initial !important;
}

td.product-name dl.variation dt {
	font-weight: bold !important;
}

.cart-address {
	display: inline-block;
	padding-bottom: 10px;
}

#roundtrip_departure_datetime,
#roundtrip_arrival_datetime,
#arrival_datetime,
#departure_datetime {
	padding: 10px;
}

.gear-details {
	margin-bottom: 10px;
}

.cart-checkout-custom-name {
	display: block;
	width: 100%;
}

.hide {
	display: none;
}

.show {
	display: block;
}

.ship_to_colorado_ski_gear_storage {
	margin-bottom: 0 !important;
}

.shipping-calc-btn-field {
	padding-top: 10px;
	padding-bottom: 5%;
}

.shipping-calc-btn-field-hint {
	font-style: italic;
	padding-bottom: 15px;
}

.shipping-method-not-found,
.shipping-method-loading,
.shipping-method-field {
	padding-top: 10px;
}

.show-amount {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 .2em;
	color: #4B4F58
}

.shipping-method-display {
	padding-top: 15px;
	font-weight: bold;
}

.shipping-fields-disabled {
	opacity: 0.5;
	pointer-events: none;
}

.product-thumbnail img {
	max-width: fit-content !important;
}

.woocommerce-product-gallery__image {
	max-width: 50% !important;
}

/* Prevent product image from opening Elementor lightbox on click */
.single-product .woocommerce-product-gallery__image a {
	pointer-events: none;
	cursor: default;
}

.woocommerce-product-gallery__wrapper {
	display: flex;
	justify-content: center;
}

.shippo-pickup-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.shippo-pickup-actions .button {
	width: 100%;
	margin: 0 auto;
	display: flex !important;
	justify-content: center !important;
}

.addr-results {
	position: absolute;
	z-index: 9999;
	background: white;
	border: 1px solid #ddd;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin-top: -17px;
}

.addr-wrap {
	position: absolute;
	width: 99%;
	top: calc(100% + 20px);
}

.address-wrapper {
	position: relative;
	display: inline-block;
	width: 100%;
}

#sqf-root {
	gap: 1.3rem;
	display: flex;
	flex-direction: column;
  justify-content: space-evenly;
  margin: auto;
	margin-top: 35px;
  padding: 1.5rem;
  background-color: #5CC8DC;
  border-radius: 0.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	align-items: flex-start;
	padding-top: 3rem;
  padding-bottom: 3rem;
}

#sqf-field {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 1rem;
}

#sqf-field label {
	color: white
}

.get-quote-button {
	margin-top: .5rem;
	max-height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: white !important;
	white-space: nowrap;
	color: #5CC8DC !important;
	transition: all .3s;
}

.get-quote-button:hover {
	background-color: #079A89 !important;
	color: white !important;
}

.sqf-field-button {
	align-self: end;
}

.sqf-modal-content-shipping-options,
.sqf-modal-content-shipping-option {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sqf-modal-content-shipping-options {
	margin-bottom: 2rem;
}

.sqf-modal-content-shipping-option {
	flex-direction: row;
	align-items: center;
	position: relative;
	background-color: var(--e-global-color-accent);
	padding: 1rem;
	margin-bottom: .5rem;
}

.sqf-modal-content-shipping-option label {
	color: white !important;
}

.woocommerce-js div.product form.cart .single_variation_wrap p {
	margin-bottom: 0 !important;
}

.woocommerce-js td.product-name dl.variation dd {
	max-width: 180px !important;
}

@media (max-width: 768px) {
	.shipping-sections { flex-direction: column; }
}

@media (min-width: 768px) {
	.shippo-pickup-actions {
		flex-direction: row;
	}

	.shippo-pickup-actions .button {
		width: fit-content;
	}

	.get-quote-button {
		margin-top: 0;
	}
}

@media (min-width: 1024px) {
	#sqf-root {
		flex-direction: row;
		padding: 1.5rem;
	}
}

/* --- Multi-variation quantity table --- */
/* Hide WooCommerce default variation selector and native add-to-cart elements
   on shipping-services products (replaced by custom quantity table + Add Labels to Cart).
   IMPORTANT: Do NOT hide .single_variation_wrap itself — our custom fields are rendered inside it
   via the woocommerce_before_add_to_cart_button hook. Only hide the children we don't need. */
.product_cat-shipping-services .variations {
	display: none !important;
}

.product_cat-shipping-services .single_variation_wrap .woocommerce-variation {
	display: none !important;
}

.product_cat-shipping-services .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
	display: none !important;
}

.product_cat-shipping-services button.single_add_to_cart_button {
	display: none !important;
}

.multi-variation-table {
	margin-top: 10px;
	margin-bottom: 24px;
}

.multi-variation-table h3 {
	margin-bottom: 12px;
}

.variation-qty-table {
	width: 100%;
	border-collapse: collapse;
}

.variation-qty-table th {
	text-align: left;
	padding: 12px 16px;
	border-bottom: 2px solid #ddd;
	font-size: 0.95em;
	font-weight: 600;
	color: #333;
}

.variation-qty-table td {
	padding: 18px 16px;
	border-bottom: 1px solid #eee;
	vertical-align: middle;
}

.variation-qty-table tr:last-child td {
	border-bottom: 1px solid #eee;
}

.woocommerce-js div.product form.cart table td {
	padding-left: 16px !important;
}

input.variation-qty-input[type="number"] {
	width: 70px !important;
	text-align: center !important;
	padding: 10px 12px !important;
	border: 2px solid #bbb !important;
	border-radius: 5px !important;
	font-size: 1.1em !important;
	font-weight: 600 !important;
	background: #fafafa !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}

input.variation-qty-input[type="number"]:hover {
	border-color: #999 !important;
}

input.variation-qty-input[type="number"]:focus {
	border-color: #79c6d9 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(121, 198, 217, 0.3) !important;
	background: #fff !important;
}

/* --- Multi-variation add-to-cart button --- */
.multi-variation-add-to-cart {
	cursor: pointer;
	background-color: #79c6d9 !important;
	font-family: "Bebas Neue";
	letter-spacing: 1.5px;
	border-radius: 3px;
	font-weight: bold;
	color: white !important;
	padding: 12px 20px !important;
	outline: none !important;
	border: none !important;
	font-size: 1rem;
	margin-top: 10px;
	transition: background-color 0.2s;
}

.multi-variation-add-to-cart:hover:not(:disabled) {
	background-color: #459889 !important;
}

.multi-variation-add-to-cart:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* --- Shipping services product description spacing --- */
.product_cat-shipping-services .woocommerce-product-details__short-description {
	margin-bottom: 20px;
	line-height: 1.8;
}

.product_cat-shipping-services .woocommerce-product-details__short-description p {
	margin-bottom: 8px;
}

/* --- Cart quantity display for shipping services --- */
.shipping-services-qty-display {
	font-weight: bold;
}

/* --- Shipping Info icon button (cart/checkout) --- */
.shipping-info-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #79c6d9;
	color: white;
	border: none;
	border-radius: 4px;
	width: 30px;
	height: 30px;
	padding: 0;
	cursor: pointer;
	vertical-align: middle;
	transition: background-color 0.2s;
	line-height: 1;
}

.shipping-info-btn:hover {
	background-color: #459889;
}

.shipping-info-icon {
	display: inline-block;
	min-width: 16px;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E") no-repeat center / contain;
	flex-shrink: 0;
}

/* Cart page: button on its own line below product name */
.shipping-info-btn-row {
	display: block;
	margin-top: 6px;
}

/* Checkout page: hide the button from product name row, show it on the qty row */
.woocommerce-checkout .shipping-info-btn-row {
	display: none;
}

.checkout-qty-row {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Cart page: hide the checkout qty-row button (not used on cart) */
.woocommerce-cart .shipping-info-btn-checkout {
	display: none;
}

.shipping-info-section {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
}

.shipping-info-section:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.shipping-info-section h4 {
	margin: 0 0 8px;
	font-size: 1em;
	color: #333;
}

.show-password-input {
	display: none;
}