/* ==========================================================================
   TEANO — Redesign layer  (cold light premium minimalism, à la bongio.com)
   Loaded AFTER storefront.css. Overrides the legacy teal/green look.
   Fonts (Jost + Hanken Grotesk) are linked from layout.php <head>.
   ========================================================================== */

:root{
  /* palette */
  --te-bg:#f4f4f1;
  --te-surface:#ffffff;
  --te-warm:#e7e5df;
  --te-warm-2:#e3e1db;
  --te-ink:#1a1a18;
  --te-ink-2:#201f1c;
  --te-text:#4a473f;
  --te-muted:#6b675e;
  --te-muted-2:#57544c;
  --te-subtle:#9a978f;
  --te-border:#e2e0d8;
  --te-border-strong:#1a1a18;
  --te-border-input:#cbc9c0;
  --te-line-tile:#dddbd3;
  --te-hover:#6f6f6f;
  --te-selection:#dcdcd6;

  --te-footer-bg:#141412;
  --te-footer-text:#a7a291;
  --te-footer-heading:#6a6656;
  --te-footer-muted:#86816f;
  --te-on-dark:#f4f4f1;
  --te-on-dark-2:#ecebe4;
  --te-on-dark-subtle:#b6b09c;

  /* type */
  --te-font-display:'Jost', system-ui, sans-serif;
  --te-font-body:'Hanken Grotesk', system-ui, -apple-system, sans-serif;

  /* metrics */
  --te-maxw:1440px;
  --te-pad:44px;
  --te-topbar-h:72px;
}

/* --------------------------------------------------------------- base */
html{ background:var(--te-bg); }
body{
  background:var(--te-bg) !important;
  color:var(--te-ink);
  font-family:var(--te-font-body);
  font-weight:300;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{ background:var(--te-selection); }

.te-page{ background:var(--te-bg); }

a{ color:inherit; text-decoration:none; transition:color .2s ease, border-color .2s ease, opacity .2s ease; }
a:hover{ color:var(--te-hover); }

img{ max-width:100%; }

h1,h2,h3,h4{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink-2); }

/* radius 0 everywhere — a defining trait */
.te-page :where(.sf-box, .sf-card, .sf-badge, .te-btn, input, select, textarea, button,
  .sf-card__image, .te-filters, .te-active-filters__chip, .sf-price-card,
  .te-picture-hero__frame, .sf-thumb, .sf-product__image, .siteFooter){
  border-radius:0 !important;
}

/* generic label / overline */
.te-overline{
  font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--te-subtle); margin:0;
}

/* width helper reused by content pages */
.te-shell{ max-width:var(--te-maxw); margin:0 auto; padding-left:var(--te-pad); padding-right:var(--te-pad); }

/* main content spacing */
.sf-main-cart{ background:var(--te-bg); }

/* --------------------------------------------------------------- loader */
.te-loader{ background:var(--te-bg); }
.te-loader__logo{ filter:none; }
.te-loader__line span{ background:var(--te-ink); }
.te-loader__text{ color:var(--te-subtle); letter-spacing:.16em; text-transform:uppercase; font-size:11px; }

/* --------------------------------------------------------------- topbar */
.te-topbar{
  position:sticky; top:0; z-index:2600;
  background:var(--te-bg);
  border-bottom:1px solid var(--te-border);
  box-shadow:none;
}
.te-topbar__inner{
  max-width:var(--te-maxw); margin:0 auto;
  padding:20px var(--te-pad);
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px;
  min-height:auto;
}
.te-brand{ justify-self:center; grid-column:2; display:inline-flex; align-items:center; }
.te-brand__logo{ height:26px; width:auto; display:block; }

/* search collapses to icon; the inline field is hidden, users use the overlay */
.te-topbar__inner .te-search{ display:none; }

.te-actions{
  grid-column:3; justify-self:end;
  display:flex; align-items:center; gap:22px;
}
.te-actions .te-icon{
  width:auto; height:auto; padding:0; background:none; border:0; box-shadow:none;
  display:inline-flex; align-items:center; opacity:.85;
}
.te-actions .te-icon:hover{ opacity:1; background:none; }
.te-actions .te-icon img{ width:19px; height:19px; filter:brightness(0); }

/* keep language switch minimal, hide the redundant flag list, keep dropdown */
.te-language-switch{ display:none; }
.te-lang-dropdown__trigger,
.te-lang-dropdown__trigger:hover,
.te-lang-dropdown__trigger:focus,
.te-lang-dropdown__trigger:focus-visible{
  background:none !important; border:0 !important; box-shadow:none !important;
  padding:0; display:inline-flex; align-items:center; gap:6px;
}
.te-lang-dropdown__trigger img{ width:20px; height:14px; object-fit:cover; }
.te-lang-dropdown__arrow{ border-top-color:currentColor; }
.te-lang-dropdown__panel{
  background:var(--te-surface); border:1px solid var(--te-border); box-shadow:0 14px 30px rgba(0,0,0,.08);
  border-radius:0;
}
.te-lang-dropdown__item{ font-size:13px; }
.te-lang-dropdown__item.is-active{ color:var(--te-ink); }

.te-cart-link__count{
  background:var(--te-ink); color:var(--te-on-dark);
  font-family:var(--te-font-body); font-weight:400; border-radius:0;
}
.te-user-menu__panel{
  background:var(--te-surface); border:1px solid var(--te-border);
  box-shadow:0 14px 30px rgba(0,0,0,.08); border-radius:0;
}

/* menu trigger (opens full-screen overlay) — left side of topbar */
.te-menubtn{
  grid-column:1; justify-self:start;
  display:inline-flex; align-items:center; gap:12px;
  background:none; border:0; padding:0; cursor:pointer;
  color:var(--te-ink); font-family:var(--te-font-body);
  font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:300;
}
.te-menubtn__icon{ display:inline-flex; flex-direction:column; gap:4px; width:20px; }
.te-menubtn__icon span{ height:1.5px; background:currentColor; display:block; transition:transform .2s ease; }
.te-menubtn:hover{ color:var(--te-hover); }
@media (max-width:560px){ .te-menubtn__label{ display:none; } }

