/*
Theme Name: KIME
Theme URI: https://karatetreniruotes.lt
Author: Rekos
Description: Karatė klubo KIME vienpuslapė svetainė. Sukurta pagal Figma dizainą.
Version: 1.22.4
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kime
Tags: one-page, block-theme, full-site-editing
*/

/* =========================================================================
   Fonts — self-hosted (no external requests)
   ========================================================================= */

/* Montserrat */
@font-face{font-family:Montserrat;font-style:normal;font-weight:100;font-display:swap;src:url(assets/fonts/montserrat-100-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:100;font-display:swap;src:url(assets/fonts/montserrat-100-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/montserrat-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(assets/fonts/montserrat-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/montserrat-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/montserrat-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/montserrat-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/montserrat-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/montserrat-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/montserrat-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Nunito */
@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/nunito-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/nunito-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/nunito-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/nunito-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/nunito-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/nunito-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* =========================================================================
   Tokens — every value traced to the Figma file (1440w light / 390w light)
   ========================================================================= */
:root{
  /* Colour */
  --kime-ink:#1a1a1a;          /* headings, buttons, footer surface */
  --kime-ink-alt:#1d1e20;      /* section headings */
  --kime-black:#000;
  --kime-body:#4a4a43;         /* hero sub-copy */
  --kime-muted:#323232;        /* address line */
  --kime-surface:#f1f1f1;      /* page + section background */
  --kime-white:#fff;
  --kime-on-dark:#f3f3f2;      /* footer text */
  --kime-gold:#ffbc00;         /* rating stars */
  --kime-hairline:rgba(26,26,26,.12);

  /* Layout: 1440 frame, 108px gutters -> 1224 content. 390 frame, 31px gutters -> 328. */
  --kime-wrap:1224px;
  --kime-gutter:31px;
  --kime-radius:20px;
  --kime-radius-sm:12px;

  /* Type ramp: mobile anchor (390) -> desktop anchor (1440) */
  --kime-h1:36px;        --kime-h1-lh:1.3;
  --kime-h2:40px;        --kime-h2-lh:1.2;
  --kime-h2-lg:40px;
  --kime-h2-xl:40px;
  --kime-h5:24px;        --kime-h5-lh:1.2;
  --kime-lead:16px;      --kime-lead-lh:1.5;
  --kime-body-size:16px; --kime-body-lh:1.5;
  --kime-btn:14px;       --kime-btn-ls:1.4px;
}

@media (min-width:900px){
  :root{
    --kime-gutter:108px;
    --kime-h1:64px;
    --kime-h2:40px;      --kime-h2-lh:1.3;
    --kime-h2-lg:48px;
    --kime-h2-xl:64px;
    --kime-lead:18px;    --kime-lead-lh:1.6;
    --kime-btn:16px;     --kime-btn-ls:1.6px;
  }
}

/* =========================================================================
   Base
   ========================================================================= */
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--kime-surface);
  color:var(--kime-ink);
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:var(--kime-body-size);
  line-height:var(--kime-body-lh);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* Root-level overflow guard: never let a full-bleed child scroll the page sideways. */
.wp-site-blocks{overflow-x:clip}
img{max-width:100%;height:auto}
a{color:inherit}
:where(h1,h2,h3,h4,h5,h6,p){margin:0}
/* core/image always renders a <figure>; the layout classes land on that figure. */
figure,.wp-block-image{margin:0}

.kime-visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.kime-skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--kime-ink);color:#fff;padding:.75rem 1rem;border-radius:0 0 var(--kime-radius-sm) 0;
}
.kime-skip-link:focus{left:0}

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--kime-ink);outline-offset:2px;border-radius:4px;
}

/* =========================================================================
   Section shell
   ========================================================================= */
.kime-section{background:var(--kime-surface);position:relative}
.kime-section--white{background:var(--kime-white)}
.kime-wrap{
  width:min(100% - (var(--kime-gutter) * 2), var(--kime-wrap));
  margin-inline:auto;
}

/* =========================================================================
   Type
   ========================================================================= */
.kime-h1{
  font-size:var(--kime-h1);line-height:var(--kime-h1-lh);
  font-weight:700;color:var(--kime-ink);letter-spacing:-.01em;
}
.kime-h2{
  font-size:var(--kime-h2);line-height:var(--kime-h2-lh);
  font-weight:700;color:var(--kime-ink-alt);letter-spacing:-.01em;
}
.kime-h2--lg{font-size:var(--kime-h2-lg);color:var(--kime-ink)}
.kime-h2--xl{font-size:var(--kime-h2-xl)}
.kime-h2--black{color:var(--kime-black)}
.kime-h5{
  font-size:var(--kime-h5);line-height:var(--kime-h5-lh);
  font-weight:600;color:var(--kime-ink);
}
.kime-lead{
  font-size:var(--kime-lead);line-height:var(--kime-lead-lh);
  font-weight:400;color:var(--kime-body);
}
.kime-lead--black{color:var(--kime-black)}
/* Montserrat Thin body copy — matches the "Montserrat:Thin" runs in the Figma file. */
.kime-prose{
  font-family:Nunito,Montserrat,sans-serif;
  font-weight:400;font-size:var(--kime-lead);line-height:1.5;color:var(--kime-ink);
}
.kime-prose p + p{margin-top:1.65em}
.kime-prose--nunito{font-family:Nunito,Montserrat,sans-serif;font-weight:400;font-size:var(--kime-lead);line-height:1.5;color:var(--kime-ink)}
.kime-prose--nunito p + p{margin-top:1.55em}

/* =========================================================================
   Button
   ========================================================================= */
