/*
Theme Name: forme
Description: forme-concept.com theme.
Version: 1.0.0
Author: MI Studio d.o.o.
Author URI: https://mistudio.ba
Theme URI: https://forme-concept.com
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: Divi
*/

@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600&family=Inter:wght@300;400;500&display=swap');

/* ==========================================================================
   FORME — WooCommerce skin (cart / checkout / account)
   Cart & Checkout use the classic shortcodes ([woocommerce_cart] /
   [woocommerce_checkout]) with child-theme template overrides in
   woocommerce/cart/ and woocommerce/checkout/; styles below are scoped to the
   override markup (.forme-cart, .woocommerce-checkout) and the Woo body classes,
   so the global Divi header / footer / menu and the product pages are untouched.
   Tokens use var(--token, fallback) so they work with or without Divi Design
   Variables present.
   Palette:  ink #1A1A1A · surface #F5F2ED · muted #8C8C8C · sale #B8312A
   Type:     Inter Tight (headings/labels) · Inter (body)
   ========================================================================== */

/* ----- Shared base ------------------------------------------------------- */
.woocommerce-cart .woocommerce h1,
.woocommerce-cart .woocommerce h2,
.woocommerce-cart .woocommerce h3,
.woocommerce-checkout .woocommerce h1,
.woocommerce-checkout .woocommerce h2,
.woocommerce-checkout .woocommerce h3,
.woocommerce-account .woocommerce h1,
.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce h3 {
	font-family: 'Inter Tight', sans-serif;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: #1A1A1A;
}

/* Primary button (proceed to checkout, place order, save, login…) */
.woocommerce-cart a.button,
.woocommerce-cart button.button,
.woocommerce-cart input.button,
.woocommerce-checkout a.button,
.woocommerce-checkout button.button,
.woocommerce-checkout input.button,
.woocommerce-checkout #place_order,
.woocommerce-account a.button,
.woocommerce-account button.button,
.woocommerce-account input.button {
	display: inline-block;
	padding: 16px 36px;
	background: #1A1A1A;
	color: #FFFFFF;
	font-family: 'Inter Tight', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	line-height: 1.2;
	border: 1px solid #1A1A1A;
	border-radius: 0;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}
.woocommerce-cart a.button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart input.button:hover,
.woocommerce-checkout a.button:hover,
.woocommerce-checkout button.button:hover,
.woocommerce-checkout input.button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-account a.button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account input.button:hover {
	background: transparent;
	color: #1A1A1A;
}

/* ==========================================================================
   WooCommerce notices — standardized site-wide (add-to-cart success, cart,
   checkout errors/info). WC-specific classes only, so the header/footer are
   untouched. !important to beat Divi's own notice styling.
   ========================================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
ul.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error {
	font-family: 'Inter', sans-serif !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: #1A1A1A !important;
	background: #F5F2ED !important;
	border: none !important;
	border-top: 2px solid #1A1A1A !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 16px 20px !important;
	margin: 0 0 24px !important;
	list-style: none !important;
	display: flow-root !important;   /* contain the floated wc-forward button */
}
/* drop WC's tick/cross/info glyph */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { content: none !important; display: none !important; }

