/* ==========================================================================
   TerriAnn Believe Fitness — 2026 look for the legacy templates (CSS only).

   Loaded on every page EXCEPT "Home Template - 2026", after style.css.
   It doesn't change any markup: it re-skins the page shell, WooCommerce
   product + account pages and the standard content pages (In the media,
   Disclaimer, GDPR) to match the new homepage. The header and footer are the
   real 2026 ones (header.php / footer.php), styled by chrome.css.

   Everything is scoped under #wrapper (the legacy page wrapper, which now holds
   only the page content) so it wins over style.css without touching the header,
   footer or plugin pop-ups.
   ========================================================================== */

:root {
	--th-ink: #303030;
	--th-muted: #626062;
	--th-purple: #70236b;
	--th-magenta: #c52378;
	--th-rose: #e94f87;
	--th-mint: #b1dbd6;
	--th-blush: #f9e4ee;
	--th-lavender: #f0e5f0;
	--th-line: #ece2e9;
	--th-soft: #faf1f7;
	--th-serif: Georgia, 'Times New Roman', serif;
	--th-sans: Arial, Helvetica, sans-serif;
}

/* --------------------------------------------------------------------------
   Base
   ----------------------------------------------------------------------- */
body {
	background: #fff;
	color: var(--th-ink);
	font: 400 16px/1.65 var(--th-sans);
}
#wrapper { background: #fff; }
#wrapper :where(.main-content, .newsletter-block) p { color: var(--th-muted); }
#wrapper :where(.main-content, .newsletter-block) :is(strong, b) { color: var(--th-ink); font-weight: 600; }

#wrapper :where(.main-content, .newsletter-block) :is(h1, h2, h3, h4, .h1, .h2, .h3, .h4) {
	font-family: var(--th-serif);
	font-weight: 400;
	color: var(--th-purple);
	letter-spacing: -.02em;
	line-height: 1.15;
}
#wrapper :where(.main-content, .newsletter-block) :is(h5, h6) { font-family: var(--th-sans); font-weight: 600; color: var(--th-ink); letter-spacing: 0; }
#wrapper :where(.main-content, .newsletter-block) :is(h1, h2, h3) em { color: var(--th-magenta); font-weight: 400; }

#wrapper a:focus-visible, #wrapper button:focus-visible, #wrapper input:focus-visible,
#wrapper select:focus-visible, #wrapper textarea:focus-visible, #wrapper summary:focus-visible {
	outline: 3px solid var(--th-magenta);
	outline-offset: 3px;
}
::selection { background: var(--th-blush); color: var(--th-purple); }

#wrapper .container { max-width: 1260px; padding-left: 40px; padding-right: 40px; }
@media (max-width: 800px) { #wrapper .container { padding-left: 24px; padding-right: 24px; } }

/* --------------------------------------------------------------------------
   Buttons
   ----------------------------------------------------------------------- */
#wrapper .btn,
#wrapper :is(.main-content, .newsletter-block) button:where(:not(.show-password-input):not([class*='hustle'])),
#wrapper :is(.main-content, .newsletter-block) input[type='button'],
#wrapper :is(.main-content, .newsletter-block) input[type='reset'],
#wrapper :is(.main-content, .newsletter-block) input[type='submit'],
#wrapper .button,
#wrapper .get-start-btn a,
#wrapper .woocommerce a.button,
#wrapper .woocommerce button.button,
#wrapper .woocommerce input.button,
#wrapper .woocommerce #respond input#submit,
#wrapper .woocommerce a.button.alt,
#wrapper .woocommerce button.button.alt,
#wrapper .woocommerce input.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 48px;
	padding: 13px 24px;
	border: 1px solid var(--th-purple) !important;
	border-radius: 4px;
	background: var(--th-purple) !important;
	color: #fff !important;
	font: 500 13px/1.4 var(--th-sans);
	letter-spacing: .2px;
	text-transform: none;
	text-decoration: none;
	opacity: 1;
	transition: background-color .2s, border-color .2s, transform .2s;
}
#wrapper .btn:hover,
#wrapper :is(.main-content, .newsletter-block) button:where(:not(.show-password-input):not([class*='hustle'])):hover,
#wrapper :is(.main-content, .newsletter-block) input[type='button']:hover,
#wrapper :is(.main-content, .newsletter-block) input[type='reset']:hover,
#wrapper :is(.main-content, .newsletter-block) input[type='submit']:hover,
#wrapper .button:hover,
#wrapper .get-start-btn a:hover,
#wrapper .woocommerce a.button:hover,
#wrapper .woocommerce button.button:hover,
#wrapper .woocommerce input.button:hover,
#wrapper .woocommerce #respond input#submit:hover,
#wrapper .woocommerce a.button.alt:hover,
#wrapper .woocommerce button.button.alt:hover,
#wrapper .woocommerce input.button.alt:hover {
	background: var(--th-magenta) !important;
	border-color: var(--th-magenta) !important;
	color: #fff !important;
	opacity: 1;
	transform: translateY(-2px);
}
/* Secondary / light buttons become outline buttons */
#wrapper .btn.btn-primary,
#wrapper .btn.btn-default,
#wrapper .button.btn-default {
	background: #fff !important;
	color: var(--th-purple) !important;
}
#wrapper .btn.btn-primary:hover,
#wrapper .btn.btn-default:hover,
#wrapper .button.btn-default:hover { color: #fff !important; }
#wrapper .woocommerce a.button.disabled,
#wrapper .woocommerce button.button:disabled,
#wrapper .woocommerce button.button.disabled,
#wrapper .woocommerce button.button:disabled[disabled] { opacity: .45; transform: none; }

