/* ==========================================================================
   Kaja Trees — kajatrees.ee prototüüp
   Disainisüsteem, kohandatud Kaja koodiprojektide põhimõtetest esinduslehele.
   Palett #009999 / #129ca6 / #2e526a · süsteemifondid · lame, ümar, puhas.
   ========================================================================== */

:root {
  /* Brand */
  --teal: #009999;
  --teal-dark: #007a7a;
  --surface-teal: #129ca6;
  --ink-blue: #2e526a;

  /* Neutrals */
  --bg: #ffffff;
  --bg-soft: #f6fafa;
  --tint: rgba(18, 156, 166, 0.08);
  --tint-strong: rgba(18, 156, 166, 0.14);
  --text: #1a1a1a;
  --text-2: #4a4a4a;
  --muted: #6b7280;
  --border: #e6e8ea;
  --white: #ffffff;

  /* Type */
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Shape */
  --r-sm: 6px;
  --r: 10px;
  --r-lg: 16px;
  --pill: 9999px;

  /* Shadow — barely-there only */
  --shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
  --shadow-card: 0 1px 3px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);

  /* Layout */
  --maxw: 1120px;
  --gutter: 24px;
  --nav-h: 68px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }
a { color: var(--teal-dark); text-decoration: none; }
a:hover { color: var(--teal-dark); }

h1, h2, h3, h4 { line-height: 1.2; color: var(--text); margin: 0 0 .5em; font-weight: 700; letter-spacing: -0.01em; }
h1 { font-size: clamp(2rem, 4.6vw, 3.15rem); }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.3rem); }
h3 { font-size: 1.2rem; font-weight: 600; }
p  { margin: 0 0 1em; color: var(--text-2); }

.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); }

