/* kr-design-v2.css — 11.10.2026, graphite system (owner: «графит»). Loaded on every front-end page by
   novamira-sandbox/kr-design-v2.php after the pilot/chrome bundles. Id-level selectors (:not(#kr-x):not(#kr-y))
   beat the pilot's !important rules and the :not(#kr-x) hacks in kr-mobile-fixes.php. Tokens are --kd-* so they
   never collide with the pilot's --kr-* / --krc-* variables. Kill switch: option kr_design_v2_off = 1. */
html{--kd-primary:#111827;--kd-primary-hover:#000000;--kd-ink:#2B2A29;--kd-muted:#5E5C5A;--kd-line:#E4E2E0;--kd-bg:#F7F6F5;--kd-accent:#00648F;--kd-accent-wash:#E8F7FD;--kd-gold-bg:#FBF4DC;--kd-gold-text:#6B4E00;--kd-gold-line:#E6DDB8;--kd-r:10px}

/* 1. Primary buttons: one colour, white text, one radius */
html body .kr-btn:not(#kr-x):not(#kr-y),html body .kr-lite-cta:not(#kr-x):not(#kr-y),html body .krp-btn:not(#kr-x):not(#kr-y),html body .kr-cta .btn-primary:not(#kr-x):not(#kr-y),html body a.btn.btn-primary:not(#kr-x):not(#kr-y),html body a.kr-ea-pick:not(#kr-x):not(#kr-y),html body a.kr-go:not(#kr-x):not(#kr-y),html body .wpsr-write-review:not(#kr-x):not(#kr-y),html body .uael-post__load-more:not(#kr-x):not(#kr-y),html body .elementor-button:not(#kr-x):not(#kr-y),html body button[type=submit]:not(.cky-btn):not(#kr-x):not(#kr-y),html body input[type=submit]:not(#kr-x):not(#kr-y),html body .kr-pak .btn-primary:not(#kr-x):not(#kr-y),html body .kr-form-card .kr-btn:not(#kr-x):not(#kr-y),html body .kr-cta-btn:not(#kr-x):not(#kr-y),html body .kr-mbar__course:not(#kr-x):not(#kr-y){background:var(--kd-primary)!important;color:#fff!important;border:0!important;border-radius:var(--kd-r)!important;box-shadow:none!important;text-shadow:none!important;font-weight:700!important;letter-spacing:0!important;text-decoration:none!important;transform:none!important}
html body .kr-btn:not(#kr-x):not(#kr-y):hover,html body .kr-lite-cta:not(#kr-x):not(#kr-y):hover,html body .krp-btn:not(#kr-x):not(#kr-y):hover,html body .kr-cta .btn-primary:not(#kr-x):not(#kr-y):hover,html body a.btn.btn-primary:not(#kr-x):not(#kr-y):hover,html body a.kr-ea-pick:not(#kr-x):not(#kr-y):hover,html body a.kr-go:not(#kr-x):not(#kr-y):hover,html body .wpsr-write-review:not(#kr-x):not(#kr-y):hover,html body .uael-post__load-more:not(#kr-x):not(#kr-y):hover,html body .elementor-button:not(#kr-x):not(#kr-y):hover,html body button[type=submit]:not(.cky-btn):not(#kr-x):not(#kr-y):hover,html body .kr-cta-btn:not(#kr-x):not(#kr-y):hover,html body .kr-mbar__course:not(#kr-x):not(#kr-y):hover{background:var(--kd-primary-hover)!important;color:#fff!important;transform:none!important;box-shadow:none!important}
/* geometry only where the element is a stand-alone button (not the mobile bar, not the small card/date pills) */
html body .kr-btn:not(.kr-mbar__course):not(#kr-x):not(#kr-y),html body .kr-cta .btn-primary:not(#kr-x):not(#kr-y),html body a.btn.btn-primary:not(#kr-x):not(#kr-y),html body .kr-pak .btn-primary:not(#kr-x):not(#kr-y),html body .kr-cta-btn:not(#kr-x):not(#kr-y),html body a.kr-go:not(#kr-x):not(#kr-y),html body .uael-post__load-more:not(#kr-x):not(#kr-y),html body .elementor-button:not(#kr-x):not(#kr-y){padding:.85em 1.5em!important;font-size:1rem!important;line-height:1.2!important}
html body .kr-form-card .kr-btn:not(#kr-x):not(#kr-y),html body .kr-lite-cta:not(#kr-x):not(#kr-y){padding:14px 18px!important;font-size:1rem!important;width:100%!important}
html body .krp-btn:not(#kr-x):not(#kr-y){padding:10px 14px!important;font-size:14px!important}

/* 2. Secondary (ghost) buttons */
html body .kr-btn--ghost:not(#kr-x):not(#kr-y),html body .kr-btn.kr-btn--ghost:not(#kr-x):not(#kr-y),html body .kr-lite-msg:not(#kr-x):not(#kr-y),html body .kr-pak .card:not(.premium) .btn:not(#kr-x):not(#kr-y),html body .kr-cta .btn:not(.btn-primary):not(#kr-x):not(#kr-y),html body .kr-cta a.btn:not(.btn-primary):not(#kr-x):not(#kr-y){background:#fff!important;color:var(--kd-ink)!important;border:0!important;box-shadow:inset 0 0 0 1.5px var(--kd-ink)!important;border-radius:var(--kd-r)!important;font-weight:700!important;text-decoration:none!important;transform:none!important}
html body .kr-btn--ghost:not(#kr-x):not(#kr-y):hover,html body .kr-lite-msg:not(#kr-x):not(#kr-y):hover,html body .kr-pak .card:not(.premium) .btn:not(#kr-x):not(#kr-y):hover,html body .kr-cta .btn:not(.btn-primary):not(#kr-x):not(#kr-y):hover{background:var(--kd-bg)!important;color:var(--kd-ink)!important;box-shadow:inset 0 0 0 1.5px var(--kd-ink)!important}

/* 3. Hero checks, trust icon, accent rules */
html body .kr-benefits__icon:not(#kr-x):not(#kr-y){background:var(--kd-accent-wash)!important;color:var(--kd-accent)!important}
html body .kr-trust__icon:not(#kr-x):not(#kr-y){color:var(--kd-accent)!important}
html body .kr-rule:not(#kr-x):not(#kr-y),html body .elementor-element-43932f5 .elementor-heading-title:not(#kr-x):not(#kr-y)::before{background:var(--kd-accent)!important}
html body .kr-pricebar:not(#kr-x):not(#kr-y),html body .kr-pricenote:not(#kr-x):not(#kr-y){border-left-color:var(--kd-accent)!important}

/* 4. Headings in cards and widgets: graphite, the icon keeps the colour */
html body.kr-pilot h3:not(#kr-x):not(#kr-y),html body h3.elementor-heading-title:not(#kr-x):not(#kr-y),html body .elementor-icon-box-title:not(#kr-x):not(#kr-y),html body .elementor-icon-box-title a:not(#kr-x):not(#kr-y),html body .uael-post__title:not(#kr-x):not(#kr-y),html body .uael-post__title a:not(#kr-x):not(#kr-y),html body .kr-item h3:not(#kr-x):not(#kr-y),html body .kr-team h3:not(#kr-x):not(#kr-y),html body .kr-team h3 a:not(#kr-x):not(#kr-y),html body .kr-faq summary:not(#kr-x):not(#kr-y){color:var(--kd-ink)!important}

/* 5. Review bar, FAQ icons, footer bottom line, menu underline, chat button */
html body .wpsr-business-info:not(#kr-x):not(#kr-y),html body .wpsr-business-info-wrapper:not(#kr-x):not(#kr-y){background:var(--kd-bg)!important;border:1px solid var(--kd-line)!important;border-radius:12px!important}
html body .kr-faq .q-icon:not(#kr-x):not(#kr-y),html body summary .q-icon:not(#kr-x):not(#kr-y){background:transparent!important;border:1px solid var(--kd-line)!important;color:var(--kd-muted)!important}
html body summary .chev:not(#kr-x):not(#kr-y),html body .kr-faq summary svg:not(#kr-x):not(#kr-y){color:var(--kd-muted)!important;stroke:var(--kd-muted)!important}
html body .kr-footbar:not(#kr-x):not(#kr-y){display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.3em .6em!important}
html body .kr-footbar .sep:not(#kr-x):not(#kr-y),html body .kr-footbar a:not(#kr-x):not(#kr-y),html body .kr-footbar span:not(#kr-x):not(#kr-y){display:inline!important}
html body .ast-desktop .main-header-menu > .menu-item > a:not(#kr-x):not(#kr-y)::after,html body .main-header-menu .current-menu-item > a:not(#kr-x):not(#kr-y)::after,html body .main-header-menu .current_page_item > a:not(#kr-x):not(#kr-y)::after,html body .main-header-menu .current-menu-ancestor > a:not(#kr-x):not(#kr-y)::after,html body .kr-links a:not(#kr-x):not(#kr-y)::after,html body .kr-contact a:not(#kr-x):not(#kr-y)::after,html body .kr-footbar a:not(#kr-x):not(#kr-y)::after{background:var(--kd-accent)!important}
html body .main-header-menu .current-menu-item > a:not(#kr-x):not(#kr-y),html body .main-header-menu .current_page_item > a:not(#kr-x):not(#kr-y){color:var(--kd-ink)!important}
html body .kr-cw__fab:not(#kr-x):not(#kr-y),html body .kr-cw .kr-cw__fab:not(#kr-x):not(#kr-y):hover,html body .kr-cw .kr-cw__fab:not(#kr-x):not(#kr-y):focus{background:var(--kd-primary)!important;color:#fff!important}

/* 6. Premium card, badges, price cards */
html body .kr-pak .card.premium:not(#kr-x):not(#kr-y){border-color:var(--kd-gold-line)!important;background:#FFFDF6!important}
html body .kr-badge:not(#kr-x):not(#kr-y),html body .kr-pak .badge:not(#kr-x):not(#kr-y),html body .kr-article .kr-badge:not(#kr-x):not(#kr-y),html body .krp-badge:not(#kr-x):not(#kr-y){background:var(--kd-gold-bg)!important;color:var(--kd-gold-text)!important;border:0!important}
html body .krp-head:not(#kr-x):not(#kr-y){background:var(--kd-bg)!important;color:var(--kd-ink)!important;border-bottom:1px solid var(--kd-line)!important}
html body .krp-card:not(#kr-x):not(#kr-y){box-shadow:0 1px 2px rgba(17,24,39,.05)!important;border:1px solid var(--kd-line)!important;border-radius:14px!important}
html body .krp-card:not(#kr-x):not(#kr-y):hover{transform:none!important;box-shadow:0 6px 18px rgba(17,24,39,.08)!important}

/* 7. Form card shadow, B-page «Miks valida» boxes left-aligned */
html body .kr-form-card:not(#kr-x):not(#kr-y){box-shadow:0 1px 2px rgba(17,24,39,.05)!important;border:1px solid var(--kd-line)!important}
html body .elementor-element-5fa06ea3 .elementor-icon-box-wrapper:not(#kr-x):not(#kr-y){display:block!important;text-align:left!important}
html body .elementor-element-5fa06ea3 .elementor-icon-box-content:not(#kr-x):not(#kr-y),html body .elementor-element-5fa06ea3 .elementor-icon-box-title:not(#kr-x):not(#kr-y),html body .elementor-element-5fa06ea3 .elementor-icon-box-description:not(#kr-x):not(#kr-y){text-align:left!important}
html body .elementor-element-5fa06ea3 .elementor-icon:not(#kr-x):not(#kr-y){margin:0 0 .5em!important;font-size:28px!important}

/* 8. Phones: chat bubble off, article card full width */
@media (max-width:767px){
html body .kr-cw__bubble:not(#kr-x):not(#kr-y){display:none!important}
html body .uael-post__content:not(#kr-x):not(#kr-y),html body .uael-post__inner-wrap:not(#kr-x):not(#kr-y),html body .uael-post-wrapper:not(#kr-x):not(#kr-y){width:100%!important;flex:0 0 100%!important}
}

/* 9. Article CTA boxes (läbivus & co.): primary / secondary without the pilot link underline */
html body .kr-cta a.kr-primary:not(#kr-x):not(#kr-y),html body .kr-post-cta .btn-primary:not(#kr-x):not(#kr-y){background:var(--kd-primary)!important;color:#fff!important;border:0!important;border-radius:var(--kd-r)!important;box-shadow:none!important;font-weight:700!important;padding:.85em 1.5em!important;line-height:1.2!important;text-decoration:none!important}
html body .kr-cta a.kr-primary:not(#kr-x):not(#kr-y):hover,html body .kr-post-cta .btn-primary:not(#kr-x):not(#kr-y):hover{background:var(--kd-primary-hover)!important;color:#fff!important}
html body .kr-cta a.kr-secondary:not(#kr-x):not(#kr-y),html body .kr-post-cta .btn:not(.btn-primary):not(#kr-x):not(#kr-y){background:#fff!important;color:var(--kd-ink)!important;border:0!important;box-shadow:inset 0 0 0 1.5px var(--kd-ink)!important;border-radius:var(--kd-r)!important;font-weight:700!important;padding:.85em 1.5em!important;line-height:1.2!important;text-decoration:none!important}
html body .kr-cta a.kr-secondary:not(#kr-x):not(#kr-y):hover,html body .kr-post-cta .btn:not(.btn-primary):not(#kr-x):not(#kr-y):hover{background:var(--kd-bg)!important;color:var(--kd-ink)!important}
html body .kr-cta a.kr-primary:not(#kr-x):not(#kr-y)::after,html body .kr-cta a.kr-secondary:not(#kr-x):not(#kr-y)::after,html body .kr-post-cta .btn:not(#kr-x):not(#kr-y)::after,html body .kr-cta .btn:not(#kr-x):not(#kr-y)::after,html body .kr-cta-btn:not(#kr-x):not(#kr-y)::after,html body .krp-btn:not(#kr-x):not(#kr-y)::after,html body a.kr-go:not(#kr-x):not(#kr-y)::after,html body a.kr-ea-pick:not(#kr-x):not(#kr-y)::after{display:none!important}

/* 10. Price cards without a photo: no media box at all (the plugin prints an empty background otherwise) */
html body .krp-media[style="background-image:url\(\'\'\);"]:not(#kr-x):not(#kr-y){display:none!important}
/* (written with CSS escapes on purpose: WPFC's minifier rewrites a literal url() to url() inside combined bundles) */

/* 11. «Meie õpetajad» overview: names in graphite like every other card title */
html body .kr-team h2:not(#kr-x):not(#kr-y),html body .kr-team h2 a:not(#kr-x):not(#kr-y){color:var(--kd-ink)!important}

/* 12. Home hero: the team photo is landscape, so on desktop the image column is equal to the text column and the
   photo sits vertically centred at 4:3; phones keep the pilot's one-column layout with a 16:9 crop. */
@media (min-width:1025px){
html body.page-id-10 .elementor-element-krh0wrap:not(#kr-x):not(#kr-y),html body.page-id-2239 .elementor-element-krh0wrap:not(#kr-x):not(#kr-y),html body.page-id-3929 .elementor-element-krh0wrap:not(#kr-x):not(#kr-y){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center!important}
html body.page-id-10 .elementor-element-krh0medi:not(#kr-x):not(#kr-y),html body.page-id-2239 .elementor-element-krh0medi:not(#kr-x):not(#kr-y),html body.page-id-3929 .elementor-element-krh0medi:not(#kr-x):not(#kr-y){justify-content:center!important}
html body.page-id-10 .elementor-element-krh0medi > .elementor-widget-image:not(#kr-x):not(#kr-y),html body.page-id-10 .elementor-element-krh0medi .elementor-widget-container:not(#kr-x):not(#kr-y),html body.page-id-2239 .elementor-element-krh0medi > .elementor-widget-image:not(#kr-x):not(#kr-y),html body.page-id-2239 .elementor-element-krh0medi .elementor-widget-container:not(#kr-x):not(#kr-y),html body.page-id-3929 .elementor-element-krh0medi > .elementor-widget-image:not(#kr-x):not(#kr-y),html body.page-id-3929 .elementor-element-krh0medi .elementor-widget-container:not(#kr-x):not(#kr-y){height:auto!important;flex:0 0 auto!important}
html body.page-id-10 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-2239 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-3929 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y){height:auto!important;min-height:0!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center 40%!important}
}

/* 13. B «Kõik vajalik on hinna sees»: Elementor normalises the 100/60/40 columns to 50/30/20, which left the team
   photo 208 px wide; heading 30 %, list 35 %, photo 35 % from tablet up (phones stack as before). */
@media (min-width:768px){
html body .elementor-element-1c9a893 .elementor-element-35d66c05:not(#kr-x):not(#kr-y){width:30%!important}
html body .elementor-element-1c9a893 .elementor-element-245adb97:not(#kr-x):not(#kr-y){width:35%!important}
html body .elementor-element-1c9a893 .elementor-element-4b7f2bca:not(#kr-x):not(#kr-y){width:35%!important}
html body .elementor-element-408319dd img:not(#kr-x):not(#kr-y){width:100%!important;max-width:100%!important}
}

/* 14. «Miks valida» cards: the Customizer's footer CSS also styles `.kr-grid` (align-items:start, grid areas), which
   leaked into this block and gave each card its own height; stretch them again and drop the areas. */
html body .kr-why-us .kr-grid:not(#kr-x):not(#kr-y){align-items:stretch!important;grid-template-areas:none!important}
html body .kr-why-us .kr-grid > .kr-item:not(#kr-x):not(#kr-y){grid-area:auto!important;height:100%!important;box-sizing:border-box!important}

/* 15. Desktop menu with eight top-level items («Õpetajad» added 11.10.2026): 8 px item margins and 16 px labels keep
   one row at 1200–1440 px in all three languages (measured: RU had 20 px of slack at 14 px / 17 px and wrapped). */
@media (min-width:921px){
html body.ast-desktop .main-header-menu > .menu-item:not(#kr-x):not(#kr-y){margin:0 8px!important}
html body.ast-desktop .main-header-menu > .menu-item > a:not(#kr-x):not(#kr-y){font-size:16px!important}
}

/* 16. Home hero on phones and tablets (owner 12.10.2026): the photo goes above the headline, as on the B pages
   (kr-pilot gives their krh0medi order:-1; the home pages never had it, so the photo sat at the end of the hero). */
@media (max-width:1024px){
html body.page-id-10 .elementor-element-krh0medi:not(#kr-x):not(#kr-y),html body.page-id-2239 .elementor-element-krh0medi:not(#kr-x):not(#kr-y),html body.page-id-3929 .elementor-element-krh0medi:not(#kr-x):not(#kr-y){order:-1!important}
}

/* 17. B-page hero photo on phones and tablets (owner 16.10.2026): 240 px high instead of 380, face kept in frame. */
@media (max-width:1024px){
html body.page-id-1399 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-2276 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-2675 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y){height:240px!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 28%!important}
}

/* 18. Same 240 px hero photo on phones and tablets for the home and jätkuõpe pages (owner 16.10.2026: «может все hero 240»).
   Trial pages keep their 200 px photo below the form. */
@media (max-width:1024px){
html body.page-id-10 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-2239 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-3929 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y){height:240px!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 40%!important}
html body.page-id-647 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-2366 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y),html body.page-id-3932 .elementor-element-krh0medi img:not(#kr-x):not(#kr-y){height:240px!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 45%!important}
}