/* full-screen navigation overlay */
.te-menu-overlay{
  position:fixed; inset:0; z-index:4000;
  background:var(--te-footer-bg); color:var(--te-on-dark);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .35s ease, transform .35s ease, visibility .35s;
  overflow-y:auto;
}
.te-menu-overlay.is-open{ opacity:1; visibility:visible; transform:none; }
body.is-menu-open{ overflow:hidden; }
.te-menu-overlay__bar{
  max-width:var(--te-maxw); margin:0 auto; padding:20px var(--te-pad);
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
}
.te-menu-overlay__close{
  justify-self:start; background:none; border:0; padding:0; cursor:pointer;
  color:var(--te-on-dark-2); font-family:var(--te-font-body);
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:8px;
}
.te-menu-overlay__close:hover{ color:#fff; }
.te-menu-overlay__brand{ justify-self:center; }
.te-menu-overlay__brand img{ height:24px; filter:brightness(0) invert(1); display:block; }
.te-menu-overlay__inner{
  max-width:var(--te-maxw); margin:0 auto;
  padding:clamp(30px,6vh,64px) var(--te-pad) 60px;
  display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(32px,5vw,64px);
}
.te-menu-overlay__lab{ margin:0 0 22px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--te-footer-muted); }
.te-menu-overlay__cats{ display:flex; flex-direction:column; }
.te-menu-overlay__cats a{ font-family:var(--te-font-display); font-weight:300; font-size:clamp(28px,4vw,44px); line-height:1.3; color:var(--te-on-dark); text-decoration:none; transition:color .2s ease; }
.te-menu-overlay__cats a:hover{ color:var(--te-footer-muted); }
.te-menu-overlay__cols{ columns:2; column-gap:28px; }
.te-menu-overlay__cols a{ display:block; font-size:14px; color:var(--te-on-dark-2); text-decoration:none; padding:6px 0; }
.te-menu-overlay__cols a:hover{ color:#fff; }
.te-menu-overlay__links{ margin-top:34px; padding-top:22px; border-top:1px solid #2a2a24; display:flex; flex-wrap:wrap; gap:24px; }
.te-menu-overlay__links a{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--te-footer-muted); text-decoration:none; }
.te-menu-overlay__links a:hover{ color:#fff; }
@media (max-width:820px){ .te-menu-overlay__inner{ grid-template-columns:1fr; gap:40px; } }
@media (prefers-reduced-motion:reduce){ .te-menu-overlay{ transition:opacity .01s; transform:none; } }

/* ---- homepage: transparent header floating over the hero video ---- */
body.te-homepage .te-topbar{
  position:absolute; top:0; left:0; right:0;
  background:transparent; border-bottom:0; box-shadow:none;
}
body.te-homepage .te-topbar__inner,
body.te-homepage .te-menubtn,
body.te-homepage .te-actions{ color:var(--te-on-dark); }
body.te-homepage .te-brand__logo{ filter:brightness(0) invert(1); }
body.te-homepage .te-actions .te-icon img{ filter:brightness(0) invert(1); opacity:.9; }
body.te-homepage .te-topnav a:hover,
body.te-homepage .te-actions a:hover{ color:#cfccc3; }
/* homepage: hide the category mega-bar so the hero stays clean (prototype has no bar here) */
body.te-homepage .menu-main-wrap{ display:none; }

/* --------------------------------------------------------------- category menu bar
   Prefixed with .te-page to out-specify the legacy inline <style> block in layout.php
   (that block lives in <body>, so equal-specificity external rules would lose on order). */
.te-page .menu-main-wrap{
  position:sticky; top:var(--te-topbar-h); z-index:2550;
  background:var(--te-bg);
  border-top:0; border-bottom:1px solid var(--te-border);
  backdrop-filter:none; margin:0;
}
.te-page .s-1240{ max-width:var(--te-maxw); }
.te-page .menu-main-bar{ min-height:52px; justify-content:center; }
.te-page .menu-main{ border-right:0; max-width:none; }
.te-page .menu-main > a,
.te-page .menu-main__trigger{
  font-family:var(--te-font-body);
  font-size:12px; font-weight:300; letter-spacing:.14em; text-transform:uppercase;
  color:var(--te-ink); min-height:52px; gap:7px;
}
.te-page .menu-main > a:hover,
.te-page .menu-main__trigger:hover{ color:var(--te-hover); }
.te-page .menu-main__label{ overflow:visible; }
.te-page .menu-main__arrow{ color:var(--te-subtle); }
.te-page .menu-main__panel{
  background:var(--te-surface); border:1px solid var(--te-border);
  box-shadow:0 18px 40px rgba(0,0,0,.10); border-radius:0;
}
.te-page .menu-category-link{ color:var(--te-ink); font-size:13px; }
.te-page .menu-category-link:hover{ color:var(--te-hover); }
.te-page .menu-category-thumb{ border:1px solid var(--te-border); border-radius:0; }
.te-page .menu-category-toggle{ color:var(--te-ink); }
.te-page .menu-category-toggle:hover{ background:var(--te-warm); }
.te-page .menu-category-item{ border-bottom:1px solid var(--te-border); }
.te-page .menu-category-children{ background:#faf9f6; }

/* --------------------------------------------------------------- buttons */
.te-btn{
  font-family:var(--te-font-body);
  font-size:12px; font-weight:400; letter-spacing:.16em; text-transform:uppercase;
  padding:15px 26px; border-radius:0; border:1px solid transparent;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
  box-shadow:none; line-height:1;
}
.te-btn--brand{ background:var(--te-ink); color:var(--te-on-dark); border-color:var(--te-ink); }
.te-btn--brand:hover{ background:#000; color:#fff; border-color:#000; }
.te-btn--light{
  background:transparent; color:var(--te-ink); border-color:var(--te-border-input);
}
.te-btn--light:hover{ background:transparent; color:var(--te-ink); border-color:var(--te-ink); }
.te-btn.is-flash{ animation:none; }

/* text link with underline accent */
.te-link-underline{
  display:inline-block; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--te-ink); border-bottom:1px solid var(--te-ink); padding-bottom:4px;
}
.te-link-underline:hover{ color:var(--te-hover); border-color:var(--te-hover); }

/* --------------------------------------------------------------- boxes */
.sf-box{
  background:transparent; border:0; box-shadow:none;
  max-width:var(--te-maxw); margin-left:auto; margin-right:auto;
  padding-left:var(--te-pad); padding-right:var(--te-pad);
}
.sf-box__head{
  font-family:var(--te-font-display); font-weight:300;
  font-size:clamp(24px,3vw,38px); color:var(--te-ink-2);
  letter-spacing:.01em; text-transform:none;
  background:transparent; border:0; padding:0 0 26px;
}
.sf-box__body{ background:transparent; border:0; box-shadow:none; padding:0; }
.sf-box--inner{ border:1px solid var(--te-border); padding:22px; margin-top:24px; }
.sf-box--inner .sf-box__head{ font-size:14px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-subtle); padding-bottom:16px; }

/* --------------------------------------------------------------- breadcrumbs / back */
.sf-breadcrumbs{
  max-width:var(--te-maxw); margin:0 auto; padding:26px var(--te-pad) 0;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--te-subtle);
}
.sf-breadcrumbs a{ color:var(--te-subtle); }
.sf-breadcrumbs a:hover{ color:var(--te-ink); }
.sf-back-link, .a_back{
  max-width:var(--te-maxw); margin:0 auto; padding:10px var(--te-pad) 0;
  display:block; font-size:12px; letter-spacing:.06em; color:var(--te-muted);
}

/* --------------------------------------------------------------- product grid & cards */
.sf-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));
  gap:2px; background:var(--te-line-tile);
}
.sf-card{
  background:var(--te-bg); border:0; box-shadow:none; border-radius:0;
  padding:22px; display:flex; flex-direction:column; gap:6px;
  transition:background .3s ease;
}
.sf-card:hover{ background:#ecebe6; color:inherit; }
.sf-card__image{
  aspect-ratio:1/1; background:var(--te-surface); border:0; border-radius:0;
  display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:14px;
}
.sf-card__image img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.sf-card b{ font-weight:400; font-size:15px; letter-spacing:.005em; }
.sf-card .sf-price{ font-family:var(--te-font-display); font-weight:300; font-size:17px; color:var(--te-ink); }
.sf-card .sf-muted{ color:var(--te-subtle); font-size:12px; }

.sf-price{ color:var(--te-ink); font-family:var(--te-font-display); font-weight:300; }
.sf-muted{ color:var(--te-muted); }

/* badges — thin uppercase, monochrome */
.sf-badges{ display:flex; gap:6px; }
.sf-badge{
  font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:400;
  padding:4px 8px; border-radius:0; border:1px solid var(--te-ink); background:transparent; color:var(--te-ink);
}
.sf-badge--sale, .sf-badge--clear, .sf-badge--new{ background:transparent; color:var(--te-ink); }

/* stock indicator — neutral */
.sf-stock-indicator{ color:var(--te-muted); }
.sf-stock-indicator__count.is-ok{ color:var(--te-ink); }
.sf-stock-indicator__count.is-zero{ color:var(--te-subtle); }

/* coupon teaser */
.sf-product-coupon{ color:var(--te-muted-2); }

/* --------------------------------------------------------------- flash */
.te-flash{
  max-width:var(--te-maxw); margin:16px auto 0; border-radius:0; border:1px solid var(--te-border);
  background:var(--te-surface); color:var(--te-ink); letter-spacing:.02em;
}
.te-flash--ok{ border-left:3px solid var(--te-ink); }
.te-flash--bad{ border-left:3px solid #a3412f; }

/* ==========================================================================
   HOMEPAGE
   ========================================================================== */
.te-vhero{
  position:relative; height:100vh; min-height:600px; overflow:hidden; background:#111110;
}
.te-vhero__video, .te-vhero__fallback{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.te-vhero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.28) 0%, transparent 26%, transparent 55%, rgba(0,0,0,.42) 100%);
}
.te-vhero__copy{
  position:absolute; left:0; right:0; bottom:8vh; z-index:5; text-align:center; padding:0 24px; color:var(--te-on-dark);
}
.te-vhero__title{
  margin:0 0 20px; font-family:var(--te-font-display); font-weight:300;
  font-size:clamp(28px,4.6vw,62px); line-height:1.08; letter-spacing:.02em;
  text-wrap:balance; color:var(--te-on-dark);
}
.te-vhero__cta{
  display:inline-block; margin-top:8px; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--te-on-dark); border-bottom:1px solid rgba(242,242,238,.5); padding-bottom:5px;
}
.te-vhero__cta:hover{ color:var(--te-on-dark); border-color:var(--te-on-dark); }
.te-vhero__scroll{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:5;
  color:rgba(242,242,238,.7); font-size:20px; animation:teanoScrollHint 2.2s ease-in-out infinite;
}
@keyframes teanoScrollHint{
  0%{ transform:translate(-50%,0); opacity:.9; }
  50%{ transform:translate(-50%,8px); opacity:.3; }
  100%{ transform:translate(-50%,0); opacity:.9; }
}

