/*
Theme Name: Kummispets.ee
Theme URI: 
Author: Hundikuu Agentuur
Author URI: 
Description: Kummispets.ee alamteema 2025 wordpress vaiketeemale.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: kummispets-ee
Tags: 
*/


/* ============================================================
   FONDID
   Failid: assets/fonts/
   Familjen Grotesk: headings (600, 700, 800)
   DM Sans: body (400, 500, 600)
   ============================================================ */

@font-face {
  font-family: 'Familjen Grotesk';
  src: url('assets/fonts/familjen-grotesk-v11-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Familjen Grotesk';
  src: url('assets/fonts/familjen-grotesk-v11-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Familjen Grotesk';
  src: url('assets/fonts/familjen-grotesk-v11-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DM Sans';
  src: url('assets/fonts/dm-sans-v17-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('assets/fonts/dm-sans-v17-latin-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('assets/fonts/dm-sans-v17-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* ============================================================
   CSS MUUTUJAD
   ============================================================ */

:root {
  /* Värvid */
  --ks-green:        #2CB543;
  --ks-green-dark:   #1f9132;
  --ks-green-bg:     #f0faf2;
  --ks-dark:         #0f1310;
  --ks-dark-2:       #1a1f1c;
  --ks-text:         #1c2420;
  --ks-muted:        #6a7872;
  --ks-border:       #e3e8e5;
  --ks-bg:           #ffffff;
  --ks-bg-soft:      #f7f9f8;

  /* Fondid */
  --ks-font-head:    'Familjen Grotesk', Georgia, serif;
  --ks-font-body:    'DM Sans', system-ui, sans-serif;

  /* Spacing */
  --ks-max-width:    1160px;
  --ks-section-pad:  5.5rem 2.5rem;
  --ks-radius:       10px;
  --ks-radius-lg:    14px;
  --ks-radius-pill:  100px;

  --wp--preset--spacing--30: 0.75rem;


}
.wp-block-group-is-layout-flex {
    display: flex;
    flex-wrap: wrap;
}

/* ============================================================
   RESET — tühistame WP global styles mõju
   ============================================================ */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--ks-font-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--ks-text);
  background: var(--ks-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* WP lisab neid — nullime */
body.wp-admin,
.editor-styles-wrapper {
  font-family: var(--ks-font-body);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ks-font-head);
  font-weight: 700;
  line-height: 1.1;
  color: var(--ks-text);
  letter-spacing: -0.02em;
}

p { line-height: 1.65; }

a {
  color: var(--ks-green);
  text-decoration: none;
  transition: color 0.15s;
}
a:hover { text-decoration: underline; }

img, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

ul, ol { list-style: none; }

button {
  font-family: var(--ks-font-body);
  cursor: pointer;
  border: none;
  background: none;
}

/* WP block library margin reset */
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-navigation {
  margin-block-start: 0;
  margin-block-end: 0;
}


/* ============================================================
   LAYOUT ABIKLASSID
   ============================================================ */

.ks-wrap {
  max-width: var(--ks-max-width);
  margin-inline: auto;
  padding-inline: 2.5rem;
}

.ks-section {
  padding: var(--ks-section-pad);
}

.is-layout-constrained {
  max-width: var(--ks-max-width);
  margin: 0 auto;
}

/* ============================================================
   HEADER — .wp-block-template-part (header)
   ============================================================ */

/* ── Topbar ── */
.header-top-banner {
  background: var(--ks-dark);
  padding: 0.5rem 2.5rem;
}

.header-top-banner > .wp-block-group {
  max-width: var(--ks-max-width);
  margin-inline: auto;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: nowrap;
}

/* Vasak pool — aadress */
.aadress-sektsioon {
  font-size: 0.8rem;
  color: #8a9890;
  white-space: nowrap;
  font-family: var(--ks-font-body);
}

/* Parem pool — broneeri + keel */
.header-top-banner > .wp-block-group > .wp-block-group:last-child {
  display: flex !important;
  align-items: center;
  gap: 1.5rem;
}

.broneeri-sektsioon {
  font-size: 0.8rem;
  color: #8a9890;
  white-space: nowrap;
  font-family: var(--ks-font-body);
}
.broneeri-sektsioon a {
  color: var(--ks-green);
  font-weight: 600;
  text-decoration: none;
}
.broneeri-sektsioon a:hover { text-decoration: underline; }

/* Polylang keelevahetaja */
.header-lang-switcher .pll-switcher-select {
  font-family: var(--ks-font-body);
  font-size: 0.8rem;
  font-weight: 500;
  color: #8a9890;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
  cursor: pointer;
  appearance: auto;
  transition: border-color 0.15s;
}
.header-lang-switcher .pll-switcher-select:hover {
  border-color: rgba(255,255,255,0.25);
  color: #fff;
}
.header-lang-switcher .pll-switcher-select option {
  background: var(--ks-dark);
  color: #fff;
}

/* ── Peamine nav riba ── */
.kummispets-header {
  background: var(--ks-bg);
  border-bottom: 1px solid var(--ks-border);
  position: sticky;
  top: 0;
  z-index: 100;
}

.kummispets-header > .wp-block-group {
  max-width: var(--ks-max-width);
  margin-inline: auto;
}

.kummispets-header .wp-block-site-logo {
  display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-content: center;
    align-items: center;
}

.kummispets-header .wp-block-site-logo img {
  height: auto;
  width: 180px;
}

/* Nav lingid */
.kummispets-header .wp-block-navigation-item__content {
  font-family: var(--ks-font-body);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ks-muted);
  text-decoration: none;
  padding: 0.45rem 0.85rem;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  white-space: nowrap;
}
.kummispets-header .wp-block-navigation-item__content:hover {
  color: var(--ks-text);
  background: var(--ks-bg-soft);
  text-decoration: none;
}
.kummispets-header .current-menu-item .wp-block-navigation-item__content {
  color: var(--ks-text);
  font-weight: 600;
}

/* Broneeringud — eraldi rõhutus */
.kummispets-header .focus-broneeri .wp-block-navigation-item__content {
  color: var(--ks-green);
  font-weight: 600;
}
.kummispets-header .focus-broneeri .wp-block-navigation-item__content:hover {
  background: var(--ks-green-bg);
}

/* Kontakt — nupp stiilis */
.kummispets-header .focus-kontakt .wp-block-navigation-item__content {
  background: var(--ks-green);
  color: #fff;
  font-weight: 600;
  padding: 0.5rem 1.25rem;
}
.kummispets-header .focus-kontakt .wp-block-navigation-item__content:hover {
  background: var(--ks-green-dark);
  color: #fff;
}

/* Hamburger (mobiil) */
.kummispets-header .wp-block-navigation__responsive-container-open {
  color: var(--ks-text);
  padding: 0.5rem;
  border-radius: 6px;
  transition: background 0.15s;
}
.kummispets-header .wp-block-navigation__responsive-container-open:hover {
  background: var(--ks-bg-soft);
}
.kummispets-header .wp-block-navigation__responsive-container-open svg {
  display: block;
}

/* Mobiili overlay menüü */
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--ks-bg);
  padding: 1.5rem;
}
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
  font-size: 1.1rem;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  display: block;
}
.kummispets-header .wp-block-navigation__responsive-container-close {
  color: var(--ks-text);
}

/* ── Seasonal banner ── */
.header-bottom-banner {
  background: var(--ks-green);
  padding: 0.85rem 2.5rem;
}

.header-bottom-banner p {
  font-family: var(--ks-font-body);
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}

.header-bottom-banner p strong {
  font-weight: 700;
}

/* WP emoji override (SVG ikoonid) */
.header-bottom-banner .emoji {
  height: 1em;
  width: 1em;
  vertical-align: -0.1em;
  display: inline;
}

/* ============================================================
   DESKTOP FLOAT BAR
   ============================================================ */

.ks-float-bar {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 200;
  background: var(--ks-dark);
  border-radius: var(--ks-radius-pill);
  padding: 0.5rem 0.5rem 0.5rem 1.75rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 8px 40px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.1);
  white-space: nowrap;
}

