/* ============================================================
   Toby's Estate — storefront components
   (announcement, nav, footer; more appended per template task)
   ============================================================ */

/* ---- Announcement bar ---- */
.te-announce{
  background:var(--ink);
  color:var(--cream);
  text-align:center;
  padding:9px 16px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

/* ---- Sticky blur nav ---- */
.te-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(241,232,227,0.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .2s ease, background .2s ease;
}
.te-nav.is-scrolled{box-shadow:0 6px 24px rgba(22,19,16,0.07)}
.te-nav__inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:var(--maxw);margin:0 auto;padding:14px 32px;
}
.te-nav__brand{display:flex;align-items:center;gap:11px}
.te-nav__word{display:flex;flex-direction:column;gap:2px}
.te-nav__title{font-family:var(--te-headline);font-size:20px;letter-spacing:0.04em;line-height:1;color:var(--ink);white-space:nowrap}
.te-nav__sub{font-family:var(--font-mono);font-size:8px;letter-spacing:0.32em;text-transform:uppercase;color:var(--ink)}

.te-nav__links{display:flex;align-items:center;gap:32px}
.te-nav__link{
  position:relative;font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--ink);padding:2px 0;
}
.te-nav__link::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--te-accent);
  transform:scaleX(0);transform-origin:left;transition:transform .18s ease;
}
.te-nav__link:hover::after,
.te-nav__link[aria-current]::after,
.current-menu-item > .te-nav__link::after{transform:scaleX(1)}

.te-nav__actions{display:flex;align-items:center;gap:14px}
.te-nav__region{
  display:flex;align-items:center;gap:7px;background:#fff;
  border:1px solid var(--border-strong);border-radius:2px;padding:5px 10px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);
}
.te-nav__dot{width:6px;height:6px;border-radius:50%;background:var(--te-accent);flex:none}
.te-nav__bag{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase}
.te-nav__bagcount{
  min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--te-accent);color:#fff;border-radius:50%;font-size:11px;padding:0 5px;
}
.te-nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.te-nav__burger span{display:block;width:22px;height:2px;background:var(--ink)}

/* ---- Footer ---- */
.te-footer{background:var(--ink);color:var(--cream)}
.te-footer__inner{max-width:var(--maxw);margin:0 auto;padding:72px 32px 40px}
.te-footer__cols{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:56px;border-bottom:1px solid rgba(241,232,227,0.16);
}
.te-footer__brand img{margin:-10px 0 4px -4px}
.te-footer__brand p{font-size:15px;line-height:1.6;color:var(--cream-soft);max-width:280px;margin:0 0 20px}
.te-footer__news{display:flex;gap:10px}
.te-footer__news input{
  background:transparent;border:1px solid rgba(241,232,227,0.3);border-radius:2px;
  padding:12px 14px;color:var(--cream);font-family:var(--font-sans);font-size:14px;width:200px;
}
.te-footer__news input::placeholder{color:rgba(241,232,227,0.55)}
.te-footer__news .te-btn{padding:0 18px;font-size:11px;letter-spacing:0.1em}
.te-footer__head{font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted-2);margin-bottom:18px}
.te-footer__col a{display:block;font-size:14px;color:var(--cream-soft);margin-bottom:12px;transition:color .15s}
.te-footer__col a:hover{color:var(--cream)}
.te-footer__legal{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:12px}
.te-footer__legal span{font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted-2)}

/* ---- Marquee (used on Home; component added in Task 6) ---- */
.te-marquee{background:var(--ink);color:var(--cream);overflow:hidden;padding:16px 0;white-space:nowrap}
.te-marquee__track{display:inline-block;animation:te-marquee 26s linear infinite;font-family:var(--font-mono);font-size:13px;letter-spacing:0.18em;text-transform:uppercase}
@keyframes te-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes te-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ---- Breadcrumb ---- */
.te-crumbs{font-size:11px;letter-spacing:0.18em;color:var(--muted);margin-bottom:28px}
.te-crumbs a:hover{color:var(--ink)}

/* ---- Shop listing ---- */
.te-shop__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.te-shop__head .te-h1{font-size:clamp(40px,5vw,56px);line-height:0.98;margin:0}
.te-shop__head .te-eyebrow{margin-bottom:14px}

