/*
Theme Name: TEAME Matcha
Theme URI: https://teameteas.com/
Author: TEAME
Description: A fully editable, section-managed WordPress theme for a premium matcha landing/ecommerce website.
Version: 1.5.0
Text Domain: teame-matcha
*/

:root{
  --tm-green:#204f2f;
  --tm-green-2:#6f8f48;
  --tm-cream:#f5f0df;
  --tm-offwhite:#fbfaf4;
  --tm-ink:#1f271f;
  --tm-line:#d9dbc9;
  --tm-radius:24px;
  --tm-footer:#14291b;
  --tm-max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--tm-offwhite);color:var(--tm-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.tm-container{width:min(calc(100% - 36px),var(--tm-max));margin:0 auto}.tm-section{padding:88px 0}.tm-kicker{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--tm-green-2);margin-bottom:12px}.tm-title{font-size:clamp(36px,5vw,72px);line-height:1.02;letter-spacing:-.03em;margin:0 0 22px}.tm-subtitle{font-size:clamp(17px,2vw,21px);max-width:720px;color:#4b554b}.tm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;background:var(--tm-green);color:#fff;font-weight:700;border:1px solid var(--tm-green);transition:.2s}.tm-btn:hover{transform:translateY(-1px);opacity:.92}.tm-btn--ghost{background:transparent;color:var(--tm-green)}
.tm-announcement{padding:9px 18px;text-align:center;background:var(--tm-green);color:#fff;font-size:13px}.tm-header{position:sticky;top:0;z-index:30;background:var(--tm-footer);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 2px 10px rgba(0,0,0,.08)}.tm-header__row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:32px}.tm-logo{display:inline-flex;align-items:center;flex:0 0 auto;min-width:0}.tm-logo img,.tm-logo .custom-logo{display:block;max-height:44px;width:auto;max-width:210px}.tm-logo .custom-logo-link{display:inline-flex;align-items:center}.tm-header .tm-logo__text{font-size:24px;font-weight:800;letter-spacing:.08em;color:#fff}.tm-nav{display:flex;gap:30px;align-items:center;margin-left:auto}.tm-nav a{position:relative;font-size:14px;font-weight:700;color:#fff;white-space:nowrap;transition:opacity .2s ease}.tm-nav a:hover,.tm-nav a:focus{opacity:.72}.tm-mobile-toggle{display:none;width:44px;height:44px;padding:9px;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}.tm-mobile-toggle span{display:block;width:23px;height:2px;background:#fff;border-radius:999px;transition:transform .2s ease,opacity .2s ease}.tm-mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.tm-mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.tm-mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.tm-mobile-menu{background:var(--tm-footer);border-top:1px solid rgba(255,255,255,.12)}.tm-mobile-menu__inner{display:flex;flex-direction:column;padding-top:8px;padding-bottom:18px}.tm-mobile-menu a{display:block;padding:13px 0;color:#fff;font-size:15px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.09)}.tm-mobile-menu a:last-child{border-bottom:0}
.tm-hero{position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;background:#dfe6d4}.tm-hero__media{position:absolute;inset:0}.tm-hero__media img{width:100%;height:100%;object-fit:cover}.tm-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,35,22,.65),rgba(15,35,22,.08) 60%,rgba(15,35,22,.02))}.tm-hero__content{position:relative;z-index:2;padding:120px 0 92px;color:#fff;max-width:760px}.tm-hero__content .tm-subtitle{color:rgba(255,255,255,.9)}.tm-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.tm-hero .tm-btn--ghost{border-color:#fff;color:#fff}
.tm-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.tm-split__media{border-radius:var(--tm-radius);overflow:hidden;min-height:520px;background:#e7eadf}.tm-split__media img{width:100%;height:100%;object-fit:cover}.tm-prose{font-size:18px;color:#4b554b}.tm-prose p:last-child{margin-bottom:0}
.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tm-card{background:#fff;border:1px solid var(--tm-line);border-radius:var(--tm-radius);overflow:hidden}.tm-card__media{aspect-ratio:1/1;background:#eef0e8}.tm-card__media img{width:100%;height:100%;object-fit:cover}.tm-card__body{padding:24px}.tm-card__body h3{margin:0 0 10px;font-size:24px}.tm-card__body p{margin:0;color:#5d665d}
.tm-benefits{background:var(--tm-green);color:#fff}.tm-benefits .tm-kicker{color:#c4dc9e}.tm-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:42px}.tm-benefit{border-top:1px solid rgba(255,255,255,.26);padding-top:20px}.tm-benefit__num{font-size:14px;opacity:.7}.tm-benefit h3{font-size:24px;margin:16px 0 8px}.tm-benefit p{margin:0;color:rgba(255,255,255,.78)}
.tm-products{background:#eef2e7}.tm-products__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.tm-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tm-product-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid rgba(31,39,31,.08)}.tm-product-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f4f4ef}.tm-product-card__body{padding:18px}.tm-product-card h3{font-size:18px;margin:0 0 6px}.tm-price{font-weight:800;color:var(--tm-green)}
.tm-ritual{background:var(--tm-cream)}.tm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}.tm-step{padding:28px;border-radius:22px;background:rgba(255,255,255,.68);border:1px solid rgba(31,39,31,.08)}.tm-step__badge{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--tm-green);color:#fff;font-weight:800}.tm-step h3{font-size:22px;margin:18px 0 8px}.tm-step p{margin:0;color:#5d665d}
.tm-quote{padding:34px;border-radius:24px;background:#fff;border:1px solid var(--tm-line)}.tm-quote p{font-size:22px;margin:0 0 22px}.tm-quote strong{display:block}.tm-quote span{color:#6a736a;font-size:14px}
.tm-faq{max-width:920px;margin:0 auto}.tm-faq details{border-bottom:1px solid var(--tm-line);padding:22px 0}.tm-faq summary{cursor:pointer;font-weight:800;font-size:18px}.tm-faq details p{color:#596259}
.tm-newsletter{background:#dfe9cb}.tm-newsletter__box{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.tm-newsletter form{display:flex;gap:10px}.tm-newsletter input{flex:1;min-height:52px;border:1px solid rgba(31,39,31,.18);border-radius:999px;padding:0 20px;background:#fff}
.tm-footer{background:var(--tm-footer);color:#fff;padding:64px 0 24px}.tm-footer__grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:44px}.tm-footer h4{margin:0 0 15px}.tm-footer p,.tm-footer a{color:rgba(255,255,255,.72)}.tm-footer__bottom{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:rgba(255,255,255,.62)}
@media(max-width:1000px){.tm-header__row{min-height:72px;gap:20px}.tm-nav{gap:20px}.tm-nav a{font-size:13px}.tm-logo img,.tm-logo .custom-logo{max-width:180px}.tm-hero{min-height:660px}.tm-benefit-grid,.tm-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.tm-nav--desktop{display:none}.tm-mobile-toggle{display:flex;margin-left:auto}.tm-header__row{min-height:68px}.tm-logo img,.tm-logo .custom-logo{max-height:40px;max-width:180px}.tm-hero{min-height:620px}.tm-split,.tm-newsletter__box{grid-template-columns:1fr}.tm-grid,.tm-steps{grid-template-columns:1fr}.tm-footer__grid{grid-template-columns:1fr}.tm-section{padding:64px 0}.tm-split__media{min-height:380px}.tm-products__head{align-items:start;flex-direction:column}}
@media(max-width:560px){.tm-container{width:min(calc(100% - 24px),var(--tm-max))}.tm-header__row{min-height:64px}.tm-logo img,.tm-logo .custom-logo{max-height:36px;max-width:150px}.tm-header .tm-logo__text{font-size:21px}.tm-benefit-grid,.tm-product-grid{grid-template-columns:1fr}.tm-newsletter form{flex-direction:column}.tm-hero{min-height:560px}.tm-hero__content{padding:82px 0 56px}.tm-title{font-size:clamp(38px,12vw,48px)}.tm-section{padding:54px 0}.tm-card__body{padding:20px}.tm-footer{padding-top:50px}}
@media(max-width:380px){.tm-logo img,.tm-logo .custom-logo{max-width:130px}.tm-mobile-toggle{width:40px;height:40px}.tm-container{width:min(calc(100% - 20px),var(--tm-max))}}

/* v1.2: category-to-shop navigation + responsive Shopify Buy Button collection */
.tm-card--link{display:block;color:inherit;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tm-card--link:hover,.tm-card--link:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px rgba(31,39,31,.10);border-color:rgba(31,39,31,.18)}
.tm-card--link:focus-visible{outline:3px solid rgba(50,136,29,.28);outline-offset:3px}
.tm-card__cta{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-weight:800;color:var(--tm-green)}
.tm-shopify-embed{width:100%;min-width:0;overflow:visible}
.tm-shopify-embed iframe{max-width:100%!important}
.tm-products .tm-subtitle{max-width:720px;margin-top:12px}
html{scroll-behavior:smooth}
@media(max-width:600px){.tm-shopify-embed{overflow-x:hidden}.tm-products__head{margin-bottom:24px}}


/* v1.3: expandable lifestyle gallery */
.tm-talk{background:var(--tm-offwhite);overflow:hidden}
.tm-talk__head{text-align:center;max-width:820px;margin:0 auto 34px}
.tm-talk__head .tm-kicker{margin-bottom:10px}
.tm-talk__head .tm-title{font-size:clamp(34px,4.2vw,58px);margin-bottom:0}
.tm-talk__gallery{display:flex;gap:7px;width:100%;height:520px;align-items:stretch}
.tm-talk__panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border:0;padding:0;background:#dfe5dc;cursor:pointer;border-radius:0;transition:flex .48s cubic-bezier(.2,.7,.2,1),transform .25s ease;isolation:isolate}
.tm-talk__panel.is-active{flex:3.05 1 0}
.tm-talk__panel:focus-visible{outline:3px solid var(--tm-green-2);outline-offset:3px}
.tm-talk__panel img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .35s ease}
.tm-talk__panel:not(.is-active) img{filter:saturate(.88) brightness(.94)}
.tm-talk__panel:hover img,.tm-talk__panel.is-active img{transform:scale(1.025)}
.tm-talk__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 48%,rgba(0,0,0,.68) 100%);z-index:1;pointer-events:none}
.tm-talk__label{position:absolute;left:18px;right:18px;bottom:24px;z-index:2;color:#fff;font-size:18px;font-weight:800;line-height:1.15;text-shadow:0 1px 8px rgba(0,0,0,.38);opacity:.92;transform:translateY(2px);transition:font-size .3s ease,transform .3s ease}
.tm-talk__panel.is-active .tm-talk__label{left:0;right:0;text-align:center;font-size:24px;transform:none}
.tm-talk__panel[aria-pressed="true"]{cursor:default}
@media(max-width:900px){.tm-talk__gallery{height:430px}.tm-talk__panel.is-active{flex:2.5 1 0}.tm-talk__label{font-size:16px}.tm-talk__panel.is-active .tm-talk__label{font-size:21px}}
@media(max-width:680px){.tm-talk__head{text-align:left;margin-bottom:24px}.tm-talk__gallery{height:auto;display:grid;grid-template-columns:1fr;gap:10px}.tm-talk__panel,.tm-talk__panel.is-active{height:112px;flex:none;border-radius:14px;transition:height .4s cubic-bezier(.2,.7,.2,1)}.tm-talk__panel.is-active{height:390px}.tm-talk__panel img{object-position:center 38%}.tm-talk__label,.tm-talk__panel.is-active .tm-talk__label{text-align:left;left:18px;right:18px;bottom:18px;font-size:19px}.tm-talk__panel.is-active .tm-talk__label{font-size:23px}}
@media(max-width:420px){.tm-talk__panel.is-active{height:330px}.tm-talk__panel,.tm-talk__panel.is-active{border-radius:12px}}


/* v1.4: per-panel video button + popup */
.tm-talk__video{position:absolute;left:50%;top:72%;z-index:4;width:62px;height:62px;display:grid;place-items:center;transform:translate(-50%,-50%) scale(.88);border:0;border-radius:50%;background:#fff;color:#6558ee;box-shadow:0 10px 28px rgba(0,0,0,.22);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease,box-shadow .2s ease}
.tm-talk__panel.is-active .tm-talk__video{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.tm-talk__video:hover,.tm-talk__video:focus-visible{box-shadow:0 12px 34px rgba(0,0,0,.32);transform:translate(-50%,-50%) scale(1.06)}
.tm-talk__video:focus-visible{outline:3px solid rgba(255,255,255,.75);outline-offset:3px}
.tm-talk__video svg{width:25px;height:25px;display:block;fill:currentColor}
.tm-video-modal[hidden]{display:none!important}
.tm-video-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:22px}
.tm-video-modal__backdrop{position:absolute;inset:0;background:rgba(5,12,8,.82);backdrop-filter:blur(5px)}
.tm-video-modal__dialog{position:relative;z-index:1;width:min(980px,94vw);max-height:88vh}
.tm-video-modal__frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.45)}
.tm-video-modal__frame iframe,.tm-video-modal__frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}
.tm-video-modal__close{position:absolute;z-index:3;right:-14px;top:-14px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#16251a;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.tm-video-modal__close:hover,.tm-video-modal__close:focus-visible{transform:scale(1.04)}
.tm-video-modal__close:focus-visible{outline:3px solid var(--tm-green-2);outline-offset:3px}
body.tm-video-open{overflow:hidden}
@media(max-width:680px){.tm-talk__video{width:54px;height:54px}.tm-talk__video svg{width:22px;height:22px}.tm-video-modal{padding:16px}.tm-video-modal__dialog{width:100%}.tm-video-modal__close{right:-4px;top:-52px}.tm-video-modal__frame{border-radius:12px}}
