/*
 * The Bridal Edit — main stylesheet.
 *
 * 1. Tokens          5. Homepage sections
 * 2. Base            6. WooCommerce
 * 3. Layout & UI     7. The Little Edit palette
 * 4. Header/footer   8. Responsive
 */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--tbe-aubergine: #2B1A2E;
	--tbe-plum: #4A3550;
	--tbe-gold: #C9A66B;
	--tbe-gold-deep: #9C7A45;
	--tbe-gold-ink: #6E5530;
	--tbe-sand: #E9D7B4;
	--tbe-ivory: #F6F1E7;
	--tbe-linen: #EDE4D6;
	--tbe-line: #D9CDB8;
	--tbe-rose: #C99A93;
	--tbe-rose-deep: #8E5A53;
	--tbe-blush: #F1DDD6;
	--tbe-emerald: #1F4A3F;
	--tbe-emerald-line: #3E6A5E;
	--tbe-sage: #7E9277;
	--tbe-sage-deep: #4F6449;
	--tbe-cocoa: #4A3A33;
	--tbe-oat: #E8DCCB;
	--tbe-cream: #FBF7F0;

	--tbe-bg: var(--tbe-ivory);
	--tbe-ink: var(--tbe-aubergine);
	--tbe-muted: var(--tbe-plum);
	--tbe-accent: var(--tbe-gold-deep);
	--tbe-accent-ink: var(--tbe-gold-ink);
	--tbe-button: var(--tbe-aubergine);
	--tbe-button-ink: var(--tbe-ivory);

	--tbe-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--tbe-sans: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;

	--tbe-radius: 6px;
	--tbe-arch: 999px 999px 0 0;
	--tbe-container: 1240px;
	--tbe-gutter: clamp(16px, 4vw, 40px);
	--tbe-section: clamp(64px, 9vw, 120px);
}

/* 2. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--tbe-bg);
	color: var(--tbe-ink);
	font-family: var(--tbe-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--tbe-accent-ink); text-underline-offset: 3px; }
a:hover { color: var(--tbe-ink); }
:focus-visible { outline: 2px solid var(--tbe-gold-deep); outline-offset: 3px; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--tbe-serif);
	font-weight: 500;
	line-height: 1.08;
	margin: 0 0 .5em;
	letter-spacing: -0.005em;
}
h1 em, h2 em, h3 em { font-style: italic; font-weight: 400; color: var(--tbe-accent); }
p { margin: 0 0 1em; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link:focus {
	position: fixed !important; top: 12px; left: 12px; z-index: 1000;
	width: auto; height: auto; clip: auto; margin: 0;
	padding: 12px 18px; background: var(--tbe-ivory); color: var(--tbe-ink);
	border-radius: var(--tbe-radius);
}

/* 3. Layout & shared UI ---------------------------------------------------- */
.container { width: 100%; max-width: var(--tbe-container); margin-inline: auto; padding-inline: var(--tbe-gutter); }
.container--narrow { max-width: 820px; }
.tbe-section { padding-block: var(--tbe-section); }
.tbe-band { padding-block: var(--tbe-section); }

.tbe-kicker {
	font-family: var(--tbe-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--tbe-muted);
	margin: 0 0 18px;
}
.tbe-section__head { max-width: 760px; margin-bottom: clamp(36px, 5vw, 56px); }
.tbe-section__head--split { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 32px; }
.tbe-section__title { font-size: clamp(44px, 6vw, 76px); margin: 0; }
.tbe-page-title { font-size: clamp(40px, 5.5vw, 64px); margin-bottom: 32px; }