/* statement */
.te-statement{
  max-width:1080px; margin:0 auto; padding:clamp(90px,12vh,160px) var(--te-pad); text-align:center;
}
.te-statement__over{ margin:0 0 26px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--te-subtle); }
.te-statement__text{
  margin:0; font-family:var(--te-font-display); font-weight:300;
  font-size:clamp(24px,3vw,40px); line-height:1.32; letter-spacing:.005em; text-wrap:pretty; color:var(--te-ink-2);
}

/* collection showcase */
.te-showcase{ position:relative; height:92vh; min-height:560px; overflow:hidden; background:var(--te-warm); }
.te-showcase__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.te-showcase__scrim{ position:absolute; inset:0; background:linear-gradient(to right, rgba(0,0,0,.34) 0%, transparent 46%); }
.te-showcase--right .te-showcase__scrim{ background:linear-gradient(to left, rgba(0,0,0,.30) 0%, transparent 46%); }
.te-showcase__body{ position:absolute; left:0; bottom:0; padding:clamp(40px,6vw,80px); max-width:620px; color:var(--te-on-dark); }
.te-showcase--right .te-showcase__body{ left:auto; right:0; text-align:right; }
.te-showcase__over{ margin:0 0 12px; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:#d8d5cc; }
.te-showcase__title{ margin:0 0 14px; font-family:var(--te-font-display); font-weight:300; font-size:clamp(40px,6vw,84px); line-height:.98; color:var(--te-on-dark); }
.te-showcase__text{ margin:0 0 26px; font-size:16px; line-height:1.6; color:#e7e5dd; max-width:40ch; }
.te-showcase--right .te-showcase__text{ margin-left:auto; }
.te-showcase__link{ display:inline-block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-on-dark); border-bottom:1px solid var(--te-on-dark); padding-bottom:5px; }
.te-showcase__link:hover{ color:#cfccc3; border-color:#cfccc3; }

/* sortiment grid */
.te-sortiment{ max-width:var(--te-maxw); margin:0 auto; padding:clamp(80px,10vh,130px) var(--te-pad); }
.te-section-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:48px; flex-wrap:wrap; gap:16px; }
.te-section-head__title{ margin:0; font-family:var(--te-font-display); font-weight:300; font-size:clamp(28px,3.4vw,46px); letter-spacing:.01em; }
.te-section-head__eyebrow{ margin:0 0 10px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--te-subtle); }
.te-tilegrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:2px; background:var(--te-line-tile); }
.te-tile{ background:var(--te-bg); padding:40px 28px; display:flex; flex-direction:column; gap:8px; }
.te-tile:hover{ background:#ecebe6; color:inherit; }
.te-tile__name{ font-family:var(--te-font-display); font-weight:300; font-size:22px; }
.te-tile__meta{ font-size:12px; letter-spacing:.06em; color:var(--te-subtle); }

/* marquee */
.te-marquee{ padding:0 0 clamp(80px,10vh,130px); overflow:hidden; }
.te-marquee__head{ max-width:var(--te-maxw); margin:0 auto 40px; padding:0 var(--te-pad); }
.te-marquee__eyebrow{ margin:0 0 8px; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--te-subtle); }
.te-marquee__title{ margin:0; font-family:var(--te-font-display); font-weight:300; font-size:clamp(28px,3.4vw,46px); }
.te-marquee__track{ display:flex; width:max-content; gap:24px; padding:0 24px; animation:teanoMarquee 40s linear infinite; }
.te-marquee:hover .te-marquee__track{ animation-play-state:paused; }
.te-mq-card{ width:300px; flex:none; }
.te-mq-card__img{ aspect-ratio:1; background:var(--te-surface); margin-bottom:14px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.te-mq-card__img img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.te-mq-card__coll{ margin:0 0 3px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--te-subtle); }
.te-mq-card__name{ margin:0 0 4px; font-size:15px; }
.te-mq-card__price{ margin:0; font-family:var(--te-font-display); font-weight:300; font-size:16px; }
@keyframes teanoMarquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* brand dark band */
.te-brandband{ position:relative; min-height:88vh; overflow:hidden; background:#141412; color:var(--te-on-dark-2); display:flex; }
.te-brandband__bg{ position:absolute; inset:-10%; background:radial-gradient(120% 90% at 70% 30%, #34342f 0%, #1a1a17 50%, #0d0d0b 100%); animation:teanoSheen 22s ease-in-out infinite; }
.te-brandband__glow{ position:absolute; inset:0; background:linear-gradient(100deg, transparent 35%, rgba(220,220,210,.12) 50%, transparent 65%); animation:teanoGlow 9s ease-in-out infinite; }
.te-brandband__body{ position:relative; margin:auto; text-align:center; padding:90px 24px; max-width:640px; }
.te-brandband__eyebrow{ margin:0 0 20px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--te-on-dark-subtle); }
.te-brandband__title{ margin:0 0 22px; font-family:var(--te-font-display); font-weight:300; font-size:clamp(30px,4.4vw,60px); line-height:1.06; max-width:18ch; margin-left:auto; margin-right:auto; text-wrap:balance; color:var(--te-on-dark-2); }
.te-brandband__text{ margin:0 0 30px; font-size:16px; line-height:1.7; color:#cbc7ba; }
.te-brandband__link{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-on-dark-2); border-bottom:1px solid rgba(236,235,228,.5); padding-bottom:5px; }
.te-brandband__link:hover{ color:var(--te-on-dark-2); border-color:var(--te-on-dark-2); }
@keyframes teanoSheen{ 0%{ transform:translate(-12%,-8%) scale(1.15);} 50%{ transform:translate(8%,6%) scale(1.22);} 100%{ transform:translate(-12%,-8%) scale(1.15);} }
@keyframes teanoGlow{ 0%{ opacity:.35;} 50%{ opacity:.7;} 100%{ opacity:.35;} }

/* references */
.te-refs{ max-width:var(--te-maxw); margin:0 auto; padding:0 var(--te-pad) clamp(90px,12vh,150px); }
.te-refs__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:24px; }
.te-ref__img{ aspect-ratio:3/4; overflow:hidden; margin-bottom:16px; }
.te-ref__img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.te-ref:hover .te-ref__img img{ transform:scale(1.05); }
.te-ref__name{ margin:0; font-family:var(--te-font-display); font-weight:300; font-size:20px; }

/* ==========================================================================
   FOOTER (dark)
   ========================================================================== */
.siteFooter{
  background:var(--te-footer-bg); color:var(--te-footer-text);
  border-top:0; box-shadow:none; margin-top:0; padding:0;
}
.siteFooter__inner{ max-width:var(--te-maxw); padding:0; }
.te-footer__top{
  max-width:var(--te-maxw); margin:0 auto; padding:72px var(--te-pad) 40px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:44px;
}
.te-footer__logo{ height:26px; filter:brightness(0) invert(1); opacity:.9; margin-bottom:22px; }
.te-footer__addr{ margin:0; font-size:13.5px; line-height:1.75; color:var(--te-footer-muted); }
.te-footer__heading{ margin:0 0 16px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-footer-heading); }
.te-footer__col{ display:flex; flex-direction:column; gap:11px; font-size:14px; }
.te-footer__col a{ color:var(--te-footer-text); }
.te-footer__col a:hover{ color:var(--te-on-dark-2); }
.te-footer__news{ margin:0 0 16px; font-size:14px; line-height:1.6; color:var(--te-footer-muted); }
.te-footer__newsform{ display:flex; border-bottom:1px solid #45412f; }
.te-footer__newsform input{ flex:1; background:transparent; border:0; outline:none; color:var(--te-on-dark-2); font-family:inherit; font-size:14px; padding:8px 0; }
.te-footer__newsform button{ background:transparent; border:0; color:var(--te-on-dark-subtle); cursor:pointer; font-size:18px; }
.te-footer__bottom{
  max-width:var(--te-maxw); margin:0 auto; padding:22px var(--te-pad) 40px;
  border-top:1px solid #26261f; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 18px;
  font-size:12.5px; color:var(--te-footer-heading);
}
.te-footer__bottom a{ color:var(--te-footer-heading); }
.te-footer__bottom a:hover{ color:var(--te-on-dark-2); }

@media (max-width:860px){
  .te-footer__top{ grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:560px){
  .te-footer__top{ grid-template-columns:1fr; }
}

/* ==========================================================================
   CATEGORY / CATALOG
   ========================================================================== */
.te-picture-hero{ max-width:var(--te-maxw); margin:22px auto 0; padding:0 var(--te-pad); }
.te-picture-hero__frame{ aspect-ratio:21/9; overflow:hidden; background:var(--te-warm); border-radius:0; }
.te-picture-hero__image{ width:100%; height:100%; object-fit:cover; }

.te-catalog{
  max-width:var(--te-maxw); margin:0 auto; padding:34px var(--te-pad) 90px;
  display:grid; grid-template-columns:250px 1fr; gap:44px; align-items:start;
}
.te-filters{ border:0; }
.te-filter-form{ background:transparent; border:0; box-shadow:none; padding:0; }
.te-filter-head{ font-family:var(--te-font-display); font-weight:300; font-size:22px; color:var(--te-ink); padding-bottom:18px; border-bottom:1px solid var(--te-border); margin-bottom:18px; }
.te-filter-block{ display:block; margin-bottom:18px; }
.te-filter-block > span{ display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--te-subtle); margin-bottom:8px; }
.te-filter-block select,
.te-filter-form select,
.te-filter-form input[type=text]{
  width:100%; border:1px solid var(--te-border-input); background:var(--te-surface); border-radius:0;
  padding:11px 12px; font-family:var(--te-font-body); font-size:14px; color:var(--te-ink);
}
.te-filter-block select.is-selected{ border-color:var(--te-ink); }
.te-filter-actions{ display:flex; gap:8px; margin-top:8px; }
.te-filter-actions .te-btn{ flex:1; padding:13px 14px; }

.te-active-filters{ margin-bottom:24px; }
.te-active-filters__head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px; }
.te-active-filters__title{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-subtle); }
.te-active-filters__clear{ font-size:12px; color:var(--te-muted); }
.te-active-filters__chip{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--te-border-input); border-radius:0; padding:7px 12px; font-size:12px; color:var(--te-ink); background:var(--te-surface); }
.te-active-filters__chip-remove{ color:var(--te-subtle); }