@media (prefers-reduced-motion: reduce) {
	#wrapper * { transition: none !important; }
	#wrapper .btn:hover, #wrapper .button:hover, #wrapper button:hover { transform: none !important; }
}

/* --------------------------------------------------------------------------
   Form fields
   ----------------------------------------------------------------------- */
#wrapper :is(.main-content, .newsletter-block) :is(input[type='text'], input[type='tel'], input[type='email'], input[type='search'], input[type='password'], input[type='url'], input[type='date'], input[type='number'], textarea, select),
#wrapper .main-content .select2-container .select2-selection--single {
	min-height: 48px;
	height: auto;
	padding: 12px 16px;
	border: 1px solid #dccbd7 !important;
	border-radius: 4px;
	background-color: #fff;
	color: var(--th-ink);
	font: 400 14px/1.5 var(--th-sans);
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}
#wrapper :is(.main-content, .newsletter-block) :is(input, textarea, select):focus {
	border-color: var(--th-purple) !important;
	box-shadow: 0 0 0 3px #70236b1f;
}
#wrapper :is(.main-content, .newsletter-block) :is(input, textarea)::placeholder { color: #8c838a; opacity: 1; }
#wrapper label { color: var(--th-ink); font-size: 13px; font-weight: 500; }
#wrapper .required { color: var(--th-magenta); text-decoration: none; }
#wrapper input[type='checkbox'], #wrapper input[type='radio'] { accent-color: var(--th-purple); }

/* --------------------------------------------------------------------------
   Page shell (page.php, Media, Tracker, WooCommerce wrappers)
   ----------------------------------------------------------------------- */
#wrapper .main-content { padding: 70px 0 30px; }
#wrapper .content-frame {
	background: transparent;
	margin: 0;
	padding: 0;
	border-radius: 0;
}
#wrapper .main-content .heading-holder,
#wrapper .heading-holder {
	background: transparent;
	margin: 0 0 40px;
	padding: 0 0 30px !important;
	border-bottom: 1px solid var(--th-line);
	border-radius: 0;
	text-align: center;
}
/* Eyebrow above every page title, as on the homepage sections */
#wrapper .heading-holder::before {
	content: 'TERRIANN BELIEVE FITNESS';
	display: block;
	margin: 0 0 18px;
	font: 600 10px/1.4 var(--th-sans);
	letter-spacing: 1.8px;
	color: var(--th-magenta);
}
#wrapper .heading-holder h1,
#wrapper .heading-holder h3 {
	margin: 0;
	font-size: clamp(38px, 4.2vw, 55px);
	letter-spacing: -1.6px;
	line-height: 1.07;
}
/* Pink "highlighter" under the title, borrowed from the homepage hero */
#wrapper .heading-holder h1 {
	display: inline;
	background: linear-gradient(transparent 68%, #e94f8724 68%, #e94f8724 90%, transparent 90%);
}
#wrapper .twocolumns { padding-bottom: 40px; }
#wrapper #content > p { font-size: 15px; }
#wrapper .main-content a:where(:not(.btn):not(.button):not(.woocommerce-LoopProduct-link):not(.download-btn)) {
	color: var(--th-purple);
	text-decoration: underline;
	text-decoration-color: #c5237860;
	text-underline-offset: 3px;
}
#wrapper .main-content a:where(:not(.btn):not(.button)):hover { color: var(--th-magenta); }