.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- Eyebrow / section heads ---------- */
.eyebrow {
  display: inline-block;
  font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--teal-dark);
  margin-bottom: .8rem;
}
.section { padding: clamp(56px, 8vw, 96px) 0; }
.section--tint { background: var(--bg-soft); }
.section--ink { background: var(--ink-blue); color: #eaf1f5; }
.section--ink h2, .section--ink h3 { color: #fff; }
.section--ink p { color: #c4d3dd; }
.section__head { max-width: 720px; margin: 0 0 2.5rem; }
.section__head.center { margin-left: auto; margin-right: auto; text-align: center; }
.section__lead { font-size: 1.12rem; color: var(--text-2); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: inherit; font-size: .98rem; font-weight: 600;
  padding: .72rem 1.35rem; border-radius: var(--r-sm);
  border: 1.5px solid transparent; cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .05s ease;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--teal-dark); color: #fff; }
.btn--primary:hover { background: var(--teal-dark); color: #fff; }
.btn--secondary { background: #fff; color: var(--teal); border-color: var(--teal); }
.btn--secondary:hover { background: var(--tint); color: var(--teal-dark); }
.btn--ghost { background: transparent; color: var(--text); border-color: var(--border); }
.btn--ghost:hover { border-color: var(--teal); color: var(--teal); }
.btn--on-ink { background: #fff; color: var(--ink-blue); }
.btn--on-ink:hover { background: #eaf1f5; color: var(--ink-blue); }
.btn--lg { padding: .95rem 1.7rem; font-size: 1.05rem; }
.btn--block { width: 100%; justify-content: center; }

/* ---------- Header / Nav ---------- */
.site-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255,255,255,.9); backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--border);
}
.nav { display: flex; align-items: center; gap: 1.5rem; height: var(--nav-h); }
.brand { display: flex; align-items: center; gap: .6rem; font-weight: 400; font-size: 1.6rem; color: var(--text); letter-spacing: -.01em; }
.brand:hover { color: var(--text); }
.brand__mark {
  width: 30px; height: 30px; border-radius: 8px;
  background: var(--teal); color: #fff; display: grid; place-items: center;
  font-weight: 800; font-size: .95rem;
}
.brand__mark span { transform: translateY(-1px); }
.brand__img { height: 38px; width: auto; display: block; }
.nav__links { display: flex; align-items: center; gap: .35rem; margin-left: auto; }
.nav__link {
  color: var(--text-2); font-weight: 500; font-size: .96rem;
  padding: .5rem .7rem; border-radius: var(--r-sm);
}
.nav__link:hover { color: var(--teal); background: var(--tint); }
.nav__link.is-active { color: var(--teal); font-weight: 600; }
.nav__link--en { margin-left: .6rem; padding-left: 1.2rem; border-left: 1px solid var(--border); color: var(--muted); font-size: .9rem; white-space: nowrap; }
.nav__actions { display: flex; align-items: center; gap: .6rem; margin-left: .4rem; }

.lang {
  display: inline-flex; border: 1px solid var(--border); border-radius: var(--pill); overflow: hidden;
  font-size: .8rem; font-weight: 600;
}
.lang a { padding: .28rem .6rem; color: var(--muted); }
.lang a.is-active { background: var(--teal); color: #fff; }

.cart-btn {
  position: relative; display: inline-grid; place-items: center;
  width: 40px; height: 40px; border-radius: var(--r-sm);
  border: 1px solid var(--border); background: #fff; cursor: pointer; color: var(--text);
}
.cart-btn:hover { border-color: var(--teal); color: var(--teal); }
.cart-btn__count {
  position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px;
  background: var(--teal); color: #fff; border-radius: var(--pill);
  font-size: .68rem; font-weight: 700; display: grid; place-items: center;
}
.cart-btn__count[hidden] { display: none; }

.hamburger { display: none; width: 42px; height: 42px; border: 1px solid var(--border); border-radius: var(--r-sm); background: #fff; cursor: pointer; }
.hamburger span, .hamburger span::before, .hamburger span::after {
  display: block; position: relative; width: 18px; height: 2px; background: var(--text); margin: 0 auto; border-radius: 2px;
}
.hamburger span::before, .hamburger span::after { content: ""; position: absolute; }
.hamburger span::before { top: -6px; } .hamburger span::after { top: 6px; }

/* ---------- Hero ---------- */
.hero { padding: clamp(48px, 7vw, 84px) 0 clamp(40px, 6vw, 72px); position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; background: var(--bg-soft); z-index: 0; }
.hero .container { position: relative; z-index: 1; }
.hero__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 5vw, 56px); align-items: center; }
.hero__title { margin-bottom: .55rem; }
.hero__title .accent { color: var(--teal); }
.hero__lead { font-size: 1.2rem; color: var(--text-2); max-width: 34ch; margin-bottom: 1.6rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.4rem; }
.hero__trust { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; color: var(--muted); font-size: .9rem; }
.hero__trust span { display: inline-flex; align-items: center; gap: .4rem; }

.hero__visual { position: relative; }
.portrait {
  aspect-ratio: 4 / 5; border-radius: var(--r-lg); overflow: hidden;
  background: var(--surface-teal);
  display: grid; place-items: center; box-shadow: var(--shadow-card);
}
.portrait img { width: 100%; height: 100%; object-fit: cover; }
.portrait__ph { color: rgba(255,255,255,.85); text-align: center; padding: 1.5rem; }
.portrait__ph .initials { font-size: 3.2rem; font-weight: 800; letter-spacing: .04em; }
.portrait__ph small { display:block; margin-top:.4rem; font-size:.8rem; opacity:.85; }
.hero__badge {
  position: absolute; left: -14px; bottom: 22px; max-width: min(92%, 360px);
  background: #fff; border: 1px solid var(--border); border-left: 3px solid var(--teal); border-radius: var(--r);
  box-shadow: var(--shadow-card); padding: .8rem 1rem;
  font-size: .88rem; font-weight: 500; color: var(--text); line-height: 1.45;
}
.hero__badge .dot { width: 34px; height: 34px; border-radius: 8px; background: var(--tint); color: var(--teal); display: grid; place-items: center; }

/* ---------- Logos / proof strip ---------- */
.proofstrip { padding: 22px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background:#fff; }
.proofstrip__row { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 4vw, 48px); flex-wrap: wrap; }
.proofstrip small { color: var(--muted); font-weight: 600; letter-spacing:.02em; }
.proofstrip .org { color: #94a0aa; font-weight: 700; font-size: 1.02rem; letter-spacing: .01em; }

/* ---------- Grid & cards ---------- */
.grid { display: grid; gap: 20px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }

.card {
  background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: 1.5rem; box-shadow: var(--shadow); transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
  display: flex; flex-direction: column;
}
.card:hover { border-color: #d4e6e6; transform: translateY(-2px); box-shadow: var(--shadow-card); }
.card__icon { width: 44px; height: 44px; border-radius: 10px; background: var(--tint); color: var(--teal); display: grid; place-items: center; margin-bottom: 1rem; }
.card__title { margin-bottom: .35rem; }
.card__text { color: var(--text-2); font-size: .96rem; margin-bottom: 1rem; }
.card__link { margin-top: auto; font-weight: 600; font-size: .93rem; display: inline-flex; align-items: center; gap: .35rem; }
.card__link .arrow { transition: transform .15s ease; }
.card:hover .card__link .arrow { transform: translateX(3px); }
.card--flag { position: relative; }
.card__flag { position:absolute; top:1rem; right:1rem; font-size:.72rem; font-weight:700; color:var(--teal); background:var(--tint); padding:.2rem .55rem; border-radius: var(--pill); }

/* ---------- Wedge / who-is-this-for ---------- */
.wedge { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px,5vw,56px); align-items: center; }
.checks { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.checks li { display: flex; gap: .7rem; align-items: flex-start; color: var(--text-2); }
.checks .tick { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 7px; background: var(--tint); color: var(--teal); display: grid; place-items: center; margin-top: 1px; }
.quotecard {
  background: var(--tint); border: 1px solid #d4e6e6; border-radius: var(--r-lg); padding: 1.6rem;
}
.quotecard p { font-size: 1.12rem; color: var(--text); font-style: italic; margin-bottom: .8rem; }
.quotecard cite { font-style: normal; color: var(--muted); font-size: .9rem; }

/* ---------- Featured course band ---------- */
.feature {
  background: var(--surface-teal);
  border-radius: var(--r-lg); color: #fff; padding: clamp(28px, 4vw, 44px);
  display: grid; grid-template-columns: 1.3fr .7fr; gap: 28px; align-items: center;
}
.feature h2 { color: #fff; }
.feature p { color: #dce8ee; }
.feature__meta { display: flex; flex-wrap: wrap; gap: .5rem .9rem; margin: 1rem 0 1.4rem; }
.feature__meta span { display:inline-flex; align-items:center; gap:.4rem; font-size:.9rem; color:#eaf3f6; background: rgba(255,255,255,.12); padding:.35rem .7rem; border-radius: var(--pill); }
.feature__price { text-align: right; }
.feature__price .from { display:block; color:#cfe0e7; font-size:.85rem; }
.feature__price .amt { font-size: 2.1rem; font-weight: 800; color:#fff; }
.feature__price .vat { display:block; color:#cfe0e7; font-size:.78rem; margin-bottom: 1rem; }

/* ---------- Testimonials ---------- */
.tgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tcard { background:#fff; border:1px solid var(--border); border-radius: var(--r-lg); padding: 1.5rem; box-shadow: var(--shadow); display:flex; flex-direction:column; }
.tcard .stars { color: var(--teal); margin-bottom: .7rem; letter-spacing: 2px; font-size: .9rem; }
.tcard blockquote { margin: 0 0 1rem; color: var(--text); font-size: 1rem; }
.tcard__author { margin-top:auto; display:flex; align-items:center; gap:.7rem; }
.tcard__avatar { width:40px; height:40px; border-radius: var(--pill); background: var(--tint); color: var(--teal); display:grid; place-items:center; font-weight:700; }
.tcard__author b { display:block; font-size:.92rem; }
.tcard__author small { color: var(--muted); font-size:.82rem; }
.tcard--wide { grid-column: span 2; }

/* ---------- About ---------- */
.about { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px,5vw,56px); align-items:center; }
.about__stats { display:flex; gap: 2rem; margin-top: 1.4rem; flex-wrap: wrap; }
.about__stats b { display:block; font-size:2.3rem; color: var(--teal); font-weight:400; line-height:1.05; }
.about__stats span { color: var(--muted); font-size:.88rem; }

/* ---------- CTA band ---------- */
.ctaband { text-align:center; }
.ctaband h2 { max-width: 20ch; margin: 0 auto .6rem; }
.ctaband p { max-width: 48ch; margin: 0 auto 1.6rem; }

/* ---------- FAQ / accordion ---------- */
.accordion { border-top: 1px solid var(--border); }
.accordion__item { border-bottom: 1px solid var(--border); }
.accordion__trigger {
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  font-family: inherit; font-size: 1.05rem; font-weight: 600; color: var(--text);
  padding: 1.15rem 2.5rem 1.15rem 0; position: relative;
}
.accordion__trigger::after {
  content:"+"; position:absolute; right: .2rem; top: 50%; transform: translateY(-50%);
  font-size: 1.4rem; font-weight: 400; color: var(--teal); transition: transform .2s ease;
}
.accordion__item.is-open .accordion__trigger::after { content:"–"; }
.accordion__panel { max-height:0; overflow:hidden; transition: max-height .25s ease; }
.accordion__panel > div { padding: 0 0 1.15rem; color: var(--text-2); max-width: 68ch; }

/* ---------- Footer ---------- */
.footer { background: var(--ink-blue); color: #c4d3dd; padding: clamp(48px,6vw,72px) 0 28px; }
.footer a { color: #dbe6ec; }
.footer a:hover { color: #fff; }
.footer__top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; padding-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12); }
.footer__brand .brand { color:#fff; }
.footer__brand p { color:#a9bcc7; max-width: 34ch; margin-top:.8rem; font-size:.94rem; }
.footer h4 { color:#fff; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1rem; }
.footer ul { list-style:none; margin:0; padding:0; display:grid; gap:.55rem; font-size:.94rem; }
.footer__legal { padding-top: 22px; font-size: .8rem; color:#8fa6b3; line-height:1.7; }
.footer__legal .req { display:flex; flex-wrap:wrap; gap:.2rem 1.1rem; margin-bottom:.5rem; }
.footer__bottom { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:1rem; color:#8fa6b3; font-size:.82rem; }

/* ---------- Cart drawer ---------- */
.overlay { position: fixed; inset:0; background: rgba(16,24,40,.4); opacity:0; visibility:hidden; transition: opacity .2s ease; z-index: 80; }
.overlay.is-open { opacity:1; visibility:visible; }
.drawer {
  position: fixed; top:0; right:0; height:100%; width: min(400px, 92vw);
  background:#fff; z-index: 90; transform: translateX(100%); transition: transform .25s ease;
  display:flex; flex-direction:column; box-shadow: -8px 0 30px rgba(16,24,40,.12);
}
.drawer.is-open { transform: translateX(0); }
.drawer__head { display:flex; align-items:center; justify-content:space-between; padding: 1.1rem 1.3rem; border-bottom:1px solid var(--border); }
.drawer__head h3 { margin:0; }
.drawer__close { background:none; border:0; font-size:1.4rem; cursor:pointer; color:var(--muted); line-height:1; }
.drawer__body { flex:1; overflow-y:auto; padding: 1.1rem 1.3rem; }
.drawer__empty { color: var(--muted); text-align:center; padding: 2.5rem 1rem; }
.citem { display:flex; gap:.8rem; padding: .9rem 0; border-bottom:1px solid var(--border); }
.citem__thumb { flex:0 0 auto; width:46px; height:46px; border-radius:8px; background:var(--tint); color:var(--teal); display:grid; place-items:center; }
.citem__info { flex:1; }
.citem__info b { display:block; font-size:.92rem; }
.citem__info small { color: var(--muted); }
.citem__price { font-weight:700; font-size:.92rem; white-space:nowrap; }
.citem__remove { background:none; border:0; color:var(--muted); cursor:pointer; font-size:.8rem; text-decoration:underline; padding:0; margin-top:.2rem; }
.drawer__foot { padding: 1.1rem 1.3rem; border-top:1px solid var(--border); }
.drawer__total { display:flex; justify-content:space-between; font-weight:700; margin-bottom:.4rem; }
.drawer__note { font-size:.78rem; color:var(--muted); margin: .2rem 0 1rem; }

/* ---------- Media / split utilities ---------- */
.split { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,5vw,56px); align-items:center; }
.split--textfirst .media { order: 2; }
.media { border-radius: var(--r-lg); overflow:hidden; box-shadow: var(--shadow-card); background:#eef3f5; }
.media img { width:100%; height:100%; object-fit:cover; display:block; }
.media--16x10 { aspect-ratio: 16/10; }
.media--4x5 { aspect-ratio: 4/5; }

/* chips (light section) */
.chips { display:flex; flex-wrap:wrap; gap:.5rem .6rem; margin:1.1rem 0 1.5rem; }
.chips span { font-size:.85rem; color:var(--teal); background:var(--tint); padding:.4rem .8rem; border-radius:var(--pill); font-weight:600; }

/* book */
.book { display:grid; grid-template-columns: 200px 1fr; gap: 32px; align-items:center; }
.book__cover {
  aspect-ratio: 3/4; border-radius: var(--r); background: var(--ink-blue);
  color:#fff; padding: 1.3rem; display:flex; flex-direction:column; justify-content:space-between; box-shadow: var(--shadow-card);
}
.book__cover .kicker { font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:#bfe0e4; }
.book__cover .t { font-size:1.35rem; font-weight:800; line-height:1.15; }
.book__cover .a { font-size:.8rem; color:#d7e7ea; }
.book__editions { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; }
.book__cover--img { padding: 0; background: none; overflow: hidden; }
.book__cover--img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card--ghost { border-style: dashed; background: transparent; box-shadow: none; align-items: center; justify-content: center; text-align: center; color: var(--muted); }
.card--ghost:hover { transform: none; box-shadow: none; border-color: var(--border); }

/* prototype ribbon */
.proto-ribbon {
  position: fixed; left: 0; bottom: 0; z-index: 70;
  background: var(--ink-blue); color:#dbe6ec; font-size:.74rem; padding:.35rem .7rem;
  border-top-right-radius: 8px; letter-spacing:.02em;
}
.proto-ribbon b { color:#fff; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .hero__grid, .wedge, .about, .feature, .footer__top { grid-template-columns: 1fr; }
  .grid--3, .tgrid { grid-template-columns: 1fr 1fr; }
  .tcard--wide { grid-column: span 2; }
  .feature__price { text-align: left; }
  .hero__visual { order: -1; max-width: 360px; }
}
/* Täispikk menüü ei mahu tahvli- ja väiksema sülearvuti laiusele. */
@media (max-width: 1120px) {
  .nav { position: relative; }
  .nav__links { display:none; }
  .nav__links.is-open {
    display:flex; position:absolute; top: var(--nav-h); left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0; background:#fff;
    border-bottom:1px solid var(--border); padding:.5rem var(--gutter) 1rem;
  }
  .nav__links.is-open .nav__link { padding:.8rem .2rem; border-bottom:1px solid var(--border); }
  .nav__links.is-open .nav__link--en { margin-left:0; padding-left:.2rem; border-left:0; }
  .hamburger { display:block; margin-left:auto; }
  .nav__actions { margin-left:auto; }
}
@media (max-width: 640px) {
  .nav__links { display:none; }
  .nav__links.is-open {
    display:flex; position:absolute; top: var(--nav-h); left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0; background:#fff;
    border-bottom:1px solid var(--border); padding:.5rem var(--gutter) 1rem;
  }
  .nav__links.is-open .nav__link { padding:.8rem .2rem; border-bottom:1px solid var(--border); }
  .hamburger { display:block; margin-left:auto; }
  .nav__actions { margin-left:0; }
  .grid--2, .grid--3, .tgrid { grid-template-columns: 1fr; }
  .tcard--wide { grid-column: auto; }
  .about__stats { gap: 1.4rem; }
  html[lang="en"] .nav__actions .btn { display: none; }
}

/* ============ WordPress / GeneratePress integratsioon ============ */
/* Lehed (section-fragmendid): sektsioonid täislaiuses, sisu tsentreerib oma .container */
body.page .site-content,
body.page #content { max-width: 100%; padding: 0; }
body.page .content-area { width: 100%; float: none; }
body.page .site-main { padding: 0; margin: 0; }
body.page article.page,
body.page .inside-article,
body.page .entry-content { max-width: 100%; margin: 0; padding: 0; }
body.page .entry-content > * { margin-top: 0; }

/* Üksik-artikkel ja artiklite loend: loetav veerg */
body.single-post .site-content,
body.blog .site-content,
body.archive .site-content { padding: 48px 20px; }
body.single-post .content-area,
body.blog .content-area,
body.archive .content-area { width: 100%; float: none; }
body.single-post .inside-article,
body.single-post .entry-content,
body.single-post .entry-header,
body.blog .inside-article,
body.blog .entry-header,
body.archive .inside-article { max-width: 760px; margin-left: auto; margin-right: auto; }
body.single-post .entry-title,
body.blog .page-header .entry-title { font-size: clamp(1.8rem, 3vw, 2.6rem); }
body.single-post .entry-content p { line-height: 1.75; }

/* GeneratePressi vaikimisi lehesisese pealkirja peidame lehtedel (fragmentides on oma H1) */
body.page .entry-header { display: none; }

/* Logo kõrgus — võida WooCommerce'i img-reeglid (nt .woocommerce img) */
.site-header .brand__img { height: 38px !important; width: auto !important; max-width: none; }
.footer .brand__img { height: 34px !important; width: auto !important; }

/* Artikli autorirea peitmine (Kaja on ainuautor; kuupäev jääb) */
.single-post .byline,
.single-post .entry-meta .byline { display: none; }

/* ===== QA 8.07: WooCommerce parandused ===== */
/* Tootegalerii — kindlusta pildi nähtavus (slider JS võib jätta 0-kõrguse / opacity 0) */
.woocommerce-product-gallery { opacity: 1 !important; }
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images img { width: 100% !important; height: auto !important; display: block; }
.woocommerce div.product div.images { max-width: 460px; }

/* Woo nupud brändivärvi (teal), mitte lilla vaikevärv */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce .button.alt, .woocommerce #respond input#submit, .woocommerce a.button.alt,
.single_add_to_cart_button, .woocommerce .checkout-button,
.wc-block-components-button, .wp-block-button__link {
	background-color: var(--teal-dark) !important;
	color: #fff !important;
	border-radius: 8px !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .button.alt:hover, .single_add_to_cart_button:hover, .woocommerce .checkout-button:hover,
.wc-block-components-button:hover, .wp-block-button__link:hover {
	background-color: #006666 !important;
}

/* QA 8.07: autorirea peit globaalselt (Kaja ainuautor; eemaldab tühja "by" + katkise author-lingi; kuupäev jääb) */
.byline, .entry-meta .byline, .author.vcard { display: none !important; }

/* QA 8.07b: prototüübis EI olnud linkidel allajoonimist (nav, nupud, jalus, sisu) — GeneratePress/theme.json lisab selle ja võidab laadimisjärjekorra tõttu; taastame prototüübi (a{text-decoration:none}). Erand: .citem__remove jääb. */
a, a:hover, a:focus,
.site-header a, .nav__link, .brand, .footer a, .btn, .card__link,
.woocommerce a, .woocommerce a.button, .wc-block-components-button, .entry-content a,
.woocommerce-breadcrumb a { text-decoration: none !important; }
.citem__remove { text-decoration: underline !important; }

/* Juriidilised/tekstilehed — loetav veerg (võida body.page täislaius) */
body.ktr-doc .site-content { padding: 48px 20px 64px; }
body.ktr-doc .content-area { width: 100%; }
body.ktr-doc .inside-article {
	max-width: 980px !important;
	margin-inline: auto !important;
	padding: clamp(28px, 5vw, 64px) !important;
	background: #fff;
}
body.ktr-doc .entry-content {
	max-width: 820px !important;
	margin-inline: auto !important;
	padding: 0 !important;
}
body.ktr-doc .entry-content h2 { font-size: 1.45rem; margin: 2.2rem 0 .7rem; color: var(--ink-blue); }
body.ktr-doc .entry-content h3 { font-size: 1.12rem; margin: 1.4rem 0 .5rem; }
body.ktr-doc .entry-content p, body.ktr-doc .entry-content li { line-height: 1.7; }
body.ktr-doc .entry-content table { font-size: .9rem; width: 100%; border-collapse: collapse; }
body.ktr-doc .entry-content td, body.ktr-doc .entry-content th { border: 1px solid var(--border); padding: .5rem .6rem; text-align: left; vertical-align: top; }
body.ktr-doc .wp-block-separator { margin: 2rem 0; border-color: var(--border); }
.ktr-info-box {
	padding: 1.25rem 1.4rem;
	border-left: 4px solid var(--teal);
	border-radius: var(--r-sm);
	background: rgba(18,156,166,.08);
}

/* ===== Gutenberg details-akordion (asendab button/panel markupi; avaneb ka redaktoris) ===== */
.accordion details.wp-block-details { border-bottom: 1px solid var(--border); padding: 0; margin: 0; }
.accordion details.wp-block-details summary { list-style: none; cursor: pointer; font-size: 1.05rem; font-weight: 600; color: var(--text); padding: 1.15rem 2.5rem 1.15rem 0; position: relative; }
.accordion details.wp-block-details summary::-webkit-details-marker { display: none; }
.accordion details.wp-block-details summary::after { content: "+"; position: absolute; right: .2rem; top: 50%; transform: translateY(-50%); font-size: 1.4rem; font-weight: 400; color: var(--teal); }
.accordion details.wp-block-details[open] summary::after { content: "\2013"; }
.accordion details.wp-block-details > *:not(summary) { color: var(--text-2); max-width: 68ch; margin: 0 0 1.15rem; }

/* ===== Endised inline-stiilid utiliitklassidena (genereeritud) ===== */
/* Genereeritud: endised inline-stiilid plokiredaktori jaoks */
.kt-s1 { padding-top:0; }
.kt-s2 { background:var(--tint);border:1.5px solid var(--teal);padding:2rem 2.2rem; }
.kt-s3 { background:var(--teal);color:#fff; }
.kt-s4 { font-size:1.6rem; }
.kt-s5 { max-width:62ch; }
.kt-s6 { margin-bottom:0; }
.kt-s7 { margin-top:1rem;font-size:.9rem;color:var(--muted); }
.kt-s8 { margin:0; }
.kt-s9 { font-size:.72rem; }
.kt-s10 { text-align:center;margin-top:2.2rem; }
.kt-s11 { max-width:820px; }
.kt-s12 { color:#7fd6da; }
.kt-s13 { justify-content:center; }
.kt-s14 { max-width:880px; }
.kt-s15 { max-height:400px; }
.kt-s16 { font-size:.9rem;color:var(--muted); }
.kt-s17 { font-size:1.35rem; }
.kt-s18 { font-size:.82rem; }
.kt-s19 { display:flex;gap:.6rem;flex-wrap:wrap;margin-top:auto; }

/* Plokiredaktor võib kaardi lõppu jätta tühja lõigu. See ei tohi võtta
 * flex-kaardis ruumi ega lükata tegevusnuppe naaberkaardist kõrgemale. */
.card p:empty { display:none !important; }
.kt-s20 { max-width:760px;text-align:center; }
.kt-s21 { font-size:1.5rem; }
.kt-s22 { color:#bfe0e4; }
.kt-s23 { margin-bottom:1rem; }
.kt-s24 { max-width:48ch; }
.kt-s25 { margin-top:1.5rem;margin-bottom:0; }
.kt-s26 { margin-bottom:1.5rem; }
.kt-s27 { text-align:center;font-size:.85rem;color:var(--muted);margin-top:1rem;margin-bottom:0; }
.kt-s28 { font-size:.82rem;color:var(--muted);margin-bottom:0; }
.kt-s29 { max-width:760px; }
.kt-s30 { max-width:26ch; }
.kt-s31 { justify-content:center;margin-bottom:0; }
.kt-s32 { max-width:720px; }
.kt-s33 { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.kt-s34 { text-align:center;font-size:.85rem;color:var(--muted);margin:0; }
.kt-s35 { font-size:.85rem; }

/* WP core taastab klassikalises teemas group-plokile inner-containeri — muuda see layout'i suhtes läbipaistvaks, et grid/flex otse-lapsed töötaks nagu prototüübis */
.wp-block-group > .wp-block-group__inner-container { display: contents; }

/* QA 13.07: jaluse tekstivärvid — GP paneb p-le tumeda värvi, mis on ink-taustal loetamatu */
.footer p, .footer__legal, .footer__legal p, .footer li { color: #8fa6b3; }
.footer__brand p { color: #a9bcc7; }
.footer .req span { color: #8fa6b3; }

/* ===== QA 22.07: avalehe täislaius ja mobiilne ülevool ===== */
/* GeneratePress lisab #page konteinerile külgpaddingu. Turunduslehtedel
   annavad sisemise vahe .container elemendid; sektsiooni taust ise on täislaiuses. */
body.page:not(.woocommerce-page):not(.ktr-doc) #page { padding-left: 0; padding-right: 0; }
body.page:not(.woocommerce-page):not(.ktr-doc) .site.grid-container,
body.page:not(.woocommerce-page):not(.ktr-doc) .site-main,
body.page:not(.woocommerce-page):not(.ktr-doc) article.page,
body.page:not(.woocommerce-page):not(.ktr-doc) article.page > .inside-article {
	max-width: none;
	margin: 0;
	padding: 0;
}

.book > * { min-width: 0; }

@media (max-width: 640px) {
	.book { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.book__cover { width: min(200px, 100%); margin-inline: auto; }
}

/* ===== QA 22.07: WooCommerce’i visuaalne ühtlustamine ===== */
/* WooCommerce 10.x vaikevärv #958e09 ei kuulu brändipaletti ning ei anna
   tavatekstil valgel piisavat kontrasti. */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.wc-block-components-product-price,
.woocommerce .order-total .amount,
.woocommerce table.shop_table .amount,
.woocommerce-cart .cart-collaterals .cart_totals .amount,
.woocommerce-checkout-review-order .amount {
	color: #007a7a !important;
}

.woocommerce del .amount { color: var(--muted) !important; }
.woocommerce ins { text-decoration: none; }

/* Süsteemiteated: säilita Woo role=alert, muuda ainult esitlust. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
	border: 1px solid #b7dddd !important;
	border-left: 4px solid #007a7a !important;
	border-top-color: #b7dddd !important;
	border-radius: 10px;
	background: #f3fafa;
	box-shadow: none;
	color: var(--text);
	padding: 1rem 1.25rem 1rem 3.35rem !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	color: #007a7a !important;
	left: 1.25rem !important;
	top: 1rem !important;
}

.woocommerce-info {
	border-color: #cbd8e0 !important;
	border-left-color: var(--ink-blue) !important;
	background: #f4f7f9;
}
.woocommerce-info::before { color: var(--ink-blue) !important; }
.woocommerce-error {
	border-color: #efc8c5 !important;
	border-left-color: #9f2d26 !important;
	background: #fff7f6;
}
.woocommerce-error::before { color: #9f2d26 !important; }

.woocommerce-message {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.woocommerce-message .button {
	float: none !important;
	order: 2;
	margin-left: auto !important;
	flex: 0 0 auto;
}

.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce .checkout-button:focus-visible,
.woocommerce-message a:focus-visible,
.ktr-order-actions a:focus-visible {
	outline: 3px solid var(--ink-blue) !important;
	outline-offset: 3px;
}

@media (max-width: 640px) {
	.woocommerce-message {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-left: 3.15rem !important;
	}
	.woocommerce-message .button { margin-left: 0 !important; }
}

/* Ostukorv ja kassa: olemasolev Woo/Montonio markup, üks koondatud stiilikiht. */
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-account .site-content {
	padding: clamp(36px, 5vw, 64px) 24px clamp(64px, 8vw, 96px) !important;
}

body.woocommerce-cart .inside-article,
body.woocommerce-checkout .inside-article,
body.woocommerce-account .inside-article {
	max-width: 1120px;
	margin-inline: auto;
	padding: clamp(28px, 4vw, 48px) !important;
	background: #fff;
}

body.woocommerce-account .entry-content {
	max-width: 760px;
	margin-inline: auto;
}

body.woocommerce-account .woocommerce h2 {
	margin-top: 0;
	color: var(--ink-blue);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
}

body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register,
body.woocommerce-account form.woocommerce-ResetPassword {
	margin: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--border);
	border-radius: var(--r-lg);
	background: #fff;
}

body.woocommerce-account form.woocommerce-ResetPassword > p:first-child {
	margin-top: 0;
	color: var(--text-2);
	line-height: 1.65;
}

body.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	min-height: 44px;
	margin-right: .75rem;
}

body.woocommerce-account .woocommerce-LostPassword {
	margin-bottom: 0;
}

/* Kohandatud kontaktivorm: sama väljade, fookuse ja ruumi süsteem nagu kassas. */
.ktr-contact-form {
	box-sizing: border-box;
	max-width: 760px;
	margin-inline: auto;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--border);
	border-radius: var(--r-lg);
	background: #fff;
	color: var(--text);
}

.ktr-contact-form p {
	margin: 0 0 1rem;
}

.ktr-contact-form textarea {
	min-height: 148px;
	resize: vertical;
}

.ktr-contact-form button[type="submit"] {
	min-height: 48px;
	margin-top: .25rem;
}

.woocommerce table.shop_table {
	border: 1px solid var(--border);
	border-radius: var(--r);
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	overflow: hidden;
}

/*
 * Montonio kuvab pakipunktide tulemused absoluutse rippmenüüna tellimustabeli
 * sees. Üldine shop_table overflow:hidden lõikab loendi väiksel ekraanil ära
 * ja muudab nähtava klikiala brauseriti ebausaldusväärseks. Erand on teadlikult
 * piiratud klassikalise kassa tellimustabeli ning Montonio väljadega.
 */
.woocommerce-checkout table.woocommerce-checkout-review-order-table,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .montonio-pickup-point,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .montonio-pickup-point > td,
.woocommerce-checkout .montonio-pickup-point__container {
	overflow: visible;
}

.woocommerce-checkout .montonio-pickup-point__dropdown {
	width: 100%;
	max-width: 100%;
	max-height: min(300px, 50vh);
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.woocommerce-checkout .montonio-pickup-point__option {
	touch-action: manipulation;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: .9rem 1rem;
	border-color: var(--border);
}
.woocommerce table.shop_table th {
	color: var(--ink-blue);
	font-weight: 600;
}
.woocommerce-cart table.cart img {
	width: 72px;
	border-radius: var(--r-sm);
}
.woocommerce a.remove {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	color: #8b2d28 !important;
	font-weight: 500;
}
.woocommerce a.remove:hover { background: #8b2d28 !important; color: #fff !important; }

.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container--default .select2-selection--single {
	min-height: 44px;
	border: 1px solid var(--border);
	border-radius: var(--r-sm);
	background: #fff;
	box-shadow: none;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { padding: .68rem .78rem; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce .select2-container--focus .select2-selection--single {
	border-color: var(--teal);
	outline: 3px solid rgba(0,153,153,.18);
	outline-offset: 1px;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: #9f2d26;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	padding: clamp(1.15rem, 2.5vw, 1.65rem);
	border: 1px solid var(--border);
	border-radius: var(--r-lg);
	background: #fff;
}
.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 { color: var(--ink-blue); }

.woocommerce-checkout #payment {
	border: 1px solid #cfe4e4;
	border-radius: var(--r);
	background: var(--bg-soft);
}
.woocommerce-checkout #payment ul.payment_methods {
	padding: 1.15rem;
	border-bottom-color: var(--border);
}
.woocommerce-checkout #payment div.payment_box {
	border-radius: var(--r-sm);
	background: #fff;
	color: var(--text-2);
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment .place-order { padding: 1.15rem; }
.woocommerce-checkout #place_order {
	min-height: 48px;
	padding-inline: 1.5rem;
}

@media (max-width: 640px) {
	body.woocommerce-cart .site-content,
	body.woocommerce-checkout .site-content,
	body.woocommerce-account .site-content { padding-inline: 16px !important; }
	body.woocommerce-cart .inside-article,
	body.woocommerce-checkout .inside-article,
	body.woocommerce-account .inside-article { padding: 24px 18px !important; }
	body.woocommerce-account form.woocommerce-form-login,
	body.woocommerce-account form.woocommerce-form-register,
	body.woocommerce-account form.woocommerce-ResetPassword,
	.ktr-contact-form { padding: 1.15rem; }
	.woocommerce table.shop_table_responsive tr,
	.woocommerce-page table.shop_table_responsive tr {
		display: block;
		margin-bottom: 1rem;
		padding: .55rem;
		border: 1px solid var(--border);
		border-radius: var(--r);
	}
	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td {
		min-height: 44px;
		padding: .65rem .55rem;
		border-color: var(--border);
	}
	.woocommerce-cart table.cart td.actions .coupon {
		display: grid;
		grid-template-columns: 1fr;
		gap: .55rem;
	}
	.woocommerce-cart table.cart td.actions .coupon .input-text,
	.woocommerce-cart table.cart td.actions .coupon .button { width: 100%; }
}

/* Tellimuse kinnitus: WooCommerce’i markup jääb uuenduskindlalt puutumata. */
body.woocommerce-order-received .site-content {
	padding: clamp(40px, 6vw, 76px) 24px clamp(64px, 8vw, 104px) !important;
}

body.woocommerce-order-received .inside-article {
	max-width: 1080px !important;
	margin-inline: auto !important;
	padding: clamp(28px, 5vw, 60px) !important;
	background: #fff;
}

body.woocommerce-order-received .entry-content {
	max-width: 960px !important;
	margin-inline: auto !important;
	padding: 0 !important;
}

.woocommerce-order-received .woocommerce-order {
	color: var(--text);
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 1.75rem !important;
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	border: 1px solid #b7dddd;
	border-left: 5px solid #007a7a;
	border-radius: var(--r-lg);
	background: var(--tint);
	color: var(--ink-blue);
	font-size: clamp(1.2rem, 2.4vw, 1.65rem);
	font-weight: 600;
	line-height: 1.35;
}

.woocommerce-order-received .woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 2rem !important;
	padding: 0 !important;
}

/* WooCommerce'i clearfix loob vaikimisi ::before/::after tabelielemendid.
 * Grid-paigutuses muutuvad need fantoomlahtriteks ja nihutavad tellimuse
 * infokaarte. Clearfix pole siin vajalik, sest loend ei kasuta floate. */
.woocommerce-order-received .woocommerce-order-overview::before,
.woocommerce-order-received .woocommerce-order-overview::after {
	content: none !important;
	display: none !important;
}

.woocommerce-order-received .woocommerce-order-overview li:last-child:nth-child(3n + 2) {
	grid-column: span 2;
}

.woocommerce-order-received .woocommerce-order-overview li {
	float: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 1rem !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--r);
	background: #fff;
	line-height: 1.45;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
	display: block;
	margin-top: .3rem;
	color: var(--ink-blue);
	font-size: 1rem;
	overflow-wrap: anywhere;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
	margin-top: 2rem;
}

.woocommerce-order-received h2,
.woocommerce-order-received h3 {
	color: var(--ink-blue);
}

.woocommerce-order-received table.shop_table {
	width: 100%;
	border: 1px solid var(--border);
	border-radius: var(--r);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
}

.woocommerce-order-received table.shop_table th,
.woocommerce-order-received table.shop_table td {
	padding: .85rem 1rem;
	border-color: var(--border);
}

.woocommerce-order-received .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
}

/* WooCommerce'i clearfix lisab aadressikonteinerile ::before/::after.
 * Gridis muutuvad need nähtamatuteks lahtriteks: arveaadress nihkub paremale
 * ja tarneaadress järgmisele reale. Grid ei vaja clearfix'i. */
.woocommerce-order-received .woocommerce-columns--addresses::before,
.woocommerce-order-received .woocommerce-columns--addresses::after {
	content: none !important;
	display: none !important;
}

.woocommerce-order-received .woocommerce-column {
	float: none !important;
	width: auto !important;
	padding: 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--r);
	background: #fff;
}

.ktr-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 2rem;
}

.ktr-order-next {
	margin-top: 2rem;
	padding: clamp(1.15rem, 3vw, 1.6rem);
	border: 1px solid #b7dddd;
	border-radius: var(--r-lg);
	background: var(--bg-soft);
}
.ktr-order-next h2 { margin-bottom: .45rem; }
.ktr-order-next p { max-width: 68ch; margin-bottom: 0; }

/* Sama detailikiht ka konto tellimuse-vaates. */
.woocommerce-view-order .woocommerce-order-details,
.woocommerce-view-order .woocommerce-customer-details {
	margin-top: 2rem;
}
.woocommerce-view-order .woocommerce-column {
	padding: 1.25rem;
	border: 1px solid var(--border);
	border-radius: var(--r);
	background: #fff;
}

/* WooCommerce Cart & Checkout Blocks (selle saidi tegelik ostukorvi/kassa markup). */
.wc-block-cart,
.wc-block-checkout {
	max-width: 1120px;
	margin-inline: auto;
}
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
	min-width: 0;
}
.wc-block-cart-items,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar,
.wc-block-components-checkout-step {
	border-color: var(--border) !important;
}
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
	padding: 1.15rem !important;
	border: 1px solid var(--border);
	border-radius: var(--r-lg);
	background: var(--bg-soft);
}
.wc-block-cart-items__row {
	border-bottom-color: var(--border) !important;
}
.wc-block-components-product-name {
	color: var(--ink-blue) !important;
	font-weight: 600;
}
.wc-block-components-product-price,
.wc-block-components-totals-item__value,
.wc-block-components-formatted-money-amount {
	color: #007a7a;
}
.wc-block-components-quantity-selector {
	border-color: var(--border) !important;
	border-radius: var(--r-sm) !important;
}
.wc-block-components-quantity-selector__button {
	min-width: 40px !important;
	min-height: 40px !important;
	color: var(--teal) !important;
}
.wc-block-cart-item__remove-link {
	min-height: 40px;
	color: #8b2d28 !important;
	font-weight: 600;
}
.wc-block-components-button:not(.is-link) {
	min-height: 48px;
	border-radius: var(--r-sm) !important;
}
.wc-block-components-checkout-step {
	margin-bottom: 1rem !important;
	padding: 1.15rem !important;
	border: 1px solid var(--border) !important;
	border-radius: var(--r-lg);
	background: #fff;
}
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title {
	color: var(--ink-blue);
	font-weight: 650;
}
.wc-block-components-text-input input,
.wc-blocks-components-select .wc-blocks-components-select__select {
	min-height: 48px !important;
	border-color: var(--border) !important;
	border-radius: var(--r-sm) !important;
	box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--teal) !important;
	box-shadow: 0 0 0 3px rgba(0,153,153,.18) !important;
	outline: none;
}
.wc-block-components-radio-control-accordion-option {
	border-color: var(--border) !important;
	background: #fff;
}
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 4px 0 0 var(--teal) !important;
}
.wc-block-components-checkbox__input:focus,
.wc-block-components-radio-control__input:focus {
	outline: 3px solid rgba(0,153,153,.22) !important;
	outline-offset: 2px;
}
.wc-block-components-checkout-place-order-button {
	background: var(--teal-dark) !important;
	color: #fff !important;
	font-weight: 650;
}
.wc-block-components-checkout-place-order-button:hover {
	background: var(--teal-dark) !important;
}
.woocommerce-checkout .ktr-digital-consent {
	margin: 1rem 0 !important;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(0,153,153,.28);
	border-radius: var(--r-sm);
	background: rgba(18,156,166,.08);
}
.woocommerce-checkout .ktr-digital-consent label {
	display: flex;
	gap: .7rem;
	align-items: flex-start;
	line-height: 1.45;
}
.woocommerce-checkout .ktr-digital-consent input {
	flex: 0 0 auto;
	margin-top: .2rem;
}

@media (max-width: 780px) {
	body.ktr-doc .site-content,
	body.woocommerce-order-received .site-content {
		padding-inline: 14px !important;
	}
	body.ktr-doc .inside-article,
	body.woocommerce-order-received .inside-article {
		padding: 28px 20px !important;
	}
	.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.woocommerce-order-received .woocommerce-order-overview li:last-child:nth-child(3n + 2) {
		grid-column: auto;
	}
	.wc-block-components-sidebar-layout {
		display: block !important;
	}
	.wc-block-components-main,
	.wc-block-components-sidebar {
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.wc-block-cart__sidebar,
	.wc-block-checkout__sidebar { margin-top: 1.25rem; }
	.wc-block-cart-items__row {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr) !important;
		gap: .8rem;
	}
	.wc-block-cart-item__image { width: 72px !important; }
	.wc-block-cart-item__product,
	.wc-block-cart-item__total {
		grid-column: 2;
		width: auto !important;
		padding-left: 0 !important;
		text-align: left !important;
	}
	.wc-block-cart-item__total { padding-top: 0 !important; }
}

@media (max-width: 520px) {
	.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.woocommerce div.product form.cart .variations,
	.woocommerce div.product form.cart .variations tbody,
	.woocommerce div.product form.cart .variations tr,
	.woocommerce div.product form.cart .variations th,
	.woocommerce div.product form.cart .variations td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
	.woocommerce div.product form.cart .variations th,
	.woocommerce div.product form.cart .variations td {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.woocommerce div.product form.cart .variations select,
	.woocommerce div.product form.cart .variations .value,
	.woocommerce div.product form.cart .variations .select2-container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
	.single-product .summary,
	.single-product .woocommerce-variation-add-to-cart {
		min-width: 0 !important;
		max-width: 100% !important;
	}
	.woocommerce-order-received .woocommerce-columns--addresses { grid-template-columns: 1fr; }
	.woocommerce-order-received table.shop_table th,
	.woocommerce-order-received table.shop_table td { padding: .7rem .65rem; }
	.ktr-order-actions { flex-direction: column; }
	.ktr-order-actions .btn { width: 100%; text-align: center; }
}

.single-post .entry-content .ktr-article-section-heading {
	font-size: 1.2rem;
	font-weight: 600;
	margin-top: 1.8rem;
}

.ktr-system-page-title {
	margin: 0 0 clamp(1.25rem, 3vw, 2rem);
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.08;
	font-weight: 650;
	color: var(--ink-blue);
}

/* Keep the always-available consent control reachable without covering mobile
   page copy. Complianz otherwise renders a wide fixed button over the content. */
@media (max-width: 520px) {
	.cmplz-manage-consent.manage-consent-2.cmplz-show {
		right: 10px !important;
		bottom: 10px !important;
		width: auto !important;
		max-width: calc(100vw - 20px) !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 36px !important;
		padding: 9px 12px !important;
		font-size: 13px !important;
		line-height: 1.2 !important;
		border-radius: 999px !important;
	}
}