.te-category-branch{ margin-bottom:26px; }
.te-category-branch__summary{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--te-subtle); margin-bottom:14px; }
.te-category-branch__list{ display:flex; flex-wrap:wrap; gap:2px; background:var(--te-line-tile); }
.te-category-branch__item{ background:var(--te-bg); padding:14px 18px; display:flex; align-items:center; gap:12px; font-size:13px; }
.te-category-branch__item:hover{ background:#ecebe6; color:inherit; }
.te-category-branch__thumb{ width:38px; height:38px; background:var(--te-surface); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.te-category-branch__thumb img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }

/* pager */
.te-pager{ display:flex; gap:2px; align-items:center; justify-content:center; margin:26px 0; }
.te-pager__link{ border:1px solid var(--te-border-input); background:var(--te-surface); color:var(--te-ink); border-radius:0; min-width:40px; height:40px; padding:0 12px; font-size:13px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.te-pager__link.is-active{ background:var(--te-ink); color:var(--te-on-dark); border-color:var(--te-ink); }
.te-pager__link:hover{ border-color:var(--te-ink); }
.te-pager__dots{ color:var(--te-subtle); padding:0 4px; }

/* filter fab (mobile) */
.te-filter-fab{ background:var(--te-ink); color:var(--te-on-dark); border-radius:0; border:0; letter-spacing:.14em; text-transform:uppercase; font-size:12px; }

@media (max-width:860px){
  .te-catalog{ grid-template-columns:1fr; gap:0; }
}

/* ==========================================================================
   CATEGORY LISTING (chip filters + sort + clean grid, no hero, no sidebar)
   ========================================================================== */
.te-cat{ max-width:var(--te-maxw); margin:0 auto; padding:20px var(--te-pad) 90px; }
.te-cat-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:26px 0 28px; border-bottom:1px solid var(--te-border-strong); }
.te-cat-head__title{ margin:0 0 14px; font-family:var(--te-font-display); font-weight:300; font-size:clamp(40px,5.5vw,72px); line-height:1.0; letter-spacing:.005em; color:var(--te-ink-2); text-wrap:balance; }
.te-cat-head__desc{ margin:0; max-width:52ch; font-size:16px; line-height:1.6; color:var(--te-text); }
.te-cat-head__count{ font-size:14px; color:var(--te-subtle); white-space:nowrap; padding-bottom:8px; }

.te-cat-bar{ display:flex; align-items:center; justify-content:space-between; gap:20px 24px; flex-wrap:wrap; padding:24px 0; border-bottom:1px solid var(--te-border); }
.te-cat-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.te-cat-chip{ border:1px solid var(--te-border-input); background:transparent; color:var(--te-ink); border-radius:0; padding:11px 20px; font-family:var(--te-font-body); font-size:13px; line-height:1; cursor:pointer; transition:background .2s ease, color .2s ease, border-color .2s ease; }
.te-cat-chip:hover{ border-color:var(--te-ink); }
.te-cat-chip.is-active{ background:var(--te-ink); color:var(--te-on-dark); border-color:var(--te-ink); }
.te-cat-sort{ display:flex; align-items:center; gap:14px; }
.te-cat-sort__label{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-subtle); white-space:nowrap; }
.te-cat-sort__select{ border:1px solid var(--te-border-input); background:var(--te-surface); border-radius:0; padding:11px 16px; font-family:var(--te-font-body); font-size:14px; color:var(--te-ink); min-width:210px; }