.te-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.te-tab{
  border:1px solid var(--border-strong);border-radius:var(--radius-pill);
  padding:9px 18px;font-size:11px;letter-spacing:0.06em;color:var(--ink);background:#fff;
  transition:background .15s,color .15s,border-color .15s;
}
.te-tab:hover{border-color:var(--ink)}
.te-tab.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ---- Product card ---- */
.te-card{display:block;animation:te-up .4s ease both}
.te-card__media{
  position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;
  background:var(--surface-img);margin-bottom:16px;display:flex;align-items:center;justify-content:center;
}
.te-card__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.te-card__media.is-out::after{content:"";position:absolute;inset:0;background:rgba(241,232,227,0.6)}
.te-card__oos{position:absolute;z-index:2;background:var(--ink);color:var(--cream);padding:6px 12px;border-radius:2px;font-size:10px;letter-spacing:0.12em}
.te-card__row{display:flex;justify-content:space-between;align-items:baseline}
.te-card__name{font-size:19px;line-height:1.2;margin-right:10px}
.te-card__price{font-size:13px;flex:none}
.te-card__meta{margin-top:6px;align-items:center}
.te-card__meta .te-mono{font-size:10px;letter-spacing:0.08em}
.te-card:hover .te-card__name{text-decoration:underline;text-underline-offset:3px}

/* ---- Pagination ---- */
.te-pagination{margin-top:48px;display:flex;justify-content:center}
.te-pagination .page-numbers{display:flex;gap:6px;list-style:none;padding:0;margin:0}
.te-pagination .page-numbers li a,.te-pagination .page-numbers li span{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;
  border:1px solid var(--border-strong);border-radius:2px;font-family:var(--font-mono);font-size:12px;
}
.te-pagination .page-numbers li .current{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ---- Home: hero ---- */
.te-hero{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;padding:60px 32px 72px}
.te-hero .te-eyebrow{letter-spacing:0.2em;margin-bottom:24px}
.te-hero__title{font-size:clamp(48px,7vw,76px);line-height:0.98;letter-spacing:-0.01em;margin:0 0 26px}
.te-hero__lede{font-size:18px;line-height:1.6;max-width:450px;margin:0 0 36px;color:var(--ink-soft)}
.te-hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.te-hero__stats{display:flex;gap:40px;margin-top:48px}
.te-stat__n{font-size:30px;line-height:1}
.te-stat__l{font-size:10px;letter-spacing:0.14em;color:var(--muted);margin-top:4px}
.te-hero__media{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--surface-img);display:flex;align-items:center;justify-content:center}
.te-hero__media img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.te-hero__chip{position:absolute;left:20px;bottom:20px;background:var(--ink);color:var(--cream);padding:14px 18px;border-radius:2px;max-width:220px}
.te-hero__chip .te-mono{font-size:9px;letter-spacing:0.16em;margin-bottom:6px}
.te-hero__chip .te-display{font-size:18px;line-height:1.2}

/* ---- Home: line-up ---- */
.te-lineup{padding:88px 32px 40px}
.te-lineup__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;gap:20px;flex-wrap:wrap}
.te-lineup__head .te-eyebrow{letter-spacing:0.2em;margin-bottom:14px}
.te-lineup__head .te-h2{font-size:clamp(32px,4vw,42px);margin:0}
.te-link-underline{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}

/* ---- Home: subscription feature ---- */
.te-feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:72px 32px 96px}
.te-feature__media{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--surface-img);display:flex;align-items:center;justify-content:center}
.te-feature__media img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.te-feature .te-eyebrow{letter-spacing:0.2em;margin-bottom:20px}
.te-feature .te-h2{font-size:clamp(34px,4.5vw,46px);line-height:1.04;margin:0 0 22px}
.te-feature__lede{font-size:17px;line-height:1.6;color:var(--ink-soft);margin:0 0 28px;max-width:460px}
.te-steps{list-style:none;padding:0;margin:0 0 34px;display:flex;flex-direction:column;gap:16px}
.te-steps li{display:flex;gap:14px;align-items:baseline;font-size:16px}
.te-steps .te-mono{font-size:12px;flex:none}

/* ---- Home: brand story ---- */
.te-story{background:var(--ink);color:var(--cream)}
.te-story__inner{max-width:760px;margin:0 auto;padding:96px 32px;text-align:center}
.te-story__inner img{margin:0 auto 8px;object-fit:contain}
.te-story__inner .te-h2{font-size:clamp(32px,4vw,40px);line-height:1.15;margin:0 0 24px}
.te-story__inner p{font-size:18px;line-height:1.7;color:var(--cream-soft);margin:0}