.kime-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:.5rem 1.75rem;
  background:var(--kime-ink);color:var(--kime-white);
  font-family:inherit;font-size:var(--kime-btn);font-weight:500;
  letter-spacing:var(--kime-btn-ls);text-transform:uppercase;text-decoration:none;
  border:0;border-radius:var(--kime-radius-sm);cursor:pointer;
  transition:transform .18s ease,background-color .18s ease;
}
.kime-btn:hover{background:#000;transform:translateY(-2px)}
.kime-btn:active{transform:translateY(0)}
/* Phosphor "arrow-right" as a mask so it always matches the button's color. */
.kime-btn__arrow{
  width:1.2em;height:1.2em;margin-left:.6em;flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width:899px){.kime-btn__arrow{display:none}}

/* =========================================================================
   Header
   ========================================================================= */
.kime-header{
  position:sticky;top:0;z-index:100;
  background:var(--kime-surface);
  min-height:80px;display:flex;align-items:center;
}
.kime-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}
.kime-header__logo{display:block;line-height:0}
.kime-header__logo img{width:70px;height:32px;object-fit:contain;display:block}
.kime-header .kime-btn{min-height:42px;font-size:14px;letter-spacing:1.4px;padding-inline:2.5rem}
@media (min-width:900px){
  .kime-header{min-height:68px}
  /* Desktop drops the header CTA (owner's call, 2026-08-18): the booking
     section is one scroll away and the button added nothing. Mobile keeps
     it as a jump link. */
  .kime-header .kime-btn{display:none}
  .kime-header__logo img{width:108px;height:48px}
  /* Figma header gutter is 124px, 16px wider than the 108px body gutter. */
  .kime-header .kime-wrap{width:min(100% - 248px, 1192px)}
}
@media (max-width:899px){
  .kime-header .kime-btn{padding-inline:1.1rem;font-size:12px;letter-spacing:1px}
}

/* =========================================================================
   Hero
   ========================================================================= */
.kime-hero{padding-block:0;overflow:hidden}
.kime-hero__grid{display:grid;gap:2rem}
.kime-hero__copy{max-width:573px}
.kime-hero__title{margin-bottom:1.35rem}
.kime-hero__lead{margin-bottom:1.5rem;max-width:478px}
.kime-hero__rating{display:flex;align-items:center;gap:.65rem;margin-top:1.15rem;flex-wrap:wrap}
.kime-hero__stars{
  font-family:Nunito,Montserrat,sans-serif;color:var(--kime-gold);
  font-size:16px;line-height:1.5;letter-spacing:.02em;
}
.kime-hero__proof{font-size:14px;line-height:1.3;font-weight:400;color:var(--kime-body)}
.kime-hero__media{border-radius:var(--kime-radius);overflow:hidden}
.kime-hero__media img{display:block;width:100%;height:100%;object-fit:cover}

@media (max-width:899px){
  .kime-hero{padding-block:65px 82px}
  .kime-hero__copy{text-align:center;margin-inline:auto}
  .kime-hero__title,.kime-hero__lead{margin-inline:auto}
  .kime-hero__rating{flex-direction:column;gap:.25rem;margin-top:1.9rem}
  .kime-hero__actions{display:flex;justify-content:center}
  .kime-hero__actions .kime-btn{width:277px;max-width:100%}
  .kime-hero__media{margin-top:2.4rem;aspect-ratio:328/210}
}
@media (min-width:900px){
  /* Figma 1:4 — copy column at x=108, image column x=691..1332 (641 wide). */
  .kime-hero{min-height:664px;padding-bottom:23px}
  .kime-hero__grid{
    grid-template-columns:minmax(0,1fr) 641px;
    align-items:start;gap:0;
  }
  .kime-hero__copy{padding-top:82px}
  .kime-hero__rating{margin-top:1.9rem}
  .kime-hero__stars{font-size:22px;line-height:1.3}
  .kime-hero__proof{font-size:16px;line-height:1.3;font-weight:400;color:var(--kime-body)}
  /* Slanted mask from the Figma "Mask" vector: (474.34,0) (0,0) (166.66,641) (641,641) */
  .kime-hero__media{
    border-radius:0;
    width:641px;height:641px;
    clip-path:polygon(74.001% 0, 0 0, 26.0% 100%, 100% 100%);
  }
}

/* =========================================================================
   Split section (copy + single image)
   ========================================================================= */
.kime-split{padding-block:56px}
.kime-split__grid{display:grid;gap:2.5rem;align-items:center}
.kime-split__title{margin-bottom:1.5rem}
.kime-split__media{border-radius:var(--kime-radius);overflow:hidden}
.kime-split__media img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:899px){
  .kime-split{padding-block:39px 40px}
  .kime-split__media{aspect-ratio:328/301;margin-top:1.9rem}
}
@media (min-width:900px){
  /* Figma 1:17 — image 80..624.5, then 157px of clear space before the next section. */
  .kime-split{padding-block:80px 157px}
  .kime-split__grid{grid-template-columns:minmax(0,540px) 606px;gap:120px}
  .kime-split__media{height:544.5px}
  .kime-split__copy{max-width:460px}
}

/* =========================================================================
   Benefits
   ========================================================================= */
.kime-benefits{padding-block:0}
/* Figma 390w (1:210) sets this heading left at x=31; 1440w (1:34) centres it. */
.kime-benefits__title{text-align:left;margin-bottom:0}
@media (min-width:900px){.kime-benefits__title{text-align:center}}
.kime-benefits__head{padding-block:46px 30px}
@media (min-width:900px){.kime-benefits__head{padding-block:19px}}
.kime-benefits__grid{display:grid;gap:48px;padding-bottom:56px}
.kime-benefit__icon{margin-bottom:1rem}
.kime-benefit__icon img{width:55px;height:63px;object-fit:contain;display:block}
.kime-benefit__title{margin-bottom:.75rem}
.kime-benefit__text{font-size:16px;line-height:1.3;color:var(--kime-ink);font-weight:400}
@media (min-width:900px){
  /* Figma 1:35 — three 247px columns on a 309px pitch (x=314/623/932),
     icons at y=69, copy ending at ~298, then 127px of clear space.
     The Figma row sits 26px right of centre; centring it here instead. */
  .kime-benefits__grid{
    grid-template-columns:repeat(3,247px);
    justify-content:center;
    gap:0 62px;padding:69px 0 127px;
    width:100%;
  }
  .kime-benefit__icon{margin-bottom:18px}
  .kime-benefit__title{margin-bottom:17px}
}