.te-cat-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:4px; margin-top:36px; }
.te-cat-card{ display:block; color:inherit; }
.te-cat-card:hover{ color:inherit; }
.te-cat-card__media{ position:relative; aspect-ratio:1/1; background:var(--te-surface); overflow:hidden; margin-bottom:16px; }
.te-cat-card__img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .6s ease; }
.te-cat-card:hover .te-cat-card__img{ transform:scale(1.05); }
.te-cat-card__badges{ position:absolute; top:16px; left:16px; display:flex; gap:6px; z-index:2; }
.te-cat-badge{ background:var(--te-ink); color:var(--te-on-dark); font-size:10px; letter-spacing:.14em; text-transform:uppercase; padding:6px 10px; }
.te-cat-card__cta{ position:absolute; left:0; right:0; bottom:0; padding:15px; text-align:center; background:rgba(26,26,24,.86); color:var(--te-on-dark); font-size:11px; letter-spacing:.16em; text-transform:uppercase; opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .3s ease; }
.te-cat-card:hover .te-cat-card__cta{ opacity:1; transform:none; }
@media (hover:none){ .te-cat-card__cta{ display:none; } }
.te-cat-card__coll{ margin:0 0 5px; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-subtle); }
.te-cat-card__name{ margin:0 0 6px; font-size:16px; line-height:1.35; color:var(--te-ink); }
.te-cat-card__price{ margin:0; font-family:var(--te-font-display); font-weight:300; font-size:17px; color:var(--te-ink); }
.te-cat-empty{ margin-top:40px; color:var(--te-muted); }
.te-cat-cats{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:2px; background:var(--te-line-tile); margin-top:20px; }
.te-cat-cat{ background:var(--te-bg); padding:22px 24px; font-family:var(--te-font-display); font-weight:300; font-size:19px; color:var(--te-ink); }
.te-cat-cat:hover{ background:#ecebe6; color:inherit; }

@media (max-width:720px){
  .te-cat-bar{ align-items:flex-start; }
  .te-cat-sort{ width:100%; justify-content:space-between; }
  .te-cat-sort__select{ min-width:0; flex:1; }
}

/* ==========================================================================
   PRODUCT DETAIL
   ========================================================================== */
.sf-product-layout{
  display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(28px,4vw,64px); align-items:start;
}
.sf-product-layout__media{ position:sticky; top:100px; }
.sf-product__image{
  aspect-ratio:4/5; background:var(--te-surface); border:0; border-radius:0;
  display:flex; align-items:center; justify-content:center; overflow:hidden; cursor:zoom-in;
}
.sf-product__image img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.sf-thumb-list{ display:flex; gap:8px; flex-wrap:wrap; }
.sf-thumb{
  width:84px; height:84px; background:var(--te-surface); border:1px solid var(--te-border); border-radius:0;
  display:flex; align-items:center; justify-content:center; overflow:hidden; cursor:pointer;
}
.sf-thumb:hover{ border-color:var(--te-ink); }
.sf-thumb.is-active{ border-color:var(--te-ink); }
.sf-thumb img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }

.sf-product-title{
  margin:0 0 14px; font-family:var(--te-font-display); font-weight:300;
  font-size:clamp(28px,3.4vw,44px); line-height:1.06; color:var(--te-ink-2); text-wrap:balance;
}
.sf-product-description{ color:var(--te-text); font-size:15px; line-height:1.7; margin:6px 0 20px; }
.sf-product-description__toggle{ margin-top:10px; }

.sf-price-card{ border:0; background:transparent; padding:20px 0; margin:8px 0; border-top:1px solid var(--te-border); border-bottom:1px solid var(--te-border); }
.sf-price-card__label{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-subtle); margin-bottom:8px; }
.sf-price-card .sf-price{ font-family:var(--te-font-display); font-weight:300; font-size:26px; color:var(--te-ink); margin:0 0 6px; }
#sf-price-note{ color:var(--te-subtle); font-size:12px; }

.sf-variant-list{ display:flex; flex-wrap:wrap; gap:8px; }
.sf-variant-chip{ padding:10px 14px; text-transform:none; letter-spacing:.02em; font-size:13px; }
.sf-variant-chip.is-active{ background:var(--te-ink); color:var(--te-on-dark); border-color:var(--te-ink); }
.sf-variant-chip strong{ font-weight:400; }

.sf-buybar{ display:flex; gap:12px; align-items:stretch; margin:22px 0 14px; }
.sf-buybar__qty{ display:flex; flex-direction:column; gap:6px; }
.sf-buybar__qty label{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--te-subtle); }
.sf-buybar__qty input{ width:84px; border:1px solid var(--te-border-input); border-radius:0; padding:12px; font-family:var(--te-font-body); font-size:15px; background:var(--te-surface); text-align:center; }
.sf-buybar__submit{ flex:1; display:flex; align-items:flex-end; }
.sf-buybar__submit .te-btn{ width:100%; padding:16px; }

.sf-product-order-code{ font-size:12px; letter-spacing:.06em; color:var(--te-muted); margin-top:10px; }
.sf-product-categories{ font-size:12px; color:var(--te-subtle); margin-top:16px; }
.sf-product-categories a{ color:var(--te-muted); }

.sf-tech-table{ width:100%; border-collapse:collapse; }
.sf-tech-table th, .sf-tech-table td{ text-align:left; padding:13px 0; border-bottom:1px solid var(--te-border); font-size:14px; }
.sf-tech-table th{ color:var(--te-subtle); font-weight:400; width:42%; }
.sf-tech-table tr:first-child th, .sf-tech-table tr:first-child td{ border-top:1px solid var(--te-border-strong); }
.sf-product-layout__params .sf-box__head{ font-size:14px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-subtle); }

@media (max-width:860px){
  .sf-product-layout{ grid-template-columns:1fr; }
  .sf-product-layout__media{ position:static; }
}

/* product detail accordions (Specifikace / Technické schéma / Doprava a montáž) */
.te-pacc{ margin-top:26px; border-top:1px solid var(--te-border); }
.te-pacc__item{ border-bottom:1px solid var(--te-border); }
.te-pacc__sum{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--te-ink); cursor:pointer; list-style:none; }
.te-pacc__sum::-webkit-details-marker{ display:none; }
.te-pacc__plus{ transition:transform .2s ease; font-size:18px; color:var(--te-subtle); flex:0 0 auto; }
.te-pacc__item[open] .te-pacc__plus{ transform:rotate(45deg); }
.te-pacc__body{ padding:0 0 22px; }
.te-pacc__text{ font-size:14px; line-height:1.7; color:var(--te-text); max-width:52ch; }
.te-pacc__link{ display:inline-block; margin-top:14px; }
.te-spec{ display:flex; flex-direction:column; gap:10px; }
.te-spec__row{ display:flex; justify-content:space-between; gap:20px; border-bottom:1px dotted #dcdad2; padding-bottom:8px; font-size:14px; }
.te-spec__k{ color:var(--te-subtle); }
.te-spec__v{ color:var(--te-ink); text-align:right; }
.te-pacc__scheme{ display:flex; flex-wrap:wrap; gap:12px; }
.te-pacc__scheme img{ max-width:320px; width:100%; background:var(--te-surface); border:1px solid var(--te-border); }

/* ==========================================================================
   CART / CHECKOUT
   ========================================================================== */
.sf-table{ width:100%; border-collapse:collapse; }
.sf-table thead th{ text-align:left; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--te-subtle); font-weight:400; padding:0 12px 14px; border-bottom:1px solid var(--te-border-strong); }
.sf-table tbody td{ padding:20px 12px; border-bottom:1px solid var(--te-border); vertical-align:top; font-size:15px; }
.sf-table tbody tr:first-child td{ border-top:0; }
.sf-table td .sf-muted{ font-size:12px; color:var(--te-subtle); }

.sf-checkout-summary{
  display:grid; grid-template-columns:1fr auto; gap:10px 24px; max-width:520px; margin-left:auto;
  padding:22px; background:var(--te-surface); border:1px solid var(--te-border); margin-top:26px;
}
.sf-checkout-summary > div{ display:contents; }
.sf-checkout-summary .sf-muted{ color:var(--te-muted); font-size:13px; }
.sf-checkout-summary .sf-price{ font-family:var(--te-font-display); font-weight:300; font-size:26px; }