/* ---- Product detail ---- */
.te-pdp{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start}
.te-pdp__main{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--surface-img);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.te-pdp__main img{width:100%;height:100%;object-fit:contain;padding:28px;mix-blend-mode:multiply}
.te-pdp__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.te-pdp__thumb{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--surface-img)}
.te-pdp__thumb img{width:100%;height:100%;object-fit:cover}
.te-pdp__info{position:sticky;top:96px}
.te-pdp__info .te-eyebrow{margin-bottom:14px}
.te-pdp__title{font-size:clamp(34px,4.5vw,46px);line-height:1;margin:0 0 14px}
.te-pdp__price{font-size:16px;margin-bottom:20px}
.te-pdp__desc{font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:440px;margin-bottom:28px}
.te-opt-label{font-size:11px;letter-spacing:0.12em;color:var(--muted);margin-bottom:12px}
.te-opts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.te-opt{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:11px 20px;font-size:14px;color:var(--ink);cursor:pointer}
.te-opt:hover{border-color:var(--ink)}
.te-opt.is-active{box-shadow:inset 0 0 0 2px var(--te-accent);border-color:var(--te-accent)}
.te-pdp__buy{display:flex;gap:12px;margin-bottom:18px}
.te-qtybox{display:flex;align-items:center;border:1px solid var(--border);border-radius:2px;background:var(--surface);flex:none}
.te-qtybtn{width:46px;height:52px;border:none;background:none;cursor:pointer;font-size:20px;color:var(--ink)}
.te-qty{width:46px;height:52px;text-align:center;border:none;background:none;font-family:var(--font-mono);font-size:15px;-moz-appearance:textfield}
.te-qty::-webkit-outer-spin-button,.te-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.te-pdp__cta{flex:1;height:52px;padding:0 20px}
.te-pdp__badges{display:flex;gap:22px;flex-wrap:wrap;margin:18px 0 30px}
.te-pdp__badges .te-mono{font-size:10px;letter-spacing:0.08em;color:var(--muted)}
.te-acc__item{border-top:1px solid var(--border)}
.te-acc__head{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 0;text-align:left;font-family:var(--font-sans);font-weight:500;font-size:15px;color:var(--ink)}
.te-acc__sign{font-size:20px;flex:none}
.te-acc__body{display:none;font-size:15px;line-height:1.6;color:var(--muted);padding:0 0 20px;max-width:440px}
.te-acc__item.is-open .te-acc__body{display:block}
.te-related{padding:64px 0 0}
.te-related .te-display{font-size:clamp(28px,3.5vw,34px);margin:0 0 28px}

/* ---- Subscribe wizard ---- */
.te-sub__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}
.te-sub__aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px}
.te-sub__preview{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--surface-img);display:flex;align-items:center;justify-content:center}
.te-sub__preview img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.te-sub__panel{background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:28px 30px}
.te-sub__row{display:flex;justify-content:space-between;font-size:14px;color:var(--cream-soft);margin-bottom:10px}
.te-sub__row span:last-child{color:var(--cream)}
.te-sub__rule{height:1px;background:rgba(241,232,227,0.18);margin:18px 0}
.te-sub__total{display:flex;justify-content:space-between;align-items:baseline}
.te-sub__total .te-display{font-size:20px}
.te-sub__price{display:flex;align-items:baseline;gap:10px}
.te-sub__reg{color:var(--muted-2);text-decoration:line-through;font-size:13px}
.te-sub__price .te-display{font-size:30px}
.te-sub__save{color:var(--te-accent-soft);font-size:11px;letter-spacing:0.06em;text-align:right;margin:6px 0 22px}
.te-sub__cta{width:100%}
.te-sub__fine{display:block;text-align:center;color:var(--muted-2);font-size:10px;letter-spacing:0.06em;margin-top:14px}
.te-sub__h1{font-size:clamp(40px,5vw,52px);line-height:1;margin:0 0 40px}
.te-sub .te-eyebrow{letter-spacing:0.2em;margin-bottom:16px}
.te-step{font-size:12px;letter-spacing:0.12em;margin:0 0 14px}
.te-step:not(:first-of-type){margin-top:38px}
.te-sub__beans{display:flex;flex-direction:column;gap:12px}
.te-bean{display:flex;align-items:center;gap:16px;text-align:left;padding:14px 16px;width:100%}
.te-bean__img{width:54px;height:66px;border-radius:2px;flex:none;background:var(--surface-img) center/cover no-repeat}
.te-bean__meta{flex:1;display:flex;flex-direction:column;gap:3px}
.te-bean__name{font-size:19px}
.te-bean__note{font-size:11px;letter-spacing:0.04em;color:var(--muted);text-transform:none}
.te-bean__price{font-size:12px;color:var(--muted);flex:none}
.te-sub__qty{margin-top:4px}
.te-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.te-plan{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:18px;text-align:left}
.te-plan__tag{font-size:9px;letter-spacing:0.12em;color:var(--te-accent);margin-bottom:8px}
.te-plan__n{font-size:34px;line-height:1}
.te-plan__l{font-size:9px;letter-spacing:0.1em;color:var(--muted)}
.te-plan__save{margin-top:10px;font-size:11px;letter-spacing:0.06em;background:var(--ink);color:var(--cream);padding:4px 8px;border-radius:2px}