/* success / info: message text left, action button hard-right, vertically centred */
body .woocommerce-message,
body .woocommerce-info {
	display: flex !important;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

/* beat the site's custom CSS that forces notices to color:#fff / background:#1a1a1a
   (both !important at 1-class specificity, loaded after us -> add `body` to win) */
body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error,
body ul.woocommerce-error,
body .woocommerce-NoticeGroup .woocommerce-error { color: #1A1A1A !important; background: #F5F2ED !important; }
body .woocommerce-message a:not(.button),
body .woocommerce-info a:not(.button) { color: #1A1A1A !important; }
body .woocommerce-error a { color: #B8312A !important; }

/* error variant — sale-red accent */
.woocommerce-error,
ul.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error { border-top-color: #B8312A !important; }
.woocommerce-error li { list-style: none !important; margin: 0 0 6px !important; padding: 0 !important; }
.woocommerce-error li:last-child { margin-bottom: 0 !important; }
.woocommerce-error a { color: #B8312A !important; border: none !important; text-decoration: none; }
.woocommerce-error a:hover { text-decoration: underline; }

/* info variant — muted accent */
.woocommerce-info { border-top-color: #8C8C8C !important; }
.woocommerce-info a:not(.button) { color: #1A1A1A !important; border-bottom: 1px solid currentColor; }

/* "View cart" / continue button inside success / info notices */
.woocommerce-message a.button,
.woocommerce-message a.button.wc-forward,
.woocommerce-info a.button {
	flex-shrink: 0;
	margin: 0 0 0 auto !important;
	padding: 9px 18px !important;
	background: #1A1A1A !important;
	color: #FFFFFF !important;
	font-family: 'Inter Tight', sans-serif !important;
	font-size: 0.6875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	border: 1px solid #1A1A1A !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.woocommerce-message a.button:hover,
.woocommerce-message a.button.wc-forward:hover,
.woocommerce-info a.button:hover { background: transparent !important; color: #1A1A1A !important; }
/* email-verify notice puts the button FIRST, text second — don't shove it right
   with the auto-margin meant for the trailing "View cart" button */
.woocommerce-info a.button:first-child { margin: 0 !important; }
/* kill Divi's hover arrow (::after / ::before) on notice buttons */
.woocommerce-message a.button::after,
.woocommerce-message a.button::before,
.woocommerce-message a.button.wc-forward::after,
.woocommerce-info a.button::after,
.woocommerce-info a.button::before { content: none !important; display: none !important; }

/* checkout notice group spacing */
.woocommerce-NoticeGroup { margin: 0 0 24px; }
.woocommerce-NoticeGroup .woocommerce-error { margin-bottom: 0 !important; }

/* ==========================================================================
   CART — [woocommerce_cart] shortcode; cart.php + cart-empty.php overrides.
   Div-based two-column layout (line-item cards + beige order summary),
   matching prototype/cart.html. Tokens fall back to literals in case the
   Divi Design Variables aren't present on a given page.
   ========================================================================== */

/* ----- layout ------------------------------------------------------------ */
.forme-cart {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(360px, 1fr);
	gap: clamp(40px, 5vw, 80px);
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 var(--space-gutter, 24px) clamp(60px, 8vw, 120px);
	align-items: start;
}

/* ----- line items -------------------------------------------------------- */
.forme-cart-items { width: 100%; margin: 0; border-top: 1px solid rgba(0,0,0,0.1); }

.forme-cart .cart-item {
	display: grid;
	grid-template-columns: 110px 1fr auto auto;
	gap: 4px clamp(16px, 2.5vw, 32px);
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* image */
.forme-cart .cart-item-image { align-self: start; }
.forme-cart .cart-item-image a,
.forme-cart .cart-item-image img {
	display: block;
	width: 110px;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background: var(--color-surface, #F5F2ED);
}

/* details: name, meta, remove */
.forme-cart .cart-item-details { align-self: center; }
.forme-cart .cart-item-details .product-name {
	font-family: var(--font-body, 'Inter', sans-serif);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 0 6px;
}
.forme-cart .cart-item-details .product-name a { color: var(--color-primary, #1A1A1A); text-decoration: none; }
.forme-cart .cart-item-details .product-name a:hover { text-decoration: underline; }

.forme-cart .cart-item-meta {
	font-size: 0.8125rem;
	color: var(--color-muted, #8C8C8C);
	margin: 0 0 14px;
	line-height: 1.4;
}
.forme-cart .cart-item-meta dl.variation { margin: 0; }
.forme-cart .cart-item-meta dl.variation dt,
.forme-cart .cart-item-meta dl.variation dd {
	display: inline;
	margin: 0;
	padding: 0;
	font-weight: 400;
	border: 0;
	color: inherit;
}
.forme-cart .cart-item-meta dl.variation dt { margin-right: 4px; }
.forme-cart .cart-item-meta dl.variation dd p { display: inline; margin: 0; }
.forme-cart .cart-item-meta dl.variation dd::after { content: " · "; margin: 0 6px 0 4px; color: var(--color-muted, #8C8C8C); }
.forme-cart .cart-item-meta dl.variation dd:last-of-type::after { content: ""; margin: 0; }

/* remove ("Remove" text link) */
/* higher specificity than WooCommerce's own .woocommerce a.remove (1.5em, bold) */
.forme-cart .cart-item-details a.remove.cart-item-remove {
	display: inline-block;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.6875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--color-muted, #8C8C8C) !important;
	background: none !important;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	padding: 0 0 2px;
	width: auto;
	height: auto;
	line-height: 1 !important;
	transition: color 0.2s ease;
}
.forme-cart .cart-item-details a.remove.cart-item-remove:hover { color: var(--color-primary, #1A1A1A) !important; background: none !important; }

/* quantity stepper (rendered server-side in cart.php: [−][.quantity>input][+]) */
.forme-cart .cart-item-qty { align-self: center; }
.forme-cart .forme-qty-stepper {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid rgba(0,0,0,0.15);
}
.forme-cart .forme-qty-btn {
	flex: 0 0 34px;
	width: 34px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-primary, #1A1A1A);
	transition: background 0.2s ease;
}
.forme-cart .forme-qty-btn:hover { background: var(--color-surface, #F5F2ED); }
.forme-cart .forme-qty-stepper .quantity { display: flex; align-items: stretch; margin: 0 !important; padding: 0 !important; border: none !important; width: auto; }
/* !important to beat Divi #et-boc input rules (ID specificity) + WC .qty width */
.forme-cart .cart-item-qty input.qty {
	width: 40px !important;
	min-width: 0 !important;
	height: 38px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	text-align: center !important;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--color-primary, #1A1A1A);
	-moz-appearance: textfield;
	appearance: textfield;
	box-shadow: none;
}
/* remove the reserved number-spinner box (was pushing the digit off-centre) */
.forme-cart .cart-item-qty input.qty::-webkit-outer-spin-button,
.forme-cart .cart-item-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; display: none; }

/* line subtotal */
.forme-cart .cart-item-price {
	align-self: center;
	justify-self: end;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-weight: 500;
	color: var(--color-primary, #1A1A1A);
	white-space: nowrap;
}
.forme-cart .cart-item-price .amount { font-weight: 500; }

.forme-cart .forme-cart-actions { display: none; }

/* AJAX quantity update — dim + spinner while the cart refreshes */
.forme-cart.forme-cart-updating { position: relative; }
.forme-cart.forme-cart-updating .forme-cart-items { opacity: 0.5; pointer-events: none; transition: opacity 0.2s ease; }
.forme-cart.forme-cart-updating::after {
	content: "";
	position: absolute;
	top: 60px;
	left: calc(50% - 14px);
	width: 28px;
	height: 28px;
	border: 2px solid rgba(0,0,0,0.15);
	border-top-color: var(--color-primary, #1A1A1A);
	border-radius: 50%;
	animation: forme-cart-spin 0.8s linear infinite;
	z-index: 2;
}
@keyframes forme-cart-spin { to { transform: rotate(360deg); } }

/* ----- order summary (cart-totals.php -> .forme-order-summary) ------------ */
.forme-cart .forme-cart-collaterals { position: sticky; top: 120px; width: 100%; }
/* WooCommerce floats .cart_totals right at 48% — force it to fill our grid column */
.forme-cart .forme-cart-collaterals .cart_totals,
.forme-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; margin: 0 !important; }
.forme-cart .forme-order-summary {
	background: var(--color-surface, #F5F2ED);
	padding: clamp(28px, 3vw, 44px);
}
.forme-cart .forme-summary-title {
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 28px;
}

.forme-cart .forme-shipping-progress { margin-bottom: 28px; }
.forme-cart .forme-shipping-progress p { font-size: 0.8125rem; margin: 0 0 10px; color: var(--color-primary, #1A1A1A); }
.forme-cart .forme-shipping-progress p strong { font-weight: 500; }
.forme-cart .forme-shipping-progress-bar { height: 2px; background: rgba(0,0,0,0.12); overflow: hidden; }
.forme-cart .forme-shipping-progress-bar span { display: block; height: 100%; background: var(--color-primary, #1A1A1A); transition: width 0.4s ease; }

.forme-cart .forme-summary-rows { border-top: 1px solid rgba(0,0,0,0.1); }
.forme-cart .forme-summary-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 14px 0;
	font-size: 0.9375rem;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}
.forme-cart .forme-summary-row > span:last-child { font-family: var(--font-heading, 'Inter Tight', sans-serif); font-weight: 500; text-align: right; }
.forme-cart .forme-summary-row .amount { font-weight: 500; }
.forme-cart .forme-summary-row--total {
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 1.0625rem;
	font-weight: 500;
	padding: 20px 0;
	border-bottom: none;
}
.forme-cart .forme-summary-row--total > span:last-child { font-size: 1.0625rem; }

.forme-cart .wc-proceed-to-checkout { padding: 0; margin: 0; }
/* specificity beats the generic .woocommerce-cart a.button rule higher up */
.forme-cart .wc-proceed-to-checkout a.forme-checkout-button {
	display: block;
	box-sizing: border-box !important;
	width: 100%;
	/* box-model pinned with !important so Divi's #et-boc button:hover can't
	   change padding/line-height/border on hover (was shrinking the height) */
	padding: 18px 20px !important;
	margin-top: 24px;
	background: var(--color-primary, #1A1A1A) !important;
	color: #FFFFFF !important;   /* beat Divi #et-boc .et-l a { color:#1a1a1a } (ID specificity) */
	border: 1px solid var(--color-primary, #1A1A1A) !important;
	border-radius: 0;
	text-align: center;
	white-space: nowrap;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2 !important;
	transition: background 0.3s ease, color 0.3s ease;
}
.forme-cart .wc-proceed-to-checkout a.forme-checkout-button:hover {
	background: transparent !important;
	color: var(--color-primary, #1A1A1A) !important;
	padding: 18px 20px !important;
	line-height: 1.2 !important;
	border: 1px solid var(--color-primary, #1A1A1A) !important;
}

.forme-cart .forme-summary-note { font-size: 0.8125rem; color: var(--color-muted, #8C8C8C); text-align: center; margin: 16px 0 0; }

.forme-cart .forme-continue-link {
	display: block;
	text-align: center;
	margin-top: 20px;
	white-space: nowrap;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-muted, #8C8C8C);
	transition: color 0.2s ease;
}
.forme-cart .forme-continue-link::after { content: ' \2192'; }
.forme-cart .forme-continue-link:hover { color: var(--color-primary, #1A1A1A); }

/* ----- empty cart -------------------------------------------------------- */
.forme-cart-empty {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
	padding: clamp(40px, 7vw, 90px) var(--space-gutter, 24px) clamp(60px, 10vw, 130px);
}
.forme-cart-empty-title {
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 400;
	margin: 0 0 16px;
}
.forme-cart-empty-text { color: var(--color-muted, #8C8C8C); font-size: 0.9375rem; margin: 0 0 32px; }
/* box-model + color pinned with !important so Divi's #et-boc .et-l a rules
   (ID specificity) can't dark-out the text or shrink the button on hover */
.forme-cart-empty .forme-cart-empty-button,
.forme-cart-empty a.forme-cart-empty-button {
	display: inline-block;
	box-sizing: border-box !important;
	padding: 16px 36px !important;
	background: var(--color-primary, #1A1A1A) !important;
	color: #FFFFFF !important;
	border: 1px solid var(--color-primary, #1A1A1A) !important;
	border-radius: 0;
	line-height: 1.2 !important;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.3s ease, color 0.3s ease;
}
.forme-cart-empty a.forme-cart-empty-button:hover {
	background: transparent !important;
	color: var(--color-primary, #1A1A1A) !important;
	padding: 16px 36px !important;
	line-height: 1.2 !important;
	border: 1px solid var(--color-primary, #1A1A1A) !important;
}

/* ----- responsive -------------------------------------------------------- */
@media (max-width: 980px) {
	.forme-cart { grid-template-columns: 1fr; gap: 40px; }
	.forme-cart .forme-cart-collaterals { position: static; }
}
@media (max-width: 600px) {
	.forme-cart .cart-item {
		grid-template-columns: 84px 1fr;
		grid-template-areas:
			"img details"
			"img qty"
			"img price";
		gap: 10px 16px;
		align-items: start;
	}
	.forme-cart .cart-item-image { grid-area: img; }
	.forme-cart .cart-item-image a,
	.forme-cart .cart-item-image img { width: 84px; }
	.forme-cart .cart-item-details { grid-area: details; }
	.forme-cart .cart-item-qty { grid-area: qty; }
	.forme-cart .cart-item-price { grid-area: price; justify-self: start; }
}

/* ==========================================================================
   CHECKOUT — [woocommerce_checkout] shortcode (classic). Two-column layout
   (customer details left, beige order review + payment right), styled to
   prototype/checkout.html. Structure stays WooCommerce-native so payment
   gateways + AJAX (update_order_review) keep working.
   ========================================================================== */

/* ----- layout ------------------------------------------------------------ */
.woocommerce-checkout .woocommerce { max-width: 1440px; margin: 0 auto; padding: 0 var(--space-gutter, 24px) clamp(60px, 8vw, 120px); }
.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	grid-template-rows: min-content 1fr;   /* row 1 = heading only; row 2 absorbs the tall left column so the heading hugs the panel */
	gap: 0 clamp(40px, 6vw, 100px);        /* no row-gap so "Your order" hugs the beige panel */
	align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; margin: 0; }

/* ----- section headings -------------------------------------------------- */
/* left column form section titles (Billing / Shipping / Additional) */
.woocommerce-checkout #customer_details h3 {
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: var(--text-h3, clamp(1.25rem, 1.5vw + 0.9rem, 1.875rem));
	font-weight: 400;
	letter-spacing: -0.01em;
	margin: 0 0 28px;
}
/* "Your order" — same small uppercase label as the cart's "Summary" title */
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 14px;
}
.woocommerce-checkout .woocommerce-billing-fields { margin-bottom: 8px; }
.woocommerce-checkout .woocommerce-shipping-fields { margin-top: 40px; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 28px; }

/* ----- form fields ------------------------------------------------------- */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.woocommerce-checkout .form-row { margin: 0; padding: 0; }
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout .form-row.create-account { grid-column: 1 / -1; }
/* WooCommerce sets form-row-first/last to width:47%;float — kill it so each
   fills its 50% grid cell (billing + shipping name fields) */
.woocommerce-checkout .form-row-first { grid-column: 1; width: 100% !important; float: none !important; }
.woocommerce-checkout .form-row-last { grid-column: 2; width: 100% !important; float: none !important; }

.woocommerce-checkout .form-row label {
	display: block;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-muted, #8C8C8C);
	margin-bottom: 8px;
	line-height: 1.4;
}
.woocommerce-checkout .form-row label .required { color: var(--color-muted, #8C8C8C); text-decoration: none; border: 0; }
.woocommerce-checkout .form-row .woocommerce-input-wrapper { width: 100%; }
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100%;
	height: auto;
	min-height: 0;
	padding: 14px 16px;
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 0;
	background: transparent;
	font-family: var(--font-body, 'Inter', sans-serif);
	font-size: 0.9375rem;
	font-weight: 300;
	color: var(--color-primary, #1A1A1A);
	line-height: 1.4;
	box-shadow: none;
	outline: none;
	transition: border-color 0.2s ease;
}
.woocommerce-checkout .form-row textarea { min-height: 100px; resize: vertical; }
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus { border-color: var(--color-primary, #1A1A1A); }
.woocommerce-checkout .form-row .input-text::placeholder,
.woocommerce-checkout .form-row textarea::placeholder { color: var(--color-muted, #8C8C8C); opacity: 0.7; }

/* select2 (country / state) tuned to match the plain inputs */
.woocommerce-checkout .select2-container--default .select2-selection--single { display: flex; align-items: center; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; color: var(--color-primary, #1A1A1A); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 12px; }
.woocommerce-checkout .select2-dropdown { border-color: rgba(0,0,0,0.15); border-radius: 0; }

/* "ship to different address" toggle */
.woocommerce-checkout .woocommerce-shipping-fields h3 label,
.woocommerce-checkout .woocommerce-account-fields label.checkbox,
.woocommerce-checkout .form-row.create-account label.checkbox {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body, 'Inter', sans-serif);
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-primary, #1A1A1A);
	margin: 0;
}
.woocommerce-checkout input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--color-primary, #1A1A1A); }

/* ----- order review (beige panel) --------------------------------------- */
.woocommerce-checkout #order_review {
	background: var(--color-surface, #F5F2ED);
	padding: clamp(28px, 3vw, 40px);
}
/* strip WooCommerce's default shop_table chrome (1px border + 5px radius + spacing) */
.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100%; margin: 0 !important; border: 0 !important; border-radius: 0 !important; border-collapse: collapse !important; border-spacing: 0 !important; background: transparent; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead { display: none; }

/* order items */
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 12px 0;
	border: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item td { padding: 0; border: none; background: transparent; text-align: left; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-thumbnail { width: 56px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-thumbnail img {
	width: 56px; height: auto; aspect-ratio: 3 / 4; object-fit: cover;
	background: var(--color-background, #FFFFFF); margin: 0; display: block;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name { font-size: 0.875rem; line-height: 1.4; }
.woocommerce-checkout .forme-order-item-name { display: block; font-family: var(--font-body, 'Inter', sans-serif); font-weight: 400; color: var(--color-primary, #1A1A1A); margin-bottom: 2px; }
.woocommerce-checkout .forme-order-item-meta { display: block; font-size: 0.75rem; color: var(--color-muted, #8C8C8C); }
.woocommerce-checkout .forme-order-item-meta .variation { margin: 0; }
.woocommerce-checkout .forme-order-item-meta .variation dt,
.woocommerce-checkout .forme-order-item-meta .variation dd { display: inline; margin: 0; font-weight: 400; }
.woocommerce-checkout .forme-order-item-meta .variation dd p { display: inline; margin: 0; }
.woocommerce-checkout .forme-order-item-meta .variation dd::after { content: " · "; }
.woocommerce-checkout .forme-order-item-qty::before { content: " · "; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
	font-family: var(--font-heading, 'Inter Tight', sans-serif); font-size: 0.8125rem; font-weight: 500;
	color: var(--color-primary, #1A1A1A); white-space: nowrap; text-align: right;
}

/* totals — same rhythm as the cart summary rows (14px rows, 20px total) */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot { display: block; border-top: 1px solid rgba(0,0,0,0.1); margin-top: 16px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,0.08); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { padding: 0 !important; border: 0 !important; background: transparent; text-align: left; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { font-family: var(--font-body, 'Inter', sans-serif); font-size: 0.9375rem; font-weight: 400 !important; color: var(--color-primary, #1A1A1A); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { font-family: var(--font-heading, 'Inter Tight', sans-serif); font-weight: 500 !important; text-align: right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total { border-bottom: none; padding: 20px 0 4px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td { font-family: var(--font-heading, 'Inter Tight', sans-serif); font-size: 1.0625rem; font-weight: 500 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total .amount { font-weight: 500; }

/* shipping method rows */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals { flex-wrap: wrap; }
.woocommerce-checkout #shipping_method { list-style: none; margin: 4px 0 0; padding: 0; width: 100%; text-align: right; }
.woocommerce-checkout #shipping_method li { margin: 4px 0; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.woocommerce-checkout #shipping_method label { font-family: var(--font-body, 'Inter', sans-serif); font-size: 0.875rem; margin: 0; color: var(--color-primary, #1A1A1A); }
.woocommerce-checkout #shipping_method input[type="radio"] { accent-color: var(--color-primary, #1A1A1A); }

/* ----- payment methods (option cards) ------------------------------------ */
/* !important to strip WooCommerce's purple payment box (bg + radius + ul border) */
.woocommerce-checkout #payment { background: transparent !important; border: 0 !important; border-radius: 0 !important; margin-top: 24px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; border: none; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	border: 1px solid rgba(0,0,0,0.15); padding: 0; margin: 0; background: transparent;
	transition: border-color 0.2s ease;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked) { border-color: var(--color-primary, #1A1A1A); }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: flex; align-items: center; gap: 12px; padding: 18px 20px; margin: 0; cursor: pointer;
	font-family: var(--font-heading, 'Inter Tight', sans-serif); font-size: 0.8125rem; font-weight: 500;
	letter-spacing: 0.10em; text-transform: uppercase; color: var(--color-primary, #1A1A1A);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] { accent-color: var(--color-primary, #1A1A1A); }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img { max-height: 24px; width: auto; margin: 0 0 0 auto; }
.woocommerce-checkout #payment .payment_box {
	background: var(--color-background, #FFFFFF); margin: 0; padding: 18px 20px; font-size: 0.8125rem;
	color: var(--color-muted, #8C8C8C); border-top: 1px solid rgba(0,0,0,0.08);
}
.woocommerce-checkout #payment .payment_box::before { display: none; }
.woocommerce-checkout #payment .payment_box p { margin: 0; }

/* place order + terms */
.woocommerce-checkout #payment .place-order { padding: 0; margin-top: 20px; }
.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order {
	display: block; width: 100%; padding: 20px; margin: 0;
	background: var(--color-primary, #1A1A1A) !important; color: #FFFFFF !important;
	border: 1px solid var(--color-primary, #1A1A1A) !important; border-radius: 0;
	font-family: var(--font-heading, 'Inter Tight', sans-serif); font-size: 0.8125rem; font-weight: 500;
	letter-spacing: 0.18em; text-transform: uppercase; line-height: 1; cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}
.woocommerce-checkout #place_order:hover { background: transparent !important; color: var(--color-primary, #1A1A1A) !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin: 0 0 20px; font-size: 0.8125rem; color: var(--color-muted, #8C8C8C); }
.woocommerce-checkout .woocommerce-privacy-policy-text { margin: 0; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a { border-bottom: 1px solid currentColor; }

/* ----- coupon (top of checkout, when coupons are enabled) ---------------- */
/* toggle: plain text line (no extra gutter — the .woocommerce wrapper already pads) */
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin: 0 0 20px; padding: 0; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: transparent !important; color: var(--color-muted, #8C8C8C) !important;
	border: 0 !important; padding: 0 !important; margin: 0; font-size: 0.8125rem;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon { color: var(--color-primary, #1A1A1A); text-decoration: underline; text-underline-offset: 3px; }
/* form: input + Apply button on one row */
.woocommerce-checkout form.checkout_coupon {
	margin: 0 0 32px; padding: 20px;
	display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px;
	border: 1px solid rgba(0,0,0,0.12); border-radius: 0; background: transparent;
}
.woocommerce-checkout form.checkout_coupon > p:first-child { flex: 1 1 100%; margin: 0; font-size: 0.8125rem; color: var(--color-muted, #8C8C8C); }
/* any coupon error/notice: full width above the input row, never behind the button */
.woocommerce-checkout form.checkout_coupon .woocommerce-error,
.woocommerce-checkout form.checkout_coupon .woocommerce-message,
.woocommerce-checkout form.checkout_coupon .woocommerce-info { flex: 1 1 100%; order: -1; margin: 0 0 4px; }
.woocommerce-checkout form.checkout_coupon .form-row { margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1 1 220px; width: auto !important; }
.woocommerce-checkout form.checkout_coupon .form-row-last { flex: 0 0 auto; width: auto !important; }
.woocommerce-checkout form.checkout_coupon .input-text {
	box-sizing: border-box; width: 100%; min-width: 0; padding: 14px 16px;
	border: 1px solid rgba(0,0,0,0.15); border-radius: 0; background: transparent;
	font: inherit; font-size: 0.9375rem; color: var(--color-primary, #1A1A1A);
}
/* Apply button — same pinned dark treatment as the checkout/place-order buttons */
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"],
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover {
	box-sizing: border-box !important;
	padding: 14px 28px !important;
	margin: 0 !important;
	border: 1px solid var(--color-primary, #1A1A1A) !important;
	border-radius: 0 !important;
	line-height: 1.2 !important;
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
	white-space: nowrap; cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
}
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"] { background: var(--color-primary, #1A1A1A) !important; color: #FFFFFF !important; }
.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover { background: transparent !important; color: var(--color-primary, #1A1A1A) !important; }

/* ----- responsive -------------------------------------------------------- */
@media (max-width: 980px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review { grid-column: 1; }
	.woocommerce-checkout #customer_details { grid-row: auto; }
	.woocommerce-checkout #order_review_heading { grid-row: auto; margin-top: 8px; }
	.woocommerce-checkout #order_review { grid-row: auto; position: static; }
}
@media (max-width: 600px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { grid-column: 1; }
}

/* ==========================================================================
   MOBILE GUTTERS + THANK-YOU (order-received) PAGE
   ========================================================================== */

/* Phones: the cart/account/checkout Divi body rows carry leftover custom
   padding (from the old cart build) that double-pads the content. Trim the page
   gutter to 16px so it matches the newsletter section. Targets *_tb_body rows
   only (not the header/footer). */
@media (max-width: 767px) {
	body.woocommerce-cart .et_pb_row[class*="_tb_body"],
	body.woocommerce-account .et_pb_row[class*="_tb_body"],
	body.woocommerce-checkout .et_pb_row[class*="_tb_body"] {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.woocommerce-cart .forme-cart,
	.woocommerce-checkout .woocommerce,
	.woocommerce-account .woocommerce { padding-left: 0; padding-right: 0; }
}

/* ----- Thank-you / order-received page ----------------------------------- */
.woocommerce-order-received .woocommerce { max-width: 820px; margin: 0 auto; padding: 0 var(--space-gutter, 24px) clamp(60px, 8vw, 120px); }
.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: var(--text-h3, clamp(1.25rem, 1.5vw + 0.9rem, 1.875rem));
	font-weight: 400; letter-spacing: -0.01em;
	margin: 0 0 32px; padding-bottom: 28px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.woocommerce-order-received ul.woocommerce-order-overview {
	list-style: none; margin: 0 0 48px; padding: 0; border: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 20px 24px;
}
/* WooCommerce's clearfix ::before/::after became phantom grid cells (big leading gap) */
.woocommerce-order-received ul.woocommerce-order-overview::before,
.woocommerce-order-received ul.woocommerce-order-overview::after { content: none !important; display: none !important; }
.woocommerce-order-received ul.woocommerce-order-overview li {
	border: 0 !important; padding: 0; margin: 0; float: none; width: auto;
	font-family: var(--font-heading, 'Inter Tight', sans-serif); font-size: 0.6875rem; font-weight: 500;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-muted, #8C8C8C);
}
.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block; margin-top: 6px; font-family: var(--font-body, 'Inter', sans-serif); font-size: 0.9375rem;
	font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--color-primary, #1A1A1A);
}
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details { margin-top: 48px; }
.woocommerce-order-received h2 {
	font-family: var(--font-heading, 'Inter Tight', sans-serif);
	font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; margin: 0 0 20px;
}
.woocommerce-order-received table.shop_table,
.woocommerce-order-received table.order_details { width: 100%; border: 0 !important; border-collapse: collapse; margin: 0; }
.woocommerce-order-received table.shop_table thead th,
.woocommerce-order-received table.shop_table tbody td,
.woocommerce-order-received table.shop_table tbody th,
.woocommerce-order-received table.shop_table tfoot td,
.woocommerce-order-received table.shop_table tfoot th {
	border: 0 !important; border-bottom: 1px solid rgba(0,0,0,0.08) !important;
	padding: 14px 0 !important; text-align: left; background: transparent; font-weight: 400;
}
.woocommerce-order-received table.shop_table td:last-child,
.woocommerce-order-received table.shop_table th:last-child { text-align: right; }
.woocommerce-order-received table.shop_table tfoot tr:last-child td,
.woocommerce-order-received table.shop_table tfoot tr:last-child th { font-family: var(--font-heading, 'Inter Tight', sans-serif); font-weight: 500; }
.woocommerce-order-received .woocommerce-customer-details address {
	border: 1px solid rgba(0,0,0,0.12); border-radius: 0; padding: 20px; font-style: normal; line-height: 1.7;
}
/* billing + shipping addresses: even 2-col grid (stacked on mobile) instead of
   floats — gives the "Shipping address" heading breathing room */
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
	display: grid; grid-template-columns: 1fr 1fr; gap: 32px 40px; margin: 0;
}
/* kill the col2-set clearfix ::before/::after (phantom grid cells shifting the columns) */
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::before,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::after { content: none !important; display: none !important; }
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column { width: 100%; float: none; margin: 0; padding: 0; }
@media (max-width: 600px) {
	.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr; }
}

/* product thumbnail inside the order-details name cell (order-details-item.php).
   Scoped to .woocommerce-order-details so it's styled on thank-you AND account
   View Order. Float + clearfix (no :has) contains the taller image in the cell. */
.woocommerce-order-details table.shop_table td.product-name::after { content: ""; display: block; clear: both; }
.forme-order-thumb { float: left; margin-right: 14px; }
.forme-order-thumb img {
	width: 48px; height: auto; aspect-ratio: 3 / 4; object-fit: cover; display: block; margin: 0;
	background: var(--color-surface, #F5F2ED);
}
.forme-order-line { display: block; overflow: hidden; }
.forme-order-line .product-quantity { color: var(--color-muted, #8C8C8C); font-weight: 400; }

/* ==========================================================================
   SINGLE PRODUCT — AJAX add-to-cart feedback (spinner + inline error)
   ========================================================================== */
form.cart .single_add_to_cart_button.loading { opacity: 0.7; pointer-events: none; }
form.cart .single_add_to_cart_button.loading::after {
	content: ""; display: inline-block; width: 14px; height: 14px; margin-left: 10px;
	vertical-align: middle; border: 2px solid rgba(128,128,128,0.35); border-top-color: currentColor;
	border-radius: 50%; animation: forme-cart-spin 0.8s linear infinite;
}
form.cart .forme-atc-error {
	display: none; margin: 0 0 14px; padding: 10px 14px;
	background: rgba(184,49,42,0.07); color: var(--color-sale, #B8312A);
	border: 1px solid rgba(184,49,42,0.25); font-size: 0.8125rem; line-height: 1.5;
}

/* ==========================================================================
   MY ACCOUNT — [woocommerce_my_account] shortcode (classic)
   Logged in: nav sidebar + content. Logged out: login (+ register) forms.
   ========================================================================== */
.woocommerce-account .woocommerce { color: #1A1A1A; font-family: 'Inter', sans-serif; }

/* ----- Logged-in layout: nav + content (float-based, bulletproof) -----
   Divi's templated account page wouldn't honour display:grid on .woocommerce,
   so we use a classic float: 240px nav on the left, content fills the rest via
   its own block-formatting context (overflow:hidden). No grid-template/minmax
   that can silently drop. */
.woocommerce-account.logged-in .woocommerce {
	display: block !important;
	max-width: 1400px;
	margin: 0 auto;
	padding: clamp(32px, 4vw, 56px) clamp(16px, 3vw, 40px) clamp(60px, 8vw, 120px);
}
.woocommerce-account.logged-in .woocommerce::after { content: ""; display: block; clear: both; }
.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { float: none; width: 100%; clear: both; }
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: left !important;
	width: 240px !important;
	margin: 0 clamp(40px, 5vw, 72px) 0 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
	display: block !important;
	float: none !important;
	width: auto !important;
	overflow: hidden;   /* new BFC -> fills the space beside the floated nav */
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: 100px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(0,0,0,0.1);
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 16px 0;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	font-family: 'Inter Tight', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8C8C8C;
	transition: color 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #1A1A1A; }

.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: 'Inter Tight', sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	margin: 0 0 16px;
}
.woocommerce-account .woocommerce-MyAccount-content p { margin: 0 0 16px; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { border-bottom: 1px solid currentColor; }

/* ----- Orders table ----- */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
	width: 100%;
	border: none;
	border-collapse: collapse;
	border-top: 1px solid rgba(0,0,0,0.1);
	margin: 0;
}
.woocommerce-account table.shop_table thead th {
	font-family: 'Inter Tight', sans-serif;
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #8C8C8C;
	text-align: left;
	padding: 16px 12px 16px 0;
	border: none;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	background: transparent;
}
.woocommerce-account table.shop_table tbody td {
	padding: 20px 12px 20px 0;
	border: none;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	font-size: 0.9375rem;
	background: transparent;
	vertical-align: middle;
}
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-number a { font-family: 'Inter Tight', sans-serif; font-weight: 500; border: none; }
.woocommerce-account table.shop_table .woocommerce-button {
	display: inline-block;
	padding: 10px 22px !important;
	font-size: 0.6875rem;
	background: #1A1A1A !important;      /* beat Divi #et-boc dark-on-dark */
	color: #FFFFFF !important;
	border: 1px solid #1A1A1A !important;
	box-shadow: none !important;
	line-height: 1.2;
}
.woocommerce-account table.shop_table .woocommerce-button:hover {
	background: transparent !important;
	color: #1A1A1A !important;
	padding: 10px 22px !important;       /* pin box so hover can't grow / shift the row */
}
/* kill Divi's hover arrow pseudo-element that widens the button */
.woocommerce-account table.shop_table .woocommerce-button::before,
.woocommerce-account table.shop_table .woocommerce-button::after {
	content: none !important;
	display: none !important;
}

/* ----- Addresses ----- */
.woocommerce-account .woocommerce-Addresses { display: block !important; margin: 0; }
.woocommerce-account .woocommerce-Addresses::after { content: ""; display: block; clear: both; }
.woocommerce-account .woocommerce-Address {
	box-sizing: border-box;
	float: left !important;
	width: calc(50% - 12px) !important;
	margin: 0 24px 24px 0 !important;
	border: 1px solid rgba(0,0,0,0.12);
	padding: 28px;
}
.woocommerce-account .woocommerce-Address:nth-child(2n) { margin-right: 0 !important; }
.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px; }
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 0;
}
.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	font-size: 0.9375rem;
	color: #8C8C8C;
	line-height: 1.7;
}
.woocommerce-account .woocommerce-Address .edit {
	font-family: 'Inter Tight', sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
}

/* ----- Forms (login / register / edit-account / addresses / lost password) ----- */
.woocommerce-account .form-row,
.woocommerce-account .woocommerce-form-row { margin: 0 0 16px; padding: 0; width: auto; float: none; }
.woocommerce-account label {
	display: block;
	font-family: 'Inter Tight', sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8C8C8C;
	margin-bottom: 8px;
}
.woocommerce-account label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 10px; text-transform: none; letter-spacing: 0; font-family: 'Inter', sans-serif; color: #1A1A1A; }
.woocommerce-account .input-text,
.woocommerce-account select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 0;
	background: transparent;
	font: inherit;
	font-size: 0.9375rem;
	color: #1A1A1A;
	outline: none;
	transition: border-color 0.2s ease;
}
.woocommerce-account .input-text:focus,
.woocommerce-account select:focus { border-color: #1A1A1A; }

/* edit-account / address forms: 2-col where WC marks first/last */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .edit-account,
.woocommerce-account form.woocommerce-address-fields { max-width: 640px; }

/* Save / submit buttons — force the brand button over Divi/site overrides
   (black-on-black text) and stop the hover size-jump / arrow */
body.woocommerce-account button.button,
body.woocommerce-account input.button,
body.woocommerce-account button[type="submit"],
body.woocommerce-account .woocommerce-Button {
	background: #1A1A1A !important;
	color: #FFFFFF !important;
	border: 1px solid #1A1A1A !important;
	padding: 16px 36px !important;
	border-radius: 0 !important;
	transition: background 0.3s ease, color 0.3s ease !important;
}
body.woocommerce-account button.button:hover,
body.woocommerce-account input.button:hover,
body.woocommerce-account button[type="submit"]:hover,
body.woocommerce-account .woocommerce-Button:hover {
	background: transparent !important;
	color: #1A1A1A !important;
	padding: 16px 36px !important;   /* locked so it doesn't resize */
}
/* :active / :focus / :disabled — Divi u disabled stanju digne font-size na 20px
   i line-height 1.7em!important (selektor button.button:disabled[disabled]) pa se
   gumb naduva. Selektori s :disabled[disabled] / .disabled nadjačaju tu specifičnost. */
body.woocommerce-account button.button:active,
body.woocommerce-account button.button:focus,
body.woocommerce-account button.button:disabled,
body.woocommerce-account button.button:disabled[disabled],
body.woocommerce-account button.button.disabled,
body.woocommerce-account input.button:active,
body.woocommerce-account input.button:focus,
body.woocommerce-account input.button:disabled,
body.woocommerce-account input.button.disabled,
body.woocommerce-account button[type="submit"]:active,
body.woocommerce-account button[type="submit"]:focus,
body.woocommerce-account button[type="submit"]:disabled,
body.woocommerce-account button[type="submit"]:disabled[disabled],
body.woocommerce-account button[type="submit"].disabled,
body.woocommerce-account .woocommerce-Button:active,
body.woocommerce-account .woocommerce-Button:focus,
body.woocommerce-account .woocommerce-Button:disabled,
body.woocommerce-account .woocommerce-Button:disabled[disabled],
body.woocommerce-account .woocommerce-Button.disabled {
	font-size: 0.8125rem !important;
	line-height: 1.2 !important;
	padding: 16px 36px !important;
	transform: none !important;
	box-shadow: none !important;
	border: 1px solid #1A1A1A !important;
	border-radius: 0 !important;
	background: #1A1A1A !important;
	color: #FFFFFF !important;
	opacity: 1 !important;
}
.woocommerce-account button.button::after,
.woocommerce-account button.button::before,
.woocommerce-account input.button::after,
.woocommerce-account button[type="submit"]::after,
.woocommerce-account button[type="submit"]::before,
.woocommerce-account .woocommerce-Button::after { content: none !important; display: none !important; }

/* ----- Logged-out: login (+ register) ----- */
.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(40px, 5vw, 72px) clamp(16px, 3vw, 40px) clamp(60px, 8vw, 120px);
}
/* login | register: two columns via float — scoped to #customer_login so it
   does NOT leak into the Addresses section (which also uses .u-columns/.col-*) */
.woocommerce-account #customer_login { display: block !important; margin: 0; }
.woocommerce-account #customer_login::after { content: ""; display: block; clear: both; }
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .col-1 {
	box-sizing: border-box;
	float: left !important;
	width: 50% !important;
	padding: 0 clamp(24px, 4vw, 60px) 0 0 !important;
}
.woocommerce-account #customer_login .u-column2,
.woocommerce-account #customer_login .col-2 {
	box-sizing: border-box;
	float: right !important;
	width: 50% !important;
	border-left: 1px solid rgba(0,0,0,0.08);
	padding: 0 0 0 clamp(24px, 4vw, 60px) !important;
}
/* single login form (registration disabled) — centered */
.woocommerce-account .woocommerce > .woocommerce-form-login {
	max-width: 460px;
	margin: 0 auto;
}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register { border: none; padding: 0; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 10px; }
.woocommerce-account .woocommerce-LostPassword { margin-top: 16px; }
.woocommerce-account .woocommerce-LostPassword a {
	font-family: 'Inter Tight', sans-serif;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8C8C8C;
}
.woocommerce-account .woocommerce-LostPassword a:hover { color: #1A1A1A; }

/* auth headings / intro / full-width buttons / perks (prototype login.html) */
.woocommerce-account #customer_login h2,
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2,
.woocommerce-account:not(.logged-in) .woocommerce-form-login h2 {
	font-family: 'Inter Tight', sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: -0.01em;
	margin: 0 0 12px;
	text-transform: none;
}
.woocommerce-account .forme-auth-intro {
	color: #8C8C8C;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin: 0 0 32px;
	max-width: 42ch;
}
.woocommerce-account .forme-auth-note {
	font-size: 0.875rem;
	color: #8C8C8C;
	line-height: 1.6;
	margin: 0 0 4px;
	padding: 14px 16px;
	background: #F5F2ED;
}
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit { width: 100%; margin-top: 12px; }
.woocommerce-account .woocommerce-form__label-for-checkbox { margin: 4px 0 0; }
.woocommerce-account .woocommerce-form__input-checkbox { accent-color: #1A1A1A; width: auto; margin: 0; box-shadow: none; }
.woocommerce-account .forme-auth-perks {
	list-style: none;
	margin: 32px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid rgba(0,0,0,0.08);
}
.woocommerce-account .forme-auth-perks li {
	font-size: 0.8125rem;
	color: #8C8C8C;
	margin-bottom: 10px;
	padding-left: 18px;
	position: relative;
}
.woocommerce-account .forme-auth-perks li::before { content: "—"; position: absolute; left: 0; }

/* responsive */
@media (max-width: 900px) {
	/* give the content more room on phones */
	.woocommerce-account.logged-in .woocommerce { padding-left: 0 !important; padding-right: 0 !important; padding-top: clamp(20px, 5vw, 32px) !important; }
	.woocommerce-account .woocommerce-MyAccount-content { overflow: visible; }

	/* nav: full-width wrapping row with a bottom border — every link visible, no scrollbar */
	.woocommerce-account .woocommerce-MyAccount-navigation {
		float: none !important;
		width: auto !important;
		margin: 0 0 28px 0 !important;
		position: static;
		border-top: none;
		border-bottom: 1px solid rgba(0,0,0,0.12);
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 2px 24px;
		border-top: none;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		border-bottom: 2px solid transparent;
		white-space: nowrap;
		padding: 10px 0;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-bottom-color: #1A1A1A; }

	/* addresses stack full width */
	.woocommerce-account .woocommerce-Address { float: none !important; width: 100% !important; margin: 0 0 20px 0 !important; }
	/* login | register stack full width (scoped to #customer_login) */
	.woocommerce-account #customer_login .u-column1,
	.woocommerce-account #customer_login .col-1,
	.woocommerce-account #customer_login .u-column2,
	.woocommerce-account #customer_login .col-2 { float: none !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
	.woocommerce-account #customer_login .u-column2,
	.woocommerce-account #customer_login .col-2 { border-left: none; border-top: 1px solid rgba(0,0,0,0.08); padding-top: 40px !important; margin-top: 40px; }
}

/* ==========================================================================
   Language switcher (TranslatePress) — [forme_lang_switch] u Divi footeru.
   Global (footer je svuda). Naslijedi font/boju iz footer modula.
   ========================================================================== */
.forme-lang-switch {
	color: inherit !important;   /* nadjačaj Divi .et-db #et-boc .et-l a { color:#1a1a1a } */
	text-decoration: none !important;
	transition: opacity 0.2s ease;
}
.forme-lang-switch:hover { opacity: 0.6; color: inherit !important; }

/* "Jezik / Language" label before the HR/EN toggle (footer + menu overlay). */
.forme-lang-label {
	opacity: 0.55;
	margin-right: 0.55em;
	letter-spacing: 0.02em;
}

/* ==========================================================================
   Diskretni studio credit u footeru — [forme_studio_credit].
   Namjerno nenametljivo: sitno, prigušeno, blago se pojača na hover.
   ========================================================================== */
.forme-studio-credit {
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	opacity: 0.4;
	transition: opacity 0.25s ease;
}
.forme-studio-credit:hover { opacity: 0.75; }
.forme-studio-credit a {
	color: inherit !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent;
}
.forme-studio-credit a:hover { border-bottom-color: currentColor; }

/* ==========================================================================
   MINI-CART DRAWER + header cart badge
   ========================================================================== */
.header-cart{position:relative}
.header-cart .et_pb_code_inner{position:relative;display:inline-block;line-height:0}
.forme-cart-count{
  position:absolute;top:-7px;right:-9px;min-width:15px;height:15px;padding:0 3px;border-radius:9px;
  font-family:'Inter Tight',sans-serif;font-size:9px;font-weight:600;line-height:15px;text-align:center;
  transform:scale(0);transition:transform .25s cubic-bezier(.4,0,.2,1);pointer-events:none
}
.forme-cart-count.show{transform:scale(1)}
.forme-cart-count.on-dark{background:#FFFFFF;color:#1A1A1A}    /* transparentni header (bijela ikona) */
.forme-cart-count.on-light{background:#1A1A1A;color:#FFFFFF}   /* bijeli header (tamna ikona) */

.forme-backdrop{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.forme-backdrop.on{opacity:1;visibility:visible;transition:opacity .35s ease}
body.forme-locked{overflow:hidden}

.forme-drawer{position:fixed;top:0;right:0;bottom:0;z-index:99999;width:420px;max-width:100vw;background:#FFFFFF;
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,.08)}
.forme-drawer.open{transform:translateX(0)}
.forme-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid rgba(0,0,0,.08)}
.forme-drawer-head h2{font-family:'Inter Tight',sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin:0;color:#1A1A1A}
.forme-drawer-close{font-family:'Inter Tight',sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C;background:none;border:none;cursor:pointer}
.forme-drawer-close:hover{color:#1A1A1A}
.forme-drawer-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}

/* WooCommerce mini-cart in the drawer — !important da pobijedi WC/Divi CSS koji se učita
   na product/shop stranicama (inače slike male + preklapaju tekst, gumbi drugačiji) */
.forme-drawer .woocommerce-mini-cart{list-style:none !important;margin:0 !important;padding:4px 26px !important;flex:1}
.forme-drawer li.woocommerce-mini-cart-item{position:relative !important;display:block !important;padding:18px 26px 18px 84px !important;border-bottom:1px solid rgba(0,0,0,.08) !important;margin:0 !important;width:auto !important;float:none !important;text-align:left !important;min-height:0 !important}
/* zadnji artikl bez donjeg bordera (subtotal već ima border-top kao razdjelnik) */
.forme-drawer li.woocommerce-mini-cart-item:last-child{border-bottom:0 !important}
.forme-drawer li.woocommerce-mini-cart-item img{position:absolute !important;left:0 !important;top:18px !important;width:64px !important;min-width:64px !important;max-width:64px !important;height:85px !important;object-fit:cover !important;background:#F5F2ED !important;margin:0 !important;padding:0 !important;float:none !important;border:none !important;border-radius:0 !important;box-shadow:none !important}
.forme-drawer li.woocommerce-mini-cart-item a:not(.remove){display:block !important;color:#1A1A1A !important;font-size:.9375rem !important;font-weight:300 !important;line-height:1.4 !important;text-align:left !important;text-decoration:none !important}
.forme-drawer li.woocommerce-mini-cart-item dl.variation{margin:6px 0 0 !important;padding:0 !important;border:0 !important;font-size:.8125rem !important;color:#8C8C8C !important;text-align:left !important}
.forme-drawer li.woocommerce-mini-cart-item dl.variation dt,.forme-drawer li.woocommerce-mini-cart-item dl.variation dd{display:inline !important;margin:0 !important;padding:0 !important;font-weight:400 !important;color:#8C8C8C !important;background:none !important}
.forme-drawer li.woocommerce-mini-cart-item dl.variation dd{margin-right:8px !important}
.forme-drawer li.woocommerce-mini-cart-item dl.variation p{display:inline !important;margin:0 !important}
/* kill Divi/WC pipe separator (::before/::after) on WC pages + normalise "Label: Value" spacing */
.forme-drawer li.woocommerce-mini-cart-item dl.variation dt::before,
.forme-drawer li.woocommerce-mini-cart-item dl.variation dt::after,
.forme-drawer li.woocommerce-mini-cart-item dl.variation dd::before,
.forme-drawer li.woocommerce-mini-cart-item dl.variation dd::after,
.forme-drawer li.woocommerce-mini-cart-item dl.variation dd p::before,
.forme-drawer li.woocommerce-mini-cart-item dl.variation dd p::after{content:none !important;display:none !important}
.forme-drawer li.woocommerce-mini-cart-item dl.variation dt{margin-right:.35em !important}
.forme-drawer li.woocommerce-mini-cart-item .quantity{display:block !important;font-size:.8125rem !important;color:#8C8C8C !important;margin-top:6px !important;text-align:left !important}
.forme-drawer li.woocommerce-mini-cart-item .quantity .amount{font-family:'Inter Tight',sans-serif !important;color:#1A1A1A !important;font-weight:500}
/* qty stepper + line total (replaces default "1 × price"; from woocommerce_widget_cart_item_quantity) */
.forme-drawer li.woocommerce-mini-cart-item .forme-mini-line{display:flex !important;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.forme-drawer .forme-mini-qty{display:inline-flex;align-items:stretch;border:1px solid rgba(0,0,0,.15)}
.forme-drawer .forme-mini-qty-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:.9375rem;font-weight:300;line-height:1;color:#1A1A1A;padding:0;font-family:'Inter Tight',sans-serif}
.forme-drawer .forme-mini-qty-btn:hover{background:#F5F2ED}
.forme-drawer .forme-mini-qty-btn[disabled]{opacity:.35;cursor:default}
.forme-drawer .forme-mini-qty-val{min-width:30px;display:flex;align-items:center;justify-content:center;font-family:'Inter Tight',sans-serif;font-size:.8125rem;font-weight:500;color:#1A1A1A}
.forme-drawer .forme-mini-total{font-family:'Inter Tight',sans-serif;font-size:.9375rem;font-weight:500;color:#1A1A1A;white-space:nowrap}
.forme-drawer .forme-mini-total .amount{font-weight:500 !important;color:#1A1A1A !important}
/* free-shipping bar at the top of the drawer */
.forme-drawer .forme-drawer-shipping{padding:16px 26px 6px}
.forme-drawer .forme-shipping-progress{margin:0}
.forme-drawer .forme-shipping-progress p{font-size:.8125rem;margin:0 0 8px;color:#1A1A1A}
.forme-drawer .forme-shipping-progress p strong{font-weight:500}
.forme-drawer .forme-shipping-progress-bar{height:2px;background:rgba(0,0,0,.12);overflow:hidden}
.forme-drawer .forme-shipping-progress-bar span{display:block;height:100%;background:#1A1A1A;transition:width .4s ease}
/* AJAX qty update loading state */
.forme-drawer.forme-drawer-updating .forme-drawer-body{opacity:.55;pointer-events:none;transition:opacity .2s ease}
.forme-drawer li.woocommerce-mini-cart-item a.remove{position:absolute !important;right:26px !important;left:auto !important;top:16px !important;width:20px !important;height:20px !important;line-height:18px !important;text-align:center !important;color:#8C8C8C !important;background:none !important;font-size:17px !important;border-radius:0 !important;margin:0 !important;padding:0 !important}
.forme-drawer li.woocommerce-mini-cart-item a.remove:hover{color:#1A1A1A !important;background:none !important}
.forme-drawer .woocommerce-mini-cart__total{display:flex !important;justify-content:space-between !important;align-items:baseline;padding:20px 26px !important;margin:0 !important;border-top:1px solid rgba(0,0,0,.08);font-family:'Inter Tight',sans-serif;font-weight:500;text-align:left !important}
.forme-drawer .woocommerce-mini-cart__total .amount{font-size:1.0625rem;font-weight:500}
.forme-drawer .woocommerce-mini-cart__buttons{display:flex !important;flex-direction:column !important;gap:8px !important;padding:0 26px 26px !important;margin:0 !important}
.forme-drawer .woocommerce-mini-cart__buttons a{display:block !important;width:100% !important;text-align:center !important;padding:18px !important;margin:0 !important;font-family:'Inter Tight',sans-serif !important;font-size:.8125rem !important;font-weight:500 !important;letter-spacing:.18em !important;text-transform:uppercase !important;border:1px solid #1A1A1A !important;border-radius:0 !important;line-height:1.2 !important;background:transparent;color:#1A1A1A}
.forme-drawer .woocommerce-mini-cart__buttons a.checkout{background:#1A1A1A !important;color:#FFFFFF !important;order:-1;transition:background .3s ease,color .3s ease}
.forme-drawer .woocommerce-mini-cart__buttons a.checkout:hover{background:transparent !important;color:#1A1A1A !important}
.forme-drawer .woocommerce-mini-cart__buttons a:not(.checkout){color:#8C8C8C !important;background:transparent !important;border-color:transparent !important;padding:6px !important;letter-spacing:.14em !important}
.forme-drawer .woocommerce-mini-cart__buttons a:not(.checkout):hover{color:#1A1A1A !important;background:transparent !important}
.forme-drawer .woocommerce-mini-cart__buttons a::after,.forme-drawer .woocommerce-mini-cart__buttons a::before{content:none !important;display:none !important}
.forme-drawer .woocommerce-mini-cart__empty-message{padding:60px 26px !important;text-align:center !important;color:#8C8C8C !important;font-size:.9375rem !important}

@media(max-width:768px){.forme-drawer{width:100vw}}

/* ==========================================================================
   SEARCH OVERLAY — header .header-search icon -> custom live product search
   ========================================================================== */
.forme-search-backdrop{position:fixed;inset:0;z-index:1990;background:rgba(0,0,0,.4);opacity:0;transition:opacity .35s ease}
.forme-search-backdrop.on{opacity:1}
.forme-search-overlay{position:fixed;top:0;left:0;right:0;z-index:2000;background:#fff;transform:translateY(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);padding:0 clamp(16px,3vw,40px);box-shadow:0 24px 60px rgba(0,0,0,.10)}
.forme-search-overlay.open{transform:translateY(0)}
.forme-search-inner{max-width:1100px;margin:0 auto}
.forme-search-bar{display:flex;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid #1A1A1A}
.forme-search-close{font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C;background:none;border:none;cursor:pointer;flex-shrink:0;padding:0}
.forme-search-close:hover{color:#1A1A1A}

/* input */
.forme-search-bar .forme-search-ico{flex-shrink:0;color:#8C8C8C}
.forme-search-input{flex:1;min-width:0;border:none;outline:none;background:none;padding:0;margin:0;font-family:'Inter Tight',sans-serif;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:400;color:#1A1A1A;-webkit-appearance:none;appearance:none}
.forme-search-input::placeholder{color:#8C8C8C}
.forme-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* body: Popular suggestions + live results */
.forme-search-body{max-width:1100px;margin:0 auto;padding:28px 0 40px;max-height:calc(100vh - 92px);overflow-y:auto}
.forme-search-eyebrow{display:block;font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#8C8C8C;margin-bottom:16px}
.forme-search-terms{display:flex;flex-wrap:wrap;gap:10px}
.forme-search-term{padding:8px 18px;border:1px solid rgba(0,0,0,.15);background:none;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#1A1A1A;transition:background .2s ease,color .2s ease,border-color .2s ease}
.forme-search-term:hover{background:#1A1A1A;color:#fff;border-color:#1A1A1A}

.forme-search-results{display:none;grid-template-columns:repeat(4,1fr);gap:24px}
.forme-search-overlay.searching .forme-search-suggest{display:none}
.forme-search-overlay.searching .forme-search-results{display:grid}
.forme-search-empty{color:#8C8C8C;font-size:.9375rem;margin:4px 0 0}
.forme-search-empty[hidden]{display:none}

.forme-sr{display:block;text-decoration:none;color:#1A1A1A}
.forme-sr-img{display:block;aspect-ratio:3/4;background:#F5F2ED;overflow:hidden;margin-bottom:8px}
.forme-sr-img img{width:100%;height:100%;object-fit:cover;display:block}
.forme-sr-name{display:block;font-family:'Inter',sans-serif;font-size:.875rem;font-weight:300;line-height:1.4;margin-bottom:2px}
.forme-sr-price{display:block;font-family:'Inter Tight',sans-serif;font-size:.875rem;font-weight:500;color:#1A1A1A}
.forme-sr-price .amount{font-weight:500;color:#1A1A1A}
.forme-sr-price del{color:#8C8C8C;font-weight:400;margin-right:6px}
.forme-sr:hover .forme-sr-name{text-decoration:underline}

@media(max-width:1024px){.forme-search-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.forme-search-results{grid-template-columns:repeat(2,1fr);gap:16px}}

/* ==========================================================================
   SHOP — [forme_shop] filter/sort bar + AJAX product grid (shop-filters.html)
   Header offset for the sticky bar is --forme-header-h (override if needed).
   ========================================================================== */
.forme-shop{--forme-header-h:88px;font-family:'Inter',sans-serif;color:#1A1A1A}

/* ----- filter / sort bar ----- */
.forme-fb{position:sticky;top:var(--forme-header-h);z-index:60;background:#fff;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,2vw,28px)}
.forme-fb-left{display:flex;align-items:center;gap:8px}
.forme-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid rgba(0,0,0,.14);background:none;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#1A1A1A;transition:border-color .2s ease,background .2s ease,color .2s ease}
.forme-chip:hover{border-color:#1A1A1A}
.forme-chip.has{background:#1A1A1A;color:#fff;border-color:#1A1A1A}
.forme-chip-n{font-size:.7rem;opacity:.9}
.forme-caret{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .2s ease}
.forme-chip.open .forme-caret{transform:rotate(-135deg);margin-top:2px}
.forme-fb-mobile{display:none}
.forme-fb-right{display:flex;align-items:center;gap:20px}
.forme-count{font-family:'Inter Tight',sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C;white-space:nowrap}
.forme-sort{display:flex;align-items:center;gap:10px}
.forme-sort label{font-family:'Inter Tight',sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C}
.forme-sort-select{font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border:none;border-bottom:1px solid #1A1A1A;background:none;padding:6px 22px 6px 2px;color:#1A1A1A;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231A1A1A' stroke-width='1.4' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}

/* ----- dropdown panels (desktop) ----- */
.forme-eyebrow{font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#8C8C8C}
.forme-panel{position:fixed;z-index:61;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 50px rgba(0,0,0,.1);padding:22px 24px;min-width:240px;display:none}
.forme-panel.open{display:block}
.forme-panel .forme-eyebrow{display:block;margin-bottom:16px}
.forme-opt-sizes{display:flex;flex-wrap:wrap;gap:8px;max-width:260px}
.forme-o-size{width:44px;height:38px;border:1px solid rgba(0,0,0,.14);background:none;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.06em;color:#1A1A1A;display:flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease,border-color .18s ease}
.forme-o-size:hover{border-color:#1A1A1A}
.forme-o-size.on{background:#1A1A1A;color:#fff;border-color:#1A1A1A}
.forme-opt-colors{display:flex;flex-direction:column;gap:12px}
.forme-o-color{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:.875rem;color:#1A1A1A;text-align:left}
.forme-o-color .forme-sw{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0;position:relative}
.forme-o-color.on .forme-sw::after{content:"";position:absolute;inset:-5px;border:1px solid #1A1A1A;border-radius:50%}
.forme-o-color.on{font-weight:500}
.forme-opt-prices{display:flex;flex-direction:column;gap:2px}
.forme-o-price{display:flex;align-items:center;gap:12px;padding:8px 0;background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:.9375rem;color:#1A1A1A;text-align:left}
.forme-o-price .forme-dot{width:16px;height:16px;border:1px solid rgba(0,0,0,.14);border-radius:50%;position:relative;flex-shrink:0}
.forme-o-price.on .forme-dot{border-color:#1A1A1A}
.forme-o-price.on .forme-dot::after{content:"";position:absolute;inset:3px;background:#1A1A1A;border-radius:50%}
.forme-opt-cats{display:flex;flex-direction:column;gap:2px;min-width:200px;max-height:340px;overflow-y:auto}
.forme-o-cat{display:flex;align-items:center;gap:12px;padding:8px 0;background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:.9375rem;color:#1A1A1A;text-align:left}
.forme-o-cat .forme-check{width:16px;height:16px;border:1px solid rgba(0,0,0,.14);flex-shrink:0;position:relative}
.forme-o-cat.on .forme-check{border-color:#1A1A1A;background:#1A1A1A}
.forme-o-cat.on .forme-check::after{content:"";position:absolute;left:5px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.forme-o-cat.on{font-weight:500}

/* ----- active filters row ----- */
.forme-active{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px clamp(16px,2vw,28px);border-bottom:1px solid rgba(0,0,0,.08)}
.forme-active[hidden]{display:none}
.forme-active-lbl{font-family:'Inter Tight',sans-serif;font-size:.625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#8C8C8C}
.forme-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#F5F2ED;font-family:'Inter Tight',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.forme-tag button{background:none;border:none;cursor:pointer;font-size:.9rem;line-height:1;color:#8C8C8C}
.forme-tag button:hover{color:#1A1A1A}
.forme-clear-all{background:none;border:none;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C;border-bottom:1px solid currentColor;padding:0 0 1px;margin-left:4px}
.forme-clear-all:hover{color:#1A1A1A}

/* ----- product grid ----- */
.forme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px clamp(12px,1.5vw,24px);padding:32px clamp(16px,2vw,28px) 80px;max-width:none;margin:0 auto;transition:opacity .2s ease}
.forme-shop-loading .forme-grid{opacity:.5;pointer-events:none}
.forme-card{display:block;text-decoration:none;color:#1A1A1A}
.forme-card-ph{display:block;aspect-ratio:3/4;background:#F5F2ED;overflow:hidden;margin-bottom:12px;position:relative}
.forme-card-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.forme-card:hover .forme-card-ph img{transform:scale(1.03)}
/* hover swaps to the first gallery image (like the old Divi loop) */
.forme-card-hover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease,transform .6s cubic-bezier(.4,0,.2,1)}
.forme-card:hover .forme-card-hover{opacity:1}
.forme-card-badge{position:absolute;top:12px;left:12px;background:#fff;font-family:'Inter Tight',sans-serif;font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;color:#1A1A1A}
/* !important + extra specificity so WooCommerce archive / Divi #et-boc h3 rules can't enlarge the title on category/tag/attribute pages */
.forme-shop .forme-card .forme-card-title{font-family:'Inter',sans-serif !important;font-size:.9375rem !important;font-weight:300 !important;line-height:1.4 !important;letter-spacing:0 !important;margin:0 0 2px !important;color:#1A1A1A !important}
.forme-shop .forme-card .forme-card-price{font-family:'Inter Tight',sans-serif !important;font-weight:500 !important;font-size:.9375rem !important;color:#1A1A1A !important}
.forme-card-price .amount{font-weight:500;color:#1A1A1A}
.forme-card-price del{color:#8C8C8C;font-weight:400;margin-right:6px}
.forme-card-price ins{text-decoration:none}
.forme-card-sw{display:flex;gap:5px;margin-top:8px}
.forme-card-sw i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:inline-block}
.forme-shop-empty{grid-column:1/-1;text-align:center;color:#8C8C8C;padding:60px 0;font-size:1rem}

.forme-loadmore-wrap{text-align:center;padding:0 0 90px}
.forme-loadmore{display:inline-block;padding:15px 40px;background:none;border:1px solid #1A1A1A;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#1A1A1A;transition:background .3s ease,color .3s ease}
.forme-loadmore:hover{background:#1A1A1A;color:#fff}
.forme-loadmore[hidden]{display:none}

/* ----- mobile drawer ----- */
.forme-shop-backdrop{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.4);opacity:0;transition:opacity .35s ease}
.forme-shop-backdrop.on{opacity:1}
.forme-mdrawer{position:fixed;top:0;right:0;bottom:0;z-index:99999;width:400px;max-width:100vw;background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,.08)}
.forme-mdrawer.open{transform:translateX(0)}
.forme-md-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid rgba(0,0,0,.08)}
.forme-mdrawer .forme-md-head h2{font-family:'Inter Tight',sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin:0;color:#1A1A1A!important}
.forme-mdrawer .forme-md-close{background:none!important;border:none!important;box-shadow:none!important;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C!important}
.forme-mdrawer .forme-md-close:hover{color:#1A1A1A!important;background:none!important}
.forme-md-body{flex:1;overflow-y:auto;padding:8px 24px}
.forme-md-group{padding:22px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.forme-md-group>.forme-eyebrow{display:block;margin-bottom:16px}
.forme-md-group .forme-opt-sizes,.forme-md-group .forme-opt-colors,.forme-md-group .forme-opt-prices{max-width:none}
.forme-md-foot{border-top:1px solid rgba(0,0,0,.08);padding:18px 24px;display:flex;gap:12px}
.forme-mdrawer .forme-md-foot button{flex:1;padding:16px;cursor:pointer;border-radius:0!important;box-shadow:none!important;font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.2}
.forme-mdrawer .forme-md-clear{border:1px solid rgba(0,0,0,.14)!important;background:none!important;color:#1A1A1A!important}
.forme-mdrawer .forme-md-apply{background:#1A1A1A!important;color:#fff!important;border:1px solid #1A1A1A!important}

/* ----- responsive ----- */
@media(max-width:1024px){.forme-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){
	.forme-fb-left{display:none}
	.forme-fb-mobile{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid #1A1A1A;background:none;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#1A1A1A}
	.forme-count{display:none}
	.forme-fb{padding-left:16px;padding-right:16px}
	.forme-active{padding-left:16px;padding-right:16px}
	.forme-grid{grid-template-columns:repeat(2,1fr);gap:28px 12px;padding:24px 16px 70px}
	/* on phones, force the Divi row/column wrappers flush so only the 16px gutter above remains (beats Divi's mobile row padding) */
	body .et_pb_section:has(.forme-shop),
	body .et_pb_row:has(.forme-shop),
	body .et_pb_column:has(.forme-shop),
	.et-db #et-boc .et-l .et_pb_section:has(.forme-shop),
	.et-db #et-boc .et-l .et_pb_row:has(.forme-shop),
	.et-db #et-boc .et-l .et_pb_column:has(.forme-shop){padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}
}
/* tiny phones (≤480, incl. 320) — keep the sort control from overflowing the viewport */
@media(max-width:480px){
	.forme-fb{gap:10px;padding:10px 16px}
	.forme-fb-right{gap:0;min-width:0}
	.forme-sort{gap:8px;min-width:0}
	.forme-sort label{display:none}
	.forme-sort-select{font-size:.7rem;letter-spacing:0;padding:6px 18px 6px 0;max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
	.forme-fb-mobile{padding:9px 14px}
}

/* ----- [forme_shop] container ---------------------------------------------
   The shortcode sits in a Divi Theme Builder row whose max-width is set to
   1800px in the builder. We KEEP that container cap (centered) — a generous,
   editorial width rather than edge-to-edge — and only strip the row/column
   gutters so the grid's own padding is the single source of horizontal spacing.
   We deliberately do NOT force width/max-width:100% here, so the 1800px cap
   stays and shop + every archive render identically. */
.et-db #et-boc .et-l .et_pb_row:has(.forme-shop),
.et-db #et-boc .et-l .et_pb_column:has(.forme-shop),
.et-db #et-boc .et-l .et_pb_module:has(.forme-shop),
.et-db #et-boc .et-l .et_pb_code_inner:has(.forme-shop),
.et_pb_row:has(.forme-shop),
.et_pb_column:has(.forme-shop),
.et_pb_module:has(.forme-shop),
.et_pb_code_inner:has(.forme-shop){
	padding-left:0!important;padding-right:0!important;
}
.et-db #et-boc .et-l .et_pb_row:has(.forme-shop),
.et-db #et-boc .et-l .et_pb_column:has(.forme-shop),
.et_pb_row:has(.forme-shop),
.et_pb_column:has(.forme-shop){padding-top:0!important;padding-bottom:0!important}

/* ==========================================================================
   SIZE GUIDE — trigger link under the size pills + centered modal (product page)
   ========================================================================== */
.forme-size-guide-trigger{display:inline-block;margin-top:12px;padding:0 0 1px;background:none;border:none;cursor:pointer;font-family:'Inter Tight',sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C;border-bottom:1px solid currentColor;transition:color .2s ease}
.forme-size-guide-trigger:hover{color:#1A1A1A}

.forme-sg-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px)}
.forme-sg-overlay[hidden]{display:none!important}
.forme-sg-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.forme-sg-modal{position:relative;background:#fff;width:100%;max-width:620px;max-height:85vh;overflow-y:auto;padding:clamp(24px,3vw,40px);box-shadow:0 30px 80px rgba(0,0,0,.2)}
.forme-sg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.forme-sg-head h2{font-family:'Inter Tight',sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin:0;color:#1A1A1A}
.forme-sg-close{background:none;border:none;cursor:pointer;font-size:1.6rem;line-height:1;color:#8C8C8C;padding:0 0 0 16px}
.forme-sg-close:hover{color:#1A1A1A}
.forme-sg-body{font-family:'Inter',sans-serif;font-size:.9375rem;color:#1A1A1A;line-height:1.6}
.forme-sg-table{width:100%;border-collapse:collapse;margin:0 0 16px}
.forme-sg-table th,.forme-sg-table td{padding:12px 10px;text-align:left;border-bottom:1px solid rgba(0,0,0,.08);font-size:.875rem}
.forme-sg-table thead th{font-family:'Inter Tight',sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#8C8C8C;border-bottom:1px solid rgba(0,0,0,.15)}
.forme-sg-table tbody th{font-family:'Inter Tight',sans-serif;font-weight:500;color:#1A1A1A}
.forme-sg-table tbody td{font-weight:300;color:#1A1A1A}
.forme-sg-note{font-size:.8125rem;color:#8C8C8C;margin:0}
/* client-authored guides (Size Guide CPT / page) may use a plain or block-editor
   table and basic text — give them the same look as the default table */
.forme-sg-body table{width:100%;border-collapse:collapse;margin:0 0 16px}
.forme-sg-body table th,.forme-sg-body table td{padding:12px 10px;text-align:left;border:none;border-bottom:1px solid rgba(0,0,0,.08);font-size:.875rem;font-weight:300}
.forme-sg-body table thead th{font-family:'Inter Tight',sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#8C8C8C;border-bottom:1px solid rgba(0,0,0,.15)}
.forme-sg-body .wp-block-table{margin:0 0 16px}
.forme-sg-body .wp-block-table table{margin:0}
.forme-sg-body h2,.forme-sg-body h3,.forme-sg-body h4{font-family:'Inter Tight',sans-serif;font-weight:500;letter-spacing:.02em;color:#1A1A1A;margin:0 0 10px}
.forme-sg-body p{margin:0 0 12px}
.forme-sg-body p:last-child{margin-bottom:0}
.forme-sg-body ul,.forme-sg-body ol{margin:0 0 12px;padding-left:20px}
.forme-sg-body li{margin:0 0 4px}
.forme-sg-body img{max-width:100%;height:auto}

/* ==========================================================================
   BOOK APPOINTMENT ([forme_book_appointment])
   Editorial form matching the shop look (Inter, #1A1A1A, muted #8C8C8C).
   ========================================================================== */
.forme-book{font-family:'Inter',sans-serif;color:#1A1A1A;max-width:760px;margin:0 auto;padding:8px 0}
.forme-book-empty{font-size:1rem;color:#8C8C8C;text-align:center;padding:40px 0}
.forme-book-form{display:flex;flex-direction:column;gap:32px}

/* Slots */
.forme-book-slots>.forme-eyebrow{display:block;margin-bottom:20px}
.forme-book-day{margin-bottom:24px}
.forme-book-dayname{font-family:'Inter Tight',sans-serif;font-size:1rem;font-weight:600;letter-spacing:.02em;margin:0 0 12px;text-transform:none}
.forme-book-times{display:flex;flex-wrap:wrap;gap:10px}
.forme-book-time{position:relative;cursor:pointer}
.forme-book-time input{position:absolute;opacity:0;width:0;height:0}
.forme-book-time span{display:inline-block;padding:10px 20px;border:1px solid rgba(0,0,0,.18);font-size:.9rem;letter-spacing:.02em;line-height:1.2;transition:background .18s ease,color .18s ease,border-color .18s ease}
.forme-book-time:hover span{border-color:#1A1A1A}
.forme-book-time input:checked+span{background:#1A1A1A;color:#fff;border-color:#1A1A1A}
.forme-book-time input:focus-visible+span{outline:2px solid #1A1A1A;outline-offset:2px}

/* Fields */
.forme-book-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.forme-book-field{display:flex;flex-direction:column;gap:7px}
.forme-book-field--full{grid-column:1 / -1}
.forme-book-field>span{font-family:'Inter Tight',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8C8C8C}
.forme-book-field input,.forme-book-field textarea{font-family:'Inter',sans-serif;font-size:.95rem;color:#1A1A1A;padding:11px 14px;border:1px solid rgba(0,0,0,.18);background:#fff;border-radius:0;transition:border-color .18s ease}
.forme-book-field input:focus,.forme-book-field textarea:focus{outline:none;border-color:#1A1A1A}
.forme-book-field textarea{resize:vertical;min-height:84px}

/* Submit + message */
.forme-book-submit{align-self:flex-start;display:inline-block;padding:13px 32px;background:#1A1A1A;color:#fff;border:1px solid #1A1A1A;font-family:'Inter Tight',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;line-height:1.2;transition:background .18s ease,color .18s ease}
.forme-book-submit:hover{background:transparent;color:#1A1A1A}
.forme-book-submit[disabled]{opacity:.5;cursor:default;pointer-events:none}
.forme-book-msg{font-size:.95rem;line-height:1.5;margin:0;padding:14px 16px}
.forme-book-msg.is-ok{background:#f3f6f3;color:#1a7f37;border:1px solid rgba(26,127,55,.3)}
.forme-book-msg.is-err{background:#fbf3f3;color:#b32d2e;border:1px solid rgba(179,45,46,.3)}

@media(max-width:600px){
  .forme-book-fields{grid-template-columns:1fr}
  .forme-book-submit{align-self:stretch;text-align:center}
}