.tbe-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 14px 30px;
	border: 1px solid var(--tbe-button);
	border-radius: 999px;
	background: var(--tbe-button);
	color: var(--tbe-button-ink);
	font-family: var(--tbe-sans);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.tbe-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--tbe-plum);
	border-color: var(--tbe-plum);
	color: var(--tbe-ivory);
}
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled,
.woocommerce button.button:disabled[disabled] { background: var(--tbe-plum); border-color: var(--tbe-plum); color: var(--tbe-ivory); opacity: .5; }
.tbe-button .tbe-icon { width: 20px; height: 20px; flex: none; }
.tbe-button--ghost { background: transparent; color: var(--tbe-ink); }
.tbe-button--ghost:hover { background: var(--tbe-ink); color: var(--tbe-ivory); }
.tbe-button--sand { background: var(--tbe-sand); border-color: var(--tbe-sand); color: var(--tbe-aubergine); }
.tbe-button--sand:hover { background: var(--tbe-ivory); border-color: var(--tbe-ivory); color: var(--tbe-aubergine); }
.tbe-button--ghost-light { background: transparent; border-color: var(--tbe-sand); color: var(--tbe-ivory); }
.tbe-button--ghost-light:hover { background: var(--tbe-ivory); border-color: var(--tbe-ivory); color: var(--tbe-aubergine); }
.tbe-button--cocoa { background: var(--tbe-cocoa); border-color: var(--tbe-cocoa); color: var(--tbe-cream); }
.tbe-button--cocoa:hover { background: var(--tbe-sage-deep); border-color: var(--tbe-sage-deep); color: var(--tbe-cream); }
.tbe-button--block { width: 100%; }

.tbe-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.tbe-actions--center { justify-content: center; }

.tbe-link-arrow { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--tbe-ink); text-decoration: none; }
.tbe-link-arrow .tbe-icon { width: 20px; height: 20px; transition: transform .2s ease; }
.tbe-link-arrow:hover .tbe-icon { transform: translateX(4px); }

.tbe-mark { display: block; width: 48px; height: auto; color: var(--tbe-gold-deep); }
.tbe-mark .tbe-mark__star { color: inherit; }

.tbe-badge {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	padding: 7px 14px; border-radius: 999px;
	background: var(--tbe-ivory); color: var(--tbe-aubergine);
	font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; line-height: 1.2;
}
.tbe-badge--rent { background: var(--tbe-aubergine); color: var(--tbe-ivory); }

.tbe-icon { display: inline-block; width: 22px; height: 22px; vertical-align: middle; }

.entry-content > * { max-width: 100%; }
.entry-content h2 { font-size: 40px; margin-top: 1.4em; }
.entry-content h3 { font-size: 30px; margin-top: 1.3em; }

/* 4. Header & footer ------------------------------------------------------- */
.tbe-announcement { background: var(--tbe-aubergine); text-align: center; padding: 10px var(--tbe-gutter); }
.tbe-announcement a { color: var(--tbe-sand); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.tbe-announcement a:hover { color: var(--tbe-ivory); }

.tbe-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--tbe-bg) 94%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid transparent; transition: border-color .2s ease; }
.admin-bar .tbe-header { top: 32px; }
.tbe-header.is-scrolled { border-bottom-color: var(--tbe-line); }
.tbe-header__inner { display: flex; align-items: center; gap: 24px; min-height: 84px; }
.tbe-header__brand { flex: none; }
.tbe-header__brand .custom-logo { max-height: 56px; width: auto; }

.tbe-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--tbe-ink); text-decoration: none; }
.tbe-brand__mark { width: 26px; color: var(--tbe-gold-deep); }
.tbe-wordmark { display: inline-flex; align-items: baseline; gap: .28em; margin: 0; font-family: var(--tbe-serif); font-size: 28px; font-weight: 500; line-height: 1; white-space: nowrap; }
.tbe-wordmark em { font-weight: 400; color: var(--tbe-accent); }
.tbe-wordmark__the { font-family: var(--tbe-sans); font-size: 11px; font-weight: 500; letter-spacing: .4em; text-transform: uppercase; align-self: center; }