@media (max-width: 800px) {
	#wrapper .main-content { padding: 45px 0 20px; }
	#wrapper .heading-holder { margin-bottom: 30px; padding-bottom: 24px !important; }
}
@media (max-width: 570px) {
	#wrapper .heading-holder h1 { font-size: 36px; letter-spacing: -1.2px; }
	#wrapper .heading-holder::before { font-size: 9px; }
}

/* --------------------------------------------------------------------------
   Standard content pages — Disclaimer, GDPR & privacy (ACF "text block")
   ----------------------------------------------------------------------- */
#wrapper .content-holder { max-width: 780px; margin: 0 auto; }
#wrapper .text-block { margin: 0 0 30px; font-size: 15px; line-height: 1.8; }
#wrapper .text-block p { margin: 0 0 18px; }
#wrapper .text-block h2 { font-size: 32px; margin: 42px 0 16px; }
#wrapper .text-block h3 { font-size: 24px; margin: 32px 0 12px; }
#wrapper .text-block h2:first-child, #wrapper .text-block h3:first-child { margin-top: 0; }
#wrapper .text-block p > strong:only-child {
	font: 400 21px/1.4 var(--th-serif);
	color: var(--th-purple);
}
#wrapper .text-block ul, #wrapper .text-block ol { padding-bottom: 12px; }
#wrapper .text-block li { margin-bottom: 8px; color: var(--th-muted); }
#wrapper .text-block ul li:before { top: 11px; width: 6px; height: 6px; background: var(--th-rose); }
#wrapper .text-block ol li:before { color: var(--th-magenta); font-weight: 600; }
#wrapper .text-block em { color: var(--th-ink); }
#wrapper .text-block blockquote {
	margin: 24px 0;
	padding: 18px 22px;
	border-left: 3px solid var(--th-mint);
	background: #f2faf8;
	border-radius: 3px;
}

/* Tables (also used by WooCommerce) — the legacy theme paints every cell black */
#wrapper table { border-collapse: collapse; width: 100%; }
#wrapper th, #wrapper td {
	background: #fff;
	color: var(--th-ink);
	border: 1px solid var(--th-line);
	padding: 12px 14px;
	font-size: 14px;
	text-align: left;
}
#wrapper th {
	background: var(--th-soft);
	color: var(--th-purple);
	font: 600 11px/1.5 var(--th-sans);
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Accordions & download buttons from the content-blocks layouts */
#wrapper .accordion > li { border-bottom: 1px solid var(--th-line); }
#wrapper .accordion .opener { color: var(--th-purple); font-family: var(--th-serif); font-size: 20px; }
#wrapper .download-btn { border: 1px solid var(--th-line); border-radius: 7px; background: #fff; color: var(--th-ink); }
#wrapper .download-btn:hover { border-color: var(--th-purple); }

/* --------------------------------------------------------------------------
   In the media
   ----------------------------------------------------------------------- */
.page-in-the-media #wrapper .heading-holder h1 { display: inline-block; text-transform: lowercase; }
.page-in-the-media #wrapper .heading-holder h1::first-letter { text-transform: uppercase; }
.page-in-the-media #wrapper .heading-holder::before { content: 'TERRIANN 123 IN THE PRESS'; }

