/*
 * Ojaveere design system – ported from the original static site (ojaveere-koduleht/assets/style.css).
 *
 * Values, rule order and class names are kept identical to the original. Only these selectors changed,
 * so the theme does not restyle Elementor's or WordPress's own markup:
 *   header           → .oj-site-header          (output of [ojaveere_header])
 *   nav              → .oj-nav
 *   footer           → .oj-site-footer          (output of [ojaveere_footer])
 *   header.sm        → .oj-site-header.is-scrolled
 *   h1,h2,h3,p,ul{margin:0}, ul{list-style:none}, form, label, input/select/textarea
 *                    → limited to theme shortcode output (.oj-scope), zero added specificity.
 * Blocks added for WordPress are marked "WP:" and are at the end of the file.
 */

:root{--ink:#1F2A33;--blue:#173F68;--deep:#173F68;--soft:#EEF2F7;--line:#DDE3EA;--mut:#4E5F55;--rose:#F7E2DF;--sand:#F5E9EA;--sage:#718578;--red:#D13B53;--oj-topbar-h:44px;--oj-admin-bar:0px}
*{box-sizing:border-box}img,svg{max-width:100%}.eq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:28px;align-items:stretch}.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:20px}.dot li{padding-left:22px;position:relative;margin:8px 0}.dot li:before{content:'';position:absolute;left:0;top:.7em;width:8px;height:8px;border-radius:50%;background:#D13B53}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.75 Nunito,system-ui,sans-serif;color:var(--ink);background:#FFFFFF}
a{color:inherit;text-decoration:none}:where(.oj-scope) :is(h1,h2,h3,p,ul){margin:0}:where(.oj-scope) ul{padding:0;list-style:none}
:where(.dot,.tick,.steps){margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid #718578;outline-offset:3px}
.w{max-width:1160px;margin:0 auto;padding:0 32px}
.oj-site-header{position:sticky;top:0;z-index:20;background:rgba(244,247,250,.97);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:24px;color:var(--deep)}
.oj-nav{display:flex;gap:20px;align-items:center;white-space:nowrap}
.oj-nav>a,.oj-nav>button{font:600 15px Nunito,sans-serif;color:var(--ink);background:none;border:0;border-bottom:2px solid transparent;padding:8px 0;cursor:pointer;display:flex;gap:6px;align-items:center}
.oj-nav .on,.oj-nav [aria-expanded=true]{color:var(--blue);border-color:#718578}
.mp{position:absolute;left:0;right:0;top:100%;background:#F4F7FA;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(23,63,104,.07)}
.mp[hidden]{display:none}
.mp .w{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 28px;padding-top:28px;padding-bottom:36px}
.mp a{display:block;padding:16px 18px;border-radius:20px}.mp a:hover{background:#EEF2F7}
.mp b{display:block;font-weight:700}.mp span{font-size:15px;color:var(--mut)}
.btn{display:inline-block;white-space:nowrap;padding:15px 30px;border-radius:999px;background:var(--blue);color:#fff;font:700 16px Nunito,sans-serif;border:0;cursor:pointer}
.btn:hover{background:#0F2D4D}
.btn2{display:inline-block;padding:13px 28px;border-radius:999px;border:1.5px solid #718578;color:var(--deep);font:700 16px Nunito,sans-serif;background:transparent;cursor:pointer}
.btn2:hover{background:rgba(23,63,104,.07)}
.burger{display:none;width:46px;height:46px;border:0;background:none}
.sec{padding:104px 0}.soft{background:var(--soft)}.sand{background:var(--sand)}.rose{background:var(--rose)}.tint{background:#E3EAE4}
h1{font-size:50px;line-height:1.2;font-weight:700;color:var(--deep)}h2{font-size:34px;line-height:1.3;font-weight:700;margin-bottom:28px;color:var(--deep)}h3{font-size:21px;line-height:1.4;font-weight:700}
.lead{font-size:20px;color:var(--mut);max-width:56ch;margin-top:22px}
.m{color:var(--mut)}.sm{font-size:15px}
.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:28px}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:64px;align-items:center}
.card{background:var(--soft);border:0;border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:12px}
.soft .card,.sand .card,.rose .card,.tint .card{background:#FFFFFF}
a.card:hover{box-shadow:0 10px 30px rgba(23,63,104,.08)}
.ph{background:#E3EAE4;border-radius:28px;display:flex;align-items:center;justify-content:center;color:var(--mut);font-weight:600;font-size:15px;text-align:center;padding:16px}
.blob{border-radius:62% 38% 54% 46%/48% 56% 44% 52%}
.link{color:var(--blue);font-weight:700}
.hero{padding:88px 0 96px}.hero .btns,.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.crumb{font-size:15px;color:var(--mut);margin-bottom:14px}
.tick{display:grid;gap:14px}.tick li{padding:16px 22px;background:var(--soft);border-radius:20px}
.quote{font-size:30px;line-height:1.45;font-weight:600;color:var(--deep)}
:where(.oj-scope) form{display:grid;gap:18px}:where(.oj-scope) label{display:grid;gap:6px;font-weight:700;font-size:15px;color:var(--mut)}
.oj-scope :is(input,select,textarea){font:17px Nunito,sans-serif;padding:14px 16px;border:1.5px solid #8A9C90;border-radius:16px;color:var(--ink);background:#FFFFFF;width:100%}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.price{display:flex;justify-content:space-between;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.chip{padding:10px 20px;border-radius:999px;border:1.5px solid #8A9C90;background:#FFFFFF;font:600 15px Nunito,sans-serif;cursor:pointer;color:var(--ink)}
.chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.opt{display:block;width:100%;text-align:left;margin-top:12px;padding:16px 22px;border:1.5px solid #8A9C90;border-radius:20px;background:#fff;font:600 17px Nunito,sans-serif;cursor:pointer;color:var(--ink)}
.opt:hover{border-color:var(--blue);background:var(--soft)}
.oj-site-footer{background:#173F68;color:#EEF2F7;padding:60px 0;font-size:16px}.oj-site-footer a:hover{text-decoration:underline}
#ab{position:fixed;right:20px;bottom:20px;z-index:30}
#ab>button{background:var(--blue);color:#fff;border:0;border-radius:999px;padding:14px 24px;font:700 16px Nunito,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(23,63,104,.22)}
#abp{position:absolute;right:0;bottom:64px;width:340px;max-width:calc(100vw - 40px);background:#FFFFFF;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 36px rgba(23,63,104,.18);padding:20px;display:grid;gap:10px}
#abp[hidden]{display:none}#abl{max-height:280px;overflow:auto;display:grid;gap:8px}
.bub{background:var(--soft);border-radius:16px;padding:10px 14px;font-size:15px;line-height:1.55}.bub.me{background:var(--blue);color:#fff;justify-self:end}
.bub a{text-decoration:underline;font-weight:700}
@media(max-width:1080px){.burger{display:block}.oj-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#F4F7FA;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 24px;border-bottom:1px solid var(--line);max-height:calc(100vh - 84px);overflow:auto;white-space:normal}.oj-nav.open{display:flex}.oj-nav>a,.oj-nav>button{padding:16px 0;border-bottom:1px solid var(--line);justify-content:space-between;min-height:48px}.oj-nav .btn{margin-top:18px;text-align:center;border:0;padding:15px 30px}.mp{position:static;box-shadow:none;border:0;background:#EEF2F7;border-radius:20px;margin:8px 0}.mp .w{padding:8px}}
@media(max-width:720px){.w{padding:0 24px}h1{font-size:34px}h2{font-size:27px}.sec{padding:60px 0}.hero{padding:44px 0 52px}.g2{gap:36px}.quote{font-size:23px}.lead{font-size:18px}.card{padding:26px}.ph.blob{height:300px!important}.bar{height:72px}.mp{top:100%}.oj-nav{top:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.sit{align-items:flex-start;gap:10px;transition:box-shadow .2s}.sit:hover{box-shadow:0 10px 30px rgba(23,63,104,.09)}.sit h3{margin-top:10px}.ic{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--deep)}.band{margin-top:48px;background:#F7E2DF;border-radius:36px;padding:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:36px;align-items:center}@media(max-width:720px){.band{padding:32px 26px;border-radius:28px;margin-top:32px}}

.slogan{font:600 13px Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#173F68;margin:24px auto 0;max-width:640px;line-height:1.9}
.brand{background:#fff;padding:72px 0 64px;text-align:center;border-top:1px solid var(--line)}.brand img{height:120px;width:auto;margin:0 auto;display:block}
.btn.alt{background:var(--red);color:#fff}.btn.alt:hover{background:#B52F45}
.ankeet{margin-top:-32px;background:#F7E2DF;border-radius:32px;padding:30px 40px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.ankeet img{height:52px;width:auto}.ankeet>div{flex:1 1 320px}.ankeet h3{margin-bottom:4px}
@media(max-width:720px){.brand img{height:96px}.ankeet{padding:26px;border-radius:26px}.ankeet img{display:none}.ankeet .btn{width:100%;text-align:center}}

.logo img{height:56px}@media(max-width:720px){.logo img{height:46px}}

.logo img{width:auto;max-width:none;display:block}.logo{flex:none}

html,body{overflow-x:clip}

html{scroll-padding-top:104px}[id]{scroll-margin-top:104px}
.oj-site-header{box-shadow:0 8px 20px rgba(23,63,104,.06)}
h1,h2,h3,h4,.quote,.mp b,.price b{color:var(--blue)}
.oj-nav>a,.oj-nav>button{color:var(--deep)}.oj-nav .on,.oj-nav [aria-expanded=true]{color:var(--blue)}
.oj-site-footer b{color:#fff}
@media(max-width:720px){.hero{padding:64px 0 56px}.sec:first-child{padding-top:64px}}

[hidden]{display:none!important}
.top{background:#F7E2DF;text-align:center;font-size:14.5px;padding:9px 16px;color:var(--deep)}.top a:hover{text-decoration:underline}.top span{font-weight:600}.top b{color:var(--red)}
.nav-ank{display:none}
.ank{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px}
.steps{list-style:none;padding:0;margin:8px 0 12px;display:grid;gap:18px;counter-reset:s}.steps li{display:grid;gap:2px;padding-left:52px;position:relative;counter-increment:s}.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.fh{font-size:21px;padding-top:24px;border-top:1px solid var(--line);margin-top:8px}.fh:first-of-type{border:0;padding-top:0;margin-top:0}
.lab{display:block;font-weight:700;font-size:15px;color:var(--mut);margin-bottom:8px}.hint{font-weight:400;font-size:14px}
.rad{display:flex;gap:12px;flex-wrap:wrap}.rad label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px 18px;border:1.5px solid #8A9C90;border-radius:16px;font-weight:600;color:var(--ink);cursor:pointer;background:#fff}.rad input{width:20px;height:20px;margin:0;accent-color:var(--blue)}
.cons{display:flex;flex-direction:row;gap:14px;align-items:flex-start;font-weight:600;font-size:15px;line-height:1.6;color:var(--ink);padding:18px;background:var(--soft);border-radius:18px;cursor:pointer}.cons input{width:22px;height:22px;flex:none;margin:2px 0 0;accent-color:var(--blue)}
@media(max-width:960px){.ank{grid-template-columns:1fr}}
@media(max-width:1080px){.oj-nav .nav-ank{display:block;margin-top:12px;text-align:center;border-bottom:1.5px solid #718578}}
.ank{align-items:start}.ank>.card:first-child{position:sticky;top:112px}
@media(max-width:960px){.ank>.card:first-child{position:static}}

h1,h2,h3,.quote{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.005em}
h1{font-size:60px;line-height:1.1;font-weight:600}h2{font-size:42px;line-height:1.18;font-weight:600}h3{font-size:25px;line-height:1.25;font-weight:700}.quote{font-size:38px;line-height:1.3;font-weight:600}.fh{font-size:24px}
@media(max-width:720px){h1{font-size:42px}h2{font-size:33px}h3{font-size:23px}.quote{font-size:29px}}

.btn{color:#FFFFFF}.dot li:before{background:var(--red)}

.soft{background:#F6F8FB}.hero{background:#FFFFFF}.hero.soft{background:#FFFFFF}.wh{background:#fff}
.card{background:#F2F5F9}.soft .card,.sand .card,.rose .card,.tint .card,.wh .card{background:#fff}
.ank .card,.eq .card{background:#fff;border:1px solid var(--line)}
.btn.alt{background:#D13B53;color:#fff}.btn.alt:hover{background:#B52F45}
.top{background:#FBEFEC}
.wh .card{background:#F2F5F9}.hero+section[style]{background:#FFFFFF}
.oj-site-header{background:#EEF2F7;border-bottom:1px solid #C9D3DE;box-shadow:0 6px 16px rgba(23,63,104,.07)}
.mp{background:#EEF2F7;border-bottom:1px solid #C9D3DE}.mp a:hover{background:#E6ECF3}
.hero,.hero.soft,.hero+section[style]{background:#fff}
@media(max-width:1080px){.oj-nav{background:#EEF2F7;border-bottom:1px solid #C9D3DE}.mp{background:#E6ECF3}}
.top a{white-space:nowrap}@media(max-width:720px){.top .dsk{display:none}.top{font-size:14px;padding:8px 12px}}

@media(min-width:721px){.hero.soft{padding:48px 0 32px}.hero.soft+.sec,.hero.soft+section{padding-top:48px}.sec{padding:88px 0}.hero.soft .lead{margin-top:12px}.crumb{margin-bottom:8px}}

.oj-site-footer{padding:44px 0}.oj-site-footer .g{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:28px 32px;align-items:start}
.oj-site-footer img[src*=logo-white]{height:72px!important;margin-bottom:12px!important}.oj-site-footer .slogan{margin-top:12px!important}
.follow{display:flex;align-items:center;gap:10px;margin-top:16px}.soc{display:inline-flex;width:38px;height:38px;border-radius:50%;background:#EEF2F7;color:#173F68;align-items:center;justify-content:center}.soc:hover{background:#fff}

.mp{white-space:normal}
.vid{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#173F68;margin:6px 0}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.btn2{white-space:normal;text-align:center}

.fbtns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.fb{display:inline-block;padding:8px 18px;border-radius:999px;border:1.5px solid #C9D3DE;color:#EEF2F7;font-weight:700;font-size:14px;line-height:1.5}.fb:hover{background:rgba(238,242,247,.14);text-decoration:none!important}.fb1{background:#D13B53;border-color:#D13B53;color:#fff}.fb1:hover{background:#B52F45}

html{scroll-padding-top:150px}[id]{scroll-margin-top:150px}
.hero-c{padding:28px 0 56px}.banner img{width:100%;height:auto;display:block;border-radius:28px}.hc{text-align:center;max-width:760px;margin:40px auto 0}.hc .lead{margin:16px auto 0}.hc .btns{justify-content:center}
.seto{height:40px;background:url(../images/seto-tile.png) repeat-x center/auto 40px}
@media(min-width:1081px){.bar{height:auto;flex-direction:column;justify-content:center;gap:4px;padding:14px 0 8px}.logo img{height:88px;transition:height .2s}.oj-site-header.is-scrolled .logo img{height:44px}.oj-site-header.is-scrolled .bar{padding:6px 0 4px}.oj-nav{justify-content:center}.burger{display:none}}
@media(max-width:1080px){html{scroll-padding-top:110px}[id]{scroll-margin-top:110px}.bar{justify-content:center;position:relative;height:76px}.burger{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.logo img{height:52px}}
@media(max-width:720px){.bar{height:68px}.logo img{height:44px}.hero-c{padding:16px 0 40px}.hc{margin-top:28px}.banner img{border-radius:20px}.seto{height:30px;background-size:auto 30px}}

.banner{position:relative}.hc .btn2{background:#fff}
@media(min-width:961px){.hc{position:absolute;left:56px;top:50%;transform:translateY(-52%);width:47%;max-width:540px;text-align:left;margin:0}.hc h1{font-size:46px}.hc .lead{margin:14px 0 0;font-size:18px}.hc .btns{justify-content:flex-start;margin-top:22px}}
@media(max-width:960px){.banner img{height:240px;object-fit:cover;object-position:90% 75%}.hc{margin-top:28px}}

@media(min-width:961px){.banner img{height:620px;object-fit:cover;object-position:50% 40%}.hc{left:32px;bottom:32px;top:auto;transform:none;width:min(520px,48%);padding:30px 34px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:26px}.hc h1{font-size:38px;line-height:1.15}.hc .lead{font-size:16.5px;line-height:1.65;margin-top:12px}.hc .btns{margin-top:18px}}
@media(max-width:960px){.banner img{object-position:62% 45%}}
.seto.sand{background-color:var(--sand)}.seto.rose{background-color:var(--rose)}.seto.tint{background-color:#E3EAE4}.seto.soft{background-color:#F6F8FB}.seto.wh{background-color:#fff}


/* ==========================================================================
 * WP: additions for WordPress / Hello Elementor / Elementor Pro
 * ========================================================================== */

/* WP: original "header.sm" also set font-size:15px via the .sm utility. */
.oj-site-header.is-scrolled{font-size:15px}

/* WP: sticky header inside an Elementor Pro Theme Builder header template.
 * The template wrapper is the direct child of <body>, so it is the element that must stick.
 * The negative top lets the "Uus klient?" top bar scroll away while the header stays,
 * exactly like the original. --oj-topbar-h is measured by ojaveere.js. */
.elementor-location-header:has(.oj-site-header){position:sticky;top:calc(var(--oj-admin-bar) - var(--oj-topbar-h));z-index:20}
.elementor-location-header:not(:has(.top)):has(.oj-site-header){top:var(--oj-admin-bar)}
.admin-bar{--oj-admin-bar:32px}
.admin-bar .oj-site-header{top:var(--oj-admin-bar)}
@media(max-width:782px){.admin-bar{--oj-admin-bar:46px}}
@media(max-width:600px){.admin-bar{--oj-admin-bar:0px}}

/* WP: Hello Elementor reset.css colours buttons and link hovers (#c36 / #336).
 * These rules restore the original look of the theme's own controls. */
a:is(:hover,:active){color:inherit}
.link:is(:hover,:active){color:var(--blue)}
.fb:is(:hover,:active){color:#EEF2F7}.fb1:is(:hover,:active){color:#fff}
.soc:is(:hover,:active){color:#173F68}
.burger{padding:0}
.burger:is(:hover,:focus){background:none;border:0}
.oj-nav>button:is(:hover,:focus){background:none;color:var(--deep);border-top:0;border-left:0;border-right:0}
.oj-nav>button:not(.on):not([aria-expanded=true]):is(:hover,:focus){border-bottom-color:transparent}
.oj-nav>button:is(.on,[aria-expanded=true]){border-bottom-color:#718578}
.oj-nav>a.btn{color:#fff}
.btn:is(:hover,:focus){background:#0F2D4D;color:#fff}
.btn.alt:is(:hover,:focus){background:#B52F45;color:#fff}
.btn2:is(:hover,:focus){background:rgba(23,63,104,.07);color:var(--deep)}
.hc .btn2:is(:hover,:focus){background:#fff}
.chip:is(:hover,:focus){background:#FFFFFF;color:var(--ink);border-color:#8A9C90}
.chip[aria-pressed=true]:is(:hover,:focus){background:var(--blue);border-color:var(--blue);color:#fff}
.opt:is(:hover,:focus){border-color:var(--blue);background:var(--soft);color:var(--ink)}
#ab>button:is(:hover,:focus){background:var(--blue);color:#fff}
:is(.btn,.btn2,.chip,.opt,.burger,.oj-nav>button,#ab>button){text-transform:none;letter-spacing:normal;line-height:normal}

/* WP: the original relied on its global list reset for these list styles. */
.dot li,.tick li{list-style:none}

/* WP: optional – add the CSS class "oj-form" to an Elementor Pro Form widget
 * (Advanced › CSS Classes) to give its fields the original Ojaveere look.
 * Values set in the widget's Style tab still win. */
.oj-form .elementor-field-group .elementor-field-label{font-weight:700;font-size:15px;color:var(--mut)}
.oj-form .elementor-field-group .elementor-field-textual{font:17px Nunito,sans-serif;padding:14px 16px;border:1.5px solid #8A9C90;border-radius:16px;color:var(--ink);background:#FFFFFF;min-height:0}
.oj-form .elementor-field-group .elementor-select-wrapper select{font:17px Nunito,sans-serif}
.oj-form .elementor-button{padding:15px 30px;border-radius:999px;background:var(--blue);color:#fff;font:700 16px Nunito,sans-serif}
.oj-form .elementor-button:hover{background:#0F2D4D;color:#fff}

/* WP: editor-only marker from [ojaveere_form_placeholder]. */
.oj-form-placeholder{border:2px dashed var(--red);border-radius:18px;padding:18px 22px;background:#FBEFEC;color:var(--ink);font-size:15px;line-height:1.6}