/* ---- Events listing ---- */
.te-evt-hero{background:var(--ink);color:var(--cream);padding:96px 32px;text-align:center}
.te-evt-hero__inner{max-width:640px;margin:0 auto}
.te-evt-hero .te-eyebrow{letter-spacing:0.22em;margin-bottom:16px}
.te-evt-hero__title{font-size:clamp(44px,6vw,68px);line-height:0.98;color:var(--cream);margin:0 0 20px}
.te-evt-hero__lede{font-size:17px;color:rgba(241,232,227,0.75);line-height:1.55;margin:0}
.te-evt-catering{background:var(--ink);color:var(--cream);padding:24px 32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.te-evt-catering__title{font-size:26px;margin-bottom:4px}
.te-evt-catering__sub{font-size:12px;letter-spacing:0.06em;opacity:0.9;text-transform:none}
.te-evt-catering .te-btn{background:var(--cream);color:var(--ink);font-weight:500}
.te-evt__h2{font-size:clamp(34px,4.5vw,44px);margin:0 0 48px}
.te-evt__grid{margin-bottom:48px}
.te-evt-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:block}
.te-evt-card__media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--surface-img)}
.te-evt-card__media img{width:100%;height:100%;object-fit:cover}
.te-evt-card__media.is-brand,.te-evtd__img.is-brand{background:var(--ink);display:flex;align-items:center;justify-content:center}
.te-evt-card__brand{width:72px!important;height:72px!important;object-fit:contain;opacity:0.45}
.te-evtd__img.is-brand .te-evt-card__brand{width:110px!important;height:110px!important}
.te-evt-card__tag{position:absolute;top:14px;left:14px;background:rgba(22,19,16,0.82);color:var(--cream);font-size:9px;letter-spacing:0.12em;padding:5px 10px;border-radius:2px}
.te-evt-card__body{padding:22px 24px}
.te-evt-card__title{font-size:24px;margin-bottom:6px}
.te-evt-card__sub{font-size:10px;letter-spacing:0.08em;color:var(--muted);margin-bottom:12px}
.te-evt-card__body p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.te-evt-popup{background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.te-evt-popup .te-eyebrow{margin-bottom:10px}
.te-evt-popup__title{font-size:32px;margin-bottom:8px}
.te-evt-popup__detail{font-size:15px;color:var(--cream-soft);line-height:1.5}
.te-evt-popup__free{font-size:28px}

/* ---- Event detail ---- */
.te-evtd{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:start}
.te-evtd__img{aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;background:var(--surface-img);margin-bottom:20px}
.te-evtd__img img{width:100%;height:100%;object-fit:cover}
.te-evtd__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.te-evtd__fact{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}
.te-evtd__fact-l{font-size:9px;letter-spacing:0.1em;color:var(--muted-3);margin-bottom:7px}
.te-evtd__fact-v{font-size:13px;line-height:1.4}
.te-evtd__desc{font-size:17px;line-height:1.7;color:var(--ink-soft);margin-top:28px}
.te-evtd__side{position:sticky;top:96px}
.te-evtd__title{font-size:clamp(34px,4.5vw,44px);line-height:1;margin:0 0 6px}
.te-evtd__sub{font-size:13px;color:var(--muted);margin-bottom:28px}
.te-evtd__panel{background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:22px 26px;margin-bottom:12px}
.te-evtd__panel-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}
.te-evtd__panel-row .te-display{font-size:20px}
.te-evtd__cta{width:100%;height:auto;padding:17px}
.te-evtd__note{font-size:10px;letter-spacing:0.06em;color:var(--muted-3);text-align:center;margin-top:12px}