/* =========================================================================
   Feature (centred title + image + CTA)
   ========================================================================= */
.kime-feature{padding-block:41px 44px;text-align:center}
.kime-feature__title{margin-bottom:1.6rem}
.kime-feature__media{
  border-radius:26px;overflow:hidden;margin-inline:auto;max-width:609px;
}
.kime-feature__media img{display:block;width:100%;height:auto}
.kime-feature__actions{margin-top:1.9rem}
@media (min-width:900px){
  .kime-feature{padding-block:25px 102px}
  .kime-feature__title{margin-bottom:2rem;max-width:700px;margin-inline:auto}
  .kime-feature__actions{margin-top:1.875rem}
}

/* =========================================================================
   Groups (copy + photo collage)
   ========================================================================= */
.kime-groups{padding-block:87px 0}
.kime-groups__title{margin-bottom:1.6rem}
.kime-groups__collage{display:grid;gap:12px;margin-top:2.2rem}
.kime-groups__collage figure{margin:0;border-radius:var(--kime-radius);overflow:hidden}
.kime-groups__collage img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:899px){
  .kime-groups{padding-bottom:0}
  .kime-groups__collage{grid-template-columns:158px 158px;grid-template-rows:144px 144px;justify-content:space-between;gap:12px}
  .kime-groups__collage figure:nth-child(1){grid-row:1 / span 2}
  .kime-groups__collage figure:nth-child(2){grid-column:2;grid-row:1}
  .kime-groups__collage figure:nth-child(3){grid-column:2;grid-row:2}
}
@media (min-width:900px){
  .kime-groups{padding-block:36px 138px}
  .kime-groups__grid{display:grid;grid-template-columns:minmax(0,1fr) 606px;gap:0;align-items:start}
  .kime-groups__copy{padding-top:133px;max-width:512px}
  /* Figma 1:58 breaks after "sportuoja" and "vaikai," — hold that measure. */
  .kime-groups__title{max-width:450px}
  .kime-groups__collage{
    grid-template-columns:400px 194px;grid-template-rows:276.25px 276.25px;
    gap:12px;margin-top:0;
  }
  .kime-groups__collage figure:nth-child(1){grid-row:1 / span 2}
}

/* =========================================================================
   Coaches
   ========================================================================= */
.kime-coaches{padding-block:53px 60px;text-align:center}
.kime-coaches__title{margin-bottom:1.1rem}
.kime-coaches__lead{margin-bottom:2.4rem;max-width:498px;margin-inline:auto}
.kime-coaches__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.kime-coaches__grid figure{margin:0;aspect-ratio:1;overflow:hidden;border-radius:4px}
.kime-coaches__grid img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:900px){
  /* Figma 1:67 — title at y=79, lead at 175.8, 5x2 grid of 232px at 291.8, 111px tail. */
  .kime-coaches{padding-block:79px 111px}
  .kime-coaches__grid{grid-template-columns:repeat(5,1fr)}
  .kime-coaches__title{margin-bottom:19px}
  .kime-coaches__lead{margin-bottom:70px}
}

/* =========================================================================
   Location
   ========================================================================= */
.kime-location{padding-block:39px 60px}
.kime-location__grid{display:grid;gap:2.2rem;align-items:center}
.kime-location__title{text-align:center;margin-bottom:1.5rem}
.kime-location__label{font-size:16px;line-height:1.5;font-weight:700;color:var(--kime-black);text-align:center}
.kime-location__address{
  font-family:Nunito,Montserrat,sans-serif;font-size:16px;line-height:1.5;
  color:var(--kime-muted);text-align:center;text-decoration:none;display:block;margin-top:.25rem;
}
.kime-location__address:hover{text-decoration:underline}
.kime-location__map{
  border-radius:var(--kime-radius-sm);overflow:hidden;line-height:0;
  aspect-ratio:328/240;background:#e5e3df;
}
.kime-location__map iframe{width:100%;height:100%;border:0;display:block}
@media (min-width:900px){
  .kime-location{padding-block:80px 60px}
  .kime-location__grid{grid-template-columns:minmax(0,1fr) 709px;gap:60px}
  .kime-location__map{aspect-ratio:709/424}
  .kime-location__title{margin-bottom:2.4rem}
}

/* =========================================================================
   FAQ (core/details accordion)
   ========================================================================= */
.kime-faq{padding-block:48px 56px}
.kime-faq__title{text-align:center;margin-bottom:.9rem}
.kime-faq__lead{text-align:center;margin-bottom:2.2rem;max-width:560px;margin-inline:auto}
.kime-faq__list{max-width:840px;margin-inline:auto;display:grid;gap:12px}
.kime-faq__list .wp-block-details{
  background:var(--kime-white);
  border:1px solid var(--kime-hairline);
  border-radius:var(--kime-radius-sm);
  padding:0;overflow:hidden;
}
.kime-faq__list .wp-block-details summary{
  list-style:none;cursor:pointer;
  padding:20px 56px 20px 24px;position:relative;
  font-weight:500;font-size:17px;line-height:1.45;color:var(--kime-ink);
}
.kime-faq__list .wp-block-details summary::-webkit-details-marker{display:none}
.kime-faq__list .wp-block-details summary::after{
  content:"";position:absolute;right:24px;top:50%;
  width:11px;height:11px;margin-top:-6px;
  border-right:2px solid var(--kime-ink);border-bottom:2px solid var(--kime-ink);
  transform:rotate(45deg);transform-origin:center;
  transition:transform .22s ease;
}
.kime-faq__list .wp-block-details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.kime-faq__list .wp-block-details > :not(summary){
  padding:0 24px 20px;font-size:16px;line-height:1.65;color:var(--kime-body);margin:0;
}
.kime-faq__list .wp-block-details > :not(summary) + :not(summary){padding-top:.8em}
@media (min-width:900px){
  .kime-faq{padding-block:70px 90px}
  .kime-faq__title{margin-bottom:1.1rem}
  .kime-faq__lead{margin-bottom:3rem}
  .kime-faq__list .wp-block-details summary{font-size:18px;padding:24px 64px 24px 28px}
  .kime-faq__list .wp-block-details > :not(summary){padding:0 28px 24px}
}