#wrapper .header-area {
	max-width: 760px;
	margin: 0 auto 40px;
	padding: 0;
	text-align: center;
}
#wrapper .header-area p {
	font: italic 400 21px/1.5 var(--th-serif);
	color: var(--th-purple);
	margin: 0;
}
#wrapper .media-area { padding: 0; }
#wrapper .media-holder { overflow: visible; padding: 0 0 50px; }
#wrapper .media-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
}
#wrapper .media-row .media {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	align-items: center;
	gap: 26px;
	width: auto;
	margin: 0;
	padding: 22px;
	border: 0;
	border-radius: 7px;
	background: #f9f3f9;
	text-align: left;
}
#wrapper .media-row .media:nth-child(4n+2) { background: #fff1f6; }
#wrapper .media-row .media:nth-child(4n+3) { background: #f0f8f6; }
#wrapper .media-row .media:nth-child(4n+4) { background: #f6f0f8; }
#wrapper .media .image { width: auto; height: 220px; }
#wrapper .media .image img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; }
#wrapper .media .text { width: auto; padding: 0; }
#wrapper .media h3 { font-size: 23px; line-height: 1.25; margin: 0 0 18px; }
#wrapper .media .btn { min-width: 0; margin: 0 0 8px; font-size: 13px; padding: 12px 20px; line-height: 1.4; }
#wrapper .media .target { text-align: left; font-size: 10px; font-style: normal; color: var(--th-muted); letter-spacing: .3px; }
#wrapper .get-start-btn-holder { padding: 0 0 40px; }
#wrapper .get-start-btn-holder .btn { min-width: 0; font-size: 13px; padding: 15px 28px; line-height: 1.4; }

@media (max-width: 1000px) {
	#wrapper .media-row .media { grid-template-columns: 150px minmax(0, 1fr); gap: 20px; }
	#wrapper .media .image { height: 180px; }
	#wrapper .media h3 { font-size: 20px; }
}
@media (max-width: 800px) {
	#wrapper .media-row { grid-template-columns: 1fr; gap: 15px; }
}
@media (max-width: 570px) {
	#wrapper .header-area p { font-size: 18px; }
	#wrapper .media-row .media { grid-template-columns: 110px minmax(0, 1fr); padding: 16px; gap: 16px; }
	#wrapper .media .image { height: 140px; }
	#wrapper .media h3 { font-size: 19px; margin-bottom: 12px; }
}

/* --------------------------------------------------------------------------
   WooCommerce — shared
   ----------------------------------------------------------------------- */
#wrapper .woocommerce-message,
#wrapper .woocommerce-info,
#wrapper .woocommerce-error {
	background: var(--th-soft);
	color: var(--th-ink);
	border: 0;
	border-left: 3px solid var(--th-purple);
	border-radius: 3px;
	font-size: 14px;
}
#wrapper .woocommerce-message::before, #wrapper .woocommerce-info::before { color: var(--th-purple); }
#wrapper .woocommerce-error { border-left-color: var(--th-magenta); }
#wrapper .woocommerce-error::before { color: var(--th-magenta); }
#wrapper .woocommerce-message .button, #wrapper .woocommerce-info .button { min-height: 40px; padding: 9px 16px; }

#wrapper .woocommerce .quantity .qty {
	width: 76px;
	min-height: 48px;
	height: 48px;
	padding: 10px;
	text-align: center;
}

/* Price */
#wrapper .woocommerce .price,
#wrapper .product .price { color: var(--th-purple); }
#wrapper .product .price .woocommerce-Price-amount { font-weight: 400; }
#wrapper .woocommerce .price del { color: var(--th-muted); opacity: .7; font-size: .75em; }
#wrapper .woocommerce .price ins { text-decoration: none; }

/* Sale badge */
#wrapper .woocommerce span.onsale {
	min-width: 0;
	min-height: 0;
	padding: 5px 10px;
	border-radius: 2px;
	background: #fff;
	color: var(--th-purple);
	font: 600 9px/1.4 var(--th-sans);
	letter-spacing: 1px;
	text-transform: uppercase;
	top: 14px;
	left: 14px;
	box-shadow: 0 2px 8px #70236b14;
}

/* --------------------------------------------------------------------------
   WooCommerce — single product (plan) pages
   ----------------------------------------------------------------------- */
.single-product #wrapper .heading-holder::before { content: 'BOOKS & PLANS'; }

#wrapper .woocommerce .single-product { overflow: visible; }
#wrapper .woocommerce div.product { display: flow-root; }