.ks-float-bar__info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #8a9890;
}
.ks-float-bar__info strong {
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
}

.ks-float-bar__divider {
  width: 1px;
  height: 20px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0;
}

.ks-float-bar__hours {
  font-size: 0.8rem;
  color: #6a7872;
}
.ks-float-bar__hours span { color: #c5cfc8; }

.ks-float-bar__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--ks-font-body);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  padding: 0.65rem 1.35rem;
  border-radius: var(--ks-radius-pill);
  transition: all 0.15s;
  border: none;
  cursor: pointer;
}
.ks-float-bar__btn:hover { text-decoration: none; }

.ks-float-bar__btn--ghost {
  color: #c5cfc8;
  background: rgba(255,255,255,0.07);
}
.ks-float-bar__btn--ghost:hover {
  background: rgba(255,255,255,0.12);
  color: #fff;
}

.ks-float-bar__btn--green {
  background: var(--ks-green);
  color: #fff;
}
.ks-float-bar__btn--green:hover {
  background: var(--ks-green-dark);
  color: #fff;
}

/* ============================================================
   MOBIILI BOTTOM NAV
   ============================================================ */

.ks-mob-bar__grid {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--ks-bg);
  border-top: 1px solid var(--ks-border);
  z-index: 200;
  padding: 0.4rem 0 calc(0.4rem + env(safe-area-inset-bottom));
  box-shadow: 0 -4px 24px rgba(0,0,0,0.06);
}



