/*
Theme Name: Tassarya India
Theme URI: https://tassarya.in
Author: Tassarya
Description: Lightweight, mobile-first WooCommerce theme for Tassarya India.
Version: 1.2.0
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: tassarya-india
*/

:root {
  --tas-ivory: #f7f2e8;
  --tas-paper: #fffdf8;
  --tas-tussar: #d9c5a1;
  --tas-maroon: #702f35;
  --tas-maroon-dark: #512126;
  --tas-gold: #b08a52;
  --tas-charcoal: #282421;
  --tas-olive: #4d5b46;
  --tas-line: rgba(40, 36, 33, 0.14);
  --tas-radius: 4px;
  --tas-shadow: 0 14px 40px rgba(40, 36, 33, 0.08);
  --tas-serif: Georgia, "Times New Roman", serif;
  --tas-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--tas-paper);
  color: var(--tas-charcoal);
  font-family: var(--tas-sans);
  font-size: 16px;
  line-height: 1.65;
}
img { display: block; height: auto; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
h1, h2, h3, h4 { font-family: var(--tas-serif); font-weight: 500; line-height: 1.12; margin-top: 0; }
h1 { font-size: clamp(2.5rem, 7vw, 5.8rem); }
h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
h3 { font-size: clamp(1.35rem, 2.5vw, 2rem); }
p { margin: 0 0 1.15rem; }
.tas-container { margin-inline: auto; max-width: 1240px; padding-inline: clamp(1rem, 4vw, 3rem); }
.tas-narrow { margin-inline: auto; max-width: 760px; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
.screen-reader-text:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000; }

.tas-announcement { background: var(--tas-maroon); color: #fff; font-size: 0.78rem; letter-spacing: 0.08em; padding: 0.55rem 1rem; text-align: center; text-transform: uppercase; }
.tas-header { background: rgba(255,253,248,0.96); border-bottom: 1px solid var(--tas-line); position: sticky; top: 0; z-index: 30; }
.admin-bar .tas-header { top: 32px; }
.tas-header__inner { align-items: center; display: grid; gap: 1rem; grid-template-columns: auto 1fr auto; min-height: 78px; }
.tas-brand { align-items: center; display: flex; text-decoration: none; }
.tas-brand img { height: 62px; object-fit: contain; width: auto; }
.tas-nav { justify-self: center; }
.tas-nav ul { display: flex; gap: clamp(1rem, 2.5vw, 2.2rem); list-style: none; margin: 0; padding: 0; }
.tas-nav a { font-size: 0.9rem; text-decoration: none; }
.tas-nav a:hover, .tas-nav a:focus-visible { color: var(--tas-maroon); }
.tas-header__actions { display: flex; gap: 0.85rem; }
.tas-header__actions a { font-size: 0.85rem; text-decoration: none; }
.tas-menu-toggle { background: transparent; border: 0; color: inherit; display: none; font: inherit; padding: 0.5rem; }

.tas-hero { align-items: end; background: linear-gradient(130deg, rgba(40,36,33,0.74), rgba(112,47,53,0.22)), var(--tas-hero-image, linear-gradient(135deg,#7b6750,#c9b08a)); background-position: center; background-size: cover; color: #fff; display: grid; min-height: min(78vh, 760px); }
.tas-hero__content { max-width: 780px; padding-block: clamp(5rem, 12vw, 9rem); }
.tas-eyebrow { font-size: 0.76rem; font-weight: 650; letter-spacing: 0.16em; margin-bottom: 1rem; text-transform: uppercase; }
.tas-hero p { font-family: var(--tas-serif); font-size: clamp(1.1rem, 2vw, 1.45rem); max-width: 650px; }
.tas-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.tas-button, button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  align-items: center; background: var(--tas-maroon); border: 1px solid var(--tas-maroon); border-radius: var(--tas-radius); color: #fff; cursor: pointer; display: inline-flex; font-family: var(--tas-sans); font-size: 0.82rem; font-weight: 700; justify-content: center; letter-spacing: 0.08em; min-height: 48px; padding: 0.8rem 1.35rem; text-decoration: none; text-transform: uppercase;
}
.tas-button:hover, .tas-button:focus-visible, button:hover, input[type="submit"]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--tas-maroon-dark); color: #fff; }
.tas-button--light { background: #fff; border-color: #fff; color: var(--tas-charcoal); }
.tas-button--ghost { background: transparent; border-color: currentColor; }

.tas-section { padding-block: clamp(4rem, 9vw, 8rem); }
.tas-section--ivory { background: var(--tas-ivory); }
.tas-section__head { align-items: end; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 2.2rem; }
.tas-section__head p { max-width: 520px; }
.tas-grid { display: grid; gap: clamp(1rem, 2vw, 1.7rem); }
.tas-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.tas-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.tas-card { background: var(--tas-paper); border: 1px solid var(--tas-line); }
.tas-card__media { aspect-ratio: 4/5; background: linear-gradient(135deg, #e8ded0, #c6ad87); overflow: hidden; }
.tas-card__media img { height: 100%; object-fit: cover; width: 100%; }
.tas-card__body { padding: 1.25rem; }
.tas-card__body h3 { font-size: 1.45rem; margin-bottom: 0.4rem; }
.tas-card__body p { color: rgba(40,36,33,0.75); font-size: 0.9rem; }
.tas-story { align-items: center; display: grid; gap: clamp(2rem, 7vw, 6rem); grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr); }
.tas-story__media { aspect-ratio: 4/5; background: linear-gradient(145deg, #b49c78, #72543c); box-shadow: var(--tas-shadow); overflow: hidden; }
.tas-story__media img { height: 100%; object-fit: cover; width: 100%; }
.tas-story__copy { max-width: 570px; }
.tas-story--reverse .tas-story__media { order: 2; }
.tas-section--feature { background: #efe3ce; }
.tas-values { border-block: 1px solid var(--tas-line); display: grid; grid-template-columns: repeat(4,1fr); }
.tas-value { padding: 1.8rem; text-align: center; }
.tas-value + .tas-value { border-left: 1px solid var(--tas-line); }
.tas-value strong { display: block; font-family: var(--tas-serif); font-size: 1.25rem; font-weight: 500; }

.tas-about-hero { background: linear-gradient(90deg,rgba(30,24,21,.82),rgba(30,24,21,.24)),var(--tas-about-hero); background-position: center 36%; background-size: cover; color: #fff; min-height: min(72vh,720px); display: grid; align-items: end; }
.tas-about-hero__inner { padding-block: clamp(6rem,14vw,10rem); width: 100%; }
.tas-about-hero h1 { max-width: 820px; }
.tas-about-hero p:last-child { font-family: var(--tas-serif); font-size: clamp(1.1rem,2vw,1.45rem); max-width: 680px; }
.tas-about-intro { align-items: center; display: grid; gap: clamp(2.5rem,7vw,7rem); grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
.tas-about-intro__copy { max-width: 600px; }
.tas-about-photo { margin: 0; overflow: hidden; box-shadow: var(--tas-shadow); }
.tas-about-photo img { height: 100%; object-fit: cover; width: 100%; }
.tas-about-photo--portrait { aspect-ratio: 4/5; }
.tas-about-photo--wide { aspect-ratio: 4/3; }
.tas-about-mission { background: var(--tas-charcoal); color: rgba(255,255,255,.86); padding-block: clamp(4rem,9vw,8rem); }
.tas-about-mission h2 { color: #fff; }
.tas-about-mission__grid { align-items: center; display: grid; gap: clamp(2.5rem,7vw,7rem); grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.tas-about-values__head { margin-bottom: 2.5rem; text-align: center; }
.tas-about-values { display: grid; gap: 1.25rem; grid-template-columns: repeat(3,1fr); }
.tas-about-values article { background: var(--tas-paper); border: 1px solid var(--tas-line); padding: clamp(1.5rem,3vw,2.5rem); }
.tas-about-values article span { color: var(--tas-gold); display: block; font-family: var(--tas-serif); font-size: 2rem; margin-bottom: 1.5rem; }
.tas-about-values h3 { font-size: 1.55rem; }
.tas-about-closing { background: linear-gradient(90deg,rgba(40,36,33,.24),rgba(40,36,33,.08)),var(--tas-about-closing); background-position: center; background-size: cover; padding-block: clamp(5rem,11vw,9rem); }
.tas-about-closing__card { background: rgba(255,253,248,.94); margin-left: max(1rem,6vw); max-width: 650px; padding-block: clamp(2.5rem,5vw,4.5rem); }
.tas-button--outline { background: transparent; color: var(--tas-maroon); }

.tas-craft-hero { align-items: end; background: linear-gradient(90deg,rgba(31,25,21,.82),rgba(31,25,21,.18)),var(--tas-craft-hero); background-position: center; background-size: cover; color: #fff; display: grid; min-height: min(75vh,740px); }
.tas-craft-hero__content { padding-block: clamp(6rem,14vw,10rem); width: 100%; }
.tas-craft-hero h1 { max-width: 850px; }
.tas-craft-hero p:last-child { font-family: var(--tas-serif); font-size: clamp(1.15rem,2vw,1.5rem); max-width: 650px; }
.tas-craft-intro { background: var(--tas-maroon); color: #fff; padding-block: clamp(3rem,6vw,5rem); }
.tas-craft-intro__grid { align-items: start; display: grid; gap: 2rem; grid-template-columns: minmax(160px,.35fr) minmax(0,1fr); }
.tas-craft-intro h2 { font-size: clamp(2rem,4vw,3.3rem); margin-bottom: 1rem; }
.tas-craft-intro__grid > div { max-width: 800px; }
.tas-craft-process { background: var(--tas-paper); padding-block: clamp(4rem,9vw,8rem); }
.tas-craft-step { align-items: center; display: grid; gap: clamp(2rem,7vw,7rem); grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); position: relative; }
.tas-craft-step + .tas-craft-step { margin-top: clamp(4rem,10vw,9rem); }
.tas-craft-step--reverse .tas-craft-step__image { order: 2; }
.tas-craft-step__image { aspect-ratio: 4/3; box-shadow: var(--tas-shadow); margin: 0; overflow: hidden; }
.tas-craft-step__image img { height: 100%; object-fit: cover; transition: transform .6s ease; width: 100%; }
.tas-craft-step:hover .tas-craft-step__image img { transform: scale(1.025); }
.tas-craft-step__copy { max-width: 520px; position: relative; }
.tas-craft-step__number { color: rgba(112,47,53,.1); font-family: var(--tas-serif); font-size: clamp(5rem,12vw,10rem); left: -.08em; line-height: .75; position: absolute; top: -.25em; z-index: 0; }
.tas-craft-step__copy > *:not(.tas-craft-step__number) { position: relative; z-index: 1; }
.tas-craft-step__copy h2 { font-size: clamp(2.2rem,4vw,3.8rem); }
.tas-craft-step__copy p:last-child { color: rgba(40,36,33,.78); font-size: 1.05rem; }
.tas-craft-note { background: var(--tas-charcoal); color: rgba(255,255,255,.82); padding-block: clamp(4rem,8vw,7rem); text-align: center; }
.tas-craft-note h2 { color: #fff; }
.tas-craft-note__inner { max-width: 830px; }
.tas-craft-note__inner > p:last-child { font-family: var(--tas-serif); font-size: clamp(1.05rem,2vw,1.3rem); }
.tas-craft-cta { background: linear-gradient(90deg,rgba(40,36,33,.18),rgba(40,36,33,.04)),var(--tas-craft-cta); background-position: center; background-size: cover; padding-block: clamp(5rem,12vw,10rem); }
.tas-craft-cta__card { background: rgba(255,253,248,.95); margin-right: max(1rem,6vw); max-width: 650px; padding-block: clamp(2.5rem,5vw,4.5rem); }

.tas-use-hero { align-items: end; background: linear-gradient(90deg,rgba(34,28,24,.82),rgba(34,28,24,.18)),var(--tas-use-hero); background-position: center; background-size: cover; color: #fff; display: grid; min-height: min(74vh,730px); }
.tas-use-hero__content { padding-block: clamp(6rem,14vw,10rem); width: 100%; }
.tas-use-hero h1 { max-width: 850px; }
.tas-use-hero p:last-child { font-family: var(--tas-serif); font-size: clamp(1.15rem,2vw,1.5rem); max-width: 680px; }
.tas-use-intro { background: var(--tas-maroon); color: #fff; padding-block: clamp(3rem,6vw,5rem); }
.tas-use-intro__grid { align-items: start; display: grid; gap: 2rem; grid-template-columns: minmax(190px,.4fr) minmax(0,1fr); }
.tas-use-intro h2 { font-size: clamp(2rem,4vw,3.3rem); }
.tas-use-intro__grid > div { max-width: 800px; }
.tas-use-feature { align-items: center; display: grid; gap: clamp(2.5rem,7vw,7rem); grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
.tas-use-feature--reverse .tas-use-feature__image { order: 2; }
.tas-use-feature__image { aspect-ratio: 4/5; box-shadow: var(--tas-shadow); margin: 0; overflow: hidden; }
.tas-use-feature__image img { height: 100%; object-fit: cover; width: 100%; }
.tas-use-feature__copy h2 { font-size: clamp(2.1rem,4vw,3.5rem); }
.tas-use-points { border-top: 1px solid var(--tas-line); margin-top: 2rem; }
.tas-use-points article { align-items: start; border-bottom: 1px solid var(--tas-line); display: grid; gap: 1.2rem; grid-template-columns: 42px 1fr; padding-block: 1.35rem; }
.tas-use-points article > span { color: var(--tas-gold); font-family: var(--tas-serif); font-size: 1.3rem; }
.tas-use-points h3 { font-size: 1.35rem; margin-bottom: .35rem; }
.tas-use-points p { color: rgba(40,36,33,.76); font-size: .95rem; margin: 0; }
.tas-use-care { background: var(--tas-charcoal); color: rgba(255,255,255,.8); padding-block: clamp(4rem,8vw,7rem); }
.tas-use-care__head { margin-bottom: 2.5rem; text-align: center; }
.tas-use-care h2, .tas-use-care h3 { color: #fff; }
.tas-use-care__grid { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.18); }
.tas-use-care__grid article { background: var(--tas-charcoal); padding: clamp(1.6rem,3vw,2.7rem); }
.tas-use-care__grid h3 { font-size: 1.5rem; }
.tas-use-cta { background: linear-gradient(90deg,rgba(40,36,33,.18),rgba(40,36,33,.03)),var(--tas-use-cta); background-position: center; background-size: cover; padding-block: clamp(5rem,12vw,10rem); }
.tas-use-cta__card { background: rgba(255,253,248,.95); margin-left: max(1rem,6vw); max-width: 650px; padding-block: clamp(2.5rem,5vw,4.5rem); }

.tas-contact-hero { align-items: end; background: linear-gradient(90deg,rgba(36,28,24,.82),rgba(36,28,24,.16)),var(--tas-contact-hero); background-position: center; background-size: cover; color: #fff; display: grid; min-height: min(62vh,620px); }
.tas-contact-hero__content { padding-block: clamp(5rem,12vw,8rem); width: 100%; }
.tas-contact-hero h1 { max-width: 800px; }
.tas-contact-hero p:last-child { font-family: var(--tas-serif); font-size: clamp(1.1rem,2vw,1.45rem); max-width: 650px; }
.tas-contact-grid { align-items: start; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: minmax(0,1.08fr) minmax(320px,.92fr); }
.tas-contact-form-card { background: var(--tas-paper); box-shadow: var(--tas-shadow); padding: clamp(1.5rem,4vw,3.5rem); }
.tas-contact-form-card h2, .tas-contact-details h2 { font-size: clamp(2rem,4vw,3.3rem); }
.tas-contact-form { display: grid; gap: 1.25rem; margin-top: 2rem; }
.tas-form-field label { display: block; font-size: .82rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .45rem; text-transform: uppercase; }
.tas-form-field label span { color: var(--tas-maroon); }
.tas-form-field input, .tas-form-field textarea { border-color: rgba(40,36,33,.24); width: 100%; }
.tas-form-field textarea { min-height: 180px; resize: vertical; }
.tas-honeypot { left: -9999px; position: absolute; }
.tas-form-notice { border-left: 4px solid; margin-block: 1.25rem; padding: 1rem; }
.tas-form-notice--success { background: #edf5eb; border-color: var(--tas-olive); }
.tas-form-notice--error { background: #f8eaea; border-color: var(--tas-maroon); }
.tas-contact-details { padding-top: clamp(1rem,3vw,3rem); }
.tas-contact-detail { border-top: 1px solid var(--tas-line); display: grid; gap: .5rem; padding-block: 1.3rem; }
.tas-contact-detail > span, .tas-contact-socials > span { color: var(--tas-maroon); font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.tas-contact-detail a { font-family: var(--tas-serif); font-size: 1.35rem; text-decoration: none; }
.tas-contact-detail address { font-style: normal; }
.tas-contact-socials { border-top: 1px solid var(--tas-line); padding-top: 1.3rem; }
.tas-contact-socials div { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; margin-top: .8rem; }
.tas-contact-socials a { font-weight: 650; }
.tas-contact-cta { background: linear-gradient(90deg,rgba(40,36,33,.16),rgba(40,36,33,.03)),var(--tas-contact-cta); background-position: center; background-size: cover; padding-block: clamp(5rem,12vw,10rem); }
.tas-contact-cta__card { background: rgba(255,253,248,.95); margin-right: max(1rem,6vw); max-width: 650px; padding-block: clamp(2.5rem,5vw,4.5rem); }

.tas-legal-hero { background: var(--tas-charcoal); color: #fff; overflow: hidden; position: relative; }
.tas-legal-hero::after { background: radial-gradient(circle,rgba(176,138,82,.22),transparent 68%); content: ""; height: 520px; position: absolute; right: -140px; top: -220px; width: 520px; }
.tas-legal-hero__inner { padding-block: clamp(5rem,11vw,8rem); position: relative; z-index: 1; }
.tas-legal-hero h1 { max-width: 800px; }
.tas-legal-hero p { color: rgba(255,255,255,.8); font-family: var(--tas-serif); font-size: clamp(1.08rem,2vw,1.4rem); max-width: 700px; }
.tas-legal-meta { align-items: center; border-top: 1px solid rgba(255,255,255,.2); display: flex; gap: 1rem; margin-top: 2.5rem; max-width: 700px; padding-top: 1rem; }
.tas-legal-meta span { color: rgba(255,255,255,.58); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; }
.tas-legal-layout { align-items: start; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: 250px minmax(0,780px); justify-content: center; }
.tas-legal-nav { background: var(--tas-paper); border: 1px solid var(--tas-line); padding: 1.5rem; position: sticky; top: 110px; }
.tas-legal-nav nav { display: grid; }
.tas-legal-nav a { border-top: 1px solid var(--tas-line); font-size: .86rem; padding-block: .65rem; text-decoration: none; }
.tas-legal-nav a:hover { color: var(--tas-maroon); }
.tas-legal-content { background: var(--tas-paper); box-shadow: var(--tas-shadow); padding: clamp(1.5rem,5vw,4.5rem); }
.tas-legal-content section { scroll-margin-top: 120px; }
.tas-legal-content section + section { border-top: 1px solid var(--tas-line); margin-top: 2.5rem; padding-top: 2.5rem; }
.tas-legal-number { color: var(--tas-gold); display: block; font-family: var(--tas-serif); font-size: 1.35rem; margin-bottom: .6rem; }
.tas-legal-content h2 { font-size: clamp(1.8rem,3vw,2.7rem); margin-bottom: 1rem; }
.tas-legal-content p, .tas-legal-content address { color: rgba(40,36,33,.79); }
.tas-legal-contact { background: var(--tas-ivory); border-top: 0!important; margin-inline: clamp(-1rem,-2vw,-2rem); padding: clamp(1.5rem,3vw,2.5rem)!important; }
.tas-legal-contact address { font-style: normal; }

.tas-faq-hero { align-items: end; background: linear-gradient(90deg,rgba(35,28,24,.84),rgba(35,28,24,.2)),var(--tas-faq-hero); background-position: center; background-size: cover; color: #fff; display: grid; min-height: min(64vh,640px); }
.tas-faq-hero__content { padding-block: clamp(5rem,12vw,8rem); width: 100%; }
.tas-faq-hero p:last-child { font-family: var(--tas-serif); font-size: clamp(1.1rem,2vw,1.45rem); max-width: 720px; }
.tas-faq-intro { background: var(--tas-maroon); color: #fff; padding-block: clamp(3rem,6vw,5rem); }
.tas-faq-intro__grid { display: grid; gap: 2rem; grid-template-columns: minmax(180px,.35fr) minmax(0,1fr); }
.tas-faq-intro__grid > div { max-width: 800px; }
.tas-faq-intro h2 { font-size: clamp(2rem,4vw,3.3rem); }
.tas-faq-layout { align-items: start; display: grid; gap: clamp(2rem,6vw,6rem); grid-template-columns: 260px minmax(0,800px); justify-content: center; }
.tas-faq-aside { display: grid; position: sticky; top: 110px; }
.tas-faq-aside > a { border-top: 1px solid var(--tas-line); font-size: .88rem; padding-block: .7rem; text-decoration: none; }
.tas-faq-help { background: var(--tas-charcoal); color: rgba(255,255,255,.78); margin-top: 2rem; padding: 1.5rem; }
.tas-faq-help h3 { color: #fff; font-size: 1.4rem; }
.tas-faq-help .tas-button { margin-top: .5rem; }
.tas-faq-group { scroll-margin-top: 120px; }
.tas-faq-group + .tas-faq-group { margin-top: clamp(3.5rem,7vw,6rem); }
.tas-faq-group > h2 { font-size: clamp(2rem,3.5vw,3rem); }
.tas-faq-group details { background: var(--tas-paper); border-bottom: 1px solid var(--tas-line); }
.tas-faq-group details:first-of-type { border-top: 1px solid var(--tas-line); }
.tas-faq-group summary { cursor: pointer; font-family: var(--tas-serif); font-size: 1.25rem; list-style: none; padding: 1.35rem 3rem 1.35rem 0; position: relative; }
.tas-faq-group summary::-webkit-details-marker { display: none; }
.tas-faq-group summary::after { color: var(--tas-maroon); content: "+"; font-family: var(--tas-sans); font-size: 1.6rem; position: absolute; right: .5rem; top: 1rem; }
.tas-faq-group details[open] summary::after { content: "−"; }
.tas-faq-group details > div { color: rgba(40,36,33,.78); max-width: 700px; padding: 0 3rem 1.4rem 0; }
.tas-faq-cta { background: linear-gradient(90deg,rgba(40,36,33,.18),rgba(40,36,33,.03)),var(--tas-faq-cta); background-position: center; background-size: cover; padding-block: clamp(5rem,12vw,10rem); }
.tas-faq-cta__card { background: rgba(255,253,248,.95); margin-right: max(1rem,6vw); max-width: 650px; padding-block: clamp(2.5rem,5vw,4.5rem); }

.tas-main { min-height: 55vh; padding-block: clamp(3rem, 7vw, 6rem); }
.tas-page-header { background: var(--tas-ivory); padding-block: clamp(3rem, 7vw, 6rem); }
.tas-page-header h1 { font-size: clamp(2.4rem, 6vw, 4.8rem); margin-bottom: 0.5rem; }
.tas-content > * + * { margin-top: 1.25rem; }
.tas-content ul { padding-left: 1.2rem; }

.woocommerce .woocommerce-breadcrumb { color: rgba(40,36,33,0.65); font-size: 0.82rem; }
.woocommerce ul.products { display: grid; gap: 1.5rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; margin: 0; width: auto; }
.woocommerce ul.products li.product a img { aspect-ratio: 4/5; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--tas-charcoal); font-family: var(--tas-serif); font-size: 1.25rem; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price { color: var(--tas-maroon); font-weight: 700; }
.woocommerce div.product { display: grid; gap: clamp(2rem,5vw,5rem); grid-template-columns: minmax(0,1.05fr) minmax(320px,0.95fr); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; }
.woocommerce div.product .product_title { font-size: clamp(2rem,4vw,3.5rem); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--tas-maroon); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--tas-maroon); }
input, textarea, select { background: #fff; border: 1px solid var(--tas-line); border-radius: 2px; color: var(--tas-charcoal); font: inherit; max-width: 100%; padding: 0.85rem; }

.tas-footer { background: var(--tas-charcoal); color: rgba(255,255,255,0.82); padding-block: 4rem 2rem; }
.tas-footer__grid { display: grid; gap: 2rem; grid-template-columns: 1.6fr repeat(3,1fr); }
.tas-footer h2, .tas-footer h3 { color: #fff; }
.tas-footer h2 { font-size: 1.8rem; letter-spacing: 0.12em; text-transform: uppercase; }
.tas-footer h3 { font-family: var(--tas-sans); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.tas-footer ul { list-style: none; margin: 0; padding: 0; }
.tas-footer li + li { margin-top: 0.6rem; }
.tas-footer a { text-decoration: none; }
.tas-footer__bottom { border-top: 1px solid rgba(255,255,255,0.16); font-size: 0.8rem; margin-top: 3rem; padding-top: 1.5rem; }

@media (max-width: 900px) {
  .tas-menu-toggle { display: inline-flex; }
  .tas-nav { background: var(--tas-paper); border-bottom: 1px solid var(--tas-line); display: none; grid-column: 1/-1; justify-self: stretch; padding: 0 0 1rem; }
  .tas-nav.is-open { display: block; }
  .tas-nav ul { align-items: flex-start; flex-direction: column; gap: 0.6rem; }
  .tas-header__inner { grid-template-columns: auto 1fr auto; }
  .tas-brand { justify-self: center; }
  .tas-brand img { height: 54px; }
  .tas-grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tas-story { grid-template-columns: 1fr; }
  .tas-about-intro, .tas-about-mission__grid { grid-template-columns: 1fr; }
  .tas-about-values { grid-template-columns: 1fr; }
  .tas-craft-intro__grid, .tas-craft-step { grid-template-columns: 1fr; }
  .tas-craft-step--reverse .tas-craft-step__image { order: 0; }
  .tas-craft-step__copy { padding-block: 1rem; }
  .tas-use-intro__grid, .tas-use-feature { grid-template-columns: 1fr; }
  .tas-use-feature--reverse .tas-use-feature__image { order: 0; }
  .tas-use-care__grid { grid-template-columns: 1fr; }
  .tas-contact-grid { grid-template-columns: 1fr; }
  .tas-legal-layout { grid-template-columns: 1fr; }
  .tas-legal-nav { position: static; }
  .tas-legal-nav nav { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1rem; }
  .tas-faq-intro__grid, .tas-faq-layout { grid-template-columns: 1fr; }
  .tas-faq-aside { position: static; }
  .tas-story--reverse .tas-story__media { order: 0; }
  .tas-values { grid-template-columns: repeat(2,1fr); }
  .tas-value:nth-child(3) { border-left: 0; border-top: 1px solid var(--tas-line); }
  .tas-value:nth-child(4) { border-top: 1px solid var(--tas-line); }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .woocommerce div.product { grid-template-columns: 1fr; }
  .tas-footer__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 520px) {
  .admin-bar .tas-header { top: 46px; }
  .tas-header__actions .tas-account { display: none; }
  .tas-section__head { align-items: flex-start; flex-direction: column; }
  .tas-grid--3, .tas-grid--4 { grid-template-columns: 1fr; }
  .tas-values { grid-template-columns: 1fr; }
  .tas-value + .tas-value { border-left: 0; border-top: 1px solid var(--tas-line); }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.8rem; }
  .tas-footer__grid { grid-template-columns: 1fr; }
}