#wrapper .woocommerce div.product div.images {
	box-sizing: border-box;
	padding: 40px;
	border-radius: 7px;
	background: #fff0f5;
}
#wrapper .woocommerce div.product div.images img { mix-blend-mode: multiply; border-radius: 4px; }
#wrapper .woocommerce div.product div.images .flex-control-thumbs { gap: 10px; margin-top: 14px; }
#wrapper .woocommerce div.product div.images .flex-control-thumbs li { width: 70px; float: none; }
#wrapper .woocommerce div.product div.images .flex-control-thumbs li img { opacity: .6; border-radius: 4px; }
#wrapper .woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; }
#wrapper .woocommerce div.product div.images .woocommerce-product-gallery__trigger { background: #fff; }

#wrapper .woocommerce div.product div.summary { padding-top: 6px; }
#wrapper .woocommerce div.product p.price,
#wrapper .woocommerce div.product span.price {
	display: block;
	margin: 0 0 22px;
	font: 400 39px/1.1 var(--th-serif);
	letter-spacing: -1.5px;
	color: var(--th-purple);
}
#wrapper .woocommerce div.product p.price .woocommerce-Price-amount { font-size: inherit; color: var(--th-purple); }
#wrapper .woocommerce-product-details__short-description { padding-top: 22px; border-top: 1px solid var(--th-line); }
#wrapper .woocommerce-product-details__short-description p { font-size: 14px; line-height: 1.75; margin: 0 0 14px; }
#wrapper .woocommerce-product-details__short-description p:first-child {
	font: 400 21px/1.35 var(--th-serif);
	color: var(--th-ink);
}

#wrapper .woocommerce div.product form.cart {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 28px 0 22px;
	padding: 22px;
	border-radius: 7px;
	background: var(--th-soft);
}
#wrapper .woocommerce div.product form.cart::before,
#wrapper .woocommerce div.product form.cart::after { display: none; }
#wrapper .woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
#wrapper .woocommerce div.product form.cart .button {
	float: none;
	flex: 1 1 200px;
	min-height: 52px;
	font-size: 14px;
}

#wrapper .product_meta {
	padding-top: 16px;
	border-top: 1px solid var(--th-line);
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--th-muted);
}
#wrapper .product_meta > span { display: block; margin-bottom: 4px; }
#wrapper .product_meta a { color: var(--th-purple); }

/* Tabs */
#wrapper .woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 50px; }
#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0;
	padding: 0 !important;
	overflow: visible;
}
#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs::before,
#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 1px solid var(--th-line) !important;
	border-bottom: 0 !important;
	border-radius: 6px 6px 0 0;
	background: #fff !important;
	color: var(--th-ink) !important;
}
#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 14px 20px;
	color: inherit !important;
	font: 400 13px/1.4 var(--th-sans);
	text-decoration: none !important;
}
#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--th-purple) !important;
	border-color: var(--th-purple) !important;
	color: #fff !important;
}
#wrapper .woocommerce div.product .woocommerce-tabs .panel {
	box-sizing: border-box;
	margin: 0 0 40px;
	padding: 35px;
	border: 1px solid var(--th-line);
	border-radius: 0 7px 7px 7px;
}
#wrapper .woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 32px; margin: 0 0 18px; }
#wrapper .woocommerce div.product .woocommerce-tabs .panel p { font-size: 14px; line-height: 1.8; max-width: 760px; }

/* Related products */
#wrapper .related.products { padding-top: 20px; overflow: visible; }
#wrapper .related.products > h2 {
	font-size: clamp(32px, 3.4vw, 46px);
	letter-spacing: -1.5px;
	margin: 0 0 30px;
}
#wrapper .products.row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	margin: 0;
	padding: 0;
}
#wrapper .products.row::before, #wrapper .products.row::after { display: none; }
#wrapper .products.row .product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
	list-style: none;
}
#wrapper .products.row .product .woocommerce-LoopProduct-link { display: block; color: inherit; text-decoration: none; }
#wrapper .products.row .product .wp-post-image,
#wrapper .products.row .product .attachment-woocommerce_thumbnail {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	margin: 0 0 18px;
	padding: 20px;
	border-radius: 6px;
	background: #fff0f5;
	mix-blend-mode: multiply;
	transition: transform .3s;
}
#wrapper .products.row .product:nth-child(4n+2) .attachment-woocommerce_thumbnail { background: #f7eef7; }
#wrapper .products.row .product:nth-child(4n+3) .attachment-woocommerce_thumbnail { background: #eff8f6; }
#wrapper .products.row .product:nth-child(4n+4) .attachment-woocommerce_thumbnail { background: #f6f0f8; }
#wrapper .products.row .product a:hover .attachment-woocommerce_thumbnail { transform: scale(1.02); }
#wrapper .woocommerce-loop-product__title,
#wrapper .products.row .product h2 {
	margin: 0 0 8px;
	padding: 0;
	font: 400 22px/1.25 var(--th-serif) !important;
	letter-spacing: -.4px;
	color: var(--th-purple);
}
#wrapper .products.row .product .price {
	margin: 0 0 16px;
	font: 400 16px/1.4 var(--th-sans);
	color: var(--th-ink);
}
#wrapper .products.row .product .price .woocommerce-Price-amount { font-size: inherit; font-weight: 600; }
#wrapper .products.row .product .button {
	align-self: flex-start;
	margin-top: auto;
	min-height: 42px;
	padding: 10px 16px;
	font-size: 12px;
}