/* =========================================================================
   Contact / form section
   ========================================================================= */
.kime-contact{padding-block:39px 60px;text-align:center}
.kime-contact__title{margin-bottom:1.4rem}
.kime-contact__lead{margin-bottom:2.2rem;max-width:522px;margin-inline:auto}
.kime-contact__form{max-width:660px;margin-inline:auto;text-align:left}
@media (min-width:900px){
  .kime-contact{padding-block:94px 110px}
  /* Figma 1:152 sets this as two lines: "Pirma treniruotė" / "nemokamai!" */
  .kime-contact__title{margin-bottom:1.8rem;white-space:nowrap}
  .kime-contact__lead{margin-bottom:3rem}
}

/* Contact Form 7 — styled to the KIME design system */
/* Flex column, not block: the whitespace between the label span and CF7's
   control wrapper would otherwise form an anonymous line box and add ~24px. */
.kime-booking .kime-field{display:flex;flex-direction:column;margin-bottom:11px}
.kime-booking .wpcf7-form-control-wrap{display:block}
.kime-booking .kime-field__label{
  display:block;font-size:13px;line-height:1.4;font-weight:500;
  color:var(--kime-ink);margin-bottom:5px;
}
.kime-booking .kime-field__req{color:#c0392b;margin-left:2px}
.kime-booking .kime-field__hint{
  display:block;font-size:13px;line-height:1.4;color:var(--kime-body);
  font-weight:400;margin-top:4px;
}
.kime-booking input[type=text],
.kime-booking input[type=email],
.kime-booking input[type=tel],
.kime-booking select,
.kime-booking textarea{
  width:100%;box-sizing:border-box;
  font-family:inherit;font-size:16px;line-height:1.5;color:var(--kime-ink);
  background:var(--kime-white);
  border:1px solid var(--kime-hairline);border-radius:var(--kime-radius-sm);
  padding:10px 14px;
  transition:border-color .16s ease,box-shadow .16s ease;
  -webkit-appearance:none;appearance:none;
}
.kime-booking textarea{min-height:60px;height:60px;resize:vertical}
.kime-booking select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231a1a1a' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;
}
.kime-booking input:focus,.kime-booking select:focus,.kime-booking textarea:focus{
  outline:none;border-color:var(--kime-ink);box-shadow:0 0 0 3px rgba(26,26,26,.12);
}
.kime-form .kime-form__actions{margin-top:12px;text-align:right}
.kime-form .wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;max-width:320px;min-height:44px;padding:.4rem 1.75rem;
  background:var(--kime-ink);color:var(--kime-white);
  font-family:inherit;font-size:var(--kime-btn);font-weight:500;
  letter-spacing:var(--kime-btn-ls);text-transform:uppercase;
  border:0;border-radius:var(--kime-radius-sm);cursor:pointer;
  -webkit-appearance:none;appearance:none;
  transition:transform .18s ease,background-color .18s ease,opacity .18s ease;
}
.kime-form .wpcf7-submit:hover:not(:disabled){background:#000;transform:translateY(-2px)}
.kime-form .wpcf7-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}
.kime-form .wpcf7-spinner{display:block;margin:12px auto 0}
.kime-form .wpcf7-not-valid-tip{
  display:block;margin-top:6px;font-size:13px;line-height:1.4;color:#c0392b;
}
.kime-booking input.wpcf7-not-valid,
.kime-booking select.wpcf7-not-valid,
.kime-booking textarea.wpcf7-not-valid{border-color:#c0392b}
.kime-form .kime-consent{
  display:flex;gap:10px;align-items:flex-start;
  font-size:12px;line-height:1.45;color:var(--kime-body);margin-bottom:4px;
}
.kime-form .kime-consent input[type=checkbox]{margin-top:3px;flex:0 0 auto}
.kime-form .kime-consent .wpcf7-list-item{margin:0}
.kime-form .kime-consent .wpcf7-list-item-label{font-size:13px;line-height:1.5}
.wpcf7 form .wpcf7-response-output{
  margin:20px 0 0;padding:14px 16px;border-radius:var(--kime-radius-sm);
  font-size:15px;line-height:1.5;border-width:1px;
}
.wpcf7 form.sent .wpcf7-response-output{border-color:#2e7d32;background:rgba(46,125,50,.08);color:#1b5e20}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border-color:#c0392b;background:rgba(192,57,43,.08);color:#8e2b21}
/* Honeypot — never visible, never focusable. */
.kime-form .kime-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* =========================================================================
   Footer
   ========================================================================= */
.kime-footer{background:var(--kime-ink);color:var(--kime-on-dark);padding-block:52px 40px;text-align:center}
.kime-footer__logo{display:block;margin:0 auto 42px;width:171px;height:37px;object-fit:contain}
.kime-footer__cols{display:grid;gap:34px}
.kime-footer__title{font-size:24px;line-height:1.2;font-weight:500;color:var(--kime-on-dark);margin-bottom:.7rem}
.kime-footer a{color:var(--kime-on-dark);text-decoration:none}
.kime-footer a.kime-footer__link{font-size:18px;line-height:1.3;font-weight:500;text-decoration:underline}
.kime-footer a.kime-footer__link:hover{text-decoration:none}
.kime-footer__text{font-size:18px;line-height:1.3;font-weight:500}
.kime-footer__address{font-family:Nunito,Montserrat,sans-serif;font-size:18px;line-height:1.3;color:var(--kime-white);font-weight:400}
.kime-footer__social{display:inline-flex;margin-top:38px}
.kime-footer__social img{width:33px;height:33px;display:block}
.kime-footer__social:hover{opacity:.8}
.kime-footer__legal{
  margin-top:36px;font-size:13px;line-height:1.5;color:rgba(243,243,242,.55);
}
@media (min-width:900px){
  .kime-footer{padding-block:24px 40px}
  .kime-footer__logo{width:218px;height:48px;margin-bottom:33px}
  .kime-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:800px;margin-inline:auto}
  .kime-footer__social{margin-top:30px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
}

/* =========================================================================
   Reviews — social proof
   Sits twice on the home page: under the hero, and right before the booking
   wizard where hesitation is highest.
   ========================================================================= */
.kime-reviews{padding-block:56px}
.kime-reviews__title{text-align:center;margin-bottom:28px}
.kime-reviews__grid{display:grid;gap:14px}
.kime-review{
  margin:0;background:var(--kime-white);
  border-radius:var(--kime-radius);
  padding:24px 24px 22px;
  display:flex;flex-direction:column;gap:12px;
}
.kime-review__stars{
  font-family:Nunito,Montserrat,sans-serif;color:var(--kime-gold);
  font-size:15px;letter-spacing:2px;line-height:1;
}
.kime-review blockquote{margin:0}
.kime-review__text{font-size:15px;line-height:1.65;color:var(--kime-ink)}
.kime-review figcaption{
  margin-top:auto;padding-top:4px;
  font-size:14px;font-weight:700;color:var(--kime-ink);
}
.kime-review figcaption span{
  display:block;font-size:13px;font-weight:400;color:var(--kime-body);margin-top:2px;
}
@media (min-width:900px){
  .kime-reviews{padding-block:72px}
  .kime-reviews__title{margin-bottom:36px}
  .kime-reviews__grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .kime-review{padding:28px 28px 26px}
}

/* =========================================================================
   Booking wizard: people, then a calendar per person, then contacts
   The wizard needs JS; without it the .kime-fallback selects show instead
   and post the same fields.
   ========================================================================= */

.kime-booking{max-width:720px;margin-inline:auto;text-align:left}

/* Visibility contract ----------------------------------------------------- */
.kime-booking:not(.has-js) .kime-progress,
.kime-booking:not(.has-js) .kime-wiz,
.kime-booking:not(.has-js) .kime-modal{display:none}
.kime-booking.has-js .kime-fallback{display:none}
.kime-booking.has-js .kime-form{display:none}
.kime-booking.has-js[data-step="3"] .kime-form{display:block}
.kime-wiz[hidden],.kime-modal[hidden],[data-kime-slot][hidden]{display:none}

/* Progress ---------------------------------------------------------------- */
.kime-progress{
  list-style:none;margin:0 0 28px;padding:0;
  display:flex;justify-content:center;gap:10px;
}
.kime-progress__item{
  display:flex;align-items:center;gap:8px;
  font-size:12px;font-weight:500;letter-spacing:1.1px;text-transform:uppercase;
  color:var(--kime-body);
}
.kime-progress__item + .kime-progress__item::before{
  content:"";width:26px;height:1px;background:var(--kime-hairline);margin-right:8px;
}
.kime-progress__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  border:1px solid var(--kime-hairline);
  font-size:13px;font-weight:600;color:var(--kime-body);
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.kime-progress__item.is-active,.kime-progress__item.is-done{color:var(--kime-ink)}
.kime-progress__item.is-active .kime-progress__num,
.kime-progress__item.is-done .kime-progress__num{
  background:var(--kime-ink);border-color:var(--kime-ink);color:var(--kime-white);
}
@media (max-width:520px){
  .kime-progress{gap:6px}
  .kime-progress__item + .kime-progress__item::before{width:12px;margin-right:4px}
}

/* Panels ------------------------------------------------------------------ */
.kime-wiz__title{
  font-size:18px;line-height:1.3;font-weight:700;color:var(--kime-ink);
  margin-bottom:5px;
}
.kime-wiz__hint{font-size:13px;line-height:1.5;color:var(--kime-body);margin-bottom:12px}
/* Forward actions live on the right, the wizard's reading direction. */
.kime-wiz__nav{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:12px}
.kime-wiz__nav--tight{margin-top:6px;margin-bottom:8px}
.kime-wiz__next{min-width:220px}
/* Back is an arrow in the form's top-left corner; panels 2 and 3 make room
   for it with title padding so it never collides with the step title. */
.kime-wiz{position:relative}
.kime-wiz__back{
  position:absolute;top:-4px;left:0;
  width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--kime-white);color:var(--kime-ink);
  border:1px solid var(--kime-hairline);border-radius:50%;
  font-size:16px;line-height:1;cursor:pointer;z-index:5;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.kime-wiz__back:hover{background:var(--kime-ink);border-color:var(--kime-ink);color:var(--kime-white)}
[data-kime-panel="2"] > .kime-wiz__title,
[data-kime-panel="3"] > .kime-wiz__title{padding-left:50px;min-height:32px}
.kime-wiz__error{
  margin-top:16px;padding:12px 16px;border-radius:var(--kime-radius-sm);
  background:rgba(192,57,43,.08);color:#8e2b21;font-size:14px;line-height:1.5;
}
.kime-wiz__error[hidden]{display:none}
.kime-wiz__ctx{
  background:var(--kime-surface);border-radius:var(--kime-radius-sm);
  padding:8px 12px;margin-bottom:10px;
}
.kime-wiz__ctx[hidden]{display:none}
.kime-wiz__ctx-line{font-size:12px;line-height:1.5;color:var(--kime-ink)}
.kime-wiz__ctx-ok{color:#1a7f37;font-weight:700}
@media (min-width:900px){
  .kime-wiz__title{font-size:20px}
}

/* Step 1: roster ---------------------------------------------------------- */
.kime-roster{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.kime-roster__row{
  background:var(--kime-surface);border-radius:var(--kime-radius);
  padding:12px 14px 14px;
}
.kime-roster__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-bottom:8px;
  font-size:12px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--kime-body);
}
.kime-roster__remove{
  background:none;border:0;padding:0;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:500;color:var(--kime-body);
  text-decoration:underline;text-transform:none;letter-spacing:.4px;
}
.kime-roster__remove:hover{color:var(--kime-ink)}
.kime-roster__remove[hidden]{display:none}
.kime-roster__fields{display:grid;gap:12px}
.kime-roster__fields .kime-field{margin-bottom:0}
.kime-roster__fields .kime-field--group{grid-column:1/-1}
.kime-roster__fields input,.kime-roster__fields select{background:var(--kime-white)}
@media (min-width:700px){
  .kime-roster__fields{grid-template-columns:1fr 1fr}
}
/* Locked group, no age asked: the name is the only field, so give it the row. */
.kime-roster__fields--solo{grid-template-columns:1fr}

/* Fallback (no JS) -------------------------------------------------------- */
.kime-atts{display:flex;flex-direction:column;gap:16px;margin-bottom:8px}
.kime-att{
  border:0;margin:0;padding:18px 20px 20px;
  background:var(--kime-surface);
  border-radius:var(--kime-radius);
}
.kime-att__legend{
  float:left;width:100%;
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:0;margin:0 0 16px;
  font-size:12px;line-height:1.4;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--kime-body);
}
.kime-att > :not(legend){clear:both}
.kime-att .kime-field{margin-bottom:0}
.kime-att > * + *:not([hidden]){margin-top:14px}
.kime-att input[type=text],.kime-att select{background:var(--kime-white)}

/* Add another person ------------------------------------------------------ */
.kime-addmore{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:10px 16px;
  background:none;border:1px dashed rgba(26,26,26,.28);border-radius:var(--kime-radius);
  font-family:inherit;text-align:left;cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease;
}
.kime-addmore:hover{border-color:var(--kime-ink);background:var(--kime-surface)}
.kime-addmore[hidden]{display:none}
.kime-addmore__plus{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:26px;height:26px;border-radius:50%;
  background:var(--kime-ink);color:var(--kime-white);
  font-size:20px;line-height:1;font-weight:400;
}
.kime-addmore__text{display:grid;gap:2px}
.kime-addmore__text strong{font-size:14px;font-weight:700;color:var(--kime-ink)}
.kime-addmore__text small{font-size:12px;line-height:1.4;color:var(--kime-body);font-weight:400}

/* Step 2: the calendar ---------------------------------------------------- */
.kime-cal__nav{display:flex;align-items:center;justify-content:center;gap:14px;margin:2px 0 8px}
.kime-cal__title{
  font-size:15px;line-height:1.2;font-weight:700;color:var(--kime-ink);
  min-width:11ch;text-align:center;margin:0;
}
.kime-cal__arrow{
  width:34px;height:34px;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--kime-white);color:var(--kime-ink);
  border:1px solid var(--kime-hairline);border-radius:50%;
  font-size:17px;cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,opacity .16s ease;
}
.kime-cal__arrow:hover:not(:disabled){background:var(--kime-ink);border-color:var(--kime-ink);color:var(--kime-white)}
.kime-cal__arrow:disabled{opacity:.3;cursor:not-allowed}

