/*
Theme Name: TOZAHIDA
Theme URI: https://tozahida.com
Author: Kamrul Islam
Description: Premium storefront theme for the TOZAHIDA Australian lingerie and clothing brand. A shade-card design language drawn from the dye house, self-hosted Bodoni Moda and Instrument Sans, WooCommerce products that link to Amazon.com.au, Amazon product boxes for guides ([tz_product]), designed About and Contact pages with a contact form, author page, schema and one-click setup. No jQuery.
Version: 1.2.1
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tozahida
Tags: e-commerce, blog, custom-logo, custom-menu, featured-images, one-column
*/

/* ---------- Fonts (self-hosted, SIL Open Font License) ---------- */
@font-face {
	font-family: "Bodoni Moda";
	src: url("assets/fonts/bodoni-moda-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 400 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Bodoni Moda";
	src: url("assets/fonts/bodoni-moda-latin-wght-italic.woff2") format("woff2-variations");
	font-weight: 400 900;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Instrument Sans";
	src: url("assets/fonts/instrument-sans-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	--tz-ink: #3b2a2c;        /* warm brown: text, dark sections */
	--tz-ink-2: #5a4447;
	--tz-muted: #7a6466;
	--tz-mist: #fbf3f2;       /* page background: pale blush */
	--tz-paper: #ffffff;
	--tz-line: #efdcdb;
	--tz-madder: #b44a70;     /* rose: the one accent (AA contrast) */
	--tz-madder-dark: #96385c;
	--tz-shell: #f2d4d7;
	/* shade card */
	--tz-s1: #f2d4d7;         /* Petal */
	--tz-s2: #e8c3ae;         /* Nude */
	--tz-s3: #c2577a;         /* Rose */
	--tz-s4: #8e5a6b;         /* Mauve */
	--tz-s5: #3b2a2c;         /* Cocoa */

	--tz-display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
	--tz-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--tz-max: 1280px;
	--tz-narrow: 720px;
	--tz-r: 4px;
	--tz-shadow: 0 18px 40px -24px rgba(59, 42, 44, .35);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--tz-mist);
	color: var(--tz-ink);
	font: 400 17px/1.65 var(--tz-sans);
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--tz-madder); }
h1, h2, h3, h4 { font-family: var(--tz-display); font-weight: 500; line-height: 1.12; letter-spacing: -.01em; margin: 0 0 .5em; color: var(--tz-ink); }
p { margin: 0 0 1.1em; }
:focus-visible { outline: 2px solid var(--tz-madder); outline-offset: 3px; }
::selection { background: var(--tz-s1); color: var(--tz-ink); }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); white-space: nowrap; }
.tz-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--tz-ink); color: #fff; padding: 10px 16px; }
.tz-skip:focus { left: 16px; color: #fff; }

.tz-container { width: 100%; max-width: var(--tz-max); margin: 0 auto; padding: 0 24px; }
.tz-container--narrow { max-width: calc(var(--tz-narrow) + 48px); }
.tz-icon { width: 20px; height: 20px; flex: none; }

/* Small contextual label (category name, "Written by"): italic serif, sentence case */
.tz-eyebrow { display: inline-block; font: italic 500 16px/1.3 var(--tz-display); color: var(--tz-madder); text-decoration: none; margin-bottom: 10px; }

/* ---------- Buttons & links ---------- */
.tz-btn, .button, button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 50px; padding: 0 28px; border-radius: var(--tz-r); border: 1px solid transparent;
	font: 600 15px/1 var(--tz-sans); letter-spacing: .01em; text-decoration: none; cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.tz-btn--primary, .button, button[type="submit"] { background: var(--tz-ink); color: #fff; }
.tz-btn--primary:hover, .button:hover, button[type="submit"]:hover { background: var(--tz-madder); color: #fff; }
.tz-btn--ghost { background: transparent; color: var(--tz-ink); border-color: var(--tz-ink); }
.tz-btn--ghost:hover { background: var(--tz-ink); color: #fff; }
.tz-btn--light { background: #fff; color: var(--tz-ink); }
.tz-btn--light:hover { background: var(--tz-s1); color: var(--tz-ink); }
.tz-btn .tz-icon { width: 16px; height: 16px; }
.tz-link { font-weight: 600; font-size: 15px; color: var(--tz-ink); text-decoration: underline; text-decoration-color: var(--tz-madder); text-underline-offset: 5px; }
.tz-link .tz-icon { display: none; }

/* ---------- Header ---------- */
.tz-announce { background: var(--tz-ink); color: #f6e4e4; text-align: center; font-size: 13px; letter-spacing: .02em; padding: 9px 16px; }
.tz-header { position: sticky; top: 0; z-index: 50; background: rgba(251, 243, 242, .92); backdrop-filter: saturate(140%) blur(12px); border-bottom: 1px solid var(--tz-line); }
.admin-bar .tz-header { top: 32px; }
.tz-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 78px; gap: 16px; }
.tz-nav { order: 1; justify-self: start; }
.tz-brand { order: 2; justify-self: center; }
.tz-search-toggle { order: 3; justify-self: end; }
.tz-iconbtn.tz-menu-toggle { display: none; }
.tz-brand img { max-height: 46px; width: auto; }
.tz-wordmark { font: 500 30px/1 var(--tz-display); letter-spacing: .24em; margin-right: -.24em; text-decoration: none; color: var(--tz-ink); }
.tz-wordmark:hover { color: var(--tz-ink); }
.tz-wordmark--light, .tz-wordmark--light:hover { color: #fff; }
.tz-iconbtn { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 0; background: transparent; color: var(--tz-ink); border-radius: 50%; cursor: pointer; }
.tz-iconbtn:hover { background: #fff; }

.tz-nav__list, .tz-nav__list ul { list-style: none; margin: 0; padding: 0; }
.tz-nav__list { display: flex; gap: 6px; }
.tz-nav__list > li { position: relative; }
.tz-nav__list a { display: block; padding: 10px 12px; font-size: 15px; font-weight: 500; text-decoration: none; }
.tz-nav__list a:hover, .tz-nav__list .current-menu-item > a { color: var(--tz-madder); }
.tz-nav__list .sub-menu { position: absolute; top: 100%; left: 0; min-width: 230px; padding: 10px; background: var(--tz-paper); border: 1px solid var(--tz-line); box-shadow: var(--tz-shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; }
.tz-nav__list li:hover > .sub-menu, .tz-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

.tz-searchbar { border-top: 1px solid var(--tz-line); padding: 18px 0; background: var(--tz-mist); }
.tz-searchform { display: flex; gap: 10px; max-width: 640px; }
.tz-searchform input[type="search"] { flex: 1; min-width: 0; height: 50px; padding: 0 18px; border: 1px solid var(--tz-line); border-radius: var(--tz-r); background: #fff; font: inherit; color: var(--tz-ink); }

@media (max-width: 960px) {
	.tz-header__inner { min-height: 66px; }
	.tz-iconbtn.tz-menu-toggle { display: inline-grid; order: 1; justify-self: start; }
	.tz-brand { order: 2; }
	.tz-wordmark { font-size: 24px; }
	.tz-nav { position: fixed; inset: 0 18% 0 0; z-index: 60; padding: 92px 24px 24px; background: var(--tz-mist); box-shadow: var(--tz-shadow); overflow-y: auto; transform: translateX(-100%); transition: transform .25s ease; }
	.tz-nav-open .tz-nav { transform: none; }
	.tz-nav-open::after { content: ""; position: fixed; inset: 0; z-index: 55; background: rgba(59, 42, 44, .4); }
	.tz-nav-open .tz-menu-toggle { position: relative; z-index: 70; }
	.tz-nav__list { flex-direction: column; gap: 0; }
	.tz-nav__list a { padding: 15px 0; font: 500 22px/1.2 var(--tz-display); border-bottom: 1px solid var(--tz-line); }
	.tz-nav__list .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 0 16px; background: none; min-width: 0; }
	.tz-nav__list .sub-menu a { font: 500 16px/1.2 var(--tz-sans); }
}

/* ---------- Sections ---------- */
.tz-section { padding: 96px 0; }
.tz-section--tight { padding-top: 56px; padding-bottom: 80px; }
.tz-section--white { background: var(--tz-paper); }
.tz-section--ink { background: var(--tz-ink); color: #f6e7e6; }
.tz-section--ink h2, .tz-section--ink h3 { color: #fff; }
.tz-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; }
.tz-section__title { font-size: clamp(32px, 4vw, 48px); margin: 0; }
.tz-section__intro { color: var(--tz-muted); max-width: 520px; margin: 10px 0 0; }
.tz-section > .tz-container > .tz-section__title { margin-bottom: 32px; }

/* ---------- Hero with shade card (the signature element) ---------- */
.tz-hero { padding: 72px 0 88px; }
.tz-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: center; }
.tz-hero__title { font-size: clamp(46px, 6.4vw, 92px); line-height: .98; letter-spacing: -.025em; font-weight: 500; margin-bottom: 26px; }
.tz-hero__text { font-size: 19px; line-height: 1.6; color: var(--tz-ink-2); max-width: 500px; margin-bottom: 36px; }
.tz-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.tz-hero__note { margin-top: 28px; font-size: 14px; color: var(--tz-muted); }

.tz-shadecard { margin: 0; background: var(--tz-paper); padding: 22px 22px 18px; box-shadow: var(--tz-shadow); border: 1px solid var(--tz-line); max-width: 460px; justify-self: end; width: 100%; }
.tz-shadecard__head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--tz-line); padding-bottom: 12px; margin-bottom: 14px; }
.tz-shadecard__brand { font: 500 18px/1 var(--tz-display); letter-spacing: .2em; }
.tz-shadecard__kind { font-size: 13px; color: var(--tz-muted); }
.tz-swatches { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tz-swatch { display: grid; grid-template-columns: 1fr auto; align-items: end; height: 76px; padding: 10px 14px; color: #fff; transform-origin: left; }
.tz-swatch__name { font: italic 500 22px/1 var(--tz-display); }
.tz-swatch__code { font-size: 12px; letter-spacing: .06em; opacity: .9; }
.tz-swatch--1 { background: var(--tz-s1); color: var(--tz-ink); }
.tz-swatch--2 { background: var(--tz-s2); color: var(--tz-ink); }
.tz-swatch--3 { background: var(--tz-s3); }
.tz-swatch--4 { background: var(--tz-s4); }
.tz-swatch--5 { background: var(--tz-s5); }
.tz-shadecard__foot { display: flex; justify-content: space-between; margin-top: 14px; font-size: 13px; color: var(--tz-muted); }
.tz-shadecard__sign { font: italic 500 16px/1 var(--tz-display); color: var(--tz-ink); }

/* With a hero photo: photo plus a slim shade strip */
.tz-hero__media { position: relative; justify-self: end; width: 100%; max-width: 520px; }
.tz-hero__img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.tz-hero__strip { position: absolute; left: -26px; top: 32px; bottom: 32px; width: 52px; display: grid; grid-template-rows: repeat(5, 1fr); box-shadow: var(--tz-shadow); }
.tz-hero__strip span:nth-child(1) { background: var(--tz-s1); }
.tz-hero__strip span:nth-child(2) { background: var(--tz-s2); }
.tz-hero__strip span:nth-child(3) { background: var(--tz-s3); }
.tz-hero__strip span:nth-child(4) { background: var(--tz-s4); }
.tz-hero__strip span:nth-child(5) { background: var(--tz-s5); }

/* The one orchestrated motion: swatches are laid down on page load */
@media (prefers-reduced-motion: no-preference) {
	.tz-swatch, .tz-hero__strip span { animation: tz-lay .7s cubic-bezier(.2, .7, .2, 1) both; }
	.tz-swatch--2, .tz-hero__strip span:nth-child(2) { animation-delay: .08s; }
	.tz-swatch--3, .tz-hero__strip span:nth-child(3) { animation-delay: .16s; }
	.tz-swatch--4, .tz-hero__strip span:nth-child(4) { animation-delay: .24s; }
	.tz-swatch--5, .tz-hero__strip span:nth-child(5) { animation-delay: .32s; }
	@keyframes tz-lay { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}

@media (max-width: 960px) {
	.tz-hero { padding: 40px 0 64px; }
	.tz-hero__grid { grid-template-columns: 1fr; gap: 44px; }
	.tz-shadecard, .tz-hero__media { justify-self: stretch; max-width: none; }
	.tz-swatch { height: 58px; }
	.tz-hero__strip { left: 12px; width: 36px; }
}

/* ---------- Trust line ---------- */
.tz-trust { background: var(--tz-paper); border-top: 1px solid var(--tz-line); border-bottom: 1px solid var(--tz-line); }
.tz-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.tz-trust__item { display: flex; gap: 14px; align-items: flex-start; padding: 26px 22px; }
.tz-trust__item + .tz-trust__item { border-left: 1px solid var(--tz-line); }
.tz-trust__item .tz-icon { width: 24px; height: 24px; color: var(--tz-madder); margin-top: 2px; }
.tz-trust__item strong { display: block; font-size: 15px; }
.tz-trust__item span { display: block; font-size: 14px; color: var(--tz-muted); line-height: 1.4; }
@media (max-width: 960px) {
	.tz-trust__grid { grid-template-columns: 1fr 1fr; }
	.tz-trust__item:nth-child(3) { border-left: 0; }
	.tz-trust__item:nth-child(n+3) { border-top: 1px solid var(--tz-line); }
}
@media (max-width: 520px) { .tz-trust__item { padding: 18px 12px; } .tz-trust__item span { display: none; } }

/* ---------- Category tiles ---------- */
.tz-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.tz-cat { text-decoration: none; display: block; }
.tz-cat__media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--tz-shell); }
.tz-cat__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.tz-cat:hover img { transform: scale(1.03); }
.tz-cat__placeholder { display: flex; align-items: flex-end; height: 100%; padding: 18px; font: italic 500 22px/1 var(--tz-display); color: var(--tz-ink); }
.tz-cats .tz-cat:nth-child(4n+1) .tz-cat__placeholder { background: var(--tz-s1); }
.tz-cats .tz-cat:nth-child(4n+2) .tz-cat__placeholder { background: var(--tz-s2); }
.tz-cats .tz-cat:nth-child(4n+3) .tz-cat__placeholder { background: var(--tz-s3); color: #fff; }
.tz-cats .tz-cat:nth-child(4n+4) .tz-cat__placeholder { background: var(--tz-s4); color: #fff; }
.tz-cat__name { display: block; margin-top: 14px; font: 500 21px/1.2 var(--tz-display); }
@media (max-width: 960px) { .tz-cats { grid-template-columns: 1fr 1fr; gap: 14px; } }

/* ---------- Founder / lab-dip section ---------- */
.tz-founder { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.tz-founder__title { font-size: clamp(34px, 4.4vw, 58px); line-height: 1.05; margin-bottom: 22px; }
.tz-founder__text { font-size: 18px; color: #ecd8d8; max-width: 520px; margin-bottom: 30px; }
.tz-labdips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tz-labdip { background: #fff; padding: 12px 12px 14px; color: var(--tz-ink); }
.tz-labdip__chip { aspect-ratio: 1; margin-bottom: 12px; }
.tz-labdip:nth-child(1) .tz-labdip__chip { background: #d4708f; }
.tz-labdip:nth-child(2) .tz-labdip__chip { background: #c9627f; }
.tz-labdip:nth-child(3) .tz-labdip__chip { background: #c2577a; }
.tz-labdip__label { font-size: 13px; color: var(--tz-muted); display: block; }
.tz-labdip__state { font: italic 500 17px/1.2 var(--tz-display); }
.tz-labdip--ok { outline: 2px solid var(--tz-s1); outline-offset: 4px; }
.tz-labdips__caption { grid-column: 1 / -1; font-size: 14px; color: #d9bfc0; margin: 4px 0 0; }
@media (max-width: 960px) { .tz-founder { grid-template-columns: 1fr; gap: 40px; } }

/* ---------- Journal (editorial layout) ---------- */
.tz-journal { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; }
.tz-feature__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tz-shell); margin-bottom: 22px; }
.tz-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.tz-feature__title { font-size: clamp(28px, 3vw, 40px); margin-bottom: 12px; }
.tz-feature__title a { text-decoration: none; }
.tz-feature p { color: var(--tz-muted); }
.tz-journal__list { display: grid; align-content: start; }
.tz-jitem { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--tz-line); text-decoration: none; }
.tz-jitem:last-child { border-bottom: 1px solid var(--tz-line); }
.tz-jitem__media { aspect-ratio: 1; overflow: hidden; background: var(--tz-shell); }
.tz-jitem__media img { width: 100%; height: 100%; object-fit: cover; }
.tz-jitem__cat { font: italic 500 15px/1.3 var(--tz-display); color: var(--tz-madder); }
.tz-jitem__title { display: block; font: 500 21px/1.25 var(--tz-display); margin-top: 4px; }
.tz-jitem:hover .tz-jitem__title { color: var(--tz-madder); }
@media (max-width: 960px) { .tz-journal { grid-template-columns: 1fr; } }

/* ---------- Article cards (archives, related) ---------- */
.tz-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px 32px; }
.tz-card { display: flex; flex-direction: column; }
.tz-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--tz-shell); margin-bottom: 18px; }
.tz-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.tz-card:hover .tz-card__media img { transform: scale(1.03); }
.tz-card__placeholder { display: block; height: 100%; background: linear-gradient(90deg, var(--tz-s1) 0 20%, var(--tz-s2) 20% 40%, var(--tz-shell) 40% 100%); }
.tz-card__body .tz-eyebrow { font-size: 15px; margin-bottom: 6px; }
.tz-card__title { font-size: 24px; margin-bottom: 10px; }
.tz-card__title a { text-decoration: none; }
.tz-card__title a:hover { color: var(--tz-madder); }
.tz-card__excerpt { font-size: 15px; color: var(--tz-muted); margin-bottom: 10px; }
.tz-card__meta { font-size: 13px; color: var(--tz-muted); }
@media (max-width: 960px) { .tz-cards { grid-template-columns: 1fr 1fr; gap: 32px 20px; } }
@media (max-width: 600px) { .tz-cards { grid-template-columns: 1fr; } }

/* ---------- Page heads, crumbs, chips ---------- */
.tz-pagehead { padding: 56px 0 44px; border-bottom: 1px solid var(--tz-line); }
.tz-pagehead__title { font-size: clamp(40px, 5.6vw, 72px); line-height: 1; letter-spacing: -.02em; margin-bottom: 14px; }
.tz-pagehead__text { color: var(--tz-ink-2); max-width: 620px; font-size: 18px; }
.tz-pagehead__search { margin-top: 22px; }
.tz-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--tz-muted); margin-bottom: 22px; }
.tz-crumbs a { text-decoration: none; }
.tz-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 26px 0 0; }
.tz-chips a { display: block; padding: 8px 16px; border: 1px solid var(--tz-line); background: #fff; border-radius: 999px; font-size: 14px; text-decoration: none; }
.tz-chips a:hover { border-color: var(--tz-ink); color: var(--tz-ink); }
.tz-empty { color: var(--tz-muted); font-size: 18px; padding: 40px 0; }
.tz-notfound { padding: 96px 24px; }
.tz-notfound .tz-searchform { margin: 24px 0; }

/* ---------- Single article ---------- */
.tz-article__head { padding-top: 48px; }
.tz-article__title { font-size: clamp(38px, 5.2vw, 64px); line-height: 1.04; letter-spacing: -.02em; margin-bottom: 18px; }
.tz-article__lede { font-size: 20px; color: var(--tz-ink-2); }
.tz-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: 14px; color: var(--tz-muted); padding: 18px 0 32px; }
.tz-meta__author { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tz-ink); font-weight: 600; }
.tz-meta__sep { display: none; }
.tz-avatar { border-radius: 50%; object-fit: cover; }
.tz-article__hero { margin: 0 auto 48px; max-width: 1080px; }
.tz-article__hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.tz-prose { font-size: 18px; line-height: 1.75; color: var(--tz-ink-2); padding-bottom: 24px; }
.tz-prose h2 { font-size: 34px; margin: 1.8em 0 .5em; }
.tz-prose h3 { font-size: 25px; margin: 1.6em 0 .4em; }
.tz-prose a { color: var(--tz-madder); }
.tz-prose ul, .tz-prose ol { padding-left: 1.3em; margin: 0 0 1.3em; }
.tz-prose li { margin-bottom: .45em; }
.tz-prose li::marker { color: var(--tz-madder); }
.tz-prose blockquote { margin: 1.6em 0; padding-left: 22px; border-left: 3px solid var(--tz-madder); font: italic 500 24px/1.4 var(--tz-display); color: var(--tz-ink); }
.tz-prose figure { margin: 2em 0; }
.tz-prose figcaption { font-size: 14px; color: var(--tz-muted); margin-top: 8px; text-align: center; }
.tz-prose table { width: 100%; border-collapse: collapse; font-size: 15.5px; margin: 1.5em 0; background: #fff; }
.tz-prose .wp-block-table { overflow-x: auto; margin: 1.6em 0; }
.tz-prose .wp-block-table table { margin: 0; min-width: 540px; }
.tz-prose th, .tz-prose td { padding: 12px 14px; border-bottom: 1px solid var(--tz-line); text-align: left; vertical-align: top; }
.tz-prose th { background: var(--tz-ink); color: #fff; font-weight: 600; border-bottom: 0; }
.tz-prose .alignwide { max-width: 1080px; margin-left: 50%; transform: translateX(-50%); width: calc(100vw - 48px); }
.tz-prose .alignfull { width: 100vw; margin-left: 50%; transform: translateX(-50%); max-width: none; }

/* ---------- Author box & profile ---------- */
.tz-authorbox { display: flex; gap: 24px; padding: 30px; margin: 28px 0 72px; background: var(--tz-paper); border-top: 3px solid var(--tz-madder); }
.tz-authorbox__photo { flex: none; }
.tz-authorbox__photo img { width: 92px; height: 92px; }
.tz-authorbox .tz-eyebrow { margin-bottom: 2px; }
.tz-authorbox__name { font: 500 26px/1.2 var(--tz-display); margin: 0; }
.tz-authorbox__name a { text-decoration: none; }
.tz-authorbox__title { font-size: 14px; color: var(--tz-madder); font-weight: 600; margin: 4px 0 10px; }
.tz-authorbox__bio { font-size: 15px; color: var(--tz-muted); margin-bottom: 12px; }
@media (max-width: 600px) { .tz-authorbox { flex-direction: column; padding: 22px; } }

.tz-profile { padding: 64px 0; border-bottom: 1px solid var(--tz-line); }
.tz-profile__grid { display: grid; grid-template-columns: 300px 1fr; gap: 64px; align-items: start; }
.tz-profile__photo img { width: 300px; height: 375px; object-fit: cover; border-radius: 0; }
.tz-profile__name { font-size: clamp(40px, 5.4vw, 68px); line-height: 1; margin-bottom: 10px; }
.tz-profile__title { color: var(--tz-madder); font-weight: 600; margin-bottom: 20px; }
.tz-profile__bio { font-size: 18px; color: var(--tz-ink-2); max-width: 680px; }
.tz-creds { list-style: none; padding: 0; margin: 26px 0; display: grid; gap: 10px; }
.tz-creds li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.tz-creds .tz-icon { color: var(--tz-madder); margin-top: 3px; }
@media (max-width: 800px) { .tz-profile__grid { grid-template-columns: 1fr; gap: 28px; } .tz-profile__photo img { width: 200px; height: 250px; } }

/* ---------- Social ---------- */
.tz-social { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 22px 0 0; }
.tz-social a { display: block; padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; font-size: 13px; text-decoration: none; color: #fff; }
.tz-social a:hover { background: #fff; color: var(--tz-ink); }
.tz-social--dark a { border-color: var(--tz-line); color: var(--tz-ink); background: #fff; }
.tz-social--dark a:hover { background: var(--tz-ink); color: #fff; }

/* ---------- Amazon product box [tz_product] ---------- */
.tz-disclosure { font-size: 14px; line-height: 1.55; color: var(--tz-muted); background: #fff; border-left: 3px solid var(--tz-s2); padding: 12px 16px; margin: 0 0 30px; }
.tz-disclosure strong { color: var(--tz-ink); }

.tz-product { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: center; margin: 34px 0; padding: 24px; background: var(--tz-paper); border: 1px solid var(--tz-line); font-size: 16px; line-height: 1.55; }
.tz-product--own { border-color: var(--tz-madder); box-shadow: 0 0 0 3px #f6d9e2; }
.tz-product__media { display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--tz-shell); text-decoration: none; }
.tz-prose .tz-product__media img, .tz-product__media img { width: 100%; height: 100%; object-fit: cover; }
.tz-product__badge { display: inline-block; background: var(--tz-madder); color: #fff; font-size: 12px; font-weight: 600; padding: 5px 10px; margin-bottom: 10px; }
.tz-product__brand { display: block; font-size: 13px; font-weight: 600; color: var(--tz-muted); }
.tz-product__title { font: 500 25px/1.2 var(--tz-display); margin: 4px 0 12px; color: var(--tz-ink); }
.tz-prose .tz-product__title a, .tz-product__title a { color: var(--tz-ink); text-decoration: none; }
.tz-product__title a:hover { color: var(--tz-madder); }
.tz-prose .tz-product__features, .tz-product__features { list-style: none; padding: 0; margin: 0 0 14px; }
.tz-product__features li { position: relative; padding-left: 22px; margin-bottom: 6px; font-size: 15px; color: var(--tz-ink-2); }
.tz-product__features li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 10px; height: 6px; border-left: 2px solid var(--tz-madder); border-bottom: 2px solid var(--tz-madder); transform: rotate(-45deg); }
.tz-product__note { font: italic 500 17px/1.4 var(--tz-display); color: var(--tz-madder); margin-bottom: 16px; }
.tz-prose a.tz-product__btn, .tz-product__btn { color: #fff; width: 100%; max-width: 320px; }
.tz-product__fine { display: block; font-size: 12px; color: var(--tz-muted); margin-top: 8px; }
.tz-product--noimg, .tz-product-grid .tz-product--noimg { grid-template-columns: 1fr; padding: 26px 28px; border-left: 4px solid var(--tz-madder); }
.tz-product--noimg .tz-product__body { display: flex; flex-direction: column; align-items: flex-start; height: 100%; }
.tz-product-grid .tz-product--noimg .tz-product__btn { margin-top: auto; }
.tz-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin: 34px 0; }
.tz-product-grid .tz-product { grid-template-columns: 1fr; margin: 0; align-items: start; }
.tz-product-grid .tz-product__title { font-size: 21px; }
@media (max-width: 640px) {
	.tz-product { grid-template-columns: 110px 1fr; gap: 16px; padding: 18px; }
	.tz-product__title { font-size: 20px; }
	.tz-product__btn { grid-column: 1 / -1; }
	.tz-product--noimg, .tz-product-grid .tz-product--noimg { grid-template-columns: 1fr; padding: 20px; }
}

/* ---------- WooCommerce (showroom) ---------- */
.tz-shop { padding-top: 36px; padding-bottom: 88px; }
.woocommerce-products-header { margin-bottom: 8px; }
.woocommerce-products-header__title, .tz-shop .page-title { font-size: clamp(40px, 5.6vw, 68px); line-height: 1; margin-bottom: 12px; }
.term-description, .page-description { color: var(--tz-ink-2); max-width: 680px; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; background: #fff; border-left: 3px solid var(--tz-madder); padding: 14px 18px; margin: 0 0 24px; }
.woocommerce-result-count { float: left; margin: 20px 0; font-size: 14px; color: var(--tz-muted); }
.woocommerce-ordering { float: right; margin: 12px 0 20px; }
.woocommerce-ordering select { height: 44px; padding: 0 36px 0 14px; border: 1px solid var(--tz-line); border-radius: var(--tz-r); background: #fff; font: inherit; font-size: 14px; color: var(--tz-ink); }
ul.products { clear: both; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 44px 24px; }
ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
ul.products::before, ul.products::after { display: none; }
ul.products li.product { position: relative; display: flex; flex-direction: column; margin: 0; width: auto; }
ul.products li.product a.woocommerce-LoopProduct-link { text-decoration: none; display: block; }
ul.products li.product img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--tz-shell); margin-bottom: 16px; transition: opacity .25s; }
ul.products li.product a:hover img { opacity: .92; }
ul.products li.product .woocommerce-loop-product__title { font: 500 20px/1.25 var(--tz-display); margin: 0 0 6px; }
ul.products li.product .price { display: block; font-size: 15px; color: var(--tz-ink-2); margin-bottom: 16px; }
ul.products li.product .button { margin-top: auto; min-height: 44px; font-size: 14px; padding: 0 18px; width: 100%; background: transparent; color: var(--tz-ink); border-color: var(--tz-ink); }
ul.products li.product .button:hover { background: var(--tz-ink); color: #fff; }
ul.products li.product .star-rating { display: none; }
.onsale { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--tz-madder); color: #fff; font-size: 12px; font-weight: 600; padding: 5px 10px; }
.price del { color: var(--tz-muted); margin-right: 6px; }
.price ins { text-decoration: none; font-weight: 600; }
.tz-price-note { font-size: 14px; color: var(--tz-muted); }
.woocommerce-pagination ul, .navigation.pagination .nav-links { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; padding: 0; margin: 56px 0 0; }
.woocommerce-pagination .page-numbers, .navigation.pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--tz-line); text-decoration: none; font-size: 15px; background: #fff; }
.woocommerce-pagination .page-numbers.current, .navigation.pagination .page-numbers.current { background: var(--tz-ink); color: #fff; border-color: var(--tz-ink); }
.woocommerce-pagination ul li { margin: 0; }
div.product { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: start; position: relative; }
div.product .woocommerce-product-gallery { opacity: 1 !important; grid-column: 1; }
.woocommerce-product-gallery__wrapper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 0; }
.woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
.woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--tz-shell); }
.woocommerce-product-gallery__trigger { display: none; }
div.product .summary { grid-column: 2; position: sticky; top: 110px; }
div.product .product_title { font-size: clamp(34px, 4.2vw, 52px); line-height: 1.05; margin-bottom: 12px; }
div.product .summary .price { font-size: 22px; margin-bottom: 20px; }
.woocommerce-product-details__short-description { color: var(--tz-ink-2); margin-bottom: 26px; }
.tz-buybox { padding: 24px; background: #fff; border: 1px solid var(--tz-line); margin-bottom: 24px; }
.tz-buy--lg { width: 100%; min-height: 56px; font-size: 16px; }
.tz-buybox__notes { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; font-size: 14px; color: var(--tz-muted); }
.tz-buybox__notes li { display: flex; gap: 10px; align-items: center; }
.tz-buybox__notes .tz-icon { width: 18px; height: 18px; color: var(--tz-madder); }
.product_meta { font-size: 14px; color: var(--tz-muted); display: grid; gap: 4px; }
.product_meta a { color: var(--tz-ink); }
.woocommerce-tabs, section.related, section.upsells { grid-column: 1 / -1; }
.woocommerce-tabs { margin-top: 28px; border-top: 1px solid var(--tz-line); padding-top: 8px; }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 6px; padding: 0; margin: 0 0 22px; overflow-x: auto; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 12px 18px; text-decoration: none; font-weight: 600; font-size: 15px; border-bottom: 2px solid transparent; white-space: nowrap; }
.woocommerce-tabs ul.tabs li.active a { border-color: var(--tz-madder); }
.woocommerce-Tabs-panel { max-width: var(--tz-narrow); font-size: 17px; color: var(--tz-ink-2); }
.woocommerce-Tabs-panel > h2:first-child { display: none; }
.woocommerce-Tabs-panel table { width: 100%; border-collapse: collapse; }
.woocommerce-Tabs-panel th, .woocommerce-Tabs-panel td { padding: 10px 12px; border-bottom: 1px solid var(--tz-line); text-align: left; }
section.related { margin-top: 56px; }
section.related > h2, section.upsells > h2 { font-size: 36px; margin-bottom: 26px; }
@media (max-width: 1000px) { ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { div.product { grid-template-columns: 1fr; gap: 28px; } div.product .summary { grid-column: 1; position: static; } }
@media (max-width: 700px) {
	ul.products, ul.products.columns-3, ul.products.columns-4 { grid-template-columns: 1fr 1fr; gap: 28px 14px; }
	ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
	.woocommerce-result-count, .woocommerce-ordering { float: none; }
}

/* ---------- About page ---------- */
.tz-about-hero { padding: 72px 0 64px; }
.tz-about-hero__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 64px; align-items: end; }
.tz-about-hero__title { font-size: clamp(46px, 6.2vw, 88px); line-height: .98; letter-spacing: -.025em; margin: 0 0 24px; }
.tz-about-hero__lede { font-size: 20px; color: var(--tz-ink-2); max-width: 560px; margin: 0; }
.tz-about-hero__aside { border-left: 1px solid var(--tz-line); padding-left: 28px; color: var(--tz-muted); font-size: 15px; }
.tz-about-hero__aside strong { display: block; font: 500 22px/1.2 var(--tz-display); color: var(--tz-ink); margin-bottom: 6px; }
.tz-founder-card { display: grid; grid-template-columns: 340px 1fr; gap: 64px; align-items: center; }
.tz-founder-card__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.tz-founder-card__photo--empty { aspect-ratio: 4 / 5; display: grid; grid-template-rows: repeat(5, 1fr); }
.tz-founder-card__photo--empty span:nth-child(1) { background: var(--tz-s1); }
.tz-founder-card__photo--empty span:nth-child(2) { background: var(--tz-s2); }
.tz-founder-card__photo--empty span:nth-child(3) { background: var(--tz-s3); }
.tz-founder-card__photo--empty span:nth-child(4) { background: var(--tz-s4); }
.tz-founder-card__photo--empty span:nth-child(5) { background: var(--tz-s5); }
.tz-founder-card__name { font-size: clamp(32px, 3.6vw, 46px); margin-bottom: 6px; }
.tz-founder-card__role { color: var(--tz-madder); font-weight: 600; margin-bottom: 20px; }
.tz-founder-card p { font-size: 18px; color: var(--tz-ink-2); }
.tz-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--tz-line); }
.tz-principle { padding: 34px 32px 10px 0; }
.tz-principle + .tz-principle { padding-left: 32px; border-left: 1px solid var(--tz-line); }
.tz-principle__chip { width: 56px; height: 18px; margin-bottom: 22px; }
.tz-principle:nth-child(1) .tz-principle__chip { background: var(--tz-s1); }
.tz-principle:nth-child(2) .tz-principle__chip { background: var(--tz-s4); }
.tz-principle:nth-child(3) .tz-principle__chip { background: var(--tz-s2); }
.tz-principle h3 { font-size: 30px; margin-bottom: 10px; }
.tz-principle p { color: var(--tz-ink-2); }
.tz-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.tz-split h2 { font-size: clamp(30px, 3.4vw, 44px); }
.tz-split p { color: #ecd8d8; font-size: 17px; }
.tz-cta { text-align: center; }
.tz-cta h2 { font-size: clamp(34px, 4.4vw, 56px); margin-bottom: 26px; }
.tz-cta .tz-hero__actions { justify-content: center; }
@media (max-width: 960px) {
	.tz-about-hero__grid, .tz-founder-card, .tz-split { grid-template-columns: 1fr; gap: 36px; }
	.tz-about-hero__aside { border-left: 0; border-top: 1px solid var(--tz-line); padding: 22px 0 0; }
	.tz-founder-card__photo { max-width: 320px; }
	.tz-principles { grid-template-columns: 1fr; }
	.tz-principle, .tz-principle + .tz-principle { padding: 28px 0; border-left: 0; border-bottom: 1px solid var(--tz-line); }
}

/* ---------- Contact page ---------- */
.tz-contact { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.tz-contact__panel { background: var(--tz-ink); color: #f6e7e6; padding: 40px; }
.tz-contact__panel h2 { color: #fff; font-size: 32px; }
.tz-contact__panel p { color: #ecd8d8; }
.tz-steps { list-style: none; counter-reset: s; margin: 26px 0 0; padding: 0; display: grid; gap: 18px; }
.tz-steps li { counter-increment: s; display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.tz-steps li::before { content: counter(s); display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .35); font: 500 20px/1 var(--tz-display); color: #fff; }
.tz-steps strong { color: #fff; display: block; }
.tz-contact__aside { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .18); font-size: 15px; }
.tz-form h2 { font-size: 34px; }
.tz-form__intro { color: var(--tz-ink-2); margin-bottom: 26px; }
.tz-field { display: grid; gap: 7px; margin-bottom: 18px; }
.tz-field label { font-size: 14px; font-weight: 600; }
.tz-field input, .tz-field select, .tz-field textarea { width: 100%; padding: 14px 16px; border: 1px solid var(--tz-line); border-radius: var(--tz-r); background: #fff; font: inherit; color: var(--tz-ink); }
.tz-field textarea { min-height: 160px; resize: vertical; }
.tz-field input:focus, .tz-field select:focus, .tz-field textarea:focus { border-color: var(--tz-ink); outline: none; box-shadow: 0 0 0 3px #f6d9e2; }
.tz-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tz-hp { position: absolute; left: -9999px; }
.tz-alert { padding: 16px 18px; margin-bottom: 22px; border-left: 3px solid var(--tz-madder); background: #fff; }
.tz-alert--ok { border-color: #2f7d5b; }
.tz-form__fine { font-size: 13px; color: var(--tz-muted); margin-top: 12px; }
.tz-faq { margin-top: 8px; }
.tz-faq details { border-bottom: 1px solid var(--tz-line); padding: 18px 0; }
.tz-faq summary { cursor: pointer; font: 500 21px/1.3 var(--tz-display); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.tz-faq summary::-webkit-details-marker { display: none; }
.tz-faq summary::after { content: "+"; font-family: var(--tz-sans); color: var(--tz-madder); }
.tz-faq details[open] summary::after { content: "–"; }
.tz-faq details p { margin: 12px 0 0; color: var(--tz-ink-2); }
@media (max-width: 960px) { .tz-contact { grid-template-columns: 1fr; gap: 40px; } .tz-field-row { grid-template-columns: 1fr; } .tz-contact__panel { padding: 30px 24px; } }

/* ---------- Footer ---------- */
.tz-footer { background: var(--tz-ink); color: #e6d0d0; padding: 80px 0 0; }
.tz-footer__strip { display: grid; grid-template-columns: repeat(5, 1fr); height: 8px; margin-top: -80px; margin-bottom: 72px; }
.tz-footer__strip span:nth-child(1) { background: var(--tz-s1); }
.tz-footer__strip span:nth-child(2) { background: var(--tz-s2); }
.tz-footer__strip span:nth-child(3) { background: var(--tz-s3); }
.tz-footer__strip span:nth-child(4) { background: var(--tz-s4); }
.tz-footer__strip span:nth-child(5) { background: #5a4447; }
.tz-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 56px; }
.tz-footer__brand p { font-size: 15px; margin-top: 18px; max-width: 340px; }
.tz-footer__head { color: #fff; font: italic 500 19px/1.2 var(--tz-display); margin-bottom: 16px; }
.tz-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; font-size: 15px; }
.tz-footer__list a { text-decoration: none; color: #e6d0d0; }
.tz-footer__list a:hover { color: #fff; }
.tz-footer__legal { border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 24px; padding-bottom: 32px; font-size: 13px; color: #c4a8aa; display: grid; gap: 4px; }
.tz-footer__legal p { margin: 0; }
@media (max-width: 900px) { .tz-footer__grid { grid-template-columns: 1fr 1fr; } .tz-footer__brand { grid-column: 1 / -1; } }

/* ---------- Gutenberg basics ---------- */
.wp-block-button__link { border-radius: var(--tz-r); background: var(--tz-ink); color: #fff; padding: 14px 26px; text-decoration: none; }
.tz-prose .wp-block-button__link { color: #fff; }
.wp-block-image { margin: 2em 0; }
.aligncenter { margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }

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

/* ---------- Author page: career timeline and expertise ---------- */
.tz-profile .tz-crumbs { margin-bottom: 30px; }
.tz-profile .tz-hero__actions { margin-top: 8px; }
.tz-career { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.tz-career__intro { position: sticky; top: 120px; }
.tz-timeline { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--tz-s1); }
.tz-timeline li { display: grid; grid-template-columns: 140px 1fr; gap: 20px; padding: 0 0 34px 28px; position: relative; }
.tz-timeline li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--tz-madder); box-shadow: 0 0 0 4px var(--tz-paper); }
.tz-timeline li:last-child { padding-bottom: 0; }
.tz-timeline__when { font: italic 500 18px/1.3 var(--tz-display); color: var(--tz-madder); }
.tz-timeline h3 { font-size: 24px; margin-bottom: 6px; }
.tz-timeline p { color: var(--tz-ink-2); margin: 0; }
.tz-expertise { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--tz-line); }
.tz-expertise > div { padding: 30px 26px 10px 0; }
.tz-expertise > div + div { padding-left: 26px; border-left: 1px solid var(--tz-line); }
.tz-expertise h3 { font-size: 25px; margin-bottom: 10px; }
.tz-expertise p { color: var(--tz-ink-2); font-size: 16px; }
@media (max-width: 960px) {
	.tz-career { grid-template-columns: 1fr; gap: 32px; }
	.tz-career__intro { position: static; }
	.tz-timeline li { grid-template-columns: 1fr; gap: 4px; }
	.tz-expertise { grid-template-columns: 1fr 1fr; }
	.tz-expertise > div, .tz-expertise > div + div { padding: 24px 16px 8px 0; border-left: 0; }
}
@media (max-width: 560px) { .tz-expertise { grid-template-columns: 1fr; } }
.tz-container.tz-section { padding-left: 24px; padding-right: 24px; }