@media (max-width: 1000px) {
	#wrapper .products.row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	#wrapper .woocommerce div.product div.images,
	#wrapper .woocommerce div.product div.summary { float: none; width: 100%; }
	#wrapper .woocommerce div.product div.images { padding: 24px; margin-bottom: 30px; }
	#wrapper .woocommerce div.product .woocommerce-tabs .panel { padding: 24px; }
	#wrapper .woocommerce div.product p.price { font-size: 34px; }
}
@media (max-width: 570px) {
	#wrapper .products.row { gap: 30px 15px; }
	#wrapper .woocommerce-loop-product__title, #wrapper .products.row .product h2 { font-size: 18px !important; }
	#wrapper .woocommerce div.product form.cart { padding: 16px; }
	#wrapper .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 12px 14px; }
}

/* --------------------------------------------------------------------------
   WooCommerce — My account (login / register, and logged-in pages)
   ----------------------------------------------------------------------- */
.woocommerce-account #wrapper .heading-holder::before { content: 'MEMBERS'; }
.woocommerce-account #wrapper .main.w-100 > .container { padding: 0; max-width: none; }
.woocommerce-account #wrapper .form-area { padding: 0; }

/* Logged out: login + register side by side */
.woocommerce-account #wrapper .form-holder {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	max-width: 1000px;
	margin: 0 auto;
}
.woocommerce-account #wrapper .form-holder > form:only-child { grid-column: 1 / -1; max-width: 520px; justify-self: center; width: 100%; }
#wrapper .woocommerce form.login,
#wrapper .woocommerce form.register,
#wrapper form.woocommerce-ResetPassword,
#wrapper form.lost_reset_password {
	max-width: none;
	margin: 0 !important;
	padding: 35px;
	border: 1px solid var(--th-line) !important;
	border-radius: 7px;
	background: #fff !important;
	text-align: left;
}
#wrapper .woocommerce form.login { background: #fff !important; }
#wrapper .woocommerce form.register { background: #fcf7fb !important; }
#wrapper .woocommerce form.login h3,
#wrapper .woocommerce form.register h3 {
	margin: 0 0 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--th-line);
	font-size: 34px;
	letter-spacing: -1px;
}
#wrapper .woocommerce form .form-row { padding: 0; margin: 0 0 16px; }
#wrapper .woocommerce form .form-row label { display: block; margin-bottom: 6px; line-height: 1.5; }
#wrapper .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; font-weight: 400; }
#wrapper .woocommerce form .form-row .input-text,
#wrapper .woocommerce form .form-row select { width: 100%; }
#wrapper .woocommerce-button.w-100 { width: 100% !important; margin-top: 6px; min-height: 52px; font-size: 14px; }
#wrapper .woocommerce form.register > p:not(.form-row),
#wrapper .woocommerce-privacy-policy-text p { font-size: 12px; }
#wrapper .woocommerce-LostPassword { margin: 14px 0 0; font-size: 12px; text-align: center; }