/* ---- RSVP ---- */
.te-rsvp__grid{display:grid;grid-template-columns:1fr 0.85fr;gap:48px;align-items:start}
.te-rsvp__h1{font-size:clamp(38px,5vw,46px);line-height:1;margin:0 0 8px}
.te-rsvp__meta{font-size:13px;color:var(--muted);margin-bottom:28px}
.te-rsvp__err{color:var(--te-accent);margin-bottom:16px;font-size:12px}
.te-form__label{font-size:11px;letter-spacing:0.14em;margin:20px 0 14px}
.te-form input,.te-form textarea{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:2px;padding:14px 15px;font-family:var(--font-sans);font-size:14px;color:var(--ink);outline:none;margin-bottom:12px}
.te-form textarea{resize:vertical}
.te-form__row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.te-form__row2 input{margin-bottom:0}
.te-rsvp .te-qtybox{margin-bottom:12px}
.te-form__submit{width:100%;margin-top:8px}
.te-rsvp__summary{position:sticky;top:96px;background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:26px 28px}
.te-rsvp__summary-h{font-size:10px;letter-spacing:0.12em;color:var(--muted-2);margin-bottom:16px}
.te-rsvp__summary-title{font-size:22px;margin-bottom:8px}
.te-rsvp__summary-sub{font-size:13px;color:var(--cream-soft);line-height:1.5;margin-bottom:16px}
.te-rsvp__rule{height:1px;background:rgba(241,232,227,0.18);margin:16px 0}
.te-rsvp__line{display:flex;justify-content:space-between;font-size:13px;color:var(--cream-soft);margin-bottom:10px}
.te-rsvp__line span:last-child{color:var(--cream)}
.te-rsvp__fine{font-size:10px;letter-spacing:0.06em;color:var(--muted-2)}
.te-rsvp__done{max-width:560px;margin:0 auto;text-align:center;border:1px solid var(--border);border-radius:var(--radius);padding:60px 44px;background:var(--surface)}
.te-rsvp__check{width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 22px}
.te-rsvp__done h1{font-size:clamp(32px,4vw,40px);margin:0 0 14px}
.te-rsvp__done p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 28px}

/* ---- Cart drawer ---- */
.te-drawer{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none}
.te-drawer.is-open{visibility:visible;pointer-events:auto}
.te-drawer__scrim{position:absolute;inset:0;background:rgba(22,19,16,0.4);opacity:0;transition:opacity .25s}
.te-drawer.is-open .te-drawer__scrim{opacity:1}
.te-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:400px;max-width:90vw;background:var(--cream);box-shadow:-10px 0 40px rgba(0,0,0,0.2);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s ease}
.te-drawer.is-open .te-drawer__panel{transform:none}
.te-drawer__head{padding:22px 26px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.te-drawer__head .te-display{font-size:24px}
.te-drawer__x{background:none;border:none;cursor:pointer;font-size:22px;color:var(--muted);line-height:1}
.te-drawer__body{flex:1;overflow:auto;padding:8px 26px}
.te-drawer__empty{text-align:center;padding:60px 10px}
.te-drawer__empty .te-display{font-size:22px;margin-bottom:8px}
.te-drawer__empty p{font-size:14px;color:var(--muted);margin:0 0 20px}
.te-drawer__line{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}
.te-drawer__line-info{flex:1}
.te-drawer__line-title{font-size:18px;line-height:1.1;margin-bottom:5px}
.te-drawer__line-meta{font-size:12px;color:var(--muted)}
.te-drawer__remove{display:inline-block;margin-top:8px;font-size:10px;letter-spacing:0.08em;color:var(--te-accent)}
.te-drawer__line-price{font-size:13px;white-space:nowrap}
.te-drawer__foot{padding:22px 26px;border-top:1px solid var(--border)}
.te-drawer__subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.te-drawer__subtotal .te-mono{font-size:11px;letter-spacing:0.08em;color:var(--muted)}
.te-drawer__subtotal .te-display{font-size:24px}
.te-drawer__checkout{width:100%}
.te-drawer__continue{width:100%;background:none;border:none;cursor:pointer;padding:14px 0 0;font-size:11px;letter-spacing:0.08em;color:var(--muted)}

/* ---- About ---- */
.te-about-hero{background:var(--ink);color:var(--cream);padding:120px 32px 64px;display:flex;align-items:flex-end;min-height:380px}
.te-about-hero__inner{max-width:var(--maxw);margin:0 auto;width:100%}
.te-about-hero .te-eyebrow{letter-spacing:0.22em;margin-bottom:14px}
.te-about-hero__title{font-size:clamp(44px,7vw,72px);line-height:0.96;color:var(--cream);max-width:700px;margin:0}
.te-about-story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.te-about-story .te-eyebrow{letter-spacing:0.2em;margin-bottom:20px}
.te-about-story__h2{font-size:clamp(32px,4vw,42px);line-height:1.05;margin:0 0 24px}
.te-about-story__p{font-size:17px;line-height:1.7;color:var(--ink-soft);margin:0 0 20px}
.te-about-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.te-about-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}
.te-about-stat .te-display{font-size:36px;line-height:1}
.te-about-stat .te-mono{font-size:10px;letter-spacing:0.1em;color:var(--muted);margin-top:6px;display:block}
.te-values{background:var(--ink);color:var(--cream)}
.te-values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:88px 32px}
.te-value .te-mono{font-size:12px;margin-bottom:16px}
.te-value__t{font-size:26px;margin-bottom:12px}
.te-value p{font-size:15px;line-height:1.65;color:var(--cream-soft);margin:0}
.te-about-cta{text-align:center}
.te-about-cta .te-display{font-size:clamp(30px,4vw,40px);margin:0 0 24px}