.tbe-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.tbe-menu { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.tbe-menu a { color: var(--tbe-ink); text-decoration: none; font-size: 15px; letter-spacing: .04em; padding-block: 8px; border-bottom: 1px solid transparent; }
.tbe-menu a:hover, .tbe-menu .current-menu-item > a, .tbe-menu .current-menu-ancestor > a { border-bottom-color: var(--tbe-gold-deep); }
.tbe-menu .sub-menu { display: none; }
.tbe-nav__whatsapp { display: inline-flex; align-items: center; gap: 8px; color: var(--tbe-ink); text-decoration: none; font-size: 14px; font-weight: 500; letter-spacing: .04em; white-space: nowrap; }
.tbe-nav__whatsapp .tbe-icon { width: 20px; height: 20px; color: var(--tbe-emerald); }

.tbe-header__actions { display: flex; align-items: center; gap: 6px; }
.tbe-icon-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--tbe-ink); border-radius: 50%; }
.tbe-icon-link:hover { background: var(--tbe-linen); color: var(--tbe-ink); }
.tbe-cart-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--tbe-aubergine); color: var(--tbe-ivory); font-size: 11px; font-weight: 500; line-height: 18px; text-align: center; }
.tbe-cart-count.is-empty { display: none; }
.tbe-menu-toggle { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; border: 0; background: none; color: var(--tbe-ink); cursor: pointer; border-radius: 50%; }
.tbe-menu-toggle__close { display: none; }
.tbe-nav-open .tbe-menu-toggle__open { display: none; }
.tbe-nav-open .tbe-menu-toggle__close { display: inline-flex; }

.tbe-footer { background: var(--tbe-aubergine); color: var(--tbe-ivory); padding-top: 80px; }
.tbe-footer a { color: var(--tbe-ivory); text-decoration: none; }
.tbe-footer a:hover { color: var(--tbe-sand); }
.tbe-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid #4A3550; }
.tbe-brand--footer { color: var(--tbe-ivory); }
.tbe-brand--footer .tbe-brand__mark { color: var(--tbe-gold); }
.tbe-brand--footer .tbe-wordmark em { color: var(--tbe-sand); }
.tbe-footer__tagline { margin-top: 20px; font-family: var(--tbe-serif); font-style: italic; font-size: 24px; color: var(--tbe-sand); }
.tbe-footer__sister { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.tbe-footer__little-mark { width: 18px; color: #A9BBA2; }
.tbe-footer__heading { font-family: var(--tbe-sans); font-size: 13px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--tbe-sand); margin-bottom: 20px; }
.tbe-footer__menu, .tbe-footer__contact, .tbe-footer .tbe-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.tbe-footer .tbe-menu a { color: var(--tbe-ivory); border: 0; padding: 0; }
.tbe-footer__contact a { display: inline-flex; align-items: center; gap: 10px; }
.tbe-footer__contact .tbe-icon { width: 18px; height: 18px; color: var(--tbe-gold); }
.tbe-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 24px 32px; font-size: 13px; color: var(--tbe-sand); }
.tbe-footer__base p { margin: 0; }

/* 5. Homepage sections ----------------------------------------------------- */
.tbe-hero { padding-block: clamp(32px, 6vw, 80px) var(--tbe-section); }
.tbe-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.tbe-hero__title { font-size: clamp(52px, 7.4vw, 104px); line-height: .98; margin-bottom: 28px; }
.tbe-hero__title em { display: block; }
.tbe-hero__lead { font-size: 19px; max-width: 520px; color: var(--tbe-muted); margin-bottom: 36px; }

.tbe-arch-frame { padding: 14px; border: 1px solid var(--tbe-gold-deep); border-radius: var(--tbe-arch); }
.tbe-arch-frame__inner { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--tbe-arch); background: var(--tbe-emerald); }
.tbe-arch-frame__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tbe-arch-frame__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.tbe-arch-frame__mark { width: 34%; color: var(--tbe-gold); }