.ks-mob-bar__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 0.55rem 0;
  color: var(--ks-muted);
  text-decoration: none;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.15s;
  border: none;
  background: none;
  cursor: pointer;
  font-family: var(--ks-font-body);
}
.ks-mob-bar__btn:hover,
.ks-mob-bar__btn--primary { color: var(--ks-green); }

.ks-mob-bar__icon-wrap {
  background: var(--ks-green);
  color: #fff;
  border-radius: 10px;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem;
  margin-bottom: 0.1rem;
}

.ks-mob-bar__icon {
  font-size: 1.2rem;
  line-height: 1;
}

@media screen and (max-width: 599px) {
  .ks-mob-bar__grid { 
      display: grid;
  grid-template-columns: repeat(4, 1fr);
  }
  .kummispets-header .wp-block-navigation .wp-block-navigation__responsive-container-open {
    display: none;
  }

  .kummispets-header {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 600px) {
  .header-lang-switcher-mobile {
    display: none;
  }

  
}

.wp-block-polylang-language-switcher .screen-reader-text {
  display: none;
}

/* Overlay konteiner */
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(15, 19, 16, 0.97) !important;
  backdrop-filter: blur(8px);
  z-index: 999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 2rem !important;
  /* Sissetulek animatsioon */
  animation: ks-overlay-in 0.2s ease-out;
}

@keyframes ks-overlay-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Overlay sisemine wrapper */
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-close {
  width: 100%;
  max-width: 400px;
}

.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-dialog {
  width: 100%;
}

/* Menüü lingid */
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
  display: flex !important;
  flex-direction: column;
  gap: 0.25rem;
  align-items: center;
  text-align: center;
}

.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content {
  font-family: var(--ks-font-head);
  font-size: 1.75rem !important;
  font-weight: 700;
  color: rgba(255,255,255,0.75) !important;
  padding: 0.5rem 1.5rem !important;
  border-radius: 8px;
  display: block;
  letter-spacing: -0.01em;
  transition: color 0.15s, background 0.15s;
}
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.06) !important;
}

/* Broneeringud — roheline aktsent overlay-s */
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .focus-broneeri .wp-block-navigation-item__content {
  color: var(--ks-green) !important;
}
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .focus-broneeri .wp-block-navigation-item__content:hover {
  background: rgba(44,181,67,0.1) !important;
}

/* Kontakt — nupp stiilis overlay-s */
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .focus-kontakt .wp-block-navigation-item__content {
  background: var(--ks-green) !important;
  color: #fff !important;
  padding: 0.6rem 2rem !important;
  border-radius: 8px;
  font-size: 1.1rem !important;
  margin-top: 0.5rem;
}
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open
  .focus-kontakt .wp-block-navigation-item__content:hover {
  background: var(--ks-green-dark) !important;
}

/* Sulge nupp — paremas ülanurgas */
.kummispets-header .wp-block-navigation__responsive-container-close {
  position: absolute !important;
  top: 1.25rem !important;
  right: 1.25rem !important;
  color: rgba(255,255,255,0.5) !important;
  padding: 0.5rem;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  z-index: 1000;
}
.kummispets-header .wp-block-navigation__responsive-container-close:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.08) !important;
}
.kummispets-header .wp-block-navigation__responsive-container-close svg {
  width: 24px; height: 24px;
}

/* Logo overlay-s — ülanurgas */
.kummispets-header .wp-block-navigation__responsive-container.is-menu-open::before {
  content: 'KUMMISPETS';
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  font-family: var(--ks-font-head);
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  color: var(--ks-green);
}