/* ---- Our Coffee ---- */
.te-coffee__title{margin-bottom:16px}
.te-coffee__lede{max-width:560px;color:var(--ink-soft);font-size:18px;line-height:1.6;margin:0 0 48px}

/* ---- Catering ---- */
.te-cater-hero .te-evt-hero__inner{max-width:720px}
.te-cater-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px 30px}
.te-cater-card__t{font-size:24px;margin-bottom:12px}
.te-cater-card p{font-size:15px;line-height:1.6;color:var(--muted);margin:0}

/* ---- Careers ---- */
.te-careers-hero{min-height:340px}
.te-roles{border-top:1px solid var(--border);margin-top:8px}
.te-role{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--border)}
.te-role__title{font-size:24px;margin-bottom:6px}
.te-role__meta{font-size:10px;letter-spacing:0.08em;color:var(--muted);margin-bottom:8px}
.te-role__info p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:520px}
.te-role__apply{flex:none;color:var(--te-accent);font-size:11px;letter-spacing:0.08em}
.te-role:hover .te-role__title{text-decoration:underline;text-underline-offset:3px}
.te-careers-note{margin-top:28px;font-size:14px}
.te-careers-note a{color:var(--te-accent)}

/* ---- App band ---- */
.te-app{background:var(--ink);color:var(--cream)}
.te-app__inner{padding:72px 32px;text-align:center}
.te-app__copy{max-width:620px;margin:0 auto}
.te-app .te-eyebrow{letter-spacing:0.2em;margin-bottom:16px}
.te-app__h2{font-size:clamp(32px,4vw,44px);margin:0 0 14px;color:var(--cream)}
.te-app__lede{font-size:17px;line-height:1.6;color:var(--cream-soft);margin:0 0 28px}
.te-app__badges{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.te-app__badge{display:flex;flex-direction:column;align-items:flex-start;border:1px solid rgba(241,232,227,0.4);border-radius:6px;padding:10px 22px;transition:background .15s,color .15s}
.te-app__badge:hover{background:var(--cream);color:var(--ink)}
.te-app__badge-sm{font-size:9px;letter-spacing:0.08em}
.te-app__badge-lg{font-size:20px;line-height:1.1;margin-top:2px}

/* ---- Locations / Cafe Finder ---- */
.te-loc-hero{min-height:320px}
.te-loc-head{margin-bottom:36px}
.te-loc-head .te-eyebrow{letter-spacing:0.2em;margin-bottom:14px}
.te-loc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column}
.te-loc-card__name{font-size:22px;margin-bottom:10px}
.te-loc-card__addr{font-size:14px;line-height:1.5;color:var(--ink-soft);margin-bottom:10px}
.te-loc-card__hours{font-size:10px;letter-spacing:0.06em;color:var(--muted);margin-bottom:16px}
.te-loc-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--border)}
.te-loc-card__tel{font-size:11px;letter-spacing:0.04em;color:var(--ink)}
.te-loc-card__dir{font-size:11px;letter-spacing:0.06em;color:var(--te-accent)}

/* ---- Checkout ---- */
.te-checkout{max-width:var(--maxw);margin:0 auto;padding:56px 32px 80px}
.te-checkout__grid{display:grid;grid-template-columns:1.3fr 0.9fr;gap:56px;align-items:start}
.te-checkout__h1{font-size:clamp(38px,5vw,46px);line-height:1;margin:0 0 32px}
.te-checkout .te-form__label{margin:0 0 16px}