.tbe-paths { background: var(--tbe-linen); }
.tbe-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tbe-path { display: flex; flex-direction: column; gap: 8px; color: var(--tbe-ink); text-decoration: none; }
.tbe-path__media { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 5; margin-bottom: 18px; overflow: hidden; border-radius: var(--tbe-arch); background: var(--tbe-emerald); transition: transform .4s ease; }
.tbe-path:hover .tbe-path__media { transform: translateY(-4px); }
.tbe-path--rose .tbe-path__media { background: var(--tbe-rose); }
.tbe-path--sage .tbe-path__media { background: var(--tbe-oat); }
.tbe-path__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tbe-path__mark { width: 28%; color: var(--tbe-gold); }
.tbe-path--rose .tbe-path__mark { color: var(--tbe-ivory); }
.tbe-path--sage .tbe-path__mark { color: var(--tbe-sage); }
.tbe-path__label { font-size: 13px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--tbe-muted); }
.tbe-path__title { font-family: var(--tbe-serif); font-size: 40px; font-weight: 500; line-height: 1.05; }
.tbe-path__text { color: var(--tbe-muted); }
.tbe-path__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-size: 13px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.tbe-path__cta .tbe-icon { width: 18px; height: 18px; transition: transform .2s ease; }
.tbe-path:hover .tbe-path__cta .tbe-icon { transform: translateX(4px); }

.tbe-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.tbe-step { border-top: 1px solid var(--tbe-line); padding-top: 24px; }
.tbe-step__num { display: block; font-family: var(--tbe-serif); font-style: italic; font-size: 48px; line-height: 1; color: var(--tbe-gold-deep); margin-bottom: 18px; }
.tbe-step__title { font-size: 32px; margin-bottom: 10px; }
.tbe-step__text { color: var(--tbe-muted); margin: 0; }

.tbe-band--emerald { background: var(--tbe-emerald); color: var(--tbe-ivory); }
.tbe-band--emerald .tbe-kicker { color: var(--tbe-sand); }
.tbe-promise__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.tbe-promise__title { font-size: clamp(56px, 8vw, 112px); line-height: .95; }
.tbe-promise__title em { display: block; color: var(--tbe-sand); }
.tbe-promise__lead { font-size: 19px; max-width: 520px; }
.tbe-checks { list-style: none; margin: 0; padding: 0; }
.tbe-checks li { display: flex; align-items: center; gap: 18px; padding-block: 22px; border-top: 1px solid var(--tbe-emerald-line); font-family: var(--tbe-serif); font-size: 30px; font-weight: 500; line-height: 1.1; }
.tbe-checks li:last-child { border-bottom: 1px solid var(--tbe-emerald-line); }
.tbe-checks .tbe-icon { flex: none; width: 30px; height: 30px; color: var(--tbe-gold); }

.tbe-stitching__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.tbe-stitching__copy p { color: var(--tbe-muted); font-size: 19px; margin: 24px 0 32px; max-width: 460px; }
.tbe-list { list-style: none; margin: 0; padding: 0; }
.tbe-list__row { display: grid; grid-template-columns: 56px 1fr auto; align-items: baseline; gap: 16px; padding-block: 24px; border-top: 1px solid var(--tbe-line); }
.tbe-list__row:last-child { border-bottom: 1px solid var(--tbe-line); }
.tbe-list__num { font-family: var(--tbe-serif); font-style: italic; font-size: 30px; color: var(--tbe-rose-deep); }
.tbe-list__title { font-family: var(--tbe-serif); font-size: 34px; font-weight: 500; line-height: 1.05; }
.tbe-list__note { font-size: 15px; color: var(--tbe-muted); text-align: right; }