/* ============================================================
   NUPUD (globaalsed)
   ============================================================ */

.ks-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--ks-font-body);
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  border-radius: 8px;
  padding: 0.75rem 1.5rem;
  transition: all 0.15s;
  cursor: pointer;
  border: none;
  line-height: 1;
}
.ks-btn:hover { text-decoration: none; }

.ks-btn--green { background: var(--ks-green); color: #fff; }
.ks-btn--green:hover { background: var(--ks-green-dark); color: #fff; transform: translateY(-1px); }

.ks-btn--outline {
  background: transparent;
  color: var(--ks-text);
  border: 1.5px solid var(--ks-border);
}
.ks-btn--outline:hover {
  border-color: var(--ks-text);
  background: var(--ks-bg-soft);
  color: var(--ks-text);
}

.ks-btn--dark { background: var(--ks-dark); color: #fff; }
.ks-btn--dark:hover { background: var(--ks-dark-2); color: #fff; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 960px) {
  .header-top-banner {
    display: none; /* peidame väikesel ekraanil */
  }
}

@media (max-width: 640px) {
  :root {
    --ks-section-pad: 3.5rem 1.5rem;
  }

  .ks-float-bar { display: none; }
  .ks-mob-bar { display: block; }

  body { padding-bottom: 68px; }

  .kummispets-header .wp-block-site-logo img {
    height: 28px;
  }

  .header-bottom-banner {
    padding: 0.75rem 1.25rem;
  }
  .header-bottom-banner p {
    font-size: 0.8rem;
  }
}



/* ============================================================
   AVALEHT — sektsiooni stiilid v3
   wp:columns saab display:grid, wp lisab flex — override vajab
   ainult grid sektsioonidel
   ============================================================ */

/* ── Abiklassid ── */

.ks-kicker {
  font-family: var(--ks-font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ks-green);
  margin: 0 0 0.75rem !important;
}

.ks-section-h {
  font-family: var(--ks-font-head) !important;
  font-weight: 700 !important;
  font-size: clamp(1.8rem, 3.5vw, 2.75rem) !important;
  color: var(--ks-text) !important;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 1rem !important;
}

.ks-section-lead {
  font-size: 1rem;
  color: var(--ks-muted);
  max-width: 520px;
  line-height: 1.7;
  margin: 0 0 3rem !important;
}

.ks-accent {
  font-style: normal;
  color: var(--ks-green);
}

.ks-link-green {
  color: var(--ks-green);
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
}
.ks-link-green:hover { text-decoration: underline; }

.ks-section {
  padding: 5.5rem 2.5rem;
  max-width: 1160px;
  margin-inline: auto;
}

/* Nupud — override WP button block */
.ks-btn--green .wp-block-button__link,
.ks-btn--outline .wp-block-button__link {
  all: unset;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--ks-font-body);
  font-weight: 600;
  font-size: 0.9rem;
  border-radius: 8px;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: all 0.15s;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}
.ks-btn--green .wp-block-button__link {
  background: var(--ks-green);
  color: #fff;
}
.ks-btn--green .wp-block-button__link:hover {
  background: var(--ks-green-dark);
  transform: translateY(-1px);
}
.ks-btn--outline .wp-block-button__link {
  background: transparent;
  color: var(--ks-text);
  border: 1.5px solid var(--ks-border);
}
.ks-btn--outline .wp-block-button__link:hover {
  border-color: var(--ks-text);
  background: var(--ks-bg-soft);
}

/* ============================================================
   HERO
   ============================================================ */

.ks-hero {
  background: var(--ks-bg);
  overflow: hidden;
}

/* columns → 2-veeru grid, WP flex maha */
.ks-hero__inner.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  min-height: 520px;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
}

.ks-hero__left.wp-block-column {
  padding: 5rem 3.5rem 5rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 640px;
  /* reset WP column flex-basis */
  flex-basis: unset !important;
}

.ks-hero__right.wp-block-column {
  position: relative;
  overflow: hidden;
  background: var(--ks-bg-soft);
  padding: 0 !important;
  flex-basis: unset !important;
}
.ks-hero__right .wp-block-image,
.ks-hero__right .ks-hero__img {
  height: 100%;
  margin: 0;
}
.ks-hero__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hero tag */
.ks-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--ks-green-bg);
  color: var(--ks-green-dark);
  font-family: var(--ks-font-body);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.35rem 0.85rem;
  border-radius: 100px;
  width: fit-content;
  margin-bottom: 1.75rem;
}
.ks-hero__tag::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ks-green);
  flex-shrink: 0;
  animation: ks-blink 2s ease-in-out infinite;
}
@keyframes ks-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}