.sf-coupon-form{ display:flex; gap:8px; }
.sf-coupon-form input{ flex:1; border:1px solid var(--te-border-input); border-radius:0; padding:12px; background:var(--te-surface); font-family:var(--te-font-body); }

.sf-step-actions{ display:flex; gap:12px; justify-content:space-between; margin-top:28px; flex-wrap:wrap; }
.sf-button-link{ text-decoration:none; }

/* checkout choices (shipping/payment) */
.sf-checkout-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.sf-checkout-panel{ border:1px solid var(--te-border); padding:22px; background:var(--te-surface); }
.sf-checkout-title{ font-family:var(--te-font-display); font-weight:300; font-size:22px; margin:0 0 18px; color:var(--te-ink); }
.sf-choice{ display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--te-border); cursor:pointer; }
.sf-choice:last-child{ border-bottom:0; }
.sf-choice input{ margin-top:3px; accent-color:var(--te-ink); }
.sf-choice b{ font-weight:400; display:block; }
.sf-choice small{ display:block; color:var(--te-subtle); font-size:12px; margin-top:2px; }
@media (max-width:720px){ .sf-checkout-grid{ grid-template-columns:1fr; } }

/* two-column cart wrapper (added in cart.php) */
.te-cart{ max-width:var(--te-maxw); margin:0 auto; padding:34px var(--te-pad) 90px; }
.te-cart__grid{ display:grid; grid-template-columns:1.55fr 1fr; gap:44px; align-items:start; }
.te-cart__aside{ position:sticky; top:100px; }
@media (max-width:860px){ .te-cart__grid{ grid-template-columns:1fr; } .te-cart__aside{ position:static; } }

.te-cart-row{
  display:grid; grid-template-columns:108px 1fr auto; gap:20px; align-items:start;
  padding:24px 0; border-bottom:1px solid var(--te-border);
}
.te-cart-row:first-child{ border-top:1px solid var(--te-border-strong); }
.te-cart-row__thumb{ width:108px; height:108px; background:var(--te-surface); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.te-cart-row__thumb img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.te-cart-row__coll{ margin:0 0 4px; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-subtle); }
.te-cart-row__name{ display:block; font-family:var(--te-font-display); font-weight:300; font-size:19px; color:var(--te-ink); margin-bottom:6px; }
.te-cart-row__meta{ margin:0 0 3px; font-size:12px; color:var(--te-muted); }
.te-cart-row__actions{ display:flex; align-items:center; gap:16px; margin-top:12px; }
.te-cart-row__qty{ font-size:13px; color:var(--te-ink); border:1px solid var(--te-border-input); padding:6px 12px; }
.te-cart-row__remove{ background:none; border:0; padding:0; font-size:12px; letter-spacing:.04em; color:var(--te-muted); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.te-cart-row__remove:hover{ color:var(--te-ink); }
.te-cart-row__price{ text-align:right; }
.te-cart-row__total{ font-family:var(--te-font-display); font-weight:300; font-size:19px; color:var(--te-ink); }
.te-cart-row__unit{ font-size:12px; color:var(--te-subtle); margin-top:4px; }
.te-cart__back{ display:inline-block; margin-top:26px; font-size:12px; letter-spacing:.1em; color:var(--te-muted); }

.te-summary{ background:var(--te-surface); border:1px solid var(--te-border); padding:26px; }
.te-summary__row{ display:flex; justify-content:space-between; gap:16px; font-size:14px; color:var(--te-text); padding:7px 0; }
.te-summary__row--ship{ color:var(--te-muted); }
.te-freeship{ font-size:12.5px; color:var(--te-muted); margin:6px 0 0; }
.te-summary__total{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--te-border-strong); }
.te-summary__total .sf-price{ font-size:28px; }
.te-summary__vatnote{ margin:6px 0 0; font-size:11.5px; color:var(--te-subtle); }
.te-summary__cta{ display:block; text-align:center; width:100%; margin-top:20px; }
.te-coupon{ margin-top:20px; }
.te-coupon .sf-coupon-form{ margin-top:0; }

/* ==========================================================================
   DOPRAVA A PLATBA (info page)
   ========================================================================== */
.te-dp{ padding-bottom:clamp(80px,10vh,130px); }
.te-dp-wrap{ max-width:var(--te-maxw); margin:0 auto; padding-left:var(--te-pad); padding-right:var(--te-pad); }
.te-dp-section{ padding-top:clamp(70px,9vh,110px); }
.te-dp-intro{ max-width:1000px; margin:0 auto; padding:clamp(60px,10vh,120px) var(--te-pad) clamp(40px,6vh,70px); text-align:center; }
.te-dp-intro__over{ margin:0 0 18px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--te-subtle); }
.te-dp-intro__title{ margin:0 0 22px; font-family:var(--te-font-display); font-weight:300; font-size:clamp(34px,4.6vw,62px); line-height:1.05; color:var(--te-ink-2); }
.te-dp-intro__lead{ margin:0 auto; max-width:56ch; font-size:17px; line-height:1.7; color:var(--te-text); }

.te-dp-banner{ background:var(--te-ink); color:var(--te-on-dark); padding:clamp(30px,4vw,48px); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.te-dp-banner__over{ margin:0 0 8px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--te-on-dark-subtle); }
.te-dp-banner__title{ margin:0; font-family:var(--te-font-display); font-weight:300; font-size:clamp(22px,2.6vw,34px); }
.te-dp-banner__link{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-on-dark); border-bottom:1px solid rgba(244,244,241,.5); padding-bottom:5px; white-space:nowrap; }
.te-dp-banner__link:hover{ color:var(--te-on-dark); border-color:var(--te-on-dark); }

.te-dp-h2{ margin:0 0 44px; font-family:var(--te-font-display); font-weight:300; font-size:clamp(26px,3.2vw,42px); color:var(--te-ink-2); }
.te-dp-h2--center{ text-align:center; }

.te-dp-table{ border-top:1px solid var(--te-border-strong); }
.te-dp-row{ display:grid; grid-template-columns:2fr 1.4fr 1fr; gap:24px; padding:26px 0; border-bottom:1px solid var(--te-border); align-items:baseline; }
.te-dp-row__name{ margin:0 0 6px; font-family:var(--te-font-display); font-weight:300; font-size:21px; color:var(--te-ink); }
.te-dp-row__note{ margin:0; font-size:14px; color:var(--te-muted); }
.te-dp-row__note--mobile{ display:none; }
.te-dp-row__time{ font-size:14.5px; color:var(--te-text); }
.te-dp-row__price{ text-align:right; font-family:var(--te-font-display); font-weight:300; font-size:18px; color:var(--te-ink); }
.te-dp-note{ margin:18px 0 0; font-size:13px; color:var(--te-subtle); }

.te-dp-tiles{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:2px; background:var(--te-line-tile); }
.te-dp-tile{ background:var(--te-bg); padding:38px 30px; }
.te-dp-tile__name{ margin:0 0 10px; font-family:var(--te-font-display); font-weight:300; font-size:21px; color:var(--te-ink); }
.te-dp-tile__text{ margin:0; font-size:14.5px; line-height:1.65; color:var(--te-muted); }

.te-dp-split{ display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--te-line-tile); }
.te-dp-splitcol{ background:var(--te-bg); padding:clamp(32px,3.5vw,52px); }
.te-dp-splitcol__over{ margin:0 0 12px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--te-subtle); }
.te-dp-splitcol__title{ margin:0 0 16px; font-family:var(--te-font-display); font-weight:300; font-size:24px; color:var(--te-ink); }
.te-dp-splitcol__text{ margin:0 0 18px; font-size:15px; line-height:1.75; color:var(--te-text); }