.kime-cal__month{display:none}
.kime-cal__month.is-open{display:block}
.kime-cal__none{
  margin-top:8px;padding:10px 12px;border-radius:var(--kime-radius-sm);
  background:var(--kime-surface);font-size:14px;line-height:1.55;color:var(--kime-body);
}
.kime-cal__none[hidden]{display:none}

.kime-cal__slot{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1px;
  width:100%;text-align:left;
  background:var(--kime-surface);
  border:1px solid transparent;border-radius:6px;
  padding:4px 7px;cursor:pointer;font-family:inherit;
  transition:background-color .14s ease,border-color .14s ease,transform .14s ease;
}
.kime-cal__slot:hover:not(:disabled){border-color:var(--kime-ink);transform:translateY(-1px)}
.kime-cal__slot:disabled{cursor:not-allowed;opacity:.55}
/* A full class stays on the calendar on purpose: it shows the club is busy.
   So it reads as "gone", not as a faded error — legible, with a plain cursor. */
.kime-cal__slot.is-full{opacity:.75;cursor:default}
.kime-cal__slot.is-full .kime-cal__slot-time{text-decoration:line-through}
.kime-cal__slot.is-full .kime-cal__slot-left{font-weight:600}
.kime-cal__slot.is-picked{background:var(--kime-ink);border-color:var(--kime-ink)}
.kime-cal__slot.is-picked .kime-cal__slot-time{color:var(--kime-white)}
.kime-cal__slot.is-picked .kime-cal__slot-left{color:rgba(255,255,255,.8)}
.kime-cal__slot-time{font-size:12px;line-height:1.3;font-weight:700;color:var(--kime-ink);white-space:nowrap}
.kime-cal__slot-left{font-size:10px;line-height:1.3;color:var(--kime-body);font-weight:400}
.kime-cal__slot-tag{
  font-size:9px;line-height:1.3;font-weight:500;
  background:var(--kime-ink);color:var(--kime-white);
  border-radius:99px;padding:2px 8px;margin-top:3px;
}
.kime-cal__slot.is-picked .kime-cal__slot-tag{background:var(--kime-white);color:var(--kime-ink)}
.kime-cal__slot-tag[hidden]{display:none}

