/* WooCommerce styling for Luxe Lens (store pages sit on the light .section--light background). */

.woo-main { color: #2a2a2a; }
.woo-main a:not(.btn):not(.button) { color: var(--ink); }
.woo-main .entry a:not(.btn) { border-bottom-color: rgba(0,0,0,.3); }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link), .wp-element-button.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--ink) !important; color: var(--white) !important; border: 1px solid var(--ink) !important;
	border-radius: var(--radius) !important; font-family: var(--sans) !important; font-size: .74rem !important; font-weight: 600 !important;
	letter-spacing: .22em !important; text-transform: uppercase !important; padding: 16px 30px !important; line-height: 1.2 !important;
	transition: background .25s, color .25s !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover { background: transparent !important; color: var(--ink) !important; }
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled { opacity: .45 !important; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--ink) !important; background: #fff !important; color: #222; font-size: .95rem; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ink) !important; }
.woocommerce-error { border-top-color: #a33 !important; }
.woocommerce-notices-wrapper:empty { display: none; }

/* Prices */
.woocommerce .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price {
	color: var(--ink) !important; font-family: var(--serif); font-size: 2.2rem !important; line-height: 1.1;
}
.woocommerce ul.products li.product .price { font-size: 1.6rem !important; }

/* Product grid (add-ons) */
.woocommerce ul.products li.product { background: #fff; padding: 0 0 28px; border: 1px solid var(--line-dark); text-align: center; }
.woocommerce ul.products li.product a img { margin: 0 0 20px; aspect-ratio: 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--serif); font-size: 1.6rem !important; color: var(--ink); padding: 0 20px !important; }
.woocommerce ul.products li.product .button { margin-top: 14px !important; }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.woocommerce div.product::before, .woocommerce div.product::after { display: none; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .product_title { font-size: clamp(2.2rem, 4vw, 3.2rem); color: var(--ink); }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 1.05rem; color: #555; }
.woocommerce div.product div.images img { border: 1px solid var(--line-dark); }
.woocommerce div.product .product_meta { display: none; }
.luxe-includes { list-style: none; padding: 20px 0 0; margin: 10px 0 28px; border-top: 1px solid var(--line-dark); display: grid; gap: 10px; font-size: .95rem; }
.luxe-includes li { display: grid; grid-template-columns: 18px 1fr; gap: 12px; }
.luxe-includes li::before { content: "—"; color: var(--muted); }

.woocommerce div.product form.cart { margin-top: 10px; }
.woocommerce div.product form.cart .variations { margin-bottom: 10px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart .variations label { font-size: .68rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #777; }
.woocommerce div.product form.cart .variations select { width: 100%; padding: 14px 12px; border: 1px solid rgba(0,0,0,.25); background: #fff; font: inherit; margin: 8px 0 14px; border-radius: 0; }
.woocommerce div.product form.cart .reset_variations { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 2.6rem !important; }
.woocommerce div.product form.cart .quantity { display: none; }
.woocommerce div.product form.cart .single_add_to_cart_button { width: 100%; margin-top: 8px; }

.luxe-booking { border: 1px solid var(--line-dark); background: #fff; padding: 24px; margin: 6px 0 20px; }
.luxe-booking legend { font-family: var(--serif); font-size: 1.4rem; color: var(--ink); padding: 0 8px; margin-left: -8px; }
.luxe-booking__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.luxe-booking .field { margin: 0; }
.luxe-booking .field input, .luxe-booking .field select { color: var(--ink); border-color: rgba(0,0,0,.25); color-scheme: light; }
.luxe-booking .field select option { background: #fff; color: #000; }
.luxe-booking__note { font-size: .82rem; color: #777; margin: 18px 0 0; }

.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; border-bottom: 1px solid var(--line-dark); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 24px 0 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; padding: 12px 0 !important; color: #888 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ink) !important; border-bottom: 1px solid var(--ink); }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 820px; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { font-size: 2.2rem; color: var(--ink); margin-top: 40px; }

@media (max-width: 860px) {
	.woocommerce div.product { grid-template-columns: 1fr; }
	.luxe-booking__grid { grid-template-columns: 1fr; }
}

/* Cart / checkout (blocks + classic) */
.woo-main .wc-block-cart, .woo-main .wc-block-checkout { color: #2a2a2a; }
.woo-main .wc-block-components-product-name { font-family: var(--serif); font-size: 1.35rem; color: var(--ink) !important; }
.woo-main .wc-block-components-product-details { font-size: .85rem; color: #555; }
.woo-main .wc-block-components-title, .woo-main .wc-block-cart__totals-title { font-family: var(--sans) !important; font-size: .74rem !important; letter-spacing: .24em; text-transform: uppercase !important; color: #555; }
.woo-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--serif); font-size: 1.8rem; }
.woo-main .wc-block-components-text-input input, .woo-main .wc-block-components-combobox input, .woo-main .wc-block-components-textarea { border-radius: 0 !important; }
.woo-main .wc-block-components-quantity-selector { display: none; }
.luxe-checkout-note { font-size: .88rem; color: #666; background: #fff; border: 1px solid var(--line-dark); padding: 14px 18px; }
.woocommerce table.shop_table { border-radius: 0; background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line-dark); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid rgba(0,0,0,.25); padding: 12px; border-radius: 0; background: #fff; }