.te-dp-faq{ max-width:1000px; margin:0 auto; padding:clamp(70px,9vh,110px) var(--te-pad) 0; }
.te-dp-acc{ border-top:1px solid var(--te-border-strong); }
.te-dp-acc__item{ border-bottom:1px solid var(--te-border); }
.te-dp-acc__sum{ display:flex; align-items:center; justify-content:space-between; padding:24px 0; font-size:16px; color:var(--te-ink); cursor:pointer; list-style:none; }
.te-dp-acc__sum::-webkit-details-marker{ display:none; }
.te-dp-acc__plus{ transition:transform .2s ease; font-size:20px; color:var(--te-subtle); }
.te-dp-acc__item[open] .te-dp-acc__plus{ transform:rotate(45deg); }
.te-dp-acc__body{ padding:0 0 24px; font-size:15px; line-height:1.75; color:var(--te-text); max-width:62ch; }

@media (max-width:640px){
  .te-dp-row{ grid-template-columns:1fr auto; gap:8px 16px; }
  .te-dp-row__time{ display:none; }
  .te-dp-row__note--mobile{ display:block; }
  .te-dp-split{ grid-template-columns:1fr; }
  .te-dp-banner{ flex-direction:column; align-items:flex-start; }
}

/* ==========================================================================
   KOLEKCE (collections landing)
   ========================================================================== */
.te-kol{ padding-bottom:clamp(80px,10vh,130px); }
.te-kol-wrap{ max-width:var(--te-maxw); margin:0 auto; padding:0 var(--te-pad); }
.te-kol-intro{ max-width:1000px; margin:0 auto; padding:clamp(60px,10vh,120px) var(--te-pad) clamp(44px,6vh,74px); text-align:center; }
.te-kol-intro__over{ margin:0 0 18px; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--te-subtle); }
.te-kol-intro__title{ margin:0 0 24px; font-family:var(--te-font-display); font-weight:300; font-size:clamp(36px,5vw,68px); line-height:1.04; color:var(--te-ink-2); }
.te-kol-intro__lead{ margin:0 auto; max-width:58ch; font-size:17px; line-height:1.7; color:var(--te-text); }

.te-kol-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(340px,1fr)); gap:4px; }
.te-kol-card{ position:relative; display:block; aspect-ratio:3/4; overflow:hidden; background:var(--te-warm); color:var(--te-on-dark); }
.te-kol-card__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.te-kol-card__img--empty{ position:absolute; inset:0; background:linear-gradient(135deg,#d8d5cc,#b9b6ad); }
.te-kol-card:hover .te-kol-card__img{ transform:scale(1.05); }
.te-kol-card__scrim{ position:absolute; inset:0; background:linear-gradient(to top, rgba(20,20,18,.62) 0%, rgba(20,20,18,.12) 42%, transparent 66%); }
.te-kol-card__body{ position:absolute; left:0; right:0; bottom:0; padding:30px; display:block; }
.te-kol-card__over{ display:block; margin-bottom:8px; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(244,244,241,.7); }
.te-kol-card__name{ display:block; margin-bottom:6px; font-family:var(--te-font-display); font-weight:300; font-size:30px; line-height:1; color:var(--te-on-dark); }
.te-kol-card__desc{ display:block; margin-bottom:14px; font-size:13px; letter-spacing:.04em; color:rgba(244,244,241,.85); }
.te-kol-card__open{ display:inline-block; opacity:0; transition:opacity .3s ease; font-size:11px; letter-spacing:.16em; text-transform:uppercase; border-bottom:1px solid var(--te-on-dark); padding-bottom:4px; }
.te-kol-card:hover .te-kol-card__open{ opacity:1; }
@media (hover:none){ .te-kol-card__open{ opacity:1; } }

.te-kol-cta{ background:var(--te-ink); color:var(--te-on-dark); padding:clamp(44px,6vw,80px); text-align:center; margin-top:clamp(60px,8vh,90px); }
.te-kol-cta__over{ margin:0 0 14px; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--te-on-dark-subtle); }
.te-kol-cta__title{ margin:0 0 22px; font-family:var(--te-font-display); font-weight:300; font-size:clamp(26px,3.4vw,46px); line-height:1.1; color:var(--te-on-dark); }
.te-kol-cta__text{ margin:0 auto 30px; max-width:50ch; font-size:16px; line-height:1.7; color:#cbc7ba; }
.te-kol-cta__link{ display:inline-block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--te-on-dark); border-bottom:1px solid rgba(244,244,241,.5); padding-bottom:5px; }
.te-kol-cta__link:hover{ color:var(--te-on-dark); border-color:var(--te-on-dark); }

/* ==========================================================================
   PAGE PARITY — bring the remaining templates (search, account, checkout,
   content pages) to the same monochrome premium look. Overrides the legacy
   green/teal styling from storefront.css. CSS-only, no markup changes.
   ========================================================================== */

/* ---- SEARCH ---- */
.sf-section-title{
  font-family:var(--te-font-display); font-weight:300; color:var(--te-ink-2);
  font-size:clamp(24px,3vw,38px); letter-spacing:.01em; margin:0 0 8px;
}
.sf-box .te-catalog{ max-width:none; margin:0; padding-left:0; padding-right:0; padding-top:20px; }
.te-search-empty{ padding:8px 0 0; }
.te-search-empty__intro{ text-align:center; max-width:760px; margin:0 auto 40px; }
.te-search-empty__title{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink-2); font-size:clamp(28px,3.6vw,46px); line-height:1.1; margin:0 0 14px; text-transform:none; }
.te-search-empty__text{ color:var(--te-text); font-size:16px; line-height:1.7; }
.te-search-empty__section{ margin-top:48px; }
.te-search-empty__section-head{ margin-bottom:18px; border-bottom:1px solid var(--te-border); padding-bottom:14px; }
.te-search-empty__section-title{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink); font-size:22px; margin:0; }

/* ---- CONTENT PAGES (O nás, Obchodní/Reklamační podmínky) ---- */
.te-page-content{ max-width:1000px; padding:clamp(48px,7vh,90px) var(--te-pad); }
.te-page-content--wide{ max-width:var(--te-maxw); }
.te-page-content__hero{ margin:0 0 40px; padding:0; text-align:center; }
.te-page-content__eyebrow{ color:var(--te-subtle); letter-spacing:.24em; font-size:11px; }
.te-page-content__title{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink-2); font-size:clamp(34px,4.6vw,60px); line-height:1.05; }
.te-page-content__lead{ color:var(--te-text); font-size:17px; line-height:1.7; margin:0 auto; }
.te-page-content__hero .te-page-content__lead{ margin-left:auto; margin-right:auto; }
.te-page-content__grid{ gap:2px; background:var(--te-line-tile); }
.te-page-content__card{ border:0; background:var(--te-bg); box-shadow:none; border-radius:0; padding:34px 30px; }
.te-page-content__card-title{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink); font-size:21px; }
.te-page-content__text{ color:var(--te-text); }
.te-page-content__section-title{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink-2); }