/* Desktop: a real month grid */
@media (min-width:900px){
  .kime-cal{background:var(--kime-surface);border-radius:var(--kime-radius);padding:10px}
  .kime-cal__head,.kime-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
  .kime-cal__head{margin-bottom:4px}
  .kime-cal__dow{
    text-align:center;font-size:11px;font-weight:500;letter-spacing:1.1px;
    text-transform:uppercase;color:var(--kime-body);padding-bottom:2px;
  }
  .kime-cal__dow abbr{text-decoration:none;border:0}
  .kime-cal__cell{
    min-height:54px;background:var(--kime-white);border-radius:8px;
    padding:5px 6px;display:flex;flex-direction:column;gap:3px;
  }
  .kime-cal__cell--blank{background:transparent}
  .kime-cal__cell.is-void{background:rgba(255,255,255,.45)}
  .kime-cal__cell.is-past{opacity:.45}
  .kime-cal__cell.is-today{outline:2px solid var(--kime-ink);outline-offset:-2px}
  .kime-cal__num{font-size:11px;font-weight:700;color:var(--kime-ink)}
  .kime-cal__fulldate{display:none}
  .kime-cal__slots{display:flex;flex-direction:column;gap:3px}
}

/* Mobile: only the days that have something, as rows */
@media (max-width:899px){
  .kime-cal__head,.kime-cal__cell--blank{display:none}
  .kime-cal__grid{display:flex;flex-direction:column;gap:10px}
  .kime-cal__cell{
    background:var(--kime-surface);border-radius:var(--kime-radius-sm);
    padding:12px 14px;
  }
  .kime-cal__cell.is-void,.kime-cal__cell.is-past{display:none}
  .kime-cal__num{display:none}
  .kime-cal__fulldate{
    display:block;font-size:14px;font-weight:700;color:var(--kime-ink);margin-bottom:8px;
  }
  .kime-cal__slots{display:flex;flex-direction:column;gap:8px}
  .kime-cal__slot{background:var(--kime-white);padding:12px 14px}
  .kime-cal__slot-time{font-size:16px}
  .kime-cal__slot-left{font-size:13px}
}

