/*
Theme Name: Virtuaal.com
Author: Virtuaal.com
Version: 1.4
Description: Virtuaal.com custom theme.
*/

/* Google Fonts @import removed — loaded via <link> in header.php instead */

/* --- CSS CUSTOM PROPERTIES --- */
:root {
    --color-primary: #00c05f;
    --color-primary-hover: #00a854;
    --color-dark: #111827;
    --color-muted: #6b7280;
    --color-body: #4b5563;
    --color-white: #fff;
    --color-surface: #f9fafb;
    --color-border: #e5e7eb;
    --color-heading: #111827;
    --color-body-text: #4b5563;
}

/* --- RESET & GLOBAL STYLES --- */
* { margin: 0px; padding: 0px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; box-sizing: border-box; -webkit-box-sizing: border-box; }
html, body { width: 100%; font-size: 20px; color: #080808; font-family: 'Rubik', sans-serif; font-weight: 400; background: #fff; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

.container { padding: 0 16px; }
.wrapper { padding: 0 16px; max-width: 1280px; width: 100%; margin: 0 auto; }

*::-webkit-input-placeholder { color: #6b7280; opacity: 1 !important; }
*::-moz-placeholder { color: #6b7280; opacity: 1 !important; }
*:-ms-input-placeholder { color: #6b7280; opacity: 1 !important; }

[href^="tel"] { cursor: text; }

.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

input, textarea { font-family: 'Rubik', sans-serif; font-weight: 300; transition: all 0.3s; -webkit-transition: all 0.3s; }
input:focus, textarea:focus { outline: none; }
input:focus-visible, textarea:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

/* --- COMMON ELEMENTS --- */
a { color: var(--color-primary); transition: all 0.3s; -webkit-transition: all 0.3s; }
a:hover { color: var(--color-primary-hover); }
a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
img { border: 0px; display: block; max-width: 100%; }

/* --- SKIP NAVIGATION --- */
.skip-link { position: absolute; top: -100%; left: 50%; transform: translateX(-50%); background: var(--color-primary); color: #fff; padding: 12px 24px; z-index: 100000; font-size: 16px; font-weight: 500; border-radius: 0 0 8px 8px; text-decoration: none; transition: top 0.2s; }
.skip-link:focus { top: 0; outline: 2px solid #fff; outline-offset: -2px; color: #fff; }
ul { list-style: none; margin: 0px; }
.clear { clear: both; overflow: hidden; }
p { font-family: 'Rubik', sans-serif; font-weight: 300; line-height: 32px; font-size: 20px; padding-bottom: 20px; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; font-family: 'Rubik', sans-serif; font-weight: 300; color: var(--color-primary); }
h1, .h1 { font-size: 54px; }
h2, .h2 { font-size: 54px; }
h3, .h3 { font-size: 54px; }
h4, .h4 { font-size: 30px; }
h5, .h5 { font-size: 25px; }
h6, .h6 { font-size: 14px; }

textarea { padding: 10px; height: 100px; resize: none; }

.btn1 { padding: 20px 35px; letter-spacing: 0.03em; line-height: 20px; color: #FFF; display: inline-block; border-radius: 6px; -webkit-border-radius: 6px; font-size: 14px; font-weight: 700; text-transform: uppercase; background: var(--color-primary); transition: all 0.2s ease; }
.btn1:hover { color: #FFF; background: var(--color-primary-hover); transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3); }

.wpcf7-submit { padding: 20px 40px; letter-spacing: 0.03em; line-height: 20px; color: #FFF; display: inline-block; border-radius: 6px; -webkit-border-radius: 6px; font-size: 14px; font-weight: 700; border: 0px; text-transform: uppercase; background: var(--color-primary); transition: all 0.2s ease; }
.wpcf7-submit:hover { color: #FFF; background: var(--color-primary-hover); transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3); }

#back-to-top { padding: 3px 40px 0 0; position: fixed; bottom: 20px; right: 30px; z-index: -1; font-size: 14px; color: var(--color-body); text-transform: uppercase; line-height: 30px; cursor: pointer; transition: opacity 0.2s ease-out; -webkit-transition: opacity 0.2s ease-out; opacity: 0; background: url('images/top_btn.png') right top no-repeat; }
#back-to-top.show { opacity: 1; z-index: 9999; }

/* --- NOTIFICATIONS --- */
.notifications { background: #191919; }
.notifications .container { position: relative; }
.notifications .text { padding: 25px 0 5px 104px; max-width: 728px; margin: 0 auto; background: url(images/notification-icon.png) left no-repeat; }
.notifications p { color: #FFF; font-size: 16px; line-height: 20px; font-weight: 400; letter-spacing: 0.01em; }
.notifications p strong { color: var(--color-primary); font-weight: 400; }
.notifications a.close { padding-right: 18px; color: #FFF; position: absolute; right: 32px; top: 26px; font-size: 16px; line-height: 20px; }
.notifications a.close:before, .notifications a.close:after { content: ""; position: absolute; right: 0px; top: 3px; width: 1px; height: 16px; transform: rotate(45deg); -webkit-transform: rotate(45deg); background: #FFF; }
.notifications a.close:after { transform: rotate(135deg); -webkit-transform: rotate(135deg); }
.notifications a.close:hover { opacity: 0.8; }

/* --- WRAPPER & HEADER --- */
#wrapper { width: 100%; overflow: hidden; min-height: 100%; position: relative; }
.sickyheader { padding-top: 90px; }

#header-part { padding: 0px; width: 100%; position: relative; background: #FFF; }
#header-part.sticky { position: fixed; left: 0px; top: 0px; z-index: 1002; -webkit-box-shadow: 0 5px 10px 1px rgba(0,0,0,0.2); box-shadow: 0 5px 10px 1px rgba(0,0,0,0.2); }
#header-part a.logo { margin-top: 20px; }
#header-part .language { padding: 23px 0px 0px 0px; width: 93px; margin-left: 30px; position: relative; z-index: 10032; }
#header-part .language .wpml-ls-legacy-dropdown a { padding: 0px 0px 0px 39px; border: 0px; font-weight: 400; letter-spacing: 0.01em; color: var(--color-dark); line-height: 41px; text-transform: uppercase; font-size: 14px; background: #FFF url(images/world-icon.png) 10px center no-repeat; }
#header-part .language .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after { border: 0px; border-right: var(--color-primary) solid 1px; border-bottom: var(--color-primary) solid 1px; width: 7px; height: 7px; right: 10px; top: 15px; transform: rotate(45deg); -webkit-transform: rotate(45deg); }
#header-part .language .wpml-ls-legacy-dropdown a:hover, #header-part .language .wpml-ls-legacy-dropdown .wpml-ls-item:hover > a { color: #fff; background: var(--color-primary-hover) url(images/world-hover.png) 10px center no-repeat; }
#header-part .language .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:hover:after, #header-part .language .wpml-ls-legacy-dropdown .wpml-ls-item:hover a:after { border-right: #fff solid 1px; border-bottom: #fff solid 1px; }
#header-part .language .wpml-ls-legacy-dropdown .wpml-ls-sub-menu { border: 0px; background: var(--color-primary-hover); }
#header-part .language .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a { color: #FFF; background: none; }
#header-part .language .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover { background: var(--color-primary); }
#header-part a.loginbtn { margin-top: 23px; letter-spacing: 0.01em; padding: 0 20px; line-height: 40px; display: block; border: var(--color-primary) solid 1px; color: var(--color-primary); border-radius: 6px; -webkit-border-radius: 6px; font-size: 14px; text-transform: uppercase; }
#header-part a.loginbtn:hover { color: #FFF; background: var(--color-primary); }
.loginmob { display: none; }
.maintitleerror { padding: 100px 0; background: #191919; background-repeat: no-repeat; background-position: right top; }

/* --- NAVIGATION --- */
.nav-bar { padding-right: 40px; }
.et .nav-bar { padding-right: 39px; }
.nav-bar ul { list-style: none; overflow: hidden; border-right: #e5e7eb solid 1px; }
.nav-bar li { font-size: 14px; line-height: 20px; float: left; border-left: #e5e7eb solid 1px; }
.nav-bar li a { padding: 37px 24px 33px; display: block; position: relative; color: var(--color-muted); font-weight: 300; text-transform: uppercase; }
.et .nav-bar li a { padding: 37px 22px 33px 23px; }
.nav-bar li a:after { content: ""; display: none; position: absolute; left: 0px; bottom: 0px; width: 100%; height: 5px; background: var(--color-primary); }
.nav-bar li a:hover, .nav-bar li.current-menu-item a, .nav-bar li.current-page-ancestor a { color: var(--color-primary); }
.nav-bar li a:hover:after, .nav-bar li.current-menu-item a:after, .nav-bar li.current-page-ancestor a:after { display: block; }

/* --- CONTENT PARTS --- */
#content-part { width: 100%; position: relative; overflow: hidden; }

/* Banner Bar */
.banner-bar { width: 100%; float: left; position: relative; }
.banner-bar .leftcontent { padding: 0px; }
.banner-bar .intro { padding: 93px 0px 0px 0px; height: 400px; }
.banner-bar .intro .text { max-width: 315px; }
.banner-bar .intro h1 { padding-bottom: 14px; color: var(--color-dark); line-height: 62px; font-weight: 300; letter-spacing: -0.03em; }
.banner-bar .intro p a { text-transform: uppercase; font-size: 14px; letter-spacing: 0.04em; }
.banner-bar .forms { padding: 87px 0px 0px 0px; height: 355px; position: relative; background: var(--color-primary); }
.banner-bar .forms:before { content: ""; position: absolute; right: 0px; top: 0px; width: 5000px; height: 100%; background: var(--color-primary); }
.banner-bar .forms h2 { color: #FFF; position: relative; z-index: 10; letter-spacing: -0.02em; }
.banner-bar .forms form { padding: 39px 0px 0px 0px; position: relative; z-index: 10; }
.banner-bar .forms .input-field { margin: 0px; float: left; width: 360px; }
.banner-bar .forms .sl1 { width: 88px; }
.banner-bar .forms input[type="text"] { padding: 0 25px; margin-bottom: 0px; color: #FFF; font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; border: 0px; height: 60px; border-right: var(--color-primary) solid 1px; box-sizing: border-box; -webkit-box-sizing: border-box; background: var(--color-primary-hover); }
.banner-bar .forms input#domain-search { color: var(--color-dark); background: #fff; border: 1px solid #e5e7eb; border-right: var(--color-primary) solid 1px; }
.banner-bar .forms .dropdown-content { background: var(--color-primary-hover); box-shadow: 0 0px 0px 0 rgba(0,0,0,0), 0 1px 5px 0 rgba(0,0,0,0), 0 0px 0px -2px rgba(0,0,0,0); }
.banner-bar .forms .sl1 input[type="text"] { padding: 0 20px; text-transform: uppercase; }
.banner-bar .forms .dropdown-content li>a, .banner-bar .forms .dropdown-content li>span { color: #FFF; text-transform: uppercase; }
.banner-bar .forms .select-wrapper span.caret { border: 0px; font-size: 0px; border-right: #fff solid 1px; border-bottom: #fff solid 1px; width: 7px; height: 7px; right: 20px; top: -7px; transform: rotate(45deg); -webkit-transform: rotate(45deg); z-index: 10; }
.banner-bar .forms input[type="submit"] { margin-left: 20px; font-size: 0px; width: 60px; height: 60px; border-radius: 50%; -webkit-border-radius: 50%; border: 0px; cursor: pointer; background: #ffffff url(images/search-icon.png) center no-repeat; }
.banner-bar .forms input[type="submit"]:hover { background: var(--color-primary-hover) url(images/search-hover.png) center no-repeat; }
.banner-bar .rightslider { position: relative; height: 755px; }
.banner-bar .rightslider:before { content: ""; position: absolute; left: 0px; top: 0px; width: 5000px; height: 100%; background: #000000; }
.banner-bar .bg { position: absolute; right: 0px; top: 0px; width: 700px; height: 100%; background-color: #000000; background-repeat: no-repeat; background-position: right; background-size: auto 100%; z-index: 10; }
.banner-bar .container .row { margin: 0px; }
.banner-bar .rightslider .banner-slider { padding: 0px; height: 755px; z-index: 1000; }
.banner-bar .rightslider .text { padding: 104px 0px 0px 89px; max-width: 415px; }
.banner-bar .rightslider h3 { padding-bottom: 12px; font-size: 14px; text-transform: uppercase; color: var(--color-primary); }
.banner-bar .rightslider span.mainheading { padding-bottom: 20px; display: block; font-weight: 300; font-size: 54px; color: #FFF; line-height: 62px; letter-spacing: -0.015em; }
.banner-bar .rightslider ul { padding: 22px 0px 25px 0px; list-style: none; }
.banner-bar .rightslider li { padding: 0 0 10px 20px; font-size: 20px; color: #FFF; position: relative; font-weight: 300; }
.banner-bar .rightslider li:before { content: ""; position: absolute; left: 0px; top: 10px; width: 8px; height: 8px; border-left: var(--color-primary) solid 2px; border-bottom: var(--color-primary) solid 2px; transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
.banner-bar .rightslider .banner-slider p { padding-bottom: 38px; color: var(--color-muted); font-size: 14px; text-transform: uppercase; line-height: 20px; }
.banner-bar .rightslider .banner-slider p strong { padding-top: 7px; display: block; color: #FFF; font-size: 60px; line-height: 60px; font-weight: 300; }
.banner-bar .rightslider .middle-indicator a { padding-top: 4px; margin: 0 -2px 0 -3px; color: #FFF; display: inline-block; width: 52px; height: 51px; background: var(--color-primary); }
.banner-bar .rightslider .middle-indicator .material-icons { font-size: 45px; margin: 0px auto; }
.banner-bar .rightslider .middle-indicator a:hover { background: var(--color-primary-hover); }
.banner-bar .rightslider .slick-arrow { padding-top: 4px; text-align: center; cursor: pointer; border: 0px; position: absolute; right: 0px; bottom: 0px; width: 52px; height: 52px; color: #FFF; background: var(--color-primary); }
.banner-bar .rightslider .slick-arrow .material-icons { font-size: 45px; margin: 0px auto; }
.banner-bar .rightslider .slick-arrow:hover { background: var(--color-primary-hover); }
.banner-bar .rightslider .slick-prev { right: 52px; }
.banner-bar .bg .slick-slide { height: 755px; background-repeat: no-repeat; background-position: right; background-size: auto 100%; }

/* Hero Bar */
/* Hero hall → must 2026-05-25: alamlehtede hero pilt ei kata kogu konteinerit, hall jätk visuaalselt halb */
.hero-bar { padding: 132px 0px 291px 0px; width: 100%; background-color: #000000; background-repeat: no-repeat; background-position: right top; }
.hero-bar.defaultpages { margin-bottom: 40px; }
.hero-bar .container { padding: 0 10px; }
.hero-bar h1 { padding-bottom: 47px; }
.hero-bar p { color: #FFF; font-weight: 400; letter-spacing: -0.012em; }
.hero-bar .col { padding-right: 80px; }
.hero-bar ul { padding: 20px 0px 65px 0px; list-style: none; }
.hero-bar li { padding: 0 0 10px 18px; font-size: 20px; color: #FFF; position: relative; font-weight: 400; letter-spacing: -0.014em; }
.hero-bar li:before { content: ""; position: absolute; left: -2px; top: 11px; width: 8px; height: 8px; border-left: var(--color-primary) solid 2px; border-bottom: var(--color-primary) solid 2px; transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
.hero-bar .btn1 { padding: 20px 40px; }
.hero-bar .maincontent { max-width: 630px; margin: 0 auto; text-align: center; }
.hero-bar.domains { padding: 0px; }
.hero-bar.domains .heroinner { padding: 122px 0px 258px 0px; width: 100%; background-repeat: no-repeat; background-position: left bottom; }
.hero-bar .maincontent form { padding: 70px 0px 0px 0px; position: relative; z-index: 10; }
.hero-bar .maincontent .input-field { margin: 0px; float: left; width: 432px; }
.hero-bar .maincontent .sl1 { width: 115px; }
.hero-bar .maincontent input[type="text"] { padding: 0 38px; margin-bottom: 0px; color: #000; font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; border: 0px; height: 60px; border-right: var(--color-primary) solid 1px; box-sizing: border-box; -webkit-box-sizing: border-box; background: #fff; }
.hero-bar .maincontent input[type="text"]:focus { border-bottom: 0px; -webkit-box-shadow: 0 0px 0 0 var(--color-primary); box-shadow: 0 0px 0 0 var(--color-primary); }
.hero-bar .maincontent input.select-dropdown { color: #fff; background: var(--color-primary-hover); }
.hero-bar .maincontent .dropdown-content { background: var(--color-primary-hover); box-shadow: 0 0px 0px 0 rgba(0,0,0,0), 0 1px 5px 0 rgba(0,0,0,0), 0 0px 0px -2px rgba(0,0,0,0); }
.hero-bar .maincontent .sl1 input[type="text"] { padding: 0 20px; text-transform: uppercase; }
.hero-bar .maincontent .dropdown-content li>a, .hero-bar .maincontent .dropdown-content li>span { color: #FFF; text-transform: uppercase; }
.hero-bar .maincontent .select-wrapper span.caret { border: 0px; font-size: 0px; border-right: #fff solid 1px; border-bottom: #fff solid 1px; width: 7px; height: 7px; right: 20px; top: -7px; transform: rotate(45deg); -webkit-transform: rotate(45deg); z-index: 10; }
.hero-bar .maincontent input[type="submit"], .hero-bar .maincontent a.button { margin-left: 20px; font-size: 0px; width: 60px; height: 60px; border-radius: 50%; -webkit-border-radius: 50%; border: 0px; cursor: pointer; background: var(--color-primary) url(images/search-hover.png) center no-repeat; }
.hero-bar .maincontent input[type="submit"]:hover, .hero-bar .maincontent a.button:hover { background: var(--color-primary-hover) url(images/search-hover.png) center no-repeat; }
.hero-bar .maincontent .dropdown-content li:before { display: none; }
.hero-bar.support .maincontent form { padding-top: 32px; padding-bottom: 139px; }
.hero-bar.support .maincontent .input-field { width: 550px; }
.hero-bar.support .heroinner { padding-bottom: 158px; }
.hero-bar .vc_column-inner { padding: 0px !important; }
.hero-bar .wpb_text_column { padding: 0px 0px 0px 15px; width: 48%; }
.vc_row-fluid .vc_column_container { padding: 0 15px; max-width: 1290px; margin: 0 auto; }
.vc_row-fluid .vc_col-sm-12 { float: none; }

/* Hero Bar 1 */
.hero-bar1 { position: relative; background-color: #191919; background-size: auto !important; background-repeat: no-repeat !important; background-position: right top !important; }
body .hero-bar1 { background-color: #191919; background-size: auto !important; background-repeat: no-repeat !important; background-position: right top !important; }
.hero-bar1 .wpb_text_column { padding: 132px 0px 522px 0px; max-width: 735px; }
.hero-bar1 p { color: #FFF; font-size: 25px; line-height: 40px; font-weight: 400; letter-spacing: -0.01em; }
.hero-bar1 .vc_column-inner { padding: 0px !important; }
.hero-bar1 h1 { padding-bottom: 52px; }

/* Heading Bar */
.heading-bar { position: relative; background-color: #191919; background-size: auto !important; background-repeat: no-repeat !important; background-position: right top !important; }
body .heading-bar { background-color: #191919; background-size: auto !important; background-repeat: no-repeat !important; background-position: right top !important; }
.heading-bar .wpb_text_column { padding: 132px 0px 57px 0px; max-width: 735px; margin-bottom: 0px; }
.heading-bar p { color: #FFF; font-size: 25px; line-height: 40px; font-weight: 400; letter-spacing: -0.01em; }
.heading-bar .vc_column-inner { padding: 0px !important; }
.heading-bar h1 { padding-bottom: 52px; }

/* Introtext Bar */
.introtext-bar { padding: 95px 0px 48px 0px; width: 100%; float: left; }
.introtext-bar ul { padding: 0 10px; text-align: center; }
.introtext-bar li { display: inline-block; }
.introtext-bar h4 { color: var(--color-dark); font-size: 54px; line-height: 60px; font-weight: 300; letter-spacing: -0.03em; }
.introtext-bar p { color: var(--color-muted); font-size: 14px; text-transform: uppercase; font-weight: 400; letter-spacing: 0.03em; }

/* Testimonial Bar */
.testimonial-bar { padding-bottom: 47px; float: left; width: 100%; position: relative; }
.testimonial-bar .row { margin: 0px; }
.testimonial-bar .content { padding: 45px 130px 60px 70px; min-height: 371px; position: relative; background: var(--color-primary); }
.testimonial-bar .image { float: left; width: 100%; min-height: 197px; }
.testimonial-bar .content h4 { font-size: 50px; line-height: 62px; color: #FFF; letter-spacing: -0.01em; }
.testimonial-bar .img { padding: 0px; }
.testimonial-bar .content h4 span { margin-left: -18px; position: relative; }
.testimonial-bar .text { padding: 40px 0px 0px 47px; }
.testimonial-bar .text h5 { color: var(--color-dark); font-size: 28px; font-weight: 300; letter-spacing: -0.01em; }
.testimonial-bar .text p { color: var(--color-muted); font-size: 14px; text-transform: uppercase; letter-spacing: 0.01em; }
.testimonial-bar .testimonial-item { overflow: hidden; }
.testimonial-bar .carousel.carousel-slider .carousel-fixed-item { bottom: 209px; text-align: right; }
.testimonial-bar .carousel { height: 580px !important; }
.testimonial-bar .middle-indicator a { padding-top: 4px; margin: 0 -2px 0 -3px; color: #FFF; display: inline-block; width: 52px; height: 51px; background: var(--color-primary); }
.testimonial-bar .middle-indicator .material-icons { font-size: 45px; margin: 0px auto; }
.testimonial-bar .middle-indicator a:hover { background: var(--color-primary-hover); }
.testimonial-bar .slick-arrow { padding-top: 4px; text-align: center; cursor: pointer; border: 0px; position: absolute; right: 0px; bottom: 197px; width: 52px; height: 52px; color: #FFF; z-index: 100; background: var(--color-primary); }
.testimonial-bar .slick-arrow .material-icons { font-size: 45px; margin: 0px auto; }
.testimonial-bar .slick-arrow:hover { background: var(--color-primary-hover); }
.testimonial-bar .slick-prev { right: 52px; }

/* Help Bar */
.help-bar { padding: 112px 0px 115px; width: 100%; float: left; background-color: #000000; background-repeat: no-repeat; background-size: auto 100%; background-position: right; }
.help-bar h3, .help-bar h2 { color: #FFF; line-height: 62px; letter-spacing: -0.02em; }
.help-bar h3 a, .help-bar h2 a { border-bottom: var(--color-primary) solid 3px; }
.help-bar h3 a:hover, .help-bar h2 a:hover { border-bottom: #fff solid 3px; color: #FFF; }
.help-bar .vc_column-inner { padding: 0px !important; }
.help-bar .wpb_content_element { margin: 0px; }
.help-bar.vc_row-fluid .vc_column_container { max-width: 1280px; }
.help-bar.vc_row-fluid { margin: 0px !important; }

/* Plan Bar */
.plan-bar { padding-bottom: 85px; text-align: center; position: relative; z-index: 10; width: 100%; margin-top: -228px; overflow: hidden; }
.plan-bar .container { padding: 0 10px; }
.plan-bar h2 { padding-bottom: 68px; font-weight: 300; letter-spacing: -0.02em; }
.plan-bar .servicebox .col { padding: 0px; position: relative; border-right: #e5e7eb solid 1px; }
.plan-bar .servicebox .col:last-child { border: 0px; }
.plan-bar .servicebox { background: #FFF; border-radius: 12px; -webkit-border-radius: 12px; -webkit-box-shadow: 0 0 40px 1px rgba(0,0,0,0.2); box-shadow: 0 0 40px 1px rgba(0,0,0,0.2); }
.plan-bar .popularchoice { position: absolute; left: 50%; top: -20px; margin-left: -90px; display: block; width: 180px; height: 40px; text-align: center; line-height: 40px; color: var(--color-primary); font-size: 14px; text-transform: uppercase; border-radius: 6px; -webkit-border-radius: 6px; background: #FFF; -webkit-box-shadow: 0 0 5px 1px rgba(0,0,0,0.2); box-shadow: 0 0 5px 1px rgba(0,0,0,0.2); }
.plan-bar .heading { height: 101px; background: var(--color-primary); overflow: hidden; }
.plan-bar .servicebox .col:first-child .heading { border-radius: 12px 0 0 0; }
.plan-bar .servicebox .col:last-child .heading { border-radius: 0 12px 0 0; }
.plan-bar .servicebox .row { margin: 0px; }
.plan-bar .heading h3 { padding-top: 34px; color: #FFF; font-weight: 300; font-size: 30px; }
.plan-bar .price { padding: 27px 0px 22px 0px; }
.plan-bar .price span { padding-bottom: 2px; display: block; color: var(--color-muted); font-size: 14px; text-transform: uppercase; }
.plan-bar .price h4 { font-weight: 300; font-size: 40px; }
.plan-bar .price h4 strong { font-weight: 300; }
.plan-bar .price h4 strong.pm { display: none; }
.plan-bar .annually .price h4 strong.py { display: none; }
.plan-bar .annually .price h4 strong.pm { display: inline; }
.plan-bar .price h5 + span { padding-top: 2px; }
.plan-bar .btn1 { padding: 20px 38px; }
.plan-bar ul { padding: 48px 0px 43px 0px; list-style: none; overflow: hidden; }
.plan-bar li { padding-bottom: 10px; }
.plan-bar li h5 { padding-bottom: 8px; color: var(--color-muted); font-size: 14px; font-weight: 400; text-transform: uppercase; }
.plan-bar li p { color: var(--color-dark); font-size: 24px; font-weight: 300; }
.plan-bar li:nth-child(3) { padding-bottom: 4px; }
.plan-bar .popular { background: #edfbf4; }
.plan-bar a.btn2 { top: -35px; color: var(--color-primary); position: relative; border: var(--color-primary) solid 1px; background: #FFF; }
.plan-bar a.btn2:hover { color: #FFF; background: var(--color-primary); }
.plan-bar .footnote { overflow: hidden; margin-top: -6px; }
.plan-bar .footnote .footmid { float: right; }
.plan-bar .footnote span.vat { padding: 0px 0 0 32px; cursor: pointer; margin-top: 11px; color: var(--color-muted); font-size: 14px; float: left; position: relative; line-height: 18px; font-weight: 300; }
.plan-bar .footnote span.vat:before { content: ""; position: absolute; left: 0px; top: 0px; width: 16px; height: 16px; border: var(--color-muted) solid 1px; }
.plan-bar .footnote span.vat:after { content: ""; position: absolute; left: 5px; top: 5px; width: 6px; height: 6px; background: var(--color-primary); }
.plan-bar .footnote span.vat.active:after { display: none; }
.plan-bar .footnote span.pay { padding: 9px 10px 0 40px; color: var(--color-muted); font-size: 14px; float: left; }
.plan-bar .footnote .switch { float: left; margin-top: 1px; }
.plan-bar .footnote .switch label { color: var(--color-muted); font-size: 14px; }
.plan-bar .footnote .switch label span.mn { color: var(--color-primary); }
.plan-bar .footnote.actives .switch label span.mn { color: var(--color-muted); }
.plan-bar .footnote.actives .switch label span.an { color: var(--color-primary); }
.plan-bar .footnote .switch label .lever { width: 47px; height: 30px; background: var(--color-primary); }
.plan-bar .footnote .switch label .lever:before, .plan-bar .footnote .switch label .lever:after { left: -2px; top: -1px; width: 30px; height: 30px; }
.plan-bar .footnote .switch label input[type=checkbox]:checked+.lever:after { background-color: #fff; }
.plan-bar .footnote .switch label input[type=checkbox]:checked+.lever { background-color: var(--color-primary); }
.plan-bar .footnote .switch label input[type=checkbox]:checked+.lever:before, .plan-bar .footnote .switch label input[type=checkbox]:checked+.lever:after { left: 22px; }
.plan-bar .servicebox .wpb_column { padding: 0px; border-left: #e5e7eb solid 1px; position: relative; }
.plan-bar .servicebox .wpb_column:first-child { border: 0px; }
.plan-bar .servicebox .wpb_column:first-child .heading { border-radius: 12px 0 0 0; }
.plan-bar .servicebox .wpb_column:last-child .heading { border-radius: 0 12px 0 0; }
.plan-bar .servicebox .wpb_column .vc_column-inner { padding: 0px; }
.plan-bar .wpb_content_element { margin: 0px; }
.plan-bar .price p { padding: 0px; padding-bottom: 2px; display: block; color: var(--color-muted); font-size: 14px; text-transform: uppercase; }
.plan-bar.vc_row-fluid { margin-top: -263px; padding-bottom: 60px; margin-left: 0px !important; margin-right: 0px !important; }
.hero-bar.vc_row-fluid { margin-left: 0px !important; margin-right: 0px !important; }
.plan-bar.vc_row-fluid .vc_column_container>.vc_column-inner { padding: 0px; }

/* Services Bar */
.services-bar { padding-bottom: 45px; }
.services-bar ul.tabs { padding: 22px 0 10px 0; overflow: hidden; background: var(--color-primary); height: auto; white-space: normal; max-width: 210px; margin: 0px; }
.services-bar .lefttabs { padding: 10px 0px 0px 8px; }
.services-bar ul.tabs li { padding: 0 20px 10px; float: none; display: block; height: auto; text-align: left; }
.services-bar ul.tabs li a { padding: 20px 10px 20px 25px; line-height: 20px; color: #FFF; font-size: 14px; text-transform: uppercase; display: block; border-radius: 6px; -webkit-border-radius: 6px; letter-spacing: 0.01em; }
.services-bar ul.tabs li a:hover, .services-bar ul.tabs li a.active { color: #FFF; background: var(--color-primary-hover); }
.services-bar ul.tabs li.indicator { display: none; }
.services-bar .text { padding: 7px 50px 30px 8px; }
.services-bar h4 { padding-bottom: 32px; font-weight: 300; letter-spacing: -0.01em; }
.services-bar p { color: var(--color-dark); font-weight: 400; letter-spacing: -0.01em; }
.services-bar .text:nth-child(even) { padding-right: 0px; width: 45.5%; float: right; }
.services-bar .text.s6:nth-child(2n+1) { clear: left; }
.services-bar ul { padding: 0px 0px 0px 0px; list-style: none; }
.services-bar li { padding: 0 0 10px 18px; font-size: 20px; position: relative; font-weight: 400; letter-spacing: -0.014em; }
.services-bar li:before { content: ""; position: absolute; left: -2px; top: 11px; width: 8px; height: 8px; border-left: var(--color-primary) solid 2px; border-bottom: var(--color-primary) solid 2px; transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
.services-bar .countpost .text { width: 100%; max-width: 100%; padding-right: 0px; }
.services-bar .countpost .text li { padding-bottom: 20px; line-height: 32px; }
.services-bar .countpost .text li strong { font-weight: 700; }
.services-bar .imglist .text, .services-bar .imglist .text:nth-child(even) { float: left; padding: 0px; width: 46%; }
.services-bar.topgap { padding-top: 50px; }
.services-bar .boxpack { overflow: hidden; }
.services-bar .text.s4 { padding-right: 20px; float: left; width: 33.33%; }
.services-bar .text.s4:last-child { padding-right: 0px; }
.services-bar .text.s12 { padding-right: 20px; float: none; width: 100%; }
.services-bar .textleft { text-align: left; }
.services-bar .textright { text-align: right; }
.services-bar .textcenter { text-align: center; }
.services-bar .textjustify { text-align: justify; }

/* Addservices Bar */
.addservices-bar { padding: 92px 0px 95px 0px; background-color: #000000; background-repeat: no-repeat; background-position: left top; }
.addservices-bar .services { max-width: 840px; margin: 0 auto; }
.addservices-bar .intro { padding: 0px 85px 31px 53px; }
.addservices-bar h3, .addservices-bar h2 { padding-bottom: 32px; font-weight: 300; letter-spacing: -0.015em; }
.addservices-bar .intro p { color: #fff; font-weight: 400; letter-spacing: -0.01em; }
.addservices-bar .planbox { border-top: var(--color-muted) solid 1px; }
.addservices-bar .plan { padding: 25px 0px 20px 53px; border-bottom: var(--color-muted) solid 1px; overflow: hidden; }
.addservices-bar .plan .text { float: left; }
.addservices-bar .plan h5, .addservices-bar .plan span { font-size: 25px; display: block; color: #FFF; }
.addservices-bar .plan .price { float: right; width: 210px; }
.addservices-bar .plan p { padding: 0px; color: var(--color-primary); font-size: 25px; font-weight: 400; }
.addservices-bar .plan p strong { font-weight: 400; color: var(--color-primary); font-size: 25px; }
.addservices-bar .plan p strong.py { display: none; }
.addservices-bar .plan span.subtext { color: var(--color-muted); font-size: 14px; text-transform: uppercase; display: inline-block; }
.addservices-bar .footnote { padding: 20px 0px 0px; overflow: hidden; }
.addservices-bar .footnote .footmid { float: right; }
.addservices-bar .footnote span.vat { padding: 0px 0 0 32px; cursor: pointer; margin-top: 11px; color: var(--color-muted); font-size: 14px; float: left; position: relative; line-height: 18px; font-weight: 300; }
.addservices-bar .footnote span.vat:before { content: ""; position: absolute; left: 0px; top: 0px; width: 16px; height: 16px; border: var(--color-muted) solid 1px; }
.addservices-bar .footnote span.vat:after { content: ""; position: absolute; left: 5px; top: 5px; width: 6px; height: 6px; background: var(--color-primary); }
.addservices-bar .footnote span.annual { margin-right: 50px; }
.addservices-bar .footnote span.active:after { display: none; }
.addservices-bar .planbox.annually .plan p strong.pm { display: none; }
.addservices-bar .planbox.annually .plan p strong.py { display: inline; }

/* Domains Bar */
.domains-bar { padding-bottom: 95px; position: relative; width: 100%; margin-top: -100px; }
.domains-bar .container { padding: 0 10px; }
.domains-bar ul.tabs { list-style: none; overflow: hidden; white-space: normal; height: auto; position: relative; }
.domains-bar ul.tabs li { float: left; display: block; width: 50%; border-left: #FFF solid 1px; height: auto; line-height: normal; }
.domains-bar ul.tabs li a { display: block; text-align: center; height: 200px; line-height: 200px; color: #FFF; font-size: 35px; background: var(--color-primary); text-transform: none; font-weight: 300; }
.domains-bar ul.tabs li.indicator { height: 15px; background: url('images/arrow-bottom.png') bottom no-repeat; border: 0px; }
.domains-bar ul.tabs li a:hover, .domains-bar ul.tabs li a.active { color: #FFF; background: var(--color-primary); }
.domains-bar ul.tabs li:first-child { border: 0px; }
.domains-bar .contentbox { padding: 50px 0px 0px 0px; max-width: 736px; margin: 0 auto; }
.domains-bar .contentbox .withvat { padding-bottom: 17px; overflow: hidden; }
.domains-bar .contentbox .withvat span.vat { padding: 0px 0 0 32px; cursor: pointer; color: var(--color-muted); font-size: 14px; float: right; position: relative; line-height: 18px; font-weight: 300; }
.domains-bar .contentbox .withvat span.vat:before { content: ""; position: absolute; left: 0px; top: 0px; width: 16px; height: 16px; border: var(--color-muted) solid 1px; }
.domains-bar .contentbox .withvat span.vat:after { content: ""; position: absolute; left: 5px; top: 5px; width: 6px; height: 6px; background: var(--color-primary); }
.domains-bar .contentbox .withvat span.vat.active:after { display: none; }
.domains-bar .contentbox table th { padding: 19px 10px; text-transform: uppercase; font-weight: 300; text-align: center; color: var(--color-primary); font-size: 14px; border-top: var(--color-primary) solid 1px; border-bottom: var(--color-primary) solid 1px; }
.domains-bar .contentbox table tr td { padding: 16px 0; text-align: center; border-bottom: #e5e7eb solid 1px; color: var(--color-dark); font-size: 18px; }
.domains-bar .contentbox table tr td:nth-child(4) span { padding: 0px !important; color: var(--color-dark) !important; background: none !important; }
.domains-bar .contentbox table tr td:first-child { color: var(--color-primary); }
.domains-bar.support { padding-bottom: 8px; margin-top: -103px; }
.domains-bar.support ul.tabs { background: none; }
.domains-bar.support ul.tabs li { width: 33.33%; }
.domains-bar.support .listbox { padding: 73px 0px 0px 0px; overflow: hidden; }
.domains-bar.support .listbox .col { padding-left: 0px; padding-bottom: 17px; }
.domains-bar.support .listbox h2 { padding-bottom: 25px; font-size: 40px; font-weight: 300; letter-spacing: -0.01em; }
.domains-bar.support .listbox ul { padding: 0px 0px 25px 0px; list-style: none; }
.domains-bar.support .listbox li { padding: 0 0 17px 22px; font-size: 20px; line-height: 32px; color: 191919; position: relative; font-weight: 400; letter-spacing: -0.014em; }
.domains-bar.support .listbox li:before { content: ""; position: absolute; left: -2px; top: 11px; width: 8px; height: 8px; border-left: var(--color-primary) solid 2px; border-bottom: var(--color-primary) solid 2px; transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
.domains-bar.support .listbox li a { color: var(--color-dark); }
.domains-bar.support .listbox li a:hover { color: var(--color-primary); }
.domains-bar.support .listbox .col:nth-child(even) { float: right; }
.domains-bar.support .listbox .col:nth-child(2n+1) { clear: left; }
.domains-bar.support .searchresults { padding: 70px 50px; color: #FFF; font-size: 35px; background: var(--color-primary); }
.domains-bar.support .searchresults h2 { color: #FFF; }
.domains-bar.support .listbox.searchlist { padding-bottom: 50px; }
.domains-bar.support .listbox.searchlist .col { padding-bottom: 0px; }
.domains-bar.support .listbox.searchlist .col ul { padding-bottom: 0px; }

/* Content Bar */
.content-bar { padding: 92px 0px 90px 0px; }
.content-bar .contentmid { max-width: 736px; margin: 0 auto; }
.content-bar h3 { padding-bottom: 64px; }
.content-bar h6, .content-bar h4 { padding-bottom: 15px; color: var(--color-heading); font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
.content-bar p { padding-bottom: 30px; }

/* Text Bar */
.text-bar .servicesbox { padding-bottom: 70px; position: relative; margin-top: -500px; }
.text-bar .servicesbox .vc_column_container { padding: 0 15px; max-width: 1470px; margin: 0 auto; background: #FFF; }
.text-bar .servicesbox > .vc_column_container > .vc_column-inner { padding: 80px 90px 0px 90px !important; }
.text-bar .servicesbox .vc_column-inner .wpb_wrapper { padding-top: 0px; }
.text-bar .servicesbox .vc_column-inner .wpb_column { padding: 24px 50px 48px 50px !important; text-align: center; margin-bottom: 26px; background: none; }
.text-bar .servicesbox .vc_column-inner .wpb_column .wpb_single_image { margin-bottom: 25px; }
.text-bar .servicesbox .vc_column-inner .wpb_column h2 { padding-bottom: 15px; font-weight: 300; font-size: 30px; }
.text-bar .servicesbox .vc_column-inner .wpb_column p { font-size: 14px; line-height: 24px; }
.text-bar .servicesbox .vc_column-inner .wpb_column .wpb_text_column { margin-bottom: 10px; }
.text-bar .servicesbox .vc_column-inner .wpb_column .vc_btn3-container { margin-bottom: 0px; margin-top: auto; }
.text-bar .servicesbox .vc_column-inner .wpb_column .vc_btn3-container a { padding: 19px 38px; line-height: 20px; font-weight: 700; text-transform: uppercase; border-radius: 6px; -webkit-border-radius: 6px; background: var(--color-primary) !important; transition: all 0.2s ease; }
.text-bar .servicesbox .vc_column-inner .wpb_column .vc_btn3-container a:hover { background: var(--color-primary-hover) !important; transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3); }
.text-bar .servicesbox .vc_column-inner .wpb_column:hover { -webkit-box-shadow: 0 0 30px 1px rgba(0,0,0,0.15); box-shadow: 0 0 30px 1px rgba(0,0,0,0.15); }

/* Service card CTA button alignment — push buttons to bottom via flexbox */
.text-bar .servicesbox .vc_column-inner .wpb_column > .vc_column-inner { display: flex; flex-direction: column; }
.text-bar .servicesbox .vc_column-inner .wpb_column > .vc_column-inner > .wpb_wrapper { display: flex; flex-direction: column; flex: 1; }
.text-bar .textbox { padding: 60px 0px 85px 0px; margin: 0px; max-width: 735px; margin: 0 auto; }
.text-bar .textbox h2 { padding-bottom: 20px; font-size: 40px; }
.text-bar .textbox p { padding-bottom: 38px; font-weight: 400; letter-spacing: -0.01em; }
.text-bar .textbox .wp-caption { padding: 18px 0 48px; border: 0px; }
.text-bar .textbox .wp-caption p.wp-caption-text { padding-top: 13px; text-align: left; font-size: 14px; color: #080808; }
.text-bar .textbox h3 { padding: 32px 0px; font-size: 40px; }
.text-bar .textbox ul { padding: 0px 0px 25px 0px; list-style: none; margin-top: -7px; }
.text-bar .textbox li { padding: 0 0 15px 18px; font-size: 20px; line-height: 32px; position: relative; font-weight: 400; letter-spacing: -0.014em; }
.text-bar .textbox li:before { content: ""; position: absolute; left: -2px; top: 11px; width: 8px; height: 8px; border-left: var(--color-primary) solid 2px; border-bottom: var(--color-primary) solid 2px; transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
.text-bar .banner-contact a.googlemap { padding-top: 95px; position: absolute; left: 50%; top: 50%; margin: -110px 0px 0px -50px; display: block; color: #FFF; font-size: 14px; }
.text-bar .banner-contact.vc_row-fluid .vc_column_container { width: 100%; max-width: 100%; padding: 0px; }
.text-bar .banner-contact.vc_row-fluid .vc_column_container .vc_column-inner { margin: 0px; padding: 0px; }
.text-bar .contactintro { padding: 0px !important; float: none; max-width: 1260px; left: 0px !important; margin: -235px auto 0 auto; -webkit-box-shadow: 10px 15px 20px 1px rgba(0,0,0,0.1); box-shadow: 10px 15px 20px 1px rgba(0,0,0,0.1); overflow: hidden; background: #FFF; }
.text-bar .contactintro .vc_col-sm-4 { padding: 88px 20px 10px 48px; height: 440px; background: var(--color-primary); }
.text-bar .contactintro h2 { font-size: 40px; color: #FFF; }
.text-bar .contactintro .vc_btn3-container { padding-top: 120px; }
.text-bar .contactintro .vc_btn3-container a { padding: 19px 38px; letter-spacing: 0.02em; line-height: 20px; border-radius: 6px; -webkit-border-radius: 6px; font-size: 14px; text-transform: uppercase; border: #FFF solid 1px; }
.text-bar .contactintro .vc_col-sm-8 { padding: 102px 10px 0px 87px; overflow: hidden; }
.text-bar .contactintro h4 { padding-bottom: 20px; font-size: 20px; font-weight: 400; letter-spacing: -0.01em; }
.text-bar .contactintro ul { float: left; width: 230px; }
.text-bar .contactintro ul + ul { float: right; width: 304px; }
.text-bar .contactintro li { padding: 28px 0px 25px 0px; color: var(--color-dark); font-size: 20px; line-height: 32px; letter-spacing: -0.01em; }
.text-bar .paymentbox { padding: 102px 0px 90px 0px; }
.text-bar .paymentbox.vc_row-fluid .vc_column_container { padding: 0px; }
.text-bar .paymentbox h2 { padding-bottom: 14px; letter-spacing: -0.01em; }
.text-bar .paymentbox p { padding-bottom: 10px; font-weight: 400; letter-spacing: -0.01em; }
.text-bar .paymentbox p img { margin-top: 37px; }
.text-bar .paymentbox .wpb_single_image { padding-top: 10px; }
.text-bar .teambox { padding: 42px 0px 22px 0px; }
.text-bar .teambox.vc_row-fluid .vc_column_container { padding: 0px; }
.text-bar .teambox h3 { padding-bottom: 15px; }
.text-bar .teambox .wpb_single_image.vc_align_center { margin-bottom: 32px; }
.text-bar .teambox h4 { font-weight: 300; color: var(--color-dark); }
.text-bar .teambox p { padding-bottom: 29px; font-weight: 400; }
.text-bar .teambox [href^="tel"] { color: var(--color-dark); }
.text-bar .teambox .wpb_single_image .vc_figure, .text-bar .teambox .wpb_single_image-wrapper { display: block; }
.text-bar .introtitle { padding: 40px 0px 0px 0px; }
.textbox.error { padding: 100px 0; border-bottom: #000 solid 5px; }

/* --- TABLE STYLES (FIXED WITH DISPLAY: TABLE) --- */
.tablecontents {
    padding-bottom: 20px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.tablecontents .tablebox {
    margin-bottom: 30px;
    width: 100%;
    padding: 0px;
    box-shadow: 0 0 40px 1px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0 0 40px 1px rgba(0,0,0,0.2);
}

/* Row Container - Uses Table Layout */
.tablecontents .heading,
.tablecontents .content {
    display: table;
    width: 100%;
    table-layout: fixed; /* Enforces strict column widths */
    border-collapse: collapse; /* Removes gaps between cells */
    clear: both;
}
.tablecontents .contentlist {
    display: table-row; /* Treats contentlist as a row */
    width: 100%;
    clear: both;
}

/* Column Styles */
.tablecontents .heading .column,
.tablecontents .content .column {
    display: table-cell;
    float: none; /* Reset float */
    vertical-align: middle; /* Vertically center content */
    text-align: center;
    border-right: #FFF solid 1px;
    box-sizing: border-box;
}

/* HEADING SPECIFIC */
.tablecontents .heading .column {
    height: 101px;
    background: var(--color-primary);
    color: #FFF;
    font-weight: 300;
    font-size: 30px;
    font-family: 'Rubik', sans-serif;
}

/* CONTENT SPECIFIC */
.tablecontents .content .column {
    height: 60px; /* Minimum height */
    padding: 15px;
    color: var(--color-dark);
    font-size: 16px;
    font-weight: 300;
    background-color: inherit; /* Ensure background color from row applies */
}

/* COLUMN WIDTHS (34% + 22% + 22% + 22% = 100%) */
.tablecontents .heading .column:nth-child(1),
.tablecontents .content .column:nth-child(1),
.tablecontents .heading .column1,
.tablecontents .content .column1 { width: 34%; }

.tablecontents .heading .column:nth-child(2),
.tablecontents .content .column:nth-child(2),
.tablecontents .heading .column2,
.tablecontents .content .column2,
.tablecontents .heading .column:nth-child(3),
.tablecontents .content .column:nth-child(3),
.tablecontents .heading .column3,
.tablecontents .content .column3,
.tablecontents .heading .column:nth-child(4),
.tablecontents .content .column:nth-child(4),
.tablecontents .heading .column4,
.tablecontents .content .column4 { width: 22%; }

/* Specific alignment for first column */
.tablecontents .content .column:nth-child(1),
.tablecontents .content .column1 {
    text-align: left;
    padding-left: 20px;
}

/* Alternating Row Colors */
.tablecontents .content .contentlist:nth-child(even) { background: #edfbf4; }

/* Tooltip Styles */
.tablecontents .content .column1 a:hover { position: relative; }
.tablecontents .content .column1 a[title]:hover:after {
    content: attr(title);
    padding: 10px 8px;
    font-size: 15px;
    line-height: 20px;
    color: #fff;
    position: absolute;
    left: 0;
    bottom: 100%;
    margin-bottom: 20px;
    width: 250px;
    max-width: 80vw;
    z-index: 20;
    border-radius: 6px;
    background: var(--color-primary-hover);
}
.tablecontents .content .column1 a[title]:hover:before {
    top: -20px;
    left: 24px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(0, 151, 75, 0);
    border-top-color: var(--color-primary-hover);
    border-width: 15px;
    margin-left: -15px;
}

.tablecontents .middlebox { width: 1248px; }
.tablecontents .textbgbox { padding: 20px 0; }
.tablecontents .vatbox { margin-bottom: 25px; }
span.tablevat { padding: 0px 0 0 32px; cursor: pointer; margin-bottom: 25px; color: var(--color-muted); font-size: 14px; float: right; position: relative; line-height: 18px; font-weight: 300; }
span.tablevat:before { content: ""; position: absolute; left: 0px; top: 0px; width: 16px; height: 16px; border: var(--color-muted) solid 1px; }
span.tablevat:after { content: ""; position: absolute; left: 5px; top: 5px; width: 6px; height: 6px; background: var(--color-primary); }
span.tablevat.active:after { display: none; }

/* ===== P1 semantiline <table> (.ctable, AINULT 6 võrdlus-lehel) =====
   .ctable esineb ainult semantilehtedel → scope automaatne, vana div-haru puutumata.
   Taastab natiivse tabeli display'd, mille jagatud .heading/.content{display:table} muidu lõhuks. */
.tablecontents .ctable { display: table; width: 100%; table-layout: fixed; border-collapse: collapse; }
/* NB: border-collapse MUST jääda collapse — separate + cellide border-right lõhub table-layout:fixed
   veeru-% arvutuse (column1 34%→40%). Testitud lokaalselt 2026-06-23. */
.tablecontents .ctable thead.heading { display: table-header-group; }
.tablecontents .ctable tbody.content { display: table-row-group; }
.tablecontents .ctable tfoot.content { display: table-footer-group; }
.tablecontents .ctable tr { display: table-row; }
.tablecontents .ctable th.column,
.tablecontents .ctable td.column { display: table-cell; }
/* tbody reapäis (column1) — taasta vasak-joondus + tühista brauseri th vaike-rasvasus/keskjoondus.
   AINULT tbody (mitte thead column1 päis, mis peab jääma heading-stiili). */
.tablecontents .ctable tbody.content th.column1 { font-weight: 300; text-align: left; }

/* Form Bar */
.form-bar { background-color: #191919; background-repeat: no-repeat; background-position: right top; }
.form-bar .formmid { background-repeat: no-repeat; background-position: left bottom; }
.form-bar .form { padding: 112px 0px 28px 0px; max-width: 840px; margin: 0 auto; text-align: center; }
.form-bar h3 { padding-bottom: 15px; font-weight: 300; color: #FFF; letter-spacing: -0.01em; font-size: 25px; }
.form-bar h4 { padding-bottom: 25px; font-size: 40px; font-weight: 300; letter-spacing: -0.01em; }
.form-bar .wpcf7 { padding: 22px 0px 0px 0px; max-width: 630px; margin: 0 auto; overflow: hidden; }
.form-bar p { overflow: hidden; float: left; width: 100%; padding-bottom: 10px; }
.form-bar p.fl { float: left; width: 285px; }
.form-bar p.fr { float: right; width: 285px; }
.form-bar label { display: block; color: #808080; font-size: 14px; text-transform: uppercase; padding-bottom: 0px; }
.form-bar label span { color: #F00; }
.form-bar input.wpcf7-text, .form-bar textarea { padding: 0 20px; height: 58px; border: #e5e7eb solid 1px; margin: 0px; font-size: 14px; text-transform: uppercase; color: #333; background: #FFF; }
.form-bar textarea { padding: 10px 20px; height: 150px; }
.form-bar input.wpcf7-submit { margin: 0 auto; display: block; margin-top: 12px; }
.form-bar div.wpcf7-response-output { float: left; width: 100%; border: 0px; margin-top: 0px; }
.form-bar div.wpcf7-validation-errors { color: #F00; }
.form-bar div.wpcf7-mail-sent-ok { color: var(--color-primary); }
.form-bar span.wpcf7-not-valid-tip { display: none !important; }
.form-bar .wpcf7-not-valid { border: #F00 solid 1px !important; }
.form-bar div.wpforms-container-full .wpforms-form .wpforms-field-label-inline { padding-left: 20px; position: relative; }
.form-bar [type="checkbox"]+label:before, [type="checkbox"]:not(.filled-in)+label:after { left: -12px; top: -3px; }

/* WPForms field overrides — prevent Materialize/theme global input styles from breaking WPForms layout */
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form input[type="url"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form input[type="date"],
div.wpforms-container-full .wpforms-form textarea,
div.wpforms-container-full .wpforms-form select { box-sizing: border-box; height: auto; border: 1px solid #e5e7eb; border-radius: 6px; padding: 8px 12px; margin-bottom: 10px; box-shadow: none; font-family: 'Rubik', sans-serif; font-weight: 300; font-size: 16px; width: 100%; }
div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form textarea:focus,
div.wpforms-container-full .wpforms-form select:focus { border-color: var(--color-primary); box-shadow: none; outline: none; }
div.wpforms-container-full .wpforms-form input:focus-visible,
div.wpforms-container-full .wpforms-form textarea:focus-visible,
div.wpforms-container-full .wpforms-form select:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 0; }
div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type="submit"] { background: var(--color-primary); color: #fff; border: 0; border-radius: 6px; padding: 12px 30px; font-size: 14px; font-weight: 700; text-transform: uppercase; cursor: pointer; transition: all 0.2s ease; }
div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type="submit"]:hover { background: var(--color-primary-hover); transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3); }

/* Login Box */
.loginbox { overflow: visible; height: 455px; max-width: 800px; background: #FFF; border-radius: 12px; -webkit-border-radius: 12px; top: 50% !important; transform: translateY(-50%) !important; -webkit-transform: translateY(-50%) !important; }
.loginbox.modal .modal-content { padding: 0px; overflow: hidden; }
.loginbox a.modal-close { position: absolute; right: -32px; top: -32px; font-size: 0px; width: 32px; height: 32px; background: var(--color-primary); }
.loginbox a.modal-close:before, .loginbox a.modal-close:after { content: ""; width: 2px; height: 17px; position: absolute; left: 15px; top: 8px; transform: rotate(45deg); -webkit-transform: rotate(45deg); background: #FFF; }
.loginbox a.modal-close:after { transform: rotate(135deg); -webkit-transform: rotate(135deg); }
.loginbox a.modal-close:hover { opacity: 0.8; }
.loginbox .leftimg { padding: 50px 10px 0px 66px; float: left; height: 455px; width: 44.25%; background-color: #191919; background-repeat: no-repeat; background-position: left top; }
.loginbox .rightform { padding: 55px 66px 10px 66px; float: right; width: 55.75%; }
.loginbox .leftimg h4 { padding-bottom: 20px; color: #FFF; font-size: 30px; line-height: 45px; min-height: 320px; }
.loginbox .leftimg a { text-decoration: underline; font-size: 14px; }
.loginbox .leftimg a:hover { color: #FFF; }
.loginbox .rightform label { padding-bottom: 3px; letter-spacing: 0.01em; display: block; color: var(--color-muted); font-size: 14px; text-transform: uppercase; }
.loginbox .rightform input.fields { padding: 0 15px; margin-bottom: 27px; width: 100%; height: 60px; font-size: 14px; text-transform: uppercase; color: var(--color-dark); border: #e5e7eb solid 1px; box-sizing: border-box; -webkit-box-sizing: border-box; background: #FFF; }
.loginbox .rightform input.fields:focus { border: #e5e7eb solid 1px; box-shadow: 0 0px 0 0 var(--color-primary); -webkit-box-shadow: 0 0px 0 0 var(--color-primary); }
.loginbox .rightform .submit { padding: 20px 40px; letter-spacing: 0.03em; line-height: 20px; color: #FFF; display: inline-block; border-radius: 6px; -webkit-border-radius: 6px; font-size: 14px; font-weight: 700; border: 0px; text-transform: uppercase; background: var(--color-primary); transition: all 0.2s ease; }
.loginbox .rightform .submit:hover { color: #FFF; background: var(--color-primary-hover); transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3); }
.loginbox .rightform p.remember { font-size: 14px; color: var(--color-dark); text-transform: none; }
.loginbox .rightform [type="checkbox"]+label:before, .loginbox .rightform [type="checkbox"]:not(.filled-in)+label:after { border: #e5e7eb solid 1px !important; }
.loginbox [type="checkbox"]:checked+label:before { border: 0px !important; border-top: 2px solid transparent !important; border-left: 2px solid transparent !important; border-right: 2px solid var(--color-primary) !important; border-bottom: 2px solid var(--color-primary) !important; }
.loginbox .rightform label { text-transform: none; }
.loginbox ::-webkit-input-placeholder { color: #000; opacity: 1 !important; }
.loginbox ::-moz-placeholder { color: #000; opacity: 1 !important; }
.loginbox :-ms-input-placeholder { color: #000; opacity: 1 !important; }

/* Footer Bar */
.footer-bar { padding: 20px 0px 58px; overflow: hidden; }
.footer-bar .left { padding: 16px 0px 0px 0px; }
.footer-bar .left .copy { padding-bottom: 25px; }
.footer-bar .left .copy p { padding-bottom: 32px; color: var(--color-dark); font-size: 18px; line-height: 32px; font-weight: 400; letter-spacing: -0.02em; }
.footer-bar .left ul { list-style: none; overflow: hidden; }
.footer-bar .left li { padding-right: 10px; float: left; }
.footer-bar .left li a { display: block; }
.footer-bar .left li a:hover { opacity: 0.8; }
.footer-bar .right { padding-top: 15px; }
.footer-bar .right ul { list-style: none; overflow: hidden; }
.footer-bar .right li { font-size: 14px; line-height: 34px; letter-spacing: 0.03em; }
.footer-bar .right li a { color: var(--color-dark); text-transform: uppercase; }
.footer-bar .right li a:hover, .footer-bar .right li.current-menu-item a { color: var(--color-primary); }
/* Jalus kahes linkveerus (teenused | muu, sh partnerprogramm); veeru sees vasakjoondus. Mobiili-keskendus responsive.css lõpus. */
.footer-bar .right .footer-cols { display: flex; justify-content: flex-end; gap: 64px; }
.footer-bar .right .footer-cols ul { text-align: left; }

.modal-overlay { z-index: 15478 !important; }
.loginbox { z-index: 15479 !important; }

/* --- TYPOGRAPHY & COMMENTS --- */
.commentlist li ul li { font-size: 1em; }
.commentlist li .avatar { float: left; margin: 0px 15px 5px 0px; }
.commentlist cite { font-weight: bold; font-style: normal; }
.commentlist .comment-author { color: #222; }
.commentlist cite a { font-style: normal; }
.commentlist cite.fn a, .comment-meta a { cursor: text; text-decoration: none; }
.commentlist p { padding: 5px 0 10px 0; float: left; width: 100%; overflow: hidden; line-height: 24px; }
.commentmetadata { font-weight: normal; }
#respond h3 small { padding: 0px; display: inline; font-weight: normal; font-size: 15px; }
#respond h3 small a { color: #333; }
#wp-calendar #prev a, #wp-calendar #next a { font-size: 9pt; }
#wp-calendar a { text-decoration: none; }
#wp-calendar caption { font-family: 'Rubik', sans-serif; text-align: center; }
#wp-calendar th { font-style: normal; text-transform: capitalize; }

/* Images */
p img { padding: 0; max-width: 100%; }
img.centered { display: block; margin-left: auto; margin-right: auto; margin-bottom: 10px; float: none; }
img.alignright { margin: 10px 0 10px 20px; float: right; }
img.alignleft { margin: 10px 20px 10px 0px; float: left; }
img.alignnone { margin: 10px 20px 10px 0; float: left; }
img.aligncenter { padding: 0px; display: block; margin: 10px auto 10px auto; float: none; }
.alignright { margin: 10px 0px 10px 20px; float: right; }
.alignleft { margin: 10px 20px 10px 0px; float: left; }

/* Comment Form */
#commentform input[type="text"] { width: 70%; padding: 5px 10px; height: 35px; color: #222; box-sizing: border-box; -webkit-box-sizing: border-box; margin: 0; border: #e5e7eb solid 1px; font-size: 15px; background: #FFF; border-radius: 6px; -webkit-border-radius: 6px; -webkit-appearance: none; }
#commentform { margin: 0px 10px 0 0; max-width: 500px; }
#commentform textarea { width: 100%; padding: 5px 10px; height: 170px; box-sizing: border-box; -webkit-box-sizing: border-box; margin: 0px 0px 10px 0; border: #e5e7eb solid 1px; background: #FFF; color: #222; font-size: 15px; resize: none; border-radius: 6px; -webkit-border-radius: 6px; -webkit-appearance: none; }
#respond:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
#commentform #submit { padding: 0 20px; background: var(--color-primary); border: 0 none; border-radius: 6px; -webkit-border-radius: 6px; -webkit-appearance: none; color: #fff; cursor: pointer; font-size: 15px; font-weight: 700; height: 36px; margin-top: 0px; text-transform: uppercase; font-family: 'Rubik', sans-serif; transition: all 0.2s ease; }
#commentform #submit:hover { background: var(--color-primary-hover); transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3); }
#commentform div.error, #commentform label.error { display: none; }
.comment_section { padding: 20px; border-top: #e5e7eb solid 1px; margin: 25px 0 40px 0; background: #FFF; }
.comment_section h3 { padding-bottom: 10px; }
.content_sec .right_sidebar #respond h3 { padding-bottom: 10px; }
.comment_section h3#comments { padding-bottom: 15px; }
.comment_section .reply { font-size: 16px; }
.navigation { overflow: hidden; }

/* Comments List */
.alt { margin: 0; padding: 10px; }
h3#comments { padding-top: 15px; }
.commentlist { margin: 0px 0px 10px 0px; padding: 0px; }
.commentlist li { margin: 15px 0 10px; padding: 5px 5px 10px 0px; list-style: none; }
.commentlist li ul li { padding-bottom: 10px; margin: 0 0 0 10px; }
.children { padding: 15px 0 0 20px; margin-bottom: 0px; }
.comment-meta a { color: #838383; font-size: 14px; }
.comment-awaiting-moderation { font-size: 13px; }
#commentform p { padding: 5px 0; }
.nocomments { text-align: center; margin: 0; padding: 0; }
.commentmetadata { margin: 0; display: block; padding-bottom: 5px; }
#respond { padding-top: 5px; }

/* Calendar */
#wp-calendar { empty-cells: show; margin: 10px auto 0; width: 155px; }
#wp-calendar #next a { padding-right: 10px; text-align: right; }
#wp-calendar #prev a { padding-left: 10px; text-align: left; }
#wp-calendar a { display: block; }
#wp-calendar caption { text-align: center; width: 100%; }
#wp-calendar td { padding: 3px 0; text-align: center; }
#wp-calendar td.pad:hover { background-color: #fff; }

/* Captions */
.aligncenter, div.aligncenter { display: block; margin-left: auto; margin-right: auto; margin-top: 10px; margin-bottom: 10px; }
.wp-caption { border: 1px solid #e5e7eb; text-align: center; padding: 5px; }
.wp-caption img { margin: 0; padding: 0; border: 0 none; }
.wp-caption p.wp-caption-text { font-size: 15px; line-height: 18px; padding: 5px 0px 0px; margin: 0; text-align: center; }

table .alignleft { float: left; width: 100% }
table .alignright { float: left; width: 100% }
table .alignnone { float: left; width: 100% }
table { border-collapse: separate; border-spacing: 0; border-width: 1px 0 0 1px; table-layout: fixed; width: 100%; margin-bottom: 15px; }
th, td { padding: 0.4em; vertical-align: top; }
th, td img { margin: 0px !important }
td img { width: 100% }

/* ========================================
   MODERN FEATURE BOXES - BASE STYLES
   ======================================== */

.features-bar {
    padding: 80px 0;
    background: #f9fafb;
    float: left;
    width: 100%;
}

.features-bar .section-title {
    font-size: 42px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 15px;
}

.features-bar .subtitle {
    font-size: 18px;
    color: #6b7280;
    margin-bottom: 50px;
    padding-bottom: 0;
}

/* Feature Box - Override Materialize card styles */
.features-bar .feature-box {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 40px 30px !important;
    height: 100%;
    transition: all 0.3s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    margin-bottom: 30px;
    display: block;
}

.features-bar .feature-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12) !important;
    border-color: var(--color-primary) !important;
}

.features-bar .feature-box .card-content {
    padding: 0 !important;
}

.features-bar .feature-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 25px;
    background: linear-gradient(135deg, var(--color-primary) 0%, #00a854 100%);
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 16px rgba(0, 192, 95, 0.25);
    transition: all 0.3s ease;
}

.features-bar .feature-box:hover .feature-icon {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 12px 24px rgba(0, 192, 95, 0.35);
}

.features-bar .feature-icon i,
.features-bar .feature-icon i.material-icons {
    color: #fff !important;
    font-size: 40px !important;
    line-height: 1 !important;
}

.features-bar .feature-title,
.features-bar .feature-box h3.feature-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    line-height: 1.3;
}

.features-bar .feature-description,
.features-bar .feature-box p.feature-description {
    font-size: 15px !important;
    color: #6b7280 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.features-bar .btn-large {
    margin-top: 40px;
    padding: 16px 40px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3);
    transition: all 0.2s ease;
}

.features-bar .btn-large .material-icons { display: none; }

.features-bar .btn-large:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 192, 95, 0.4);
}

/* --- RESPONSIVE --- */
@media screen and (max-width: 1024px) {
    /* Feature Boxes - Tablet */
    .features-bar { padding: 60px 0; }
    .features-bar .section-title { font-size: 36px; }
    .features-bar .subtitle { font-size: 16px; margin-bottom: 40px; }
    .features-bar .feature-box { padding: 35px 25px !important; }
    .features-bar .feature-icon { width: 70px; height: 70px; }
    .features-bar .feature-icon i { font-size: 35px !important; }
    .features-bar .feature-title { font-size: 20px !important; }
    .features-bar .feature-description { font-size: 14px !important; }
}

@media screen and (max-width: 767px) {
    /* Feature Boxes - Mobile */
    .features-bar { padding: 50px 0; }
    .features-bar .section-title { font-size: 28px; }
    .features-bar .subtitle { font-size: 15px; margin-bottom: 30px; }
    .features-bar .feature-box { padding: 30px 20px !important; margin-bottom: 20px; }
    .features-bar .feature-icon { width: 65px; height: 65px; }
    .features-bar .feature-icon i { font-size: 32px !important; }
    .features-bar .feature-title { font-size: 18px !important; }
    .features-bar .feature-description { font-size: 14px !important; }
    .features-bar .btn-large { padding: 14px 30px; font-size: 14px; }
}

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

/* --- SCREEN READER ONLY --- */
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ============================================
   ADDITIONAL CSS (migrated from WP Customizer)
   ============================================ */

/* --- Plan bar mobile --- */
@media only screen and (max-width: 992px) {
    .servicemiddle .servicebox,
    .plan-bar .wpb_wrapper .servicebox,
    .plan-bar .servicebox {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    .plan-bar .col.s12 {
        float: none !important;
        width: 100% !important;
        display: block !important;
        margin-bottom: 20px;
    }
    .plan-bar .container {
        padding: 0 15px !important;
    }
}

/* --- Logo --- */
.logo img {
    width: 180px;
    height: auto !important;
}

/* --- WPForms checkbox fix --- */
.wpforms-container input[type=checkbox] {
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
}

/* --- Hero text layout --- */
.hero-bar h1,
.hero-bar .wpb_text_column h1,
.hero-bar h1 span {
    white-space: nowrap !important;
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
}

.hero-bar .wpb_text_column,
.hero-bar .wpb_wrapper {
    width: 100% !important;
    max-width: 1000px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
    display: block !important;
}

.hero-bar p {
    width: 100% !important;
    max-width: 800px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
    line-height: 1.6 !important;
}

@media (max-width: 992px) {
    .hero-bar h1,
    .hero-bar .wpb_text_column h1,
    .hero-bar h1 span {
        white-space: normal !important;
        font-size: 2.5rem !important;
    }
    .hero-bar .wpb_text_column,
    .hero-bar p {
        max-width: 90% !important;
    }
}

.page-template-page-domains #content-part {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* --- CLS parandused --- */
article.introtext-bar {
    min-height: 300px !important;
    display: block;
    width: 100%;
}

article.features-bar {
    min-height: 800px !important;
    display: block;
    width: 100%;
}

.testimonial-bar .image .img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    min-height: 150px;
    display: block;
    object-fit: cover;
}

@media only screen and (max-width: 768px) {
    /* 2026-07-28: 400px/1200px reserv ületas staatilise sisu kõrgust (270px/1067px)
       → 130px tühja stats-gridi all + 133px "Miks valida" sektsiooni lõpus. Sisu on
       staatiline HTML (ei süstita JS-iga), CLS-reservi pole vaja — kõrgus sisust. */
    article.introtext-bar {
        min-height: 0 !important;
    }
    article.features-bar {
        min-height: 0 !important;
    }
}

/* --- CTA nupp --- */
.cta-button-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 30px;
    margin-bottom: 40px;
    text-align: center;
}

/* CTA-nupud vastavuses .btn1 stilistikaga (2026-06-23) */
body .cta-custom-btn {
    background-color: var(--color-primary) !important;
    color: #FFF !important;
    padding: 20px 35px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    line-height: 20px;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease !important;
    border: none;
}

body .cta-custom-btn:hover {
    background-color: var(--color-primary-hover) !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 16px rgba(0, 192, 95, 0.3) !important;
    color: white !important;
}

@media only screen and (max-width: 600px) {
    .cta-button-wrapper {
        margin-top: 25px;
        margin-bottom: 30px;
        padding: 0 15px;
    }
    .cta-custom-btn {
        font-size: 14px;
        padding: 18px 20px;
        width: 100%;
        max-width: 320px;
    }
}

/* --- Võrdlustabel laiused --- */
@media only screen and (min-width: 769px) {
    body .tablebox .column1 {
        width: 40% !important;
    }
    body .tablebox .column2,
    body .tablebox .column3,
    body .tablebox .column4 {
        width: 20% !important;
    }
}

/* --- Pealkirjade vahed --- */
h4 {
    margin-top: 35px !important;
    margin-bottom: 15px !important;
}

h4:first-child {
    margin-top: 0 !important;
}

.hero-bar h1 {
    margin-bottom: 12px !important;
}

/* --- Hero nuppude fix --- */
.hero-bar .wpb_wrapper p:empty,
.hero-bar .wpb_wrapper p:last-child:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    height: 0 !important;
}

.hero-bar .wpb_wrapper p:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.hero-bar .wpb_wrapper p:has(.btn1) {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin-bottom: 0 !important;
}

.hero-bar .wpb_wrapper p .btn1 {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.hero-bar .wpb_wrapper p,
.hero-bar .wpb_wrapper ul li p {
    font-weight: 400 !important;
}

.hero-bar .wpb_wrapper ul {
    margin-bottom: 10px !important;
}

.hero-bar .wpb_wrapper ul li {
    margin-bottom: 3px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}

@media (max-width: 600px) {
    .hero-bar .wpb_wrapper p:has(.btn1) {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .hero-bar .wpb_wrapper p .btn1 {
        width: 100% !important;
        justify-content: center !important;
        max-width: 300px !important;
    }
}

/* --- WPBakery tüpograafia --- */
.wpb_text_column .wpb_wrapper h1,
.wpb_text_column .wpb_wrapper h2,
.wpb_text_column .wpb_wrapper p strong {
    display: inline-block;
    margin-bottom: 8px !important;
}

.wpb_text_column .wpb_wrapper ul {
    margin-bottom: 15px !important;
}

.wpb_text_column .wpb_wrapper ul li {
    margin-bottom: 4px !important;
    line-height: 1.5 !important;
}

.wpb_text_column .wpb_wrapper p:last-child {
    margin-bottom: 0 !important;
}

.wpb_text_column .wpb_wrapper p .btn1 {
    display: inline-block !important;
    margin-right: 12px !important;
    margin-bottom: 10px !important;
}

@media (max-width: 480px) {
    .wpb_text_column .wpb_wrapper p .btn1 {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin-right: 0 !important;
        margin-bottom: 12px !important;
    }
}

/* --- iPhone/Safari mobiilivaate fix --- */
@media only screen and (max-width: 768px) {
    article.hero-bar .vc_column-inner,
    article.hero-bar .wpb_wrapper {
        padding-bottom: 90px !important;
    }

    article.plan-bar {
        margin-top: -50px !important;
        position: relative !important;
        z-index: 10 !important;
        display: block !important;
    }

    .hero-bar .wpb_wrapper p:has(.btn1) {
        display: block !important;
    }

    .hero-bar .wpb_wrapper p .btn1 {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 12px !important;
        margin-right: 0 !important;
    }
}

/* ===== Virtuaalserveri võrdlustabel (page-id-430/3092/3100) — UX 2026-06-23 ===== */
/* Äri (column3) subtiilne esiletõst — sama loogika kui .plan-bar .popular, ilma ääriseta */
body.page-id-430 .tablebox .content .column3,
body.page-id-3092 .tablebox .content .column3,
body.page-id-3100 .tablebox .content .column3 { background: #edfbf4; }
body.page-id-430 .tablebox .content .contentlist:nth-child(even) .column3,
body.page-id-3092 .tablebox .content .contentlist:nth-child(even) .column3,
body.page-id-3100 .tablebox .content .contentlist:nth-child(even) .column3 { background: #e0f6ea; }
/* "Populaarseim" badge — valge pill, roheline tekst (nagu .popularchoice), Äri päise kohal */
body.page-id-430 .tablebox.vatbox .heading .column3,
body.page-id-3092 .tablebox.vatbox .heading .column3,
body.page-id-3100 .tablebox.vatbox .heading .column3 { position: relative; overflow: visible; }
body.page-id-430 .tablebox.vatbox .heading .column3::after,
body.page-id-3092 .tablebox.vatbox .heading .column3::after,
body.page-id-3100 .tablebox.vatbox .heading .column3::after {
  content: "Populaarseim"; position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  background: #fff; color: var(--color-primary); font-size: 12px; text-transform: uppercase; letter-spacing: .03em;
  font-weight: 500; padding: 5px 16px; border-radius: 6px; white-space: nowrap;
  box-shadow: 0 0 5px 1px rgb(0 0 0 / .2); font-family: "Rubik", sans-serif; }

/* Tooltip data-tip (vordlustabel 430/3092/3100; title eemaldatud → ei näita native-dup'i) */
body.page-id-430 .tablecontents a[data-tip],
body.page-id-3092 .tablecontents a[data-tip],
body.page-id-3100 .tablecontents a[data-tip] { cursor: help; }
body.page-id-430 .tablecontents a[data-tip]:is(:hover,:focus-visible),
body.page-id-3092 .tablecontents a[data-tip]:is(:hover,:focus-visible),
body.page-id-3100 .tablecontents a[data-tip]:is(:hover,:focus-visible) { position: relative; }
body.page-id-430 .tablecontents a[data-tip]:is(:hover,:focus-visible)::after,
body.page-id-3092 .tablecontents a[data-tip]:is(:hover,:focus-visible)::after,
body.page-id-3100 .tablecontents a[data-tip]:is(:hover,:focus-visible)::after {
  content: attr(data-tip); padding: 10px 12px; font-size: 14px; line-height: 20px; color: #fff;
  position: absolute; left: 50%; bottom: 100%; transform: translateX(-50%); margin-bottom: 14px;
  width: 250px; max-width: 80vw; z-index: 30; border-radius: 6px; text-align: left;
  background: var(--color-primary-hover); box-shadow: 0 4px 14px rgb(0 0 0 / .2); }
body.page-id-430 .tablecontents a[data-tip]:is(:hover,:focus-visible)::before,
body.page-id-3092 .tablecontents a[data-tip]:is(:hover,:focus-visible)::before,
body.page-id-3100 .tablecontents a[data-tip]:is(:hover,:focus-visible)::before {
  content: " "; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 0;
  border: solid transparent; border-width: 8px; border-top-color: var(--color-primary-hover); pointer-events: none; }

/* "Kõigis pakettides sisaldub" loend (extra_content → .textbgbox) */
body.page-id-430 .incl-features,
body.page-id-3092 .incl-features,
body.page-id-3100 .incl-features { background: var(--color-white); padding: 24px 26px; border-top: 4px solid var(--color-primary);
  box-shadow: 0 0 30px 1px rgb(0 0 0 / .06); margin-bottom: 30px; }
body.page-id-430 .incl-features h4,
body.page-id-3092 .incl-features h4,
body.page-id-3100 .incl-features h4 { margin: 0 0 14px; font-size: 18px; }
body.page-id-430 .incl-list,
body.page-id-3092 .incl-list,
body.page-id-3100 .incl-list { list-style: none; columns: 3; column-gap: 28px; margin: 0; padding: 0; }
body.page-id-430 .incl-list li,
body.page-id-3092 .incl-list li,
body.page-id-3100 .incl-list li { position: relative; padding: 6px 0 6px 24px; font-size: 15px; font-weight: 300;
  break-inside: avoid; color: var(--color-dark); }
body.page-id-430 .incl-list li::before,
body.page-id-3092 .incl-list li::before,
body.page-id-3100 .incl-list li::before { content: "✓"; position: absolute; left: 0; color: var(--color-primary); font-weight: 700; }
body.page-id-430 .incl-list a[data-tip],
body.page-id-3092 .incl-list a[data-tip],
body.page-id-3100 .incl-list a[data-tip] { color: inherit; border-bottom: 1px dotted var(--color-primary); }
body.page-id-430 .incl-list strong,
body.page-id-3092 .incl-list strong,
body.page-id-3100 .incl-list strong { font-weight: 600; }

/* ===== Võrdlustabel v4 (2026-06-23): hero, H2, sticky päis, VAT toggle ===== */
/* Hero ~30% madalam — lõika alumine tühi ruum */
body.page-id-430 .hero-bar.defaultpages { padding-bottom: 150px; }
/* "Detailne võrdlustabel" H2 enne tabelit */
body.page-id-430 .vt-section-title,
body.page-id-3092 .vt-section-title,
body.page-id-3100 .vt-section-title { font-size: 30px; font-weight: 300; color: var(--color-dark); margin: 6px 0 22px; padding: 0; line-height: 1.2; }
/* Tabeli-sektsiooni pealkiri h3 (oli h4 → a11y heading-order; teema h3=54px, taasta 30px nagu varem) */
body.page-id-430 .tablecontents .content h3, body.page-id-3092 .tablecontents .content h3, body.page-id-3100 .tablecontents .content h3,
body.page-id-1223 .tablecontents .content h3, body.page-id-3072 .tablecontents .content h3, body.page-id-3077 .tablecontents .content h3 { font-size: 30px; font-weight: 300; line-height: 33px; }
/* ===== Võrdlustabel v5 (2026-06-23): hero ===== */
/* Hero veel ~30% madalamaks */
body.page-id-430 .hero-bar.defaultpages { padding-top: 108px; padding-bottom: 88px; }
/* Sticky tabeli-päis EEMALDATUD 2026-06-24 (Tanel: loobume) — #content-part/#wrapper
   overflow:hidden tappis sticky; clip-fix lõhkus navbar+jalus. Header on juba sticky →
   konteksti-vajadus kaetud. Sticky-VEERG mobiilis (responsive.css) jääb. */

/* ===== Vordlus konkurentidega (page-id-1223/3072/3077) — 430-muster 2026-06-23 ===== */
/* Virtuaal (column2) subtiilne esiletõst */
body.page-id-1223 .tablebox .content .column2,
body.page-id-3072 .tablebox .content .column2,
body.page-id-3077 .tablebox .content .column2 { background: #edfbf4; }
body.page-id-1223 .tablebox .content .contentlist:nth-child(even) .column2,
body.page-id-3072 .tablebox .content .contentlist:nth-child(even) .column2,
body.page-id-3077 .tablebox .content .contentlist:nth-child(even) .column2 { background: #e0f6ea; }
/* Tooltip data-tip (desktop hover) — sama kui 430 */
body.page-id-1223 .tablecontents a[data-tip],
body.page-id-3072 .tablecontents a[data-tip],
body.page-id-3077 .tablecontents a[data-tip] { cursor: help; }
body.page-id-1223 .tablecontents a[data-tip]:is(:hover,:focus-visible),
body.page-id-3072 .tablecontents a[data-tip]:is(:hover,:focus-visible),
body.page-id-3077 .tablecontents a[data-tip]:is(:hover,:focus-visible) { position: relative; }
body.page-id-1223 .tablecontents a[data-tip]:is(:hover,:focus-visible)::after,
body.page-id-3072 .tablecontents a[data-tip]:is(:hover,:focus-visible)::after,
body.page-id-3077 .tablecontents a[data-tip]:is(:hover,:focus-visible)::after {
  content: attr(data-tip); padding: 10px 12px; font-size: 14px; line-height: 20px; color: #fff;
  position: absolute; left: 50%; bottom: 100%; transform: translateX(-50%); margin-bottom: 14px;
  width: 250px; max-width: 80vw; z-index: 30; border-radius: 6px; text-align: left;
  background: var(--color-primary-hover); box-shadow: 0 4px 14px rgb(0 0 0 / .2); }
body.page-id-1223 .tablecontents a[data-tip]:is(:hover,:focus-visible)::before,
body.page-id-3072 .tablecontents a[data-tip]:is(:hover,:focus-visible)::before,
body.page-id-3077 .tablecontents a[data-tip]:is(:hover,:focus-visible)::before {
  content: " "; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%);
  border: solid transparent; border-width: 8px; border-top-color: var(--color-primary-hover); pointer-events: none; }
/* H2 pealkiri tabeli ette — sama stiil kui 430 vt-section-title */
body.page-id-1223 .vt-section-title,
body.page-id-3072 .vt-section-title,
body.page-id-3077 .vt-section-title { font-size: 30px; font-weight: 300; color: var(--color-dark); margin: 0 0 22px; padding: 0; line-height: 1.2; }
/* Info-plokk tabeli all — sisulehe-stiil (üks plokk: raam + allikad + avalikustamata) */
body.page-id-1223 .vt-info, body.page-id-3072 .vt-info, body.page-id-3077 .vt-info { margin: 28px 0 6px; }
body.page-id-1223 .vt-info p, body.page-id-3072 .vt-info p, body.page-id-3077 .vt-info p { font-size: 17px; line-height: 1.7; color: #374151; margin: 0 0 12px; }
body.page-id-1223 .vt-info p:last-child, body.page-id-3072 .vt-info p:last-child, body.page-id-3077 .vt-info p:last-child { margin-bottom: 0; }
/* Help-bar täislaius — float:none + margin-left breakout. !important kohustuslik:
   baasis .help-bar.vc_row-fluid{margin:0 !important} tühistaks muidu margin-left'i (vasak jäi kinni). */
body.page-id-1223 .textbgbox .help-bar,
body.page-id-3072 .textbgbox .help-bar,
body.page-id-3077 .textbgbox .help-bar { float: none !important; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; }
/* sisu-veerg keskele 1280px (nagu mujal) */
body.page-id-1223 .textbgbox .help-bar.vc_row-fluid .vc_column_container,
body.page-id-3072 .textbgbox .help-bar.vc_row-fluid .vc_column_container,
body.page-id-3077 .textbgbox .help-bar.vc_row-fluid .vc_column_container { float: none; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
/* Sticky tabeli-päis EEMALDATUD 2026-06-24 (Tanel: loobume; vt 430-perekonna kommentaar). */

/* ── Partnerprogrammi maandumisleht (affiliate landing, page 3729 / .aff-lp) ────────
   CSS teemas (MITTE post_content <style> — kses strippis, F5d). Laius = globaalne .wrapper.
   Stiil ühildatud teema mustritega: hinnatabeli roheline päis + avalehe feature-row kaardid. */
.aff-lp{font-family:'Rubik',sans-serif;color:var(--color-body);}
.aff-lp h2{color:var(--color-dark);margin:48px 0 8px;}
.aff-lp .aff-lead{color:var(--color-muted);margin:0 0 24px;font-size:1.05em;}
/* väärtuskaardid (hero all): 3 müügiväärtust — VPS-lehe boxpack (.vps-card) stiil:
   vertikaalne valge kaart, peen ääris+vari, tuhm suur roheline nurga-ikoon */
.aff-lp .aff-values{display:flex;flex-wrap:wrap;gap:20px;margin:24px 0 8px;}
.aff-lp .aff-value{flex:1 1 260px;position:relative;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:30px;box-shadow:0 4px 15px rgba(0,0,0,.02);transition:box-shadow .3s ease;z-index:1;}
.aff-lp .aff-value:hover{box-shadow:0 8px 24px rgba(0,0,0,.06);}
.aff-lp .aff-value-ico{position:absolute;right:-15px;bottom:-15px;width:auto;height:auto;background:none;box-shadow:none;border-radius:0;pointer-events:none;z-index:0;transform:rotate(-15deg);transition:transform .4s ease;}
.aff-lp .aff-value-ico .material-icons{color:var(--color-primary);font-size:140px;line-height:1;opacity:.06;filter:blur(.5px);transition:opacity .4s ease,filter .4s ease;}
.aff-lp .aff-value:hover .aff-value-ico{transform:rotate(-25deg) scale(1.1);}
.aff-lp .aff-value:hover .aff-value-ico .material-icons{opacity:.09;filter:blur(0);}
.aff-lp .aff-value-txt{position:relative;z-index:2;}
.aff-lp .aff-value-txt h3{color:var(--color-dark);font-weight:700;font-size:20px;margin:0 0 12px;line-height:1.4;}
.aff-lp .aff-value-txt p{color:var(--color-muted);font-size:15px;line-height:1.6;margin:0;}
/* KM-lüliti (tabel 1 + kalkulaator); boonus jääb alati KM-ta */
.aff-lp .aff-vat-toggle{display:inline-flex;gap:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:4px;margin:0 0 14px;}
.aff-lp .aff-vat-toggle button{border:0;background:transparent;font-family:'Rubik',sans-serif;font-size:.9em;font-weight:700;color:var(--color-muted);padding:8px 18px;border-radius:6px;cursor:pointer;transition:background .2s ease,color .2s ease;}
.aff-lp .aff-vat-toggle button:hover{color:var(--color-dark);}
.aff-lp .aff-vat-toggle button.active{background:var(--color-primary);color:#fff;}
/* kalkulaatori mikrocopy */
.aff-lp .aff-calc-hint{color:var(--color-muted);font-size:.88em;margin:-16px 0 18px;}
/* aususe-plokk (tingimused lühidalt) enne lõpp-CTA-t */
.aff-lp .aff-terms{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px 24px;margin:32px 0 0;}
.aff-lp .aff-terms h3{color:var(--color-dark);font-weight:700;font-size:1.02em;margin:0 0 10px;}
.aff-lp .aff-terms ul{margin:0;padding:0;list-style:none;}
.aff-lp .aff-terms li{position:relative;padding:0 0 6px 22px;color:var(--color-body);font-size:.92em;line-height:1.5;}
.aff-lp .aff-terms li:before{content:"";position:absolute;left:2px;top:7px;width:7px;height:7px;border-left:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:rotate(-45deg);}
.aff-lp .aff-terms li:last-child{padding-bottom:0;}

/* Hero −~50% vertikaalselt (3729 ET / 3747 EN / 3748 RU): baas .hero-bar 132/291 → kompaktne.
   #content-part-prefiks (1,3,2) võidab #content-part>article:first-child{padding-top:0} ID-reegli
   (mälu 2026-06-24). Üks selektor reegli kohta (LSC-minify dedupe-bug, mälu §69). */
body.page-id-3729 #content-part > article.hero-bar.defaultpages{padding:90px 0 110px !important;}
body.page-id-3747 #content-part > article.hero-bar.defaultpages{padding:90px 0 110px !important;}
body.page-id-3748 #content-part > article.hero-bar.defaultpages{padding:90px 0 110px !important;}
/* Hero H1 kahele reale desktopil (globaalne .hero-bar h1 nowrap-reegel jookseks üle 530px veeru):
   clamp skaleerub veeruga (993px veerg 450px → 32px; ≥1333px → 40px lagi); text-wrap:balance
   tasakaalustab murdekoha. Mobiil ≤992 jääb teema baasi (white-space:normal + 2.5rem). */
@media(min-width:993px){
  body.page-id-3729 #content-part > article.hero-bar.defaultpages h1{white-space:normal !important;text-wrap:balance;font-size:clamp(32px,3vw,40px) !important;}
  body.page-id-3747 #content-part > article.hero-bar.defaultpages h1{white-space:normal !important;text-wrap:balance;font-size:clamp(32px,3vw,40px) !important;}
  body.page-id-3748 #content-part > article.hero-bar.defaultpages h1{white-space:normal !important;text-wrap:balance;font-size:clamp(32px,3vw,40px) !important;}
}

/* Kaardi-grid = avalehe feature-row muster (Materialize row/col + feature-box), self-contained scope */
.aff-lp .aff-features{margin:8px 0 24px;}
.aff-lp .aff-features .feature-row{display:flex;flex-wrap:wrap;}
.aff-lp .aff-features .feature-col{display:flex;margin-bottom:24px;}
.aff-lp .aff-features .feature-box{width:100%;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--color-border);border-radius:12px;padding:36px 28px;box-shadow:0 2px 8px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.aff-lp .aff-features .feature-box:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.12);border-color:var(--color-primary);}
.aff-lp .aff-features .card-content{padding:0;display:flex;flex-direction:column;flex-grow:1;}
.aff-lp .aff-features .feature-icon{width:80px;height:80px;margin:0 auto 22px;border-radius:6px;
  background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px rgba(0,192,95,.25);transition:transform .3s ease;}
.aff-lp .aff-features .feature-box:hover .feature-icon{transform:scale(1.1) rotate(5deg);}
.aff-lp .aff-features .feature-icon i.material-icons{color:#fff;font-size:40px;line-height:1;}
.aff-lp .aff-features .aff-step-n{color:var(--color-primary);font-weight:700;font-size:.85em;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;}
.aff-lp .aff-features .feature-title{color:var(--color-dark);font-weight:700;font-size:1.1em;margin:0 0 10px;line-height:1.3;}
.aff-lp .aff-features .feature-description{color:var(--color-muted);font-size:.95em;line-height:1.7;margin:0;flex-grow:1;}

/* Hinnatabel (aff-ptable) — brändi-hinnatabeli stiil: roheline päis (nagu .tablecontents .heading);
   kitsad veerud (font .8em + väike padding, min-width maha) → 6 veergu mahub ära. */
.aff-lp .aff-ptable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 4px;}
/* min-width = mobiil-scroll (kitsal ekraanil ületab viewport'i → horisontaal-scroll, ei pigista numbreid murdma).
   Desktop konteiner alati laiem → mõju 0. */
.aff-lp table.aff-ptable{width:100%;min-width:620px;border-collapse:collapse;background:#fff;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;}
.aff-lp .aff-ptable th,.aff-lp .aff-ptable td{padding:11px 10px;text-align:right;border-bottom:1px solid var(--color-border);font-size:.82em;}
.aff-lp .aff-ptable th:first-child,.aff-lp .aff-ptable td:first-child{text-align:left;}
.aff-lp .aff-ptable thead th{background:var(--color-primary);color:#fff;font-weight:600;font-size:.8em;line-height:1.3;}
.aff-lp .aff-ptable tbody tr:nth-child(even){background:var(--color-surface);}
.aff-lp .aff-ptable tbody tr:last-child td{border-bottom:none;}
.aff-lp .aff-ptable .aff-pkg{font-weight:700;color:var(--color-dark);}
.aff-lp .aff-ptable .aff-earn-col{color:var(--color-primary);font-weight:700;}
.aff-lp .aff-kmta{color:var(--color-muted);font-size:.85em;margin:0 0 24px;}

/* Partneritulu-kalkulaator: 2 veergu (per-pakett sisendiread vasakul, hinnanguline tulu paremal). */
.aff-lp .aff-calc{margin:8px 0 24px;}
.aff-lp .aff-calc-grid{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;}
.aff-lp .aff-calc-inputs{flex:1 1 300px;}
.aff-lp .aff-calc-output{flex:1 1 360px;}
.aff-lp .aff-calc-sub{font-size:1em;font-weight:700;color:var(--color-dark);margin:0 0 14px;}
.aff-lp .aff-calc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:14px 16px;margin-bottom:10px;}
.aff-lp .aff-calc-pkg{display:flex;flex-direction:column;gap:2px;}
.aff-lp .aff-calc-name{font-weight:700;color:var(--color-dark);}
.aff-lp .aff-calc-unit{font-size:.82em;color:var(--color-muted);}
/* number-väli JS-loodud + .browser-default (Materialize jätab rahule); resetid teema input-globaalide vastu */
.aff-lp .aff-calc input{width:88px;flex:none;margin:0;padding:9px 10px;border:1px solid var(--color-border);border-radius:8px;background:#fff;box-shadow:none;font-family:'Rubik',sans-serif;font-size:1.05em;font-weight:700;text-align:center;color:var(--color-dark);box-sizing:border-box;height:auto;}
.aff-lp .aff-calc input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary);}
.aff-lp .aff-eg-tbl table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;}
.aff-lp .aff-eg-tbl th{background:var(--color-primary);color:#fff;text-align:left;padding:13px 16px;font-weight:600;font-size:.95em;}
.aff-lp .aff-eg-tbl td{padding:11px 16px;border-bottom:1px solid var(--color-border);font-size:.95em;}
.aff-lp .aff-eg-tbl td:last-child{text-align:right;font-weight:700;color:var(--color-dark);white-space:nowrap;}
.aff-lp .aff-eg-tbl tr:last-child td{border-bottom:none;}
.aff-lp .aff-eg-tbl tr.aff-eg-total td{background:var(--color-surface);}
.aff-lp .aff-eg-tbl tr.aff-eg-total td:last-child{color:var(--color-primary);}
.aff-lp .aff-calc-output .aff-note{margin-top:14px;}
.aff-lp .aff-note{background:#fff;border-left:3px solid var(--color-primary);padding:14px 18px;border-radius:6px;margin:0 0 12px;}
.aff-lp .aff-eg{font-weight:700;color:var(--color-dark);}

/* FAQ-akordion (<details>/<summary>, JS-vaba, ligipääsetav) */
.aff-lp .aff-faq details{border:1px solid var(--color-border);border-radius:8px;margin-bottom:10px;background:#fff;}
.aff-lp .aff-faq summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--color-dark);list-style:none;position:relative;}
.aff-lp .aff-faq summary::-webkit-details-marker{display:none;}
.aff-lp .aff-faq summary::after{content:"+";position:absolute;right:20px;color:var(--color-primary);font-size:1.3em;line-height:1;}
.aff-lp .aff-faq details[open] summary::after{content:"\2013";}
.aff-lp .aff-faq details[open] summary{border-bottom:1px solid var(--color-border);}
.aff-lp .aff-faq .aff-ans{padding:14px 20px;}
.aff-lp .aff-faq .aff-ans p{margin:0;}

/* help-bar (must full-bleed CTA-riba, nagu teenused; breakout konteinerist) */
.aff-lp .aff-helpbar{background:#000;color:#fff;width:100vw;margin-left:calc(50% - 50vw);padding:64px 16px;text-align:center;margin-top:48px;}
.aff-lp .aff-helpbar h2{color:#fff;margin:0 0 20px;}
.aff-lp .aff-helpbar .aff-free{display:block;margin-top:14px;color:#bdbdbd;font-size:.9em;}

/* mobiil */
@media(max-width:768px){
  body.page-id-3729 #content-part > article.hero-bar.defaultpages{padding:40px 0 28px !important;margin-bottom:8px !important;}
  body.page-id-3747 #content-part > article.hero-bar.defaultpages{padding:40px 0 28px !important;margin-bottom:8px !important;}
  body.page-id-3748 #content-part > article.hero-bar.defaultpages{padding:40px 0 28px !important;margin-bottom:8px !important;}
  .aff-lp .aff-calc-grid{gap:18px;}
}
@media(max-width:600px){.aff-lp .aff-helpbar{padding:48px 16px;}}

/* KKK 2 veergu desktopil (veebimajutus 301; ACF wysiwyg ei talu <style> tagi
   — wpautop lõhub selle, seepärast siin). Üks selektor reegli kohta (LSC-minify). */
@media (min-width: 993px) {
	.vm-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; align-items: start; }
}

/* ==========================================================================
   2026-07-30 — Taneli visuaalsed leiud staatilisel saidil
   ========================================================================== */

/* (1) Hero H1 kahele reale WordPressi-lehtedel (2410 ET / 3075 EN / 3076 RU).
   Sama juurpõhjus kui 3729/3747/3748 juures ülal: globaalne
   .hero-bar h1{white-space:nowrap !important} jookseb 550px veerust ~880px
   (RU ~1300px) üle serva ja pealkiri kaob taustapildile. Neil lehtedel puudub
   article'il .defaultpages klass ja #content-part vahekiht → selektor lühem.
   Fondilagi 36px (mitte 40) ja max-width 650px on mõõdetud väärtused: ainus
   kombinatsioon, mis annab pealkirja TÄPSELT kahele reale kõigis kolmes keeles
   (RU on pikim) laiustel 1100/1366/1920 ja jääb .col.l6 veeru (645px) sisse,
   nii et taustapilt jääb puutumata. Üks selektor reegli kohta (LSC-minify
   dedupe-bug, mälu §69). */
@media (min-width: 993px) {
  body.page-id-2410 article.hero-bar h1 { white-space: normal !important; text-wrap: balance; max-width: 650px !important; font-size: clamp(30px, 2.6vw, 36px) !important; }
  body.page-id-3075 article.hero-bar h1 { white-space: normal !important; text-wrap: balance; max-width: 650px !important; font-size: clamp(30px, 2.6vw, 36px) !important; }
  body.page-id-3076 article.hero-bar h1 { white-space: normal !important; text-wrap: balance; max-width: 650px !important; font-size: clamp(30px, 2.6vw, 36px) !important; }
}

/* (2) Teenuste-grid: kaardid võrdse kõrgusega, CTA-nupud ühel joonel.
   Visual Composeri veerud on float-põhised (display:block), mistõttu kaardi
   kõrguse määrab tema enda sisu — 2-realise kirjeldusega kaart (SSL sertifikaat)
   jäi naabritest 24px lühemaks ja nupp tõusis joonest välja. Sisemine rida
   flexiks + nupu-konteiner margin-top:auto surub nupu kaardi põhja. */
.servicesbox .vc_row.vc_inner { display: flex; flex-wrap: wrap; }
.servicesbox .vc_row.vc_inner > .vc_column_container { display: flex; }
.servicesbox .vc_row.vc_inner > .vc_column_container > .vc_column-inner { display: flex; flex: 1 1 auto; }
.servicesbox .vc_row.vc_inner > .vc_column_container > .vc_column-inner > .wpb_wrapper { display: flex; flex-direction: column; flex: 1 1 auto; }
.servicesbox .vc_row.vc_inner .vc_btn3-container { margin-top: auto; }

/* (3) Võrdlustabeli päis: pakkuja-nimed peavad veergu mahtuma.
   .ctable on table-layout:fixed, viimane veerg 20% (=234px @1920) ja 30px
   päisefont ajas "Veebimajutus.ee" servast välja. 26px mahub desktopil;
   mobiilis on veerg 120px, kus ka väikseim font ei mahu → seal lubame
   murdekoha (nimi läheb kahele reale, ei lõika serva). */
@media (min-width: 769px) {
  .tablecontents .ctable thead th.column { font-size: 26px; }
}
@media (max-width: 768px) {
  .tablecontents .ctable thead th.column { padding-left: 6px; padding-right: 6px; overflow-wrap: break-word; }
}
