/*
CTC Separate Stylesheet
Updated: 2021-05-12 15:55:09
*/

a, a span, a i {
	transition: all 350ms ease;
}

.lava-footer {
	font-size: 85%;
}

/* =========================================================
   Modrá skrinka – landing (modraskrinka.sk), layout v2
   Airy, warm, senior-friendly: DM Serif Display headings with
   one blue highlighted word, pill buttons, soft rounded cards,
   heart-framed hero photo (echoes the logo's heart).
   ========================================================= */
:root {
	--msk-blue: #01A5E6;
	--msk-blue-dark: #016D98;
	--msk-navy: #0B2A3C;
	--msk-ink: #4A5560;
	--msk-muted: #6B7780;
	--msk-tint: #F1FAFE;
	--msk-line: #E3EDF2;
	--msk-serif: "DM Serif Display", Georgia, serif;
	--msk-sans: "Open Sans", "Segoe UI", Arial, sans-serif;
	--msk-radius: 18px;
	--msk-shadow: 0 14px 44px rgba(11, 42, 60, .09);
}

body { background: #fff; color: var(--msk-ink); }
html { scroll-behavior: smooth; }
::selection { background: var(--msk-blue); color: #fff; }
.elementor a:focus-visible, .elementor button:focus-visible, .elementor input:focus-visible, .elementor textarea:focus-visible {
	outline: 3px solid #F5A524; outline-offset: 3px;
}
#o-modrej-skrinke, #cennik, #kontakt, #novinky, #obsah, #ako-to-funguje { scroll-margin-top: 100px; }

/* ---------- typography */
.msk-hl { color: var(--msk-blue); }
.msk-title .elementor-heading-title, .msk-h1 .elementor-heading-title { color: var(--msk-navy); font-family: var(--msk-serif); font-weight: 400; }
.msk-h1 .elementor-heading-title { font-size: 66px; line-height: 1.08; }
@media (max-width: 1024px) { .msk-h1 .elementor-heading-title { font-size: 52px; } }
@media (max-width: 767px) { .msk-h1 .elementor-heading-title { font-size: 40px; } }
.msk-title .elementor-heading-title { font-size: 46px; line-height: 1.15; }
@media (max-width: 767px) { .msk-title .elementor-heading-title { font-size: 34px; } }
.msk-sub { max-width: 760px; margin: 0 auto; color: var(--msk-muted); }
.msk-center { text-align: center; }
.msk-lead { font-size: 20px; line-height: 1.7; color: var(--msk-ink); }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor a { color: var(--msk-blue-dark); }

/* ---------- buttons (pills) */
.msk-btn .elementor-button {
	border-radius: 999px !important; background: var(--msk-blue) !important; color: #fff !important;
	font-family: var(--msk-sans); font-weight: 700; font-size: 16px; letter-spacing: .02em;
	padding: 17px 34px; border: 2px solid var(--msk-blue); transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.msk-btn .elementor-button:hover { background: var(--msk-blue-dark) !important; border-color: var(--msk-blue-dark); }
.msk-btn--app .elementor-button { font-size: 18px; padding: 20px 38px; }
.msk-btn--sm .elementor-button { font-size: 15px; padding: 13px 28px; }
.msk-btn--ghost .elementor-button { background: transparent !important; color: var(--msk-navy) !important; border-color: var(--msk-navy); }
.msk-btn--ghost .elementor-button:hover { background: var(--msk-navy) !important; color: #fff !important; border-color: var(--msk-navy); }
.msk-btn--header .elementor-button { font-size: 15px; padding: 14px 26px; }
.msk-btn--white .elementor-button { background: #fff !important; color: var(--msk-blue-dark) !important; border-color: #fff; font-size: 17px; padding: 18px 34px; }
.msk-btn--white .elementor-button:hover { background: var(--msk-navy) !important; color: #fff !important; border-color: var(--msk-navy); }
.msk-btn-row { margin-top: 10px; }

/* ---------- header overlays the first section */
.elementor-location-header { position: absolute; top: 0; left: 0; right: 0; z-index: 100; }
.admin-bar .elementor-location-header { top: 32px; }
.msk-topbar { background: rgba(255,255,255,.55); border-bottom: 1px solid rgba(11,42,60,.06); font-size: 14px; color: var(--msk-ink); }
.msk-topbar p { margin: 0; display: flex; align-items: center; gap: 26px; }
.msk-topbar-links p { justify-content: flex-end; }
.msk-topbar a { color: var(--msk-navy); display: inline-flex; align-items: center; text-decoration: none; font-weight: 600; }
.msk-topbar a:hover { color: var(--msk-blue); }
.msk-ico { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%;
	background: var(--msk-blue); color: #fff; font-size: 12px; margin-right: 10px; }
.msk-header { background: transparent; transition: background .3s ease, box-shadow .3s ease; }
.msk-header.elementor-sticky--effects { background: #fff !important; box-shadow: 0 6px 30px rgba(11,42,60,.08); }
.msk-nav .elementor-nav-menu--main .elementor-item {
	font-family: var(--msk-sans); font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	color: var(--msk-navy); padding: 10px 16px;
}
.msk-nav .elementor-nav-menu--main .elementor-item:hover,
.msk-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--msk-blue); }
.msk-nav .elementor-menu-toggle { background: var(--msk-blue); color: #fff; font-size: 24px; border-radius: 12px; padding: 10px; }
.msk-nav .elementor-menu-toggle svg { fill: #fff; }
.msk-nav .elementor-nav-menu--dropdown { background: #fff; border-radius: 0 0 16px 16px; box-shadow: var(--msk-shadow); margin-top: 12px !important; }
.msk-nav .elementor-nav-menu--dropdown .elementor-item { font-size: 18px; color: var(--msk-navy); padding: 16px 24px; text-transform: none; }
.msk-nav .elementor-nav-menu--dropdown .elementor-item:hover, .msk-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { background: var(--msk-tint); color: var(--msk-blue-dark); }
@media (max-width: 1024px) { .msk-hide-tablet { display: none; } }

/* ---------- hero heart */
.msk-heart-col { position: relative; }
.msk-heart { position: relative; max-width: 520px; margin: 0 auto; width: 100%; }
.msk-heart img {
	width: 100%; aspect-ratio: 100 / 92; object-fit: cover; object-position: 40% 30%; display: block;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath d='M50 89C21 68 3 50 3 29 3 14 14 3 28.5 3 38 3 45.5 8.5 50 16.5 54.5 8.5 62 3 71.5 3 86 3 97 14 97 29 97 50 79 68 50 89Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath d='M50 89C21 68 3 50 3 29 3 14 14 3 28.5 3 38 3 45.5 8.5 50 16.5 54.5 8.5 62 3 71.5 3 86 3 97 14 97 29 97 50 79 68 50 89Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

/* ---------- offer cards (overlap hero) */
.msk-offer { margin-top: -90px; position: relative; z-index: 2; }
.msk-offer-head { margin-bottom: 4px; }
.msk-card { background-color: #fff; border-radius: var(--msk-radius); box-shadow: var(--msk-shadow); }
.msk-card--offer { padding: 44px 32px !important; }
.msk-ibox .elementor-icon { color: var(--msk-blue); fill: var(--msk-blue); font-size: 46px; }
.msk-ibox .elementor-icon svg { width: 46px; height: 46px; }
.msk-ibox .elementor-icon-box-icon { margin-bottom: 18px !important; }
.msk-ibox .elementor-icon-box-title { font-family: var(--msk-serif); font-weight: 400; font-size: 27px; color: var(--msk-navy); margin: 0 0 10px; }
.msk-ibox .elementor-icon-box-description { font-size: 17px; line-height: 1.65; color: var(--msk-ink); }
.msk-ibox--plain { padding: 18px 10px 26px; }
.msk-ibox--plain .elementor-icon { font-size: 40px; }
.msk-ibox--plain .elementor-icon svg { width: 40px; height: 40px; }
.msk-ibox--plain .elementor-icon-box-title { font-size: 24px; }

/* ---------- about with decorative corners */
.msk-corners-col { padding: 36px !important; }
.msk-img--corners .elementor-widget-container, .msk-img--corners { position: relative; }
.msk-img--corners::before { content: ""; position: absolute; top: -36px; right: -36px; width: 130px; height: 130px; background: var(--msk-blue); border-radius: 24px; z-index: -1; }
.msk-img--corners::after { content: ""; position: absolute; left: -36px; bottom: -36px; width: 120px; height: 120px; border: 3px solid var(--msk-navy);
	border-right: 0; border-top: 0; border-radius: 0 0 0 24px; z-index: -1; }
.msk-img img { border-radius: var(--msk-radius); width: 100%; display: block; }
.msk-img--corners { position: relative; z-index: 1; }
.msk-img--corners img { aspect-ratio: 5 / 4; object-fit: cover; box-shadow: var(--msk-shadow); }
.msk-advice-label { font-family: var(--msk-serif); font-size: 24px; color: var(--msk-navy); margin: 8px 0 0 !important; }
.msk-advice a { font-family: var(--msk-serif); font-size: 32px; color: var(--msk-blue) !important; text-decoration: none; word-break: break-word; }

/* ---------- stats row */
.msk-stats { border-top: 1px solid var(--msk-line); border-bottom: 1px solid var(--msk-line); padding: 34px 0 !important; }
.msk-stat-num { font-family: var(--msk-serif); font-size: 56px; line-height: 1.1; color: var(--msk-blue-dark); text-align: center; margin: 0 !important; white-space: nowrap; }
.msk-stat-label { text-align: center; color: var(--msk-ink); font-size: 16px; }
@media (max-width: 767px) { .msk-stat-num { font-size: 42px; } .msk-stats > .e-con { padding: 10px 0 !important; } }

/* ---------- parts (image + icon grid) */
.msk-tall-col .msk-img--tall, .msk-tall-col .msk-img--tall .elementor-widget-container { height: 100%; }
.msk-img--tall img { height: 100%; min-height: 420px; object-fit: cover; object-position: 60% center; }
@media (max-width: 767px) { .msk-img--tall img { min-height: 0; height: auto; aspect-ratio: 4 / 3; } }
.msk-parts-grid { row-gap: 8px !important; }

/* ---------- tinted sections + steps */
.msk-section--tint { background: var(--msk-tint); }
.msk-card--step { padding: 44px 32px !important; }
.msk-step-num { width: 70px; height: 70px; border-radius: 50%; margin: 0 auto 18px !important; display: flex; align-items: center; justify-content: center;
	background: var(--msk-tint); color: var(--msk-blue); font-family: var(--msk-serif); font-size: 34px; border: 2px dashed var(--msk-blue); }
.msk-card-title .elementor-heading-title { font-family: var(--msk-serif); font-weight: 400; font-size: 27px; color: var(--msk-navy); }

/* ---------- quote card */
.msk-card--quote { max-width: 980px; margin: 0 auto; padding: 56px 48px 70px !important; position: relative; text-align: center; overflow: visible; }
.msk-quote-mark { font-family: var(--msk-serif); font-size: 110px; line-height: .6; height: 50px; color: var(--msk-blue); margin: 0 !important; }
.msk-quote { font-family: var(--msk-serif); font-style: italic; font-size: 30px; line-height: 1.45; color: var(--msk-ink); border: 0; padding: 0; margin: 10px auto 26px; max-width: 760px; }
.msk-quote-line { width: 130px; height: 2px; background: var(--msk-blue); margin: 0 auto 20px !important; }
.msk-quote-name { font-family: var(--msk-serif); font-size: 22px; color: var(--msk-navy); margin: 0 !important; }
.msk-quote-role { font-size: 15px; color: var(--msk-muted); }
.msk-quote-heart { position: absolute !important; bottom: -42px; left: 50%; transform: translateX(-50%); width: 84px !important; }
.msk-quote-heart img { width: 84px; height: 84px; background: #fff; border-radius: 50%; padding: 12px; box-shadow: var(--msk-shadow); }
@media (max-width: 767px) { .msk-quote { font-size: 23px; } .msk-card--quote { padding: 44px 22px 64px !important; } }

/* ---------- pricing */
.msk-price .elementor-price-table { background: #fff; border-radius: var(--msk-radius); box-shadow: var(--msk-shadow); overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.msk-price .elementor-price-table__header { padding: 40px 30px 0 !important; }
.msk-price .elementor-price-table__heading { font-family: var(--msk-serif); font-weight: 400; font-size: 32px; }
.msk-price .elementor-price-table__subheading { font-size: 15px; }
.msk-price .elementor-price-table__price { padding: 22px 0 14px !important; font-family: var(--msk-serif); font-weight: 400; justify-content: center; }
.msk-price .elementor-price-table__integer-part { font-size: 72px; line-height: 1; }
.msk-price:not(.msk-price--main) .elementor-price-table__integer-part { font-size: 46px; }
.msk-price .elementor-price-table__currency { font-size: 30px; }
.msk-price .elementor-price-table__period { font-family: var(--msk-sans); font-size: 14px; }
.msk-price .elementor-price-table .elementor-price-table__features-list { text-align: left; padding: 14px 40px !important; flex-grow: 1; border-top: 1px solid var(--msk-line); }
.msk-price .elementor-price-table .elementor-price-table__features-list li { font-size: 17px !important; padding: 9px 0 !important; }
.msk-price .elementor-price-table__feature-inner { margin: 0 !important; }
.msk-price .elementor-price-table__feature-inner i, .msk-price .elementor-price-table__feature-inner svg { color: var(--msk-blue); fill: var(--msk-blue); margin-right: 10px; }
.msk-price .elementor-price-table .elementor-price-table__footer { padding: 10px 40px 40px !important; }
.msk-price .elementor-price-table__button { width: 100%; border-radius: 999px !important; font-weight: 700; font-size: 17px !important; padding: 18px !important; }
.msk-price:not(.msk-price--main) .elementor-price-table__button { background: transparent !important; color: var(--msk-navy) !important; border: 2px solid var(--msk-navy); }
.msk-price:not(.msk-price--main) .elementor-price-table__button:hover { background: var(--msk-navy) !important; color: #fff !important; }
.msk-price .elementor-price-table__ribbon-inner { font-weight: 700; letter-spacing: .04em; }

/* ---------- posts */
.msk-posts .elementor-post__card { background: #fff; border: 0 !important; border-radius: var(--msk-radius) !important; box-shadow: var(--msk-shadow) !important; }
.msk-posts .elementor-post__thumbnail__link { margin-bottom: 0 !important; }
.msk-posts .elementor-post__card .elementor-post__text { order: 2; padding: 8px 28px 34px !important; text-align: center !important; display: flex !important; flex-direction: column; align-items: center !important; flex-grow: 1; }
.msk-posts .elementor-post__card .elementor-post__read-more { margin-top: auto; }
.msk-posts .elementor-post__card { display: flex !important; flex-direction: column; }
.msk-posts .elementor-post__thumbnail__link { order: 0; }
.msk-posts .elementor-post__card .elementor-post__meta-data { order: 1; text-align: center; border: 0 !important; padding: 26px 28px 0 !important; margin: 0 !important;
	font-size: 14px !important; color: var(--msk-blue-dark) !important; font-weight: 600; }
.msk-posts .elementor-post__card .elementor-post__title, .msk-posts .elementor-post__card .elementor-post__title a {
	font-family: var(--msk-serif); font-weight: 400; font-size: 26px !important; line-height: 1.25; color: var(--msk-navy) !important; margin-bottom: 22px; }
.msk-posts .elementor-post__card .elementor-post__read-more { display: inline-block; border: 2px solid var(--msk-navy); border-radius: 999px; padding: 10px 26px;
	font-size: 14px !important; font-weight: 700; color: var(--msk-navy) !important; text-transform: uppercase; letter-spacing: .05em; }
.msk-posts .elementor-post__card .elementor-post__read-more:hover { background: var(--msk-navy); color: #fff !important; }
.msk-posts .elementor-post__card .elementor-post__meta-data + .elementor-post__title { margin-top: 0; }
.msk-posts .elementor-pagination { margin-top: 48px; font-size: 17px; }
.msk-posts .elementor-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px;
	border-radius: 999px; border: 2px solid var(--msk-line); color: var(--msk-navy); margin: 0 3px; }
.msk-posts .elementor-pagination .page-numbers.current { background: var(--msk-blue); border-color: var(--msk-blue); color: #fff; }

/* ---------- contact */
.msk-info-label { color: var(--msk-blue); font-size: 15px; font-weight: 600; margin: 0 !important; }
.msk-info { margin-bottom: 14px !important; }
.msk-info a { font-family: var(--msk-serif); font-size: 26px; color: var(--msk-navy) !important; text-decoration: none; }
.msk-info a:hover { color: var(--msk-blue) !important; }
.msk-note { background: #FFF5F5; border-radius: 0; padding: 16px 20px; font-size: 16px; border-left: 4px solid #E5484D; }
.msk-note a { color: #B3262B !important; font-weight: 700; }
.msk-card--form { padding: 44px !important; }
@media (max-width: 767px) { .msk-card--form { padding: 26px 20px !important; } }
.msk-form .elementor-field-group { margin-bottom: 16px; }
.msk-form .elementor-field-textual { border: 1px solid var(--msk-line) !important; border-radius: 14px !important; background: #F8FBFD !important;
	font-size: 17px !important; padding: 14px 18px !important; min-height: 54px; color: var(--msk-navy); }
.msk-form .elementor-field-textual:focus { border-color: var(--msk-blue) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(1,165,230,.15); }
.msk-form .elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 15px; line-height: 1.5; }
.msk-form .elementor-button { border-radius: 999px !important; background: var(--msk-blue) !important; font-size: 17px; font-weight: 700; padding: 18px; }
.msk-form .elementor-button:hover { background: var(--msk-blue-dark) !important; }

/* ---------- page head (Novinky, single post) */
.msk-page-title .elementor-heading-title { font-size: 56px; }
@media (max-width: 767px) { .msk-page-title .elementor-heading-title { font-size: 36px; } }
.msk-post-meta .elementor-icon-list-items { justify-content: center; }
.msk-post-meta .elementor-icon-list-item, .msk-post-meta .elementor-icon-list-text, .msk-post-meta a { font-size: 15px; color: var(--msk-blue-dark) !important; font-weight: 600; }
.msk-post-meta .elementor-icon-list-icon i, .msk-post-meta .elementor-icon-list-icon svg { color: var(--msk-blue); fill: var(--msk-blue); }
.msk-breadcrumbs { font-size: 15px; color: var(--msk-muted); text-align: center; }
.msk-breadcrumbs a { color: var(--msk-blue-dark); }
.msk-post-image img { aspect-ratio: 16 / 9; object-fit: cover; box-shadow: var(--msk-shadow); }
.msk-post-content { font-size: 19px; line-height: 1.8; color: var(--msk-ink); }
.msk-post-content h2 { font-family: var(--msk-serif); font-weight: 400; font-size: 34px; color: var(--msk-navy); margin: 40px 0 14px; }
.msk-post-content a { color: var(--msk-blue-dark); text-decoration: underline; }
.msk-post-content ul, .msk-post-content ol { padding-left: 1.3em; margin-bottom: 1.2em; }
.msk-post-content li { margin-bottom: 8px; }
.msk-post-content li::marker { color: var(--msk-blue); }

/* ---------- footer */
.msk-cta-wrap { position: relative; z-index: 2; margin-bottom: -90px; }
.msk-cta-card { background: linear-gradient(120deg, var(--msk-blue-dark), var(--msk-blue)); border-radius: 24px; padding: 52px 60px !important;
	box-shadow: 0 24px 60px rgba(1, 109, 152, .3); color: #E6F6FD; }
@media (max-width: 767px) { .msk-cta-card { padding: 34px 24px !important; } }
.msk-cta-title .elementor-heading-title { font-family: var(--msk-serif); font-weight: 400; color: #fff !important; font-size: 40px; line-height: 1.15; }
.msk-cta-title .msk-hl { color: #BFEBFB; }
@media (max-width: 767px) { .msk-cta-title .elementor-heading-title { font-size: 30px; } }
.msk-footer { position: relative; overflow: hidden; background: #F4F8FA; color: var(--msk-ink); font-size: 16px; }
.msk-footer > .e-con-inner { position: relative; z-index: 1; }
.msk-footer-h .elementor-heading-title { font-family: var(--msk-serif); font-weight: 400; color: var(--msk-navy) !important; font-size: 24px; }
.msk-footer-text p { margin-bottom: 6px; }
.msk-footer-text a { color: var(--msk-ink) !important; text-decoration: none; }
.msk-footer-text a:hover { color: var(--msk-blue) !important; }
.msk-footer-text .lava-footer { color: var(--msk-muted); font-size: 14px; margin-top: 14px; }
.msk-footer .msk-info-label { margin-top: 6px !important; }
.msk-footer-nav .elementor-nav-menu--main .elementor-item { color: var(--msk-ink); font-size: 16px; padding: 6px 0 !important; font-weight: 400; }
.msk-footer-nav .elementor-nav-menu--main .elementor-item:hover { color: var(--msk-blue); }
.msk-legal { font-size: 14px; line-height: 1.9; }

/* ---------- Elementor container overrides (radius/margins are set via vars) */
.e-con.msk-card, .e-con.msk-cta-card { border-radius: var(--msk-radius) !important; }
.e-con.msk-cta-card { border-radius: 24px !important; }
.e-con.msk-cta-wrap { margin-bottom: -90px !important; }
.e-con.msk-offer { margin-top: -90px !important; }
.e-con.msk-card--quote { width: 100%; max-width: 980px !important; }
.msk-card--quote .elementor-widget-text-editor { text-align: center; width: 100%; }
.msk-quote-heart img { border-radius: 50% !important; }
.e-con.msk-cta-wrap { position: relative !important; z-index: 5 !important; }
.msk-img img, .msk-img--corners img, .msk-img--tall img { border-radius: var(--msk-radius) !important; }
.msk-posts .elementor-post__card .elementor-post__read-more { align-self: center !important; }

/* ---------- subpages */
.msk-card--cta-inline { padding: 48px 56px !important; background: var(--msk-tint) !important; box-shadow: none !important; border: 1px solid #CDEBF8; }
@media (max-width: 767px) { .msk-card--cta-inline { padding: 30px 22px !important; } }
.msk-card--org { padding: 50px 30px !important; min-height: 240px; }
.msk-org-name { font-family: var(--msk-serif); font-size: 44px; line-height: 1.05; color: #fff; text-align: center; margin: 0 0 10px !important; }
.msk-org-sub { color: #D9F2FC; text-align: center; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; font-weight: 700; }
.msk-checklist .elementor-icon-list-item { font-size: 18px; color: var(--msk-navy); padding: 6px 0 !important; }
.msk-checklist .elementor-icon-list-icon i, .msk-checklist .elementor-icon-list-icon svg { color: var(--msk-blue); fill: var(--msk-blue); font-size: 20px; width: 22px; }
.msk-faq-wrap { max-width: 860px; margin: 0 auto; width: 100%; }
.msk-faq .elementor-toggle-item { background: #fff; border-radius: 16px; box-shadow: var(--msk-shadow); margin-bottom: 16px; overflow: hidden; }
.msk-faq .elementor-tab-title { border: 0 !important; padding: 22px 28px !important; font-family: var(--msk-serif); font-weight: 400; font-size: 22px; color: var(--msk-navy) !important; }
.msk-faq .elementor-tab-title a { color: var(--msk-navy) !important; }
.msk-faq .elementor-tab-title.elementor-active, .msk-faq .elementor-tab-title.elementor-active a { color: var(--msk-blue) !important; }
.msk-faq .elementor-toggle-icon { color: var(--msk-blue); }
.msk-faq .elementor-toggle-icon svg { fill: var(--msk-blue); }
.msk-faq .elementor-tab-content { border: 0 !important; padding: 0 28px 24px !important; font-size: 17px; color: var(--msk-ink); }
.msk-legal-content h2 { font-size: 30px; margin-top: 44px; }
.msk-legal-content h3 { font-family: var(--msk-serif); font-weight: 400; font-size: 23px; color: var(--msk-navy); margin: 28px 0 10px; }
.msk-legal-content { font-size: 17px; }
.msk-legal-meta { display: inline-block; background: var(--msk-tint); color: var(--msk-blue-dark); font-weight: 700; font-size: 14px; padding: 6px 14px; border-radius: 999px; }
.msk-legal-content #cmplz-document { max-width: none; font-size: 17px; }
.msk-legal-content #cmplz-document h2, .msk-legal-content #cmplz-document h3 { font-family: var(--msk-serif); font-weight: 400; color: var(--msk-navy); }
.msk-form .elementor-field-type-acceptance a { color: var(--msk-blue-dark); text-decoration: underline; }

/* ---------- no movement on hover anywhere – only colour changes */
.elementor-button, .elementor-button:hover, .elementor-post__card:hover, .e-con:hover, .elementor-icon:hover,
.elementor-price-table__button:hover, .elementor-social-icon:hover { transform: none !important; }
.elementor-post__card:hover .elementor-post__thumbnail img { transform: none !important; }
.msk-card:hover { box-shadow: var(--msk-shadow); }
/* boxes with a one-sided accent border always have square corners */
.msk-note, blockquote, .wp-block-quote, .msk-legal-content blockquote { border-radius: 0 !important; }

/* ---------- Complianz cookie banner in brand (overrides Hello theme's red button reset) */
.cmplz-cookiebanner { font-family: var(--msk-sans) !important; box-shadow: 0 18px 50px rgba(11,42,60,.18) !important; }
.cmplz-cookiebanner .cmplz-title { font-family: var(--msk-serif) !important; font-weight: 400 !important; font-size: 21px !important; color: var(--msk-navy) !important; }
.cmplz-cookiebanner .cmplz-btn { border-radius: 999px !important; font-weight: 700 !important; font-size: 14px !important; transform: none !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--msk-blue) !important; border: 2px solid var(--msk-blue) !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background: var(--msk-blue-dark) !important; border-color: var(--msk-blue-dark) !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny, .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background: #fff !important; border: 2px solid var(--msk-navy) !important; color: var(--msk-navy) !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover, .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover {
	background: var(--msk-navy) !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-close { color: var(--msk-navy) !important; background: transparent !important; border: 0 !important; }
.cmplz-cookiebanner .cmplz-links a, .cmplz-cookiebanner .cmplz-link { color: var(--msk-blue-dark) !important; }
#cmplz-manage-consent .cmplz-manage-consent { background: var(--msk-navy) !important; color: #fff !important; border: 0 !important; border-radius: 12px 12px 0 0 !important; }
#cmplz-document .cmplz-btn, .cmplz-document button { border-radius: 999px !important; }
.e-con.msk-faq-wrap { align-self: center !important; max-width: 860px !important; margin-left: auto !important; margin-right: auto !important; }

/* ---------- heart v3: photo fills the heart, outline sits exactly on its edge */
.msk-heart img { object-position: 45% 35%; }
.msk-heart::after { content: ""; position: absolute; inset: 0; pointer-events: none; overflow: visible;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92' overflow='visible' fill='none' stroke-linecap='round'%3E%3Cpath d='M50 16.5C45.5 8.5 38 3 28.5 3 14 3 3 14 3 29 3 50 21 68 50 89' stroke='%230B2A3C' stroke-width='2.2'/%3E%3Cpath d='M50 16.5C54.5 8.5 62 3 71.5 3 86 3 97 14 97 29 97 50 79 68 50 89' stroke='%2301A5E6' stroke-width='2.2'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }

/* ---------- round 3 corrections */
/* menu: nothing moves on hover, only colour */
.msk-nav .elementor-nav-menu--main .elementor-item,
.msk-nav .elementor-nav-menu--main .elementor-item:hover,
.msk-nav .elementor-nav-menu--main .elementor-item:focus,
.msk-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { padding: 10px 16px !important; transition: color .2s ease !important; }
.msk-footer-nav .elementor-nav-menu--main .elementor-item,
.msk-footer-nav .elementor-nav-menu--main .elementor-item:hover { padding: 6px 0 !important; transition: color .2s ease !important; }

/* no shadows on any button */
.elementor-button, .elementor-button:hover, .elementor-price-table__button, .msk-form .elementor-button, .cmplz-btn { box-shadow: none !important; }

/* icons without a link keep their colour on hover (Elementor turns them grey) */
.elementor-icon:hover, .elementor-icon-box-icon .elementor-icon:hover { color: inherit; }
.msk-ibox .elementor-icon:hover { color: var(--msk-blue) !important; fill: var(--msk-blue) !important; }
.msk-ibox .elementor-icon:hover svg { fill: var(--msk-blue) !important; }
.msk-ibox--plain .elementor-icon:hover { color: var(--msk-blue) !important; }

/* blog thumbnails: gentle zoom inside the card */
.msk-posts .elementor-post__thumbnail { overflow: hidden; }
.msk-posts .elementor-post__card .elementor-post__thumbnail img,
.msk-posts .elementor-post__card:hover .elementor-post__thumbnail img {
	transition: transform 500ms ease-in-out !important; transform: translate(-50%, -50%) scale(1) !important;
	top: 50% !important; left: 50% !important; filter: none !important; }
.msk-posts .elementor-post__card:hover .elementor-post__thumbnail img { transform: translate(-50%, -50%) scale(1.08) !important; }

/* welcome e-mail hover */
.msk-advice a { transition: color .2s ease; }
.msk-advice a:hover { color: var(--msk-navy) !important; }

/* counters: three */
.msk-stat-num { font-size: 60px; }

/* parts: big portrait photo */
.msk-img--tall img { min-height: 640px; object-position: center 25%; }
@media (max-width: 1024px) { .msk-img--tall img { min-height: 480px; } }

/* steps: dashed ring spins clockwise while the card is hovered */
.msk-step-num { position: relative; border: 0 !important; }
.msk-step-num::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px dashed var(--msk-blue); }
.msk-card--step:hover .msk-step-num::before { animation: msk-spin 6s linear infinite; }
@keyframes msk-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .msk-card--step:hover .msk-step-num::before { animation: none; } }

/* quote: full-width band with fixed photo */
.msk-quote-band { color: #fff; }
.msk-quote-box { max-width: 900px; margin: 0 auto; text-align: center; }
.msk-quote-box .elementor-widget-text-editor { text-align: center; width: 100%; }
.msk-quote-band .msk-quote-mark { color: var(--msk-blue); }
.msk-quote-band .msk-quote { color: #fff; font-size: 38px; }
.msk-quote-band .msk-quote-name { color: #fff; }
.msk-quote-band .msk-quote-role { color: #BFE6F7; }
@media (max-width: 767px) { .msk-quote-band .msk-quote { font-size: 26px; } }
@media (max-width: 1024px) { .msk-quote-band { background-attachment: scroll !important; } }

/* pricing: "coming soon" card */
.msk-price--soon .elementor-price-table__integer-part { font-size: 38px !important; color: var(--msk-muted); }
.msk-price--soon .elementor-price-table__ribbon-inner { background: var(--msk-navy) !important; }
.msk-price--soon .elementor-price-table__button { background: transparent !important; color: var(--msk-navy) !important; border: 2px solid var(--msk-navy); }
.msk-price--soon .elementor-price-table__button:hover { background: var(--msk-navy) !important; color: #fff !important; }

/* FAQ (accordion, first item open) */
.msk-faq .elementor-accordion-item { background: #fff; border-radius: 16px; box-shadow: var(--msk-shadow); margin-bottom: 16px; overflow: hidden; border: 0 !important; }
.msk-faq .elementor-tab-title { border: 0 !important; padding: 22px 28px !important; font-family: var(--msk-sans) !important; font-weight: 500 !important; font-size: 19px !important; }
.msk-faq .elementor-tab-title a, .msk-faq .elementor-accordion-title { color: var(--msk-navy) !important; font-weight: 500 !important; }
.msk-faq .elementor-tab-title.elementor-active a, .msk-faq .elementor-tab-title.elementor-active .elementor-accordion-title { color: var(--msk-blue-dark) !important; }
.msk-faq .elementor-accordion-icon { color: var(--msk-blue); }
.msk-faq .elementor-accordion-icon svg { fill: var(--msk-blue); }
.msk-faq .elementor-tab-content { border: 0 !important; padding: 0 28px 24px !important; font-size: 17px; color: var(--msk-ink); }

/* breadcrumbs (Yoast) */
.msk-breadcrumbs { margin-top: -4px; margin-bottom: 6px; }
.msk-breadcrumbs, .msk-breadcrumbs span { font-size: 15px; color: var(--msk-muted); text-align: center; }
.msk-breadcrumbs a { color: var(--msk-blue-dark); text-decoration: none; }
.msk-breadcrumbs a:hover { color: var(--msk-navy); }
.msk-breadcrumbs .breadcrumb_last { color: var(--msk-navy); font-weight: 600; }

/* about: info box about pseudonymised data (square corners – side accent) */
.msk-info-box { background: var(--msk-tint); border-left: 4px solid var(--msk-blue); border-radius: 0 !important; padding: 18px 22px; font-size: 16px; line-height: 1.65; }
.msk-info-box strong { color: var(--msk-navy); }

/* about: who's behind it – photo card with Mosty pomoci logo */
.msk-card--org { min-height: 300px; padding: 30px !important; overflow: hidden; }
.msk-org-logo { background: #fff; border-radius: 16px; padding: 18px 22px; width: auto !important; max-width: 240px; box-shadow: var(--msk-shadow); }
.msk-org-logo img { width: 100%; height: auto; display: block; }

/* footer: contact icons + bottom row */
.msk-footer-contact .elementor-icon-list-item { padding: 5px 0 !important; }
.msk-footer-contact .elementor-icon-list-icon { width: 30px; height: 30px; min-width: 30px; border-radius: 50%; background: var(--msk-blue); display: inline-flex !important;
	align-items: center; justify-content: center; margin-right: 10px; }
.msk-footer-contact .elementor-icon-list-icon i { color: #fff !important; font-size: 13px; }
.msk-footer-contact .elementor-icon-list-icon svg { fill: #fff !important; width: 13px; }
.msk-footer-contact .elementor-icon-list-text { color: var(--msk-ink); font-size: 16px; }
.msk-footer-contact a:hover .elementor-icon-list-text { color: var(--msk-blue); }
.msk-footer-bottom { border-top: 1px solid rgba(11,42,60,.10); padding-top: 22px !important; font-size: 14px; color: var(--msk-muted); }
.msk-footer-bottom p { margin: 0; }
.msk-footer-bottom .lava-footer { font-size: 14px; color: var(--msk-muted); }
.msk-legal-links .msk-legal { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 14px; line-height: 1.5; }
.msk-legal-links a, .msk-credit a { color: var(--msk-ink) !important; text-decoration: none; }
.msk-legal-links a:hover, .msk-credit a:hover { color: var(--msk-blue) !important; }
.msk-credit a { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.msk-credit img { width: 18px; height: 18px; display: inline-block; }
@media (max-width: 767px) { .msk-footer-bottom { flex-direction: column !important; align-items: flex-start !important; } }
.e-con.msk-card--org { background-color: transparent; }
.msk-card--org .msk-org-logo { width: 230px !important; max-width: 70% !important; flex: 0 0 auto; padding: 16px 20px !important; }
.msk-card--org .msk-org-logo img { width: 100% !important; }
.msk-footer-bottom { padding-bottom: 0 !important; }

/* ---------- responsive round (tablet ≤1024, mobile ≤767) */
.msk-btn--compact .elementor-button { padding: 11px 20px; font-size: 15px; }
#to_top_scrollup { background: var(--msk-blue) !important; color: #fff !important; width: 44px !important; height: 44px !important; border-radius: 50% !important;
	font-size: 22px !important; line-height: 44px !important; text-align: center; right: 16px !important; bottom: 16px !important; opacity: .9; }
#to_top_scrollup:hover { background: var(--msk-blue-dark) !important; }
.msk-404-num { font-family: var(--msk-serif); font-size: 140px; line-height: 1; color: var(--msk-blue); margin: 0 !important; text-align: center; }
.msk-404 .msk-btn-row { margin-top: 18px; }

@media (max-width: 1024px) {
	.msk-hero .msk-h1 .elementor-heading-title { font-size: 50px; }
	.msk-heart-col { max-width: 460px; margin: 10px auto 0; }
	.msk-offer { margin-top: -40px !important; }
	.msk-card--offer, .msk-card--step { padding: 34px 22px !important; }
	.msk-ibox .elementor-icon-box-title { font-size: 23px; }
	.msk-corners-col { padding: 26px !important; }
	.msk-img--corners::before { top: -26px; right: -26px; width: 100px; height: 100px; }
	.msk-img--corners::after { left: -26px; bottom: -26px; width: 90px; height: 90px; }
	.msk-cta-card { padding: 40px 36px !important; }
}
@media (max-width: 767px) {
	.msk-hero .msk-h1 .elementor-heading-title { font-size: 38px; }
	.msk-lead { font-size: 18px; }
	.msk-heart-col { max-width: 330px; }
	.msk-btn-row .elementor-widget-button { width: 100%; }
	.msk-btn-row .elementor-button { width: 100%; justify-content: center; }
	.msk-advice a { font-size: 23px; }
	.msk-info a { font-size: 22px; word-break: break-word; }
	.msk-stat-num { font-size: 36px !important; }
	.msk-stat-label { font-size: 13px; line-height: 1.35; }
	.msk-stats { padding: 26px 0 !important; }
	.msk-stats > .e-con { padding: 0 4px !important; }
	.msk-ibox--plain { padding: 12px 4px 18px; }
	.msk-ibox--plain .elementor-icon-box-title { font-size: 19px; }
	.msk-ibox--plain .elementor-icon-box-description { font-size: 14px; line-height: 1.5; }
	.msk-parts-grid { row-gap: 4px !important; }
	.msk-img--tall img { min-height: 0 !important; aspect-ratio: 4 / 3; }
	.msk-corners-col { padding: 18px !important; }
	.msk-img--corners::before { top: -18px; right: -18px; width: 80px; height: 80px; border-radius: 18px; }
	.msk-img--corners::after { left: -18px; bottom: -18px; width: 70px; height: 70px; }
	.msk-title .elementor-heading-title { font-size: 32px; }
	.msk-page-title .elementor-heading-title { font-size: 36px; }
	.msk-card--offer, .msk-card--step { padding: 30px 20px !important; }
	.msk-price .elementor-price-table .elementor-price-table__features-list { padding: 12px 24px !important; }
	.msk-price .elementor-price-table .elementor-price-table__footer { padding: 10px 24px 30px !important; }
	.msk-faq .elementor-tab-title { padding: 18px 20px !important; font-size: 17px !important; }
	.msk-faq .elementor-tab-content { padding: 0 20px 20px !important; }
	.msk-card--cta-inline { padding: 28px 22px !important; }
	.msk-card--org { min-height: 220px; }
	.msk-404-num { font-size: 96px; }
	.msk-quote-band .msk-quote-mark { font-size: 80px; height: 36px; }
}
/* Complianz cookie statement tables must not overflow on phones */
#cmplz-document, #cmplz-document * { max-width: 100%; overflow-wrap: break-word; }
@media (max-width: 767px) {
	#cmplz-document .cmplz-service-header, #cmplz-document .cmplz-cookies-table, #cmplz-document .cookies-per-purpose,
	#cmplz-document .cookies-per-purpose > div { display: block !important; width: 100% !important; grid-template-columns: 1fr !important; }
	#cmplz-document .cookies-per-purpose .purpose, #cmplz-document .cookies-per-purpose .name, #cmplz-document .cookies-per-purpose .retention,
	#cmplz-document .cookies-per-purpose .function { display: block !important; width: 100% !important; padding: 4px 0 !important; }
}
/* header on tablet/mobile: logo | (space) | Vstúpiť | burger – one line */
.msk-header .e-con { flex-wrap: nowrap !important; }
@media (max-width: 1024px) {
	.msk-header .msk-logo { flex: 0 1 auto; min-width: 0; }
	.msk-header .msk-btn--compact { order: 2; margin-left: auto; }
	.msk-header .msk-nav { order: 3; flex: 0 0 auto !important; width: auto !important; }
}
@media (max-width: 767px) { .msk-header .e-con { gap: 10px !important; } .msk-btn--compact .elementor-button { padding: 10px 16px; font-size: 14px; } }
@media (max-width: 1024px) { .msk-header .msk-btn--compact { margin-right: 6px; } .msk-btn--compact .elementor-button { padding: 9px 18px !important; font-size: 14px; } }
/* sticky header gets a solid background once the page scrolls */
.msk-header.elementor-sticky--active, .msk-header.elementor-sticky--effects { background: #fff !important; box-shadow: 0 6px 30px rgba(11,42,60,.08); }
#cmplz-document .cmplz-service-header h3, #cmplz-document summary h3 { word-break: normal; overflow-wrap: normal; hyphens: none; }
/* ---------- tablet: two-column blocks stack */
@media (max-width: 1024px) {
	.e-con.msk-stack-t { flex-direction: column !important; align-items: stretch !important; gap: 40px !important; }
	.e-con.msk-stack-t > .e-con { width: 100% !important; max-width: 100% !important; }
	.msk-stack-t > .msk-corners-col { max-width: 620px !important; align-self: center; }
	.msk-stack-t > .msk-tall-col .msk-img--tall img { min-height: 0 !important; aspect-ratio: 16 / 10; object-position: center 25%; }
	.msk-stack-t > .msk-card--org { min-height: 260px; }
	.msk-advice a { font-size: 28px; }
	/* footer CTA card: text above button */
	.e-con.msk-cta-card { flex-direction: column !important; align-items: flex-start !important; gap: 24px !important; }
	.e-con.msk-cta-card > .e-con { width: 100% !important; align-items: flex-start !important; }
	.msk-cta-card .elementor-widget-button { text-align: left !important; }
	.msk-card--cta-inline.e-con { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }
	.msk-card--cta-inline.e-con > .e-con { width: 100% !important; align-items: flex-start !important; }
	.msk-card--cta-inline .elementor-widget-button { text-align: left !important; }
	/* footer: 2 × 2 */
	.e-con.msk-footer-cols { flex-wrap: wrap !important; flex-direction: row !important; row-gap: 36px !important; }
	.e-con.msk-footer-cols > .e-con { width: calc(50% - 20px) !important; }
}
@media (max-width: 767px) {
	.e-con.msk-footer-cols > .e-con { width: 100% !important; }
	.msk-advice a { font-size: 23px; }
}
.msk-ibox .elementor-icon-box-description a, .msk-ibox .elementor-icon-box-description { overflow-wrap: break-word; word-break: break-word; }
@media (max-width: 1024px) {
	.msk-ibox .elementor-icon-box-description { font-size: 15px; word-break: normal; }
	.msk-stack-t > .msk-corners-col .msk-img--corners img { aspect-ratio: 16 / 10; object-fit: cover; }
}

/* mobile v2: counters stacked, one part per row, footer legal links stacked */
@media (max-width: 767px) {
	.msk-stats { padding: 30px 0 !important; row-gap: 26px !important; }
	.msk-stat-num { font-size: 50px !important; }
	.msk-stat-label { font-size: 16px; }
	.msk-parts-grid { row-gap: 10px !important; }
	.msk-ibox--plain { padding: 14px 10px 20px; }
	.msk-ibox--plain .elementor-icon-box-title { font-size: 22px; }
	.msk-ibox--plain .elementor-icon-box-description { font-size: 16px; line-height: 1.6; }
	.msk-legal-links .msk-legal { flex-direction: column; gap: 8px; }
}

/* pricing cards: border instead of shadow; the widget wrapper must not clip/paint the rounded corners */
.msk-price > .elementor-widget-container { background: transparent !important; overflow: visible !important; border-radius: var(--msk-radius); height: 100%; }
.msk-price .elementor-price-table { box-shadow: none !important; border: 1px solid #D3E3EC; }
.msk-price--main .elementor-price-table { border: 2px solid var(--msk-blue); }
.e-con > .msk-price { height: 100%; }
.msk-price .elementor-price-table { border-color: #C5D9E4; }
.msk-price--main .elementor-price-table { border-color: var(--msk-blue); }