.ks-hero__h1 {
  font-family: var(--ks-font-head) !important;
  font-weight: 700 !important;
  font-size: clamp(2.4rem, 4.5vw, 3.75rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em;
  color: var(--ks-text) !important;
  margin: 0 0 1.25rem !important;
}

.ks-hero__desc {
  font-size: 1rem;
  color: var(--ks-muted);
  max-width: 420px;
  line-height: 1.7;
  margin: 0 0 2.25rem !important;
}

.ks-hero__actions.wp-block-buttons {
  display: flex !important;
  gap: 0.85rem;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 3rem !important;
}
/* WP buttons wrapper reset */
.ks-hero__actions .wp-block-button {
  margin: 0 !important;
}

/* Trust riba */
.ks-hero__trust {
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-top: 2rem;
  border-top: 1px solid var(--ks-border);
  margin-top: 0;
}
.ks-trust-item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.ks-trust-num {
  font-family: var(--ks-font-head);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--ks-text);
  line-height: 1;
  display: block;
}
.ks-trust-num .ks-accent { font-size: 1rem; }
.ks-trust-label {
  font-size: 0.78rem;
  color: var(--ks-muted);
  display: block;
}


/* ============================================================
   INFO STRIP
   ============================================================ */

.ks-info-strip {
  background: var(--ks-bg-soft);
  border-top: 1px solid var(--ks-border);
  border-bottom: 1px solid var(--ks-border);
}

.ks-info-strip__inner.wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
  max-width: 1160px !important;
  margin-inline: auto !important;
  padding: 0 2.5rem !important;
}

.ks-info-card.wp-block-column {
  padding: 2.25rem 2rem !important;
  border-right: 1px solid var(--ks-border);
  flex-basis: unset !important;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.ks-info-card.wp-block-column:last-child { border-right: none; }

.ks-info-card__label {
  font-family: var(--ks-font-body);
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ks-green) !important;
  margin: 0 0 0.35rem !important;
}
.ks-info-card__value {
  font-family: var(--ks-font-head);
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: var(--ks-text) !important;
  line-height: 1.3;
  margin: 0 0 0.35rem !important;
}
.ks-info-card__value a { color: var(--ks-text); text-decoration: none; }
.ks-info-card__value a:hover { color: var(--ks-green); }
.ks-info-card__note {
  font-size: 0.8rem !important;
  color: var(--ks-muted) !important;
  line-height: 1.5;
  margin: 0 !important;
}


/* ============================================================
   TEENUSED
   ============================================================ */

.ks-services {
  background: var(--ks-bg);
}

/* 6 veergu → 3x2 grid */
.ks-services-grid.wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.25rem !important;
  margin: 0 !important;
}
.ks-services-grid .wp-block-column {
  flex-basis: unset !important;
}

.ks-svc.wp-block-column {
  border: 1.5px solid var(--ks-border);
  border-radius: 14px;
  padding: 2rem !important;
  background: var(--ks-bg);
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.ks-svc.wp-block-column:hover {
  border-color: var(--ks-green);
  box-shadow: 0 4px 24px rgba(44,181,67,0.1);
  transform: translateY(-2px);
}

.ks-svc__icon {
  width: 48px; height: 48px;
  background: var(--ks-green-bg);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin: 0 0 1.25rem !important;
  line-height: 1;
}

.ks-svc__h {
  font-family: var(--ks-font-head) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  color: var(--ks-text) !important;
  margin: 0 0 0.5rem !important;
}
.ks-svc__desc {
  font-size: 0.85rem !important;
  color: var(--ks-muted) !important;
  line-height: 1.6;
  margin: 0 0 1rem !important;
}
.ks-svc__link {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ks-green);
  text-decoration: none;
}
.ks-svc__link:hover { text-decoration: underline; }


/* ============================================================
   MIKS MEIE
   ============================================================ */

.ks-why {
  background: var(--ks-bg-soft);
  border-top: 1px solid var(--ks-border);
  border-bottom: 1px solid var(--ks-border);
  padding: 5.5rem 0;
}