/* Logged in: navigation + content */
.woocommerce-account #wrapper #content > .woocommerce { display: flow-root; }
#wrapper .woocommerce-MyAccount-navigation {
	box-sizing: border-box;
	margin: 0 0 30px;
	padding: 10px;
	border-radius: 7px;
	background: var(--th-soft);
}
#wrapper .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
#wrapper .woocommerce-MyAccount-navigation ul li { margin: 0; border: 0; }
#wrapper .woocommerce-MyAccount-navigation ul li + li { margin-top: 2px; }
#wrapper .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 11px 16px;
	border-radius: 4px;
	color: var(--th-ink) !important;
	font-size: 13px;
	text-decoration: none !important;
}
#wrapper .woocommerce-MyAccount-navigation ul li a:hover { background: #fff; color: var(--th-purple) !important; }
#wrapper .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--th-purple);
	color: #fff !important;
}
#wrapper .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--th-magenta) !important; }

.woocommerce-account #wrapper .woocommerce-MyAccount-content {
	box-sizing: border-box;
	padding: 35px;
	border: 1px solid var(--th-line);
	border-radius: 7px;
}
#wrapper .woocommerce-MyAccount-content > p:first-child { font: 400 21px/1.45 var(--th-serif); color: var(--th-ink); }
#wrapper .woocommerce-MyAccount-content p { font-size: 14px; }
#wrapper .woocommerce-MyAccount-content h2,
#wrapper .woocommerce-MyAccount-content h3,
#wrapper .woocommerce-MyAccount-content legend { font-family: var(--th-serif); color: var(--th-purple); font-size: 26px; font-weight: 400; }
#wrapper .woocommerce-MyAccount-content fieldset {
	margin: 26px 0;
	padding: 22px;
	border: 1px solid var(--th-line);
	border-radius: 7px;
}
#wrapper .woocommerce-Addresses .woocommerce-Address {
	padding: 22px;
	border-radius: 7px;
	background: var(--th-soft);
}
#wrapper .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
#wrapper .woocommerce-Address-title h3 { margin: 0 0 10px; font-size: 22px; }
#wrapper .woocommerce-Address address { font-style: normal; color: var(--th-muted); font-size: 14px; line-height: 1.8; }

#wrapper .woocommerce table.shop_table {
	border: 1px solid var(--th-line) !important;
	border-radius: 7px;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
}
#wrapper .woocommerce table.shop_table th,
#wrapper .woocommerce table.shop_table td { border: 0; border-top: 1px solid var(--th-line); }
#wrapper .woocommerce table.shop_table thead th { border-top: 0; }
#wrapper .woocommerce table.my_account_orders .button { min-height: 36px; padding: 7px 13px; font-size: 11px; margin: 2px; }

@media (min-width: 769px) {
	.woocommerce-account #wrapper .woocommerce-MyAccount-navigation { width: 26%; }
	.woocommerce-account #wrapper .woocommerce-MyAccount-content { width: 70%; }
}
@media (max-width: 800px) {
	.woocommerce-account #wrapper .form-holder { grid-template-columns: 1fr; }
	#wrapper .woocommerce form.login, #wrapper .woocommerce form.register { padding: 25px; }
	.woocommerce-account #wrapper .woocommerce-MyAccount-content { padding: 22px; }
}

/* Weight / meal tracker (members area) — keep plugin UI, align its colours */
#wrapper .ws-ls-tabs .ykuk-tab > .ykuk-active > a,
#wrapper .ykuk-button-primary { background: var(--th-purple); border-color: var(--th-purple); color: #fff; }

/* --------------------------------------------------------------------------
   Newsletter strip (above the footer)
   ----------------------------------------------------------------------- */
#wrapper .newsletter-block {
	padding: 60px 0;
	background: #fcf1f7;
	border-top: 4px solid var(--th-rose);
}
#wrapper .newsletter-block h2 {
	max-width: 760px;
	margin: 0 auto 26px;
	font-size: clamp(26px, 2.6vw, 34px);
	line-height: 1.2;
	letter-spacing: -1px;
}
#wrapper .newsletter-block .gform_wrapper { max-width: 960px; margin: 0 auto; }
#wrapper .newsletter-block form input[type='text'],
#wrapper .newsletter-block form input[type='email'] { height: auto; border-color: #e9d8e4 !important; }
#wrapper .newsletter-block .gform_button,
#wrapper .newsletter-block form input[type='submit'] {
	width: 100%;
	min-width: 180px;
	min-height: 48px;
	text-transform: none;
}
@media (max-width: 800px) { #wrapper .newsletter-block { padding: 45px 0; } }