.tbe-band--little { background: var(--tbe-oat); color: var(--tbe-cocoa); }
.tbe-band--little .tbe-kicker { color: #6B5A52; }
.tbe-little__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.tbe-little__mark { display: flex; justify-content: center; padding: 48px; border-radius: 50%; aspect-ratio: 1; background: var(--tbe-cream); max-width: 380px; width: 100%; justify-self: center; }
.tbe-little__mark .tbe-mark { width: 52%; color: var(--tbe-sage); align-self: center; }
.tbe-little__mark .tbe-mark__star { color: #D9A79C; }
.tbe-little__title { font-size: clamp(52px, 7vw, 92px); }
.tbe-little__title em { color: var(--tbe-sage-deep); }
.tbe-little__copy p { font-size: 19px; max-width: 520px; }
.tbe-little__note { font-size: 15px !important; padding: 14px 18px; border-radius: 12px; background: #EEF1EA; display: inline-block; margin: 8px 0 32px; }

.tbe-band--aubergine { background: var(--tbe-aubergine); color: var(--tbe-ivory); }
.tbe-contact__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.tbe-contact__mark { width: 64px; color: var(--tbe-gold); margin-bottom: 32px; }
.tbe-contact__title { font-size: clamp(48px, 7vw, 96px); line-height: .98; }
.tbe-contact__title em { display: block; color: var(--tbe-sand); }
.tbe-contact__inner > p { font-size: 19px; color: var(--tbe-sand); margin-bottom: 36px; }
.tbe-contact__ig { display: inline-flex; align-items: center; gap: 10px; margin-top: 32px; color: var(--tbe-sand); text-decoration: none; letter-spacing: .08em; }
.tbe-contact__ig:hover { color: var(--tbe-ivory); }

.tbe-404__inner { text-align: center; }
.tbe-404__mark { width: 72px; margin: 0 auto 32px; }

/* 6. WooCommerce ----------------------------------------------------------- */
.tbe-shop { padding-block: 32px var(--tbe-section); }
.tbe-breadcrumb, .woocommerce .woocommerce-breadcrumb { font-size: 13px; letter-spacing: .08em; color: var(--tbe-muted); margin: 0 0 32px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--tbe-muted); }
.tbe-crumb-sep { margin-inline: 10px; color: var(--tbe-line); }

.woocommerce-products-header { margin-bottom: 40px; }
.woocommerce-products-header__title.page-title { font-size: clamp(48px, 7vw, 88px); margin-bottom: 12px; }
.term-description { max-width: 640px; color: var(--tbe-muted); font-size: 18px; }
.woocommerce .woocommerce-result-count { font-size: 14px; color: var(--tbe-muted); margin: 0 0 32px; }
.woocommerce .woocommerce-ordering select { min-height: 44px; padding: 8px 40px 8px 16px; border: 1px solid var(--tbe-line); border-radius: 999px; background-color: var(--tbe-ivory); font: inherit; font-size: 14px; color: var(--tbe-ink); }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 28px; margin: 0; }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product { position: relative; float: none; clear: none; width: auto; margin: 0; padding: 0; text-align: left; }
.woocommerce ul.products li.product a img { margin: 0 0 18px; border-radius: var(--tbe-arch); background: var(--tbe-linen); aspect-ratio: 4 / 5; object-fit: cover; transition: transform .4s ease; }
.woocommerce ul.products li.product a:hover img { transform: translateY(-4px); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--tbe-serif); font-size: 28px; font-weight: 500; line-height: 1.1; padding: 0; margin-bottom: 6px; color: var(--tbe-ink); }
.woocommerce ul.products li.product .price { display: block; color: var(--tbe-muted); font-size: 15px; margin-bottom: 14px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { min-height: 44px; padding: 10px 22px; font-size: 12px; background: transparent; color: var(--tbe-ink); margin-top: 0; }
.woocommerce ul.products li.product .button:hover { background: var(--tbe-ink); color: var(--tbe-ivory); }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale { min-width: 0; min-height: 0; padding: 7px 14px; border-radius: 999px; background: var(--tbe-rose); color: var(--tbe-aubergine); font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; line-height: 1.2; top: 14px; right: 14px; left: auto; margin: 0; }
.tbe-price-prefix { font-size: .85em; color: var(--tbe-muted); }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; height: 44px; line-height: 44px; padding: 0; border-radius: 50%; color: var(--tbe-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--tbe-ink); color: var(--tbe-ivory); }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 32px clamp(32px, 6vw, 88px); align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img { border-radius: 18px; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 10px; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .product_title { font-size: clamp(44px, 5vw, 68px); margin-bottom: 14px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tbe-ink); font-size: 24px; margin-bottom: 24px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--tbe-muted); font-size: 18px; margin-bottom: 28px; }
.woocommerce div.product form.cart { margin-bottom: 18px; display: flex; flex-wrap: wrap; gap: 14px; align-items: stretch; }
.woocommerce div.product form.cart .button { flex: 1 1 220px; float: none; }
.woocommerce .quantity .qty { width: 84px; min-height: 52px; border: 1px solid var(--tbe-line); border-radius: 999px; background: var(--tbe-ivory); font: inherit; text-align: center; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart div.quantity:has(> input[type="hidden"]) { display: none; }
.woocommerce div.product .product_meta { font-size: 14px; color: var(--tbe-muted); border-top: 1px solid var(--tbe-line); padding-top: 18px; margin-top: 24px; }
.woocommerce div.product .product_meta > span { display: block; }
.tbe-single-extras { display: grid; gap: 22px; }
.tbe-single-promise { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; color: var(--tbe-muted); }
.tbe-single-promise li { display: flex; align-items: center; gap: 10px; }
.tbe-single-promise .tbe-icon { width: 20px; height: 20px; color: var(--tbe-gold-deep); flex: none; }

.woocommerce div.product .woocommerce-tabs { margin-top: 48px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 32px; border-bottom: 1px solid var(--tbe-line); display: flex; gap: 32px; overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 0; font-size: 14px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--tbe-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--tbe-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--tbe-ink); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; font-size: 18px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 36px; }
.related > h2, .upsells > h2, .cross-sells > h2 { font-size: clamp(36px, 4.5vw, 56px); margin-block: 72px 32px; }