.ks-why__grid.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5rem !important;
  align-items: center;
  max-width: 1160px;
  margin-inline: auto !important;
  padding-inline: 2.5rem;
}
.ks-why__grid .wp-block-column {
  flex-basis: unset !important;
}

.ks-why__img-col { position: relative; }
.ks-why__img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  margin: 0 !important;
}
.ks-why__img-col .wp-block-image { margin: 0; }

.ks-why__text-col.wp-block-column {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
}

/* WP list reset → oma stiil */
.ks-why__points.wp-block-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2.5rem !important;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.ks-why__points.wp-block-list li.ks-why__point {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  padding: 0;
  font-size: 0.88rem;
  color: var(--ks-muted);
  line-height: 1.6;
}
.ks-why__points.wp-block-list li.ks-why__point::before, .ks-bullet-item::before {
  content: '';
  width: 8px; height: 8px;
  background: var(--ks-green);
  border-radius: 50%;
  margin-top: 0.45rem;
  flex-shrink: 0;
  display: block;
}

.ks-bullet-item {
    display: inline-flex;
    gap: 1rem;
}
.ks-leftpadding  {
    padding-left: 1.5rem;
}

.ks-why__img-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ks-why__point strong {
  display: block;
  font-weight: 600;
  color: var(--ks-text);
  font-size: 0.95rem;
  margin-bottom: 0.15rem;
}


/* ============================================================
   CTA
   ============================================================ */

.ks-cta-wrap {
  background: var(--ks-bg);
  padding-bottom: 5.5rem;
}

.ks-cta.wp-block-group {
  background: var(--ks-dark);
  border-radius: 16px;
  max-width: 1160px;
  margin-inline: auto;
  margin-inline: 2.5rem;
  /* inline kalkulatsioon: wrapper on 100% - 5rem servadest */
  margin: 2rem auto;
}

.ks-cta__inner.wp-block-columns {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 3rem;
  flex-wrap: wrap;
  padding: 3.5rem 4rem !important;
  margin: 0 !important;
}
.ks-cta__inner .wp-block-column {
  flex-basis: unset !important;
  flex-grow: 0 !important;
}
.ks-cta__left.wp-block-column {
  flex: 1 1 300px;
}
.ks-cta__right.wp-block-column {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
}