/* Woo billing fields -> design inputs (placeholder-driven) */
.te-checkout .woocommerce-billing-fields > h3,
.te-checkout .woocommerce-shipping-fields,
.te-checkout .woocommerce-additional-fields > h3{display:none}
.te-checkout .form-row label{display:none}
.te-checkout .form-row{margin:0 0 14px;padding:0}
.te-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.te-checkout .form-row-wide,.te-checkout #billing_address_1_field,.te-checkout #billing_city_field,.te-checkout #billing_country_field{grid-column:1 / -1}
.te-checkout #billing_country_field{display:none} /* Kuwait-only */
.te-checkout input.input-text,.te-checkout textarea,.te-checkout select{
  width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:2px;
  padding:14px 15px;font-family:var(--font-sans);font-size:14px;color:var(--ink);outline:none;
}
.te-checkout textarea{min-height:88px;resize:vertical}
.te-checkout .woocommerce-additional-fields{margin-top:12px}

/* Dark sticky summary */
.te-checkout__summary{position:sticky;top:96px;background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:28px 30px}
.te-checkout__summary-h{font-size:11px;letter-spacing:0.14em;color:var(--muted-2);margin-bottom:18px}
.te-checkout__summary table.shop_table{width:100%;border:none;border-collapse:collapse;background:none;margin:0 0 6px}
.te-checkout__summary table.shop_table th,.te-checkout__summary table.shop_table td{
  border:none;padding:10px 0;font-size:14px;color:var(--cream-soft);text-align:left;background:none}
.te-checkout__summary table.shop_table td{text-align:right;color:var(--cream)}
.te-checkout__summary .cart_item td.product-name{text-align:left;font-family:var(--te-headline);font-size:16px;color:var(--cream);line-height:1.3}
.te-checkout__summary .cart_item{border-bottom:1px solid rgba(241,232,227,0.16)}
.te-checkout__summary tr.order-total td,.te-checkout__summary tr.order-total th{font-family:var(--te-headline);font-size:22px;color:var(--cream);padding-top:16px}
.te-checkout__summary .woocommerce-Price-amount{font-family:var(--font-mono);font-size:13px}
.te-checkout__summary tr.order-total .woocommerce-Price-amount{font-family:var(--te-headline);font-size:24px}

/* Payment methods */
.te-checkout__summary #payment{background:none}
.te-checkout__summary .wc_payment_methods{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid rgba(241,232,227,0.18)}
.te-checkout__summary .wc_payment_method{margin-bottom:10px}
.te-checkout__summary .wc_payment_method label{color:var(--cream);font-size:14px;margin-left:8px;cursor:pointer}
.te-checkout__summary div.payment_box{
  background:rgba(241,232,227,0.08)!important;color:var(--cream-soft)!important;
  border-radius:2px;font-size:12px;line-height:1.5;padding:12px 14px!important;margin:10px 0 0}
.te-checkout__summary div.payment_box::before{content:none!important;display:none!important}
.te-checkout__summary div.payment_box p{color:var(--cream-soft);margin:0}
.te-checkout__summary .wc_payment_method input[type=radio]{accent-color:var(--te-accent)}
.te-checkout__summary .woocommerce-privacy-policy-text{font-size:11px;color:var(--muted-2)}
.te-checkout__summary #place_order{
  width:100%;background:var(--te-accent);color:#fff;border:none;padding:18px;margin-top:16px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.te-checkout__summary #place_order:hover{opacity:.9}
.te-checkout__fine{display:block;text-align:center;font-size:10px;letter-spacing:0.06em;color:var(--muted-2);margin-top:14px}

/* Woo notices in brand style (kills the default icon font + blue banners) */
.woocommerce-message,.woocommerce-error,.woocommerce-info{
  background:var(--surface)!important;border:1px solid var(--border-strong)!important;border-top-width:1px!important;
  border-radius:var(--radius);color:var(--ink)!important;padding:16px 20px!important;margin:0 auto 20px;
  max-width:var(--maxw);list-style:none;font-size:14px;font-family:var(--font-sans);
  display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.woocommerce-message::before,.woocommerce-error::before,.woocommerce-info::before{content:none!important;display:none!important}
.woocommerce-error{border-color:var(--te-accent)!important}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{
  order:2;margin-left:auto;background:var(--ink);color:var(--cream);border:none;border-radius:2px;
  padding:10px 18px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;font-weight:400}
.woocommerce-message .button:hover{opacity:.9;background:var(--ink);color:var(--cream)}
.woocommerce-error a,.woocommerce-info a{color:var(--te-accent)}

/* Coupon toggle + form, brand-quiet */
.woocommerce-form-coupon-toggle .woocommerce-info{
  background:none!important;border:none!important;padding:0 0 6px!important;margin:0 auto 16px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)!important}