/* Forms, notices, tables */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row .select2-container .select2-selection--single,
.tbe-input, .woocommerce input[type="date"] {
	min-height: 50px; padding: 12px 16px; border: 1px solid var(--tbe-line); border-radius: var(--tbe-radius);
	background: #FFFDF9; font: inherit; color: var(--tbe-ink);
}
.woocommerce form .form-row label { font-size: 14px; font-weight: 500; letter-spacing: .04em; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	border: 0; border-left: 0; border-radius: 12px; background: var(--tbe-linen); color: var(--tbe-ink); padding: 18px 24px 18px 56px;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--tbe-gold-deep); top: 18px; }
.woocommerce-error { background: #F5E1DC; }
.woocommerce-error::before { color: #8E2F2F; top: 18px; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 40px; padding: 8px 18px; font-size: 12px; }

.woocommerce table.shop_table { border: 1px solid var(--tbe-line); border-radius: 14px; border-collapse: separate; overflow: hidden; background: #FFFDF9; }
.woocommerce table.shop_table th { font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--tbe-muted); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top-color: var(--tbe-line); padding: 16px 18px; }
.woocommerce table.shop_table .product-name a { font-family: var(--tbe-serif); font-size: 22px; font-weight: 500; color: var(--tbe-ink); text-decoration: none; }
.woocommerce table.shop_table img { width: 72px; border-radius: 10px; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { font-size: 34px; }
.woocommerce-checkout #payment { background: var(--tbe-linen); border-radius: 14px; }
.woocommerce-checkout #payment div.payment_box { background: #FFFDF9; color: var(--tbe-ink); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #FFFDF9; }
.woocommerce dl.variation, .woocommerce .wc-item-meta { font-size: 14px; color: var(--tbe-muted); }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: 999px; color: var(--tbe-ink); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--tbe-linen); }

/* Block cart & checkout */
.wc-block-components-product-name { font-family: var(--tbe-serif); font-size: 22px; font-weight: 500; color: var(--tbe-ink); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: var(--tbe-radius) !important; border-color: var(--tbe-line) !important; }
.wc-block-components-totals-wrapper { border-color: var(--tbe-line); }

/* 7. The Little Edit palette ---------------------------------------------- */
.tbe-little-theme {
	--tbe-bg: var(--tbe-cream);
	--tbe-ink: var(--tbe-cocoa);
	--tbe-muted: #6B5A52;
	--tbe-accent: var(--tbe-sage-deep);
	--tbe-accent-ink: var(--tbe-sage-deep);
	--tbe-button: var(--tbe-cocoa);
	--tbe-button-ink: var(--tbe-cream);
	--tbe-line: #E2D6C4;
	--tbe-linen: var(--tbe-oat);
}
.tbe-little-theme .tbe-badge { background: #DCE4D7; color: var(--tbe-cocoa); }

/* 8. Responsive ------------------------------------------------------------ */
@media (max-width: 1100px) {
	.tbe-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 959px) {
	.tbe-menu-toggle { display: inline-flex; }
	.tbe-header__inner { min-height: 72px; justify-content: space-between; }
	.tbe-header__actions { margin-left: auto; }
	.tbe-nav {
		position: fixed; inset: var(--tbe-nav-top, 72px) 0 0 0; z-index: 40;
		flex-direction: column; align-items: stretch; gap: 0; margin: 0;
		padding: 24px var(--tbe-gutter) 40px; background: var(--tbe-bg); overflow-y: auto;
		visibility: hidden; opacity: 0; transform: translateY(-8px);
		transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
	}
	.tbe-nav-open .tbe-nav { visibility: visible; opacity: 1; transform: none; transition: opacity .2s ease, transform .2s ease; }
	.tbe-nav-open { overflow: hidden; }
	.tbe-menu { flex-direction: column; gap: 0; }
	.tbe-menu a { display: block; padding-block: 18px; font-family: var(--tbe-serif); font-size: 32px; border-bottom: 1px solid var(--tbe-line); }
	.tbe-menu .sub-menu { display: block; list-style: none; padding-left: 16px; }
	.tbe-menu .sub-menu a { font-size: 24px; }
	.tbe-nav__whatsapp { margin-top: 28px; font-size: 16px; }
	.tbe-wordmark { font-size: 24px; }

	.tbe-hero__grid, .tbe-promise__grid, .tbe-stitching__grid, .tbe-little__grid { grid-template-columns: 1fr; }
	.tbe-hero__visual { order: -1; max-width: 460px; width: 100%; justify-self: center; }
	.tbe-paths__grid { grid-template-columns: 1fr; gap: 48px; }
	.tbe-path__media { max-height: 520px; }
	.tbe-footer__grid { grid-template-columns: 1fr 1fr; }
	.tbe-footer__brand { grid-column: 1 / -1; }

	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce ul.products, .woocommerce ul.products.columns-4, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 16px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 22px; }
}

@media (max-width: 782px) {
	.admin-bar .tbe-header { top: 46px; }
}

@media (max-width: 600px) {
	body { font-size: 16px; }
	.tbe-announcement a { font-size: 11px; letter-spacing: .1em; }
	.tbe-button--block { letter-spacing: .1em; }
	.tbe-steps__list { grid-template-columns: 1fr; }
	.tbe-list__row { grid-template-columns: 40px 1fr; }
	.tbe-list__note { grid-column: 2; text-align: left; margin-top: -8px; }
	.tbe-checks li { font-size: 24px; }
	.tbe-footer__grid { grid-template-columns: 1fr; }
	.tbe-actions .tbe-button { flex: 1 1 100%; }
	.tbe-badge { top: 10px; left: 10px; font-size: 10px; padding: 6px 10px; }
	.woocommerce ul.products li.product .button { padding-inline: 14px; font-size: 11px; letter-spacing: .1em; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