/* Confirmation dialog ----------------------------------------------------- */
.kime-modal{
  position:fixed;inset:0;z-index:300;
  background:rgba(26,26,26,.55);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.kime-modal__card{
  background:var(--kime-white);border-radius:var(--kime-radius);
  padding:26px 26px 24px;max-width:440px;width:100%;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.kime-modal__q{font-size:17px;line-height:1.55;font-weight:600;color:var(--kime-ink);margin-bottom:20px}
.kime-modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.kime-modal__yes{min-height:46px}
.kime-modal__no{
  background:none;border:0;padding:10px 6px;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.6px;
  text-transform:uppercase;color:var(--kime-body);text-decoration:underline;
}
.kime-modal__no:hover{color:var(--kime-ink)}

/* Step 3: summary --------------------------------------------------------- */
.kime-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:2px}
.kime-summary__row{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--kime-surface);border-radius:var(--kime-radius-sm);
  padding:8px 12px;
}
.kime-summary__who{display:flex;align-items:baseline;gap:8px;min-width:0}
.kime-summary__who strong{font-size:13px;font-weight:700;color:var(--kime-ink)}
.kime-summary__group{
  font-size:11px;font-weight:500;letter-spacing:.4px;
  background:var(--kime-ink);color:var(--kime-white);
  border-radius:99px;padding:2px 8px;white-space:nowrap;
}
.kime-summary__when{font-size:13px;line-height:1.4;color:var(--kime-body);flex:1 1 auto}
.kime-summary__edit{
  background:none;border:0;padding:6px 4px;cursor:pointer;margin-left:auto;
  font-family:inherit;font-size:12px;font-weight:500;letter-spacing:.6px;
  text-transform:uppercase;color:var(--kime-body);text-decoration:underline;
}
.kime-summary__edit:hover{color:var(--kime-ink)}

/* On the home page the wizard sits in its own white card on the surface
   background, so the form reads as one distinct object. The landing page
   panel is already white and gets no card. */
.kime-contact .kime-booking{
  background:var(--kime-white);
  border-radius:var(--kime-radius);
  padding:18px 16px 20px;
  box-shadow:0 18px 44px rgba(26,26,26,.07);
}
@media (min-width:900px){
  .kime-contact .kime-booking{padding:24px 32px 26px}
}
/* Grey cards need a hairline once they sit on white. */
.kime-contact .kime-roster__row,
.kime-contact .kime-att,
.kime-contact .kime-cal__none,
.kime-contact .kime-wiz__ctx{border:1px solid var(--kime-hairline)}

/* Form -------------------------------------------------------------------- */
.kime-booking .kime-form{max-width:none}
.kime-booking .wpcf7-submit{width:100%;max-width:none}

/* =========================================================================
   /nemokama-treniruote — split landing page
   No site header or footer: one page, one job. The dark half carries the
   argument, the light half carries the form.
   ========================================================================= */

.kime-landing{display:grid;background:var(--kime-white)}
@media (min-width:900px){
  /* Logged-in WP pushes the page down by the admin bar; subtract it or the
     landing overflows by exactly the bar height for the site owner. */
  .kime-landing{min-height:calc(100vh - var(--wp-admin--admin-bar--height,0px))}
}

/* Left: the pitch ---------------------------------------------------------
   Poster composition: the trainers cutout over a huge ghost KIME wordmark
   IS the brand mark, so there is no separate logo. Everything fits one
   desktop viewport, reviews included. */
.kime-aside{
  /* The theme is content-box; this panel is height-budgeted against 100vh,
     so it alone opts into border-box. */
  box-sizing:border-box;
  background:var(--kime-surface);color:var(--kime-ink);
  padding:0 28px 26px;
  display:flex;flex-direction:column;gap:clamp(12px,2vh,20px);
}