.woocommerce-form-coupon-toggle .woocommerce-info a{color:var(--te-accent);text-decoration:underline;text-underline-offset:3px}
form.checkout_coupon{max-width:var(--maxw);margin:0 auto 24px;border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--surface)}
form.checkout_coupon .form-row{margin:0}
form.checkout_coupon input.input-text{background:#fff;border:1px solid var(--border-strong);border-radius:2px;padding:12px 14px;font-family:var(--font-sans)}
form.checkout_coupon button{background:var(--ink);color:var(--cream);border:none;border-radius:2px;padding:12px 20px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer}

/* Thank-you card */
.te-thanks{max-width:560px;margin:20px auto 40px;text-align:center;border:1px solid var(--border-strong);border-radius:var(--radius);padding:54px 44px;background:var(--surface)}
.te-thanks__check{width:58px;height:58px;border-radius:50%;background:var(--te-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 22px}
.te-thanks h1{font-size:clamp(30px,4vw,38px);line-height:1.05;margin:0 0 14px}
.te-thanks p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 24px}
.te-thanks__meta{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-bottom:28px}
.te-thanks__meta > div{display:flex;flex-direction:column;gap:4px}
.te-thanks__meta .te-mono{font-size:9px;letter-spacing:0.1em;color:var(--muted-3)}

/* ---- Cart page ---- */
.woocommerce-cart .woocommerce{max-width:var(--maxw);margin:0 auto;padding:48px 32px 80px}
.woocommerce-cart table.shop_table{
  width:100%;border:1px solid var(--border);border-radius:var(--radius);border-collapse:separate;border-spacing:0;background:var(--surface)}
.woocommerce-cart table.shop_table th{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);
  border-bottom:1px solid var(--border);padding:16px 14px;text-align:left;background:none}
.woocommerce-cart table.shop_table td{border-bottom:1px solid var(--border);padding:16px 14px;background:none;font-size:14px}
.woocommerce-cart table.shop_table tr:last-child td{border-bottom:none}
.woocommerce-cart td.product-name a{font-family:var(--te-headline);font-size:18px;color:var(--ink)}
.woocommerce-cart td.product-thumbnail img{width:64px;height:64px;object-fit:contain;background:var(--surface-img);border-radius:2px;mix-blend-mode:multiply}
.woocommerce-cart .product-remove a{color:var(--te-accent)!important;font-size:18px;text-decoration:none}
.woocommerce-cart td.product-price,.woocommerce-cart td.product-subtotal{font-family:var(--font-mono);font-size:13px}
.woocommerce-cart .qty{width:64px;background:#fff;border:1px solid var(--border-strong);border-radius:2px;padding:9px;text-align:center;font-family:var(--font-mono)}
/* coupon + update row */
.woocommerce-cart td.actions{padding:14px}
.woocommerce-cart .coupon{display:inline-flex;gap:10px;align-items:center}
.woocommerce-cart .coupon .input-text{width:160px;background:#fff;border:1px solid var(--border-strong);border-radius:2px;padding:11px 12px;font-family:var(--font-sans);font-size:13px}
.woocommerce-cart .coupon .button,
.woocommerce-cart td.actions > .button{
  background:var(--ink)!important;color:var(--cream)!important;border:none;border-radius:2px;padding:12px 18px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;font-weight:400;cursor:pointer}
.woocommerce-cart td.actions > .button:disabled{opacity:.4;color:var(--cream)!important}
/* totals */
.woocommerce-cart .cart_totals{width:100%}
.woocommerce-cart .cart_totals > h2{font-family:var(--te-headline);font-weight:400;font-size:26px;margin:0 0 14px}
.woocommerce-cart .cart_totals table.shop_table{background:var(--surface)}
.woocommerce-cart .cart_totals th{width:35%;vertical-align:top}
.woocommerce-cart .cart_totals .order-total td,.woocommerce-cart .cart_totals .order-total th{
  font-family:var(--te-headline);font-size:20px;color:var(--ink)}
/* Kuwait-only: no destination/calculator noise */
.woocommerce-shipping-destination,.shipping-calculator-button,.shipping-calculator-form{display:none!important}
.woocommerce-cart .checkout-button{
  background:var(--te-accent)!important;color:#fff!important;font-family:var(--font-mono);
  text-transform:uppercase;letter-spacing:0.12em;font-size:12px;padding:18px;border-radius:2px;font-weight:400}
.woocommerce-cart .cross-sells{display:none}

/* ---- Contact ---- */
.te-contact__info{align-self:start}
.te-contact__line{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:12px}
.te-contact__line .te-mono{font-size:10px;letter-spacing:0.08em;color:var(--muted-2)}
.te-contact__line a{color:var(--cream)}
.te-contact__map{margin-top:48px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.te-contact__map iframe{width:100%;height:380px;border:0;display:block}