.ks-cta__h {
  font-family: var(--ks-font-head) !important;
  font-weight: 700 !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  color: #fff !important;
  letter-spacing: -0.02em;
  margin: 0 0 0.5rem !important;
}
.ks-cta__sub {
  color: #6a7872 !important;
  font-size: 0.95rem !important;
  margin: 0 !important;
}
.ks-cta__phone {
  font-size: 0.85rem !important;
  color: #6a7872 !important;
  margin: 0 !important;
}
.ks-cta__phone a {
  color: #6a7872;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s;
}
.ks-cta__phone a:hover { color: #fff; text-decoration: none; }

/* CTA nupp — tume taust, sama roheline */
.ks-cta .ks-btn--green .wp-block-button__link {
  padding: 0.85rem 2rem;
  font-size: 0.95rem;
}
.ks-cta .wp-block-buttons {
  margin: 0 !important;
}
.ks-cta .wp-block-button {
  margin: 0 !important;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 960px) {
  .ks-hero__inner.wp-block-columns {
    grid-template-columns: 1fr !important;
  }
  .ks-hero__right { display: none !important; }
  .ks-hero__left.wp-block-column {
    padding: 3.5rem 2.5rem !important;
    max-width: 100%;
  }

  .ks-info-strip__inner.wp-block-columns {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
  }
  .ks-info-card.wp-block-column {
    border-right: none !important;
    border-bottom: 1px solid var(--ks-border) !important;
    padding: 1.75rem 2.5rem !important;
  }
  .ks-info-card.wp-block-column:last-child { border-bottom: none !important; }

  .ks-services-grid.wp-block-columns {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .ks-why__grid.wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    padding-inline: 2.5rem;
  }
  .ks-why__img-col { display: none !important; }

  .ks-cta__inner.wp-block-columns {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 2.5rem !important;
  }
  .ks-cta__right.wp-block-column {
    align-items: flex-start !important;
    flex-direction: row !important;
    flex-wrap: wrap;
  }
  .ks-cta.wp-block-group { margin: 0 1.5rem; }
}

@media (max-width: 640px) {
  .ks-section { padding: 3.5rem 1.5rem; }

  .ks-hero__left.wp-block-column { padding: 3rem 1.5rem !important; }
  .ks-hero__trust { gap: 1.5rem; }

  .ks-services-grid.wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .ks-why__grid.wp-block-columns { padding-inline: 1.5rem; }

  .ks-cta__inner.wp-block-columns { padding: 2rem 1.5rem !important; }
  .ks-cta__right.wp-block-column { flex-direction: column !important; }
  .ks-cta.wp-block-group { margin: 0 1.5rem; border-radius: 12px; }
}




/* ============================================================
   FOOTER
   Lisa style.css lõppu
   ============================================================ */

.ks-footer {
  background: var(--ks-bg-soft);
  border-top: 1px solid var(--ks-border);
  margin-top: 0;
}

/* ── Ülemine osa ── */

.ks-footer__top {
  max-width: 1160px;
  margin-inline: auto;
  padding: 4rem 2.5rem 3rem;
}

.ks-footer__grid.wp-block-columns {
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  gap: 3.5rem !important;
  margin: 0 !important;
  align-items: start;
}
.ks-footer__grid .wp-block-column {
  flex-basis: unset !important;
}

/* Brand veerg */
.ks-footer__logo {
  margin-bottom: 1.25rem !important;
}
.ks-footer__logo img {
  height: 32px;
  width: auto;
}

.ks-footer__tagline {
  font-size: 0.875rem !important;
  color: var(--ks-muted) !important;
  line-height: 1.65;
  margin: 0 0 1.25rem !important;
}
.ks-footer__reg,
.ks-footer__bank {
  font-size: 0.78rem !important;
  color: #b0bdb8 !important;
  line-height: 1.6;
  margin: 0 0 0.5rem !important;
}

/* Veerude pealkirjad */
.ks-footer__col-title {
  font-family: var(--ks-font-head);
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ks-text) !important;
  margin: 0 0 1.25rem !important;
}

/* Lingid */
.ks-footer__links.wp-block-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.ks-footer__links li {
  padding: 0 !important;
}
.ks-footer__links li::before {
  display: none !important;
}
.ks-footer__links a {
  color: var(--ks-muted);
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 0.15s;
}
.ks-footer__links a:hover {
  color: var(--ks-text);
  text-decoration: none;
}

/* Kontakt */
.ks-footer__contact.wp-block-group {
  display: flex !important;
  flex-direction: column;
  gap: 0.85rem;
}

.ks-footer__contact-row {
  font-size: 0.875rem !important;
  color: var(--ks-text) !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.ks-footer__contact-label {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b0bdb8;
  font-weight: 600;
  display: block;
}
.ks-footer__contact-row a {
  color: var(--ks-green);
  font-weight: 600;
  text-decoration: none;
}
.ks-footer__contact-row a:hover { text-decoration: underline; }

/* ── Alumine riba ── */

.ks-footer__bottom {
  border-top: 1px solid var(--ks-border);
}

.ks-footer__bottom-inner {
  max-width: 1160px;
  margin-inline: auto !important;
  padding: 1.25rem 2.5rem !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.ks-footer__copy {
  font-size: 0.78rem !important;
  color: #b0bdb8 !important;
  margin: 0 !important;
}
.ks-footer__copy a {
  color: #b0bdb8;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s;
}
.ks-footer__copy a:hover { color: var(--ks-text); }

/* Facebook nupp */
.ks-footer__social .wp-block-group {
  gap: 0 !important;
}
.ks-footer__fb {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--ks-muted);
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--ks-border);
  border-radius: 6px;
  padding: 0.4rem 0.85rem;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.ks-footer__fb:hover {
  border-color: #1877f2;
  color: #1877f2;
  background: #f0f4ff;
  text-decoration: none;
}
.ks-footer__fb svg {
  flex-shrink: 0;
}

/* ── Responsive ── */

@media (max-width: 960px) {
  .ks-footer__grid.wp-block-columns {
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
  }
}

@media (max-width: 640px) {
  .ks-footer__top {
    padding: 3rem 1.5rem 2rem;
  }
  .ks-footer__grid.wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .ks-footer__bottom-inner {
    padding: 1.25rem 1.5rem !important;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.75rem;
  }
}