/* ---- ACCOUNT / ORDERS ---- */
.sf-box__head_account{ font-family:var(--te-font-display); font-weight:300; font-size:clamp(24px,3vw,38px); color:var(--te-ink-2); background:transparent; border:0; padding:0 0 22px; }
.sf-box__body_account{ background:transparent; border:0; box-shadow:none; padding:0; }
.sf-account-register__title, .sf-order-detail__title, .sf-order-items__name{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink); }
.sf-account-auth-form, .sf-order-detail, .sf-order-detail__section, .sf-order-row, .sf-order-items__row, .sf-pickup-panel, .sf-delivery-fields{
  background:var(--te-surface); border:1px solid var(--te-border); border-radius:0; box-shadow:none;
}
.sf-order-detail-row, .sf-order-items__meta{ color:var(--te-muted); }
.sf-order-items__meta--total{ color:var(--te-ink); }
.sf-button_hero, .sf-button_hero--strong{ background:var(--te-ink); color:var(--te-on-dark); border:1px solid var(--te-ink); border-radius:0; letter-spacing:.16em; text-transform:uppercase; font-size:12px; }
.sf-button_hero:hover, .sf-button_hero--strong:hover{ background:#000; border-color:#000; color:#fff; }
.sf-button_hero--secondary{ background:transparent; color:var(--te-ink); border:1px solid var(--te-border-input); border-radius:0; letter-spacing:.16em; text-transform:uppercase; font-size:12px; }
.sf-button_hero--secondary:hover{ border-color:var(--te-ink); }
.sf-order-toggle, .sf-order-complaint__btn{ color:var(--te-ink); }

/* ---- CHECKOUT (forms, pickup, toggles) ---- */
.sf-form-row input, .sf-form-row select, .sf-form-row textarea,
.sf-inline-form input, .sf-inline-form select,
.sf-delivery-fields input, .sf-delivery-fields select{
  border:1px solid var(--te-border-input); border-radius:0; background:var(--te-surface);
  font-family:var(--te-font-body); color:var(--te-ink); padding:11px 12px;
}
.sf-form-row label, .sf-inline-hint{ color:var(--te-muted); }
.sf-pickup-panel__head{ font-family:var(--te-font-display); font-weight:300; color:var(--te-ink); }
.sf-pickup-point, .sf-order-pick{ border:1px solid var(--te-border); border-radius:0; background:var(--te-surface); }
.sf-divider{ border-color:var(--te-border); background:var(--te-border); }
.sf-toggle{ accent-color:var(--te-ink); }

/* remaining green containers → monochrome surfaces */
.sf-order-items{ border:1px solid var(--te-border); background:var(--te-surface); color:var(--te-text); border-radius:0; }
.sf-account-register{ border:1px solid var(--te-border); background:var(--te-surface); color:var(--te-text); border-radius:0; box-shadow:none; }
.sf-pickup-inline, .sf-pickup-points{ border:1px solid var(--te-border); background:var(--te-surface); border-radius:0; }
.sf-account-register__title{ color:var(--te-ink); }

/* generic: any legacy pill/card radius inside these pages → 0 */
.te-page-content :where(input,select,textarea,button),
.sf-box__body_account :where(input,select,textarea,button){ border-radius:0; }

/* ==========================================================================
   BUTTON SYSTEM — storefront.css drives all buttons via --te-btn-* variables
   set to a GREEN gradient on selectors more specific than .te-btn--brand.
   Redefine those variables (matching specificity) to monochrome.
   ========================================================================== */
/* NB: these buttons paint their fill via background-IMAGE (a var-driven gradient);
   background-color from a stylesheet does not take, so we fill via a solid-colour
   linear-gradient (this is verified to win). */
.te-btn--brand,
.sf-button-link--strong,
.sf-button_hero,
.sf-button_hero--strong,
.sf-product-layout .sf-buybar button,
.te-filter-actions button,
.te-summary__cta{
  --te-btn-bg:var(--te-ink); --te-btn-bg-hover:#000;
  --te-btn-border:var(--te-ink); --te-btn-border-hover:#000;
  --te-btn-text:var(--te-on-dark); --te-btn-text-hover:var(--te-on-dark);
  --te-btn-shadow:none; --te-btn-shadow-hover:none;
  background-image:linear-gradient(var(--te-ink),var(--te-ink)) !important;
  color:var(--te-on-dark) !important;
  border:1px solid var(--te-ink) !important;
  box-shadow:none !important;
  font-weight:400 !important;
}
.te-btn--brand:hover,
.sf-button_hero:hover,
.sf-product-layout .sf-buybar button:hover,
.te-summary__cta:hover{
  background-image:linear-gradient(#000,#000) !important;
}
.sf-product-layout .sf-product-description__toggle,
.sf-coupon-form button,
.sf-table button,
.sf-inline-form button,
.sf-button_hero--secondary,
.sf-box .sf-variant-chip{
  --te-btn-bg:transparent; --te-btn-bg-hover:var(--te-warm);
  --te-btn-border:var(--te-border-input); --te-btn-border-hover:var(--te-ink);
  --te-btn-text:var(--te-ink); --te-btn-text-hover:var(--te-ink);
  --te-btn-shadow:none; --te-btn-shadow-hover:none;
  background-image:none !important;
  color:var(--te-ink) !important;
  box-shadow:none !important;
}
.sf-box .sf-variant-chip.is-active{
  background-image:linear-gradient(var(--te-ink),var(--te-ink)) !important;
  color:var(--te-on-dark) !important; border-color:var(--te-ink) !important;
}
/* description "Více" toggle is a green underline in storefront.css — neutralise */
.sf-product-layout .sf-product-description__toggle{ color:var(--te-ink) !important; border:0 !important; text-decoration:underline; }
/* redundant "back" button (breadcrumbs already provide nav) — hide, matches prototype */
.sf-back-link, .a_back{ display:none !important; }

/* logo: real brand logo is a coloured gradient — render monochrome to fit the design.
   Dark (ink) on light pages; white on dark (home hero + footer). */
.te-brand__logo{ filter:brightness(0); }
.te-loader__logo{ filter:brightness(0); }
body.te-homepage .te-brand__logo,
.te-footer__logo{ filter:brightness(0) invert(1); }

/* category mega-bar replaced by the full-screen menu overlay — hide it everywhere */
.te-page .menu-main-wrap{ display:none !important; }

/* stock indicator — neutral monochrome (storefront.css uses green/amber/red) */
.sf-stock-indicator{ background:transparent; color:var(--te-muted); }
.sf-stock-indicator__summary, .sf-stock-indicator__label{ color:var(--te-subtle); }
.sf-stock-indicator.is-unknown, .sf-stock-indicator.is-unknown .sf-stock-indicator__summary{ color:var(--te-muted); }
.sf-stock-indicator__count.is-zero{ color:var(--te-subtle); }
.sf-stock-indicator__count.is-ok{ color:var(--te-ink); }
.sf-stock-indicator__sep{ color:var(--te-subtle); }

/* ==========================================================================
   Interactive chrome — neutralize legacy green/blue accents to monochrome
   ========================================================================== */
.te-search-overlay__panel{ background:var(--te-bg); }
.te-search-overlay__input{ border:0; border-bottom:1px solid var(--te-border-input); background:transparent; color:var(--te-ink); font-family:var(--te-font-display); font-weight:300; border-radius:0; }
.te-search-overlay__input:focus{ border-color:var(--te-ink); outline:none; }
.te-search-overlay__go, .te-search-overlay__close{ background:transparent; }
.te-search-live__panel{ background:var(--te-surface); border:1px solid var(--te-border); border-radius:0; }
.te-search-live__section-title{ color:var(--te-subtle); letter-spacing:.14em; text-transform:uppercase; font-size:11px; }
.te-search-live__product-name, .te-search-live__category-name{ color:var(--te-ink); }
.te-search-live__product-price{ color:var(--te-ink); font-family:var(--te-font-display); font-weight:300; }
.te-search-live__product-thumb, .te-search-live__category-thumb{ border-radius:0; border:1px solid var(--te-border); background:var(--te-surface); }
.te-search-live__more{ color:var(--te-ink); border-bottom:1px solid var(--te-ink); border-radius:0; background:transparent; }
.te-search-live__more:hover{ color:var(--te-hover); border-color:var(--te-hover); }
.te-cart-preview__summary{ border-top:1px solid var(--te-border); }
.te-cart-preview__summary strong, .te-cart-preview__item strong{ color:var(--te-ink); }
.te-cart-link.is-cart-flash{ animation:none; }
.te-flash--ok, .te-flash--bad{ background:var(--te-surface); }

/* ==========================================================================
   MISC content pages
   ========================================================================== */
.sf-content h1, .sf-content h2, .sf-content h3{ font-family:var(--te-font-display); font-weight:300; }
.te-page-content__title{ font-family:var(--te-font-display); font-weight:300; }
.te-page-content__eyebrow{ color:var(--te-subtle); letter-spacing:.24em; }