/* The trainers, standing on the panel's top edge over the ghost wordmark. */
.kime-aside__media{
  position:relative;
  margin:0 -28px;
  padding:clamp(18px,3vh,34px) 28px 18px;
  display:flex;justify-content:center;
  background:linear-gradient(to bottom, rgba(26,26,26,.05), rgba(26,26,26,0) 78%);
}
.kime-aside__ghost{
  position:absolute;left:50%;top:32%;
  width:84%;max-width:none;transform:translate(-50%,-50%);
  opacity:.10;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, #000 30%, transparent 96%);
  mask-image:linear-gradient(to bottom, #000 30%, transparent 96%);
}
.kime-aside__photo{
  position:relative;display:block;
  width:min(100%,470px);height:auto;
  filter:drop-shadow(0 18px 26px rgba(26,26,26,.22));
}
.kime-aside__chip{
  position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);
  z-index:1;white-space:nowrap;
  display:inline-flex;align-items:center;gap:8px;
  background:var(--kime-ink);color:var(--kime-on-dark);
  border-radius:99px;padding:9px 16px;
  font-size:12px;font-weight:700;line-height:1;
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.kime-aside__stars{color:var(--kime-gold);font-size:11px;letter-spacing:.5px}

.kime-aside__intro{text-align:center;max-width:52ch;margin-inline:auto;padding-top:6px}
.kime-aside__title{
  font-size:clamp(23px,1.6vw + 8px,32px);line-height:1.2;font-weight:700;
  color:var(--kime-ink);letter-spacing:-.01em;
}
.kime-aside__list{
  list-style:none;margin:0 auto;padding:0;
  display:grid;gap:clamp(6px,1vh,10px);max-width:62ch;width:100%;
}
.kime-aside__list li{display:flex;gap:10px;font-size:14px;line-height:1.5;color:var(--kime-body)}
.kime-aside__list strong{color:var(--kime-ink);font-weight:700}
.kime-aside__mark{color:var(--kime-gold);flex:0 0 auto;font-size:12px;line-height:1.6}

.kime-aside__reviews{
  list-style:none;margin:0;padding:0;
  display:grid;gap:8px;width:100%;
}
.kime-aside__review{
  display:grid;gap:3px;align-content:start;
  background:var(--kime-white);border-radius:var(--kime-radius-sm);
  padding:9px 12px;
}
.kime-aside__review .kime-aside__stars{font-size:9px}
.kime-aside__review-text{font-size:12px;line-height:1.45;color:var(--kime-ink)}
.kime-aside__review-who{font-size:11px;line-height:1.4;color:var(--kime-body)}
@media (min-width:700px){
  .kime-aside__reviews{grid-template-columns:repeat(3,1fr)}
}

.kime-aside__foot{
  margin-top:0;padding-top:2px;
  font-size:12px;line-height:1.5;color:var(--kime-body);
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;text-align:center;
}
.kime-aside__foot a{color:var(--kime-ink);text-decoration:none}
.kime-aside__foot a:hover{text-decoration:underline}

/* Right: the form --------------------------------------------------------- */
.kime-landing__panel{padding:36px 24px 64px;background:var(--kime-white)}
.kime-landing__panel .kime-booking{margin-top:0}
.kime-landing__title{
  font-size:32px;line-height:1.15;font-weight:700;color:var(--kime-ink);
  text-align:center;letter-spacing:-.01em;
}
.kime-landing__lead{
  margin-top:12px;font-size:16px;line-height:1.6;color:var(--kime-body);
  text-align:center;max-width:46ch;margin-inline:auto;
}

@media (min-width:900px){
  .kime-landing{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
  /* Sticky with auto height, not a hard 100vh: a fixed height clips the
     contact line on short viewports and hides it behind a nested scrollbar. */
  .kime-aside{
    padding:0 44px clamp(16px,2.4vh,28px);gap:clamp(8px,1.5vh,18px);
    position:sticky;top:var(--wp-admin--admin-bar--height,0px);
    max-height:calc(100vh - var(--wp-admin--admin-bar--height,0px));
    min-height:calc(100vh - var(--wp-admin--admin-bar--height,0px));
    /* On tall screens the blocks stay together at their designed rhythm and
       the leftover height becomes breathing room above and below. */
    justify-content:center;
    /* The grey wash hangs from the panel's top edge, not from the photo
       block: centered content would otherwise start the tint mid-air with
       a visible seam. */
    background-image:linear-gradient(to bottom, rgba(26,26,26,.05), rgba(26,26,26,0) 38%);
  }
  .kime-aside__media{margin:0 -44px;padding:clamp(16px,2.6vh,30px) 44px 18px;background:none}
  .kime-aside__photo{width:min(100%,clamp(300px,44vh,470px))}
  .kime-aside__list li{font-size:14px}
  /* Vertical padding tracks the viewport so the calendar step never pushes
     the page into a scrollbar on short laptop windows. */
  .kime-landing__panel{padding:clamp(28px,5vh,64px) 56px clamp(32px,6vh,80px);display:flex;flex-direction:column;justify-content:center}
  .kime-landing__title{font-size:clamp(34px,2.4vw,44px)}
}

@media (min-width:1600px){
  .kime-landing__panel > *{width:100%;max-width:720px;margin-inline:auto}
}

/* Short desktop windows: the calendar is the tallest wizard step, so its
   chrome tightens up before the page would grow a scrollbar. */
@media (min-width:900px) and (max-height:740px){
  .kime-progress{margin-bottom:16px}
  .kime-wiz__hint{margin-bottom:8px}
  .kime-cal{padding:8px}
  .kime-cal__nav{margin:0 0 6px}
  .kime-cal__arrow{width:30px;height:30px;font-size:15px}
  .kime-cal__cell{min-height:42px}
  .kime-cal__slot{padding:2px 7px}
}

/* Very short windows (1366x768 laptops with a taskbar, zoomed browsers):
   everything steps down one more notch so no wizard step ever scrolls. */
@media (min-width:900px) and (max-height:640px){
  .kime-progress{margin-bottom:12px}
  .kime-progress__num{width:20px;height:20px;font-size:11px}
  .kime-wiz__title{font-size:16px}
  .kime-wiz__hint{font-size:12px;margin-bottom:6px}
  .kime-cal{padding:6px}
  .kime-cal__arrow{width:26px;height:26px;font-size:13px}
  .kime-cal__cell{min-height:38px}
  .kime-cal__slot{padding:2px 6px}
  .kime-cal__slot-time{font-size:11px}
  .kime-cal__slot-left{font-size:9px}
  .kime-landing__panel{padding:20px 56px 24px}
  .kime-aside__media{padding-top:12px}
  .kime-aside__title{font-size:20px}
  .kime-aside__list li{font-size:13px}
  .kime-aside__review{padding:7px 10px}
  .kime-aside__review-text{font-size:11px}
}
