/* ===========================================================
   VDD Orava — brand override on top of Corgan theme
   Replaces Corgan's warm-brown palette with VDD green palette.
   Brand manual: #414E47 / #718472 / #91A192 / #BAAAA0 / #111518
   =========================================================== */

:root,
.scheme_default,
.scheme_light,
body.scheme_light {
    /* Primary accent (was #B79578) */
    --theme-color-text_link:        #718472;
    --theme-color-text_hover:       #414E47;
    --theme-color-text_link_007:    rgba(113, 132, 114, 0.07);
    --theme-color-text_link_02:     rgba(113, 132, 114, 0.20);
    --theme-color-text_link_03:     rgba(113, 132, 114, 0.30);
    --theme-color-text_link_04:     rgba(113, 132, 114, 0.40);
    --theme-color-text_link_05:     rgba(113, 132, 114, 0.50);
    --theme-color-text_link_07:     rgba(113, 132, 114, 0.70);
    --theme-color-text_link_blend:  #8a9a8b;

    /* Secondary link2 (was #B55329 burnt orange) → VDD dark green */
    --theme-color-text_link2:       #414E47;
    --theme-color-text_hover2:      #2b3530;
    --theme-color-text_link2_007:   rgba(65, 78, 71, 0.07);
    --theme-color-text_link2_02:    rgba(65, 78, 71, 0.20);
    --theme-color-text_link2_03:    rgba(65, 78, 71, 0.30);
    --theme-color-text_link2_05:    rgba(65, 78, 71, 0.50);
    --theme-color-text_link2_08:    rgba(65, 78, 71, 0.80);

    /* Tertiary link3 (was #ECA554 gold) → VDD light green */
    --theme-color-text_link3:       #91A192;
    --theme-color-text_hover3:      #718472;
    --theme-color-text_link3_007:   rgba(145, 161, 146, 0.07);
    --theme-color-text_link3_02:    rgba(145, 161, 146, 0.20);
    --theme-color-text_link3_03:    rgba(145, 161, 146, 0.30);

    /* Alter / accent backgrounds */
    --theme-color-alter_link:       #718472;
    --theme-color-alter_hover:      #414E47;
    --theme-color-alter_link2:      #414E47;
    --theme-color-alter_hover2:     #2b3530;
    --theme-color-alter_link3:      #91A192;
    --theme-color-alter_hover3:     #718472;
    --theme-color-alter_link_02:    rgba(113, 132, 114, 0.20);
    --theme-color-alter_link_07:    rgba(113, 132, 114, 0.70);
    --theme-color-alter_link_blend: #8a9a8b;

    /* Page paper background (was #F2EEEC warm) → cooler off-white */
    --theme-color-bg_color:         #F4F1EE;
    --theme-color-alter_bg_color:   #EAE6E1;

    /* Inverse (button-on-light hover bg) — keep dark */
    --theme-color-inverse_bd_color: #91A192;
    --theme-color-inverse_bd_hover: #718472;
}

/* Dark scheme (footer, dark sections) */
.scheme_dark,
body.scheme_dark {
    --theme-color-text_link:        #91A192;
    --theme-color-text_hover:       #BAAAA0;
    --theme-color-text_link2:       #BAAAA0;
    --theme-color-text_hover2:      #d4c5b8;
    --theme-color-text_link3:       #91A192;
    --theme-color-alter_link:       #91A192;
    --theme-color-alter_hover:      #BAAAA0;
    --theme-color-bg_color:         #1a201d;   /* deep green-tinted dark */
    --theme-color-extra_bg_color:   #111518;
}

/* Body & strong text — VDD ink */
html, body { margin: 0 !important; padding: 0 !important; }
body { color: #2f3633; }
.body_wrap, .page_wrap { margin: 0; padding: 0; }
.page_wrap > .top_panel:first-child,
.body_wrap > .page_wrap { margin-top: 0 !important; }
h1, h2, h3, h4, h5, h6 { color: #111518; }

/* ── Unified buttons across the whole theme ─────────────── */
/* Universal catch-all: every button (links + form buttons) gets Bebas Neue 22px */
.theme_button, .theme_button *,
.sc_button:not(.sc_button_simple),
.sc_button:not(.sc_button_simple) *,
.sc_button_title, .sc_button_text,
.elementor-button, .elementor-button *,
.rev-btn, .rev-btn *,
a.rev-btn, a.rev-btn *,
.vdd-btn, .vdd-btn *,
button[type="submit"] {
    font-family: "Bebas Neue", cursive !important;
    font-size: 22px !important;
    letter-spacing: 0.05em !important;
}

.theme_button,
.sc_button:not(.sc_button_simple),
.elementor-button,
.rev-btn,
a.rev-btn {
    background-color: #414E47 !important;
    color: #ffffff !important;
    font-family: "Bebas Neue", cursive !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    line-height: 27px !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    border-radius: 0 !important;
}
.theme_button:hover,
.sc_button:not(.sc_button_simple):hover,
.elementor-button:hover,
.rev-btn:hover {
    background-color: #111518 !important;
    color: #ffffff !important;
}

/* Secondary variant — sage light */
.sc_button.color_style_link3,
.sc_button.sc_button_secondary,
a.sc_button.color_style_link3,
a.rev-btn[id$="-layer-2"] {
    background-color: #91A192 !important;
    color: #ffffff !important;
}
.sc_button.color_style_link3:hover,
.sc_button.sc_button_secondary:hover,
a.rev-btn[id$="-layer-2"]:hover {
    background-color: #ffffff !important;
    color: #111518 !important;
}

/* Outline / ghost (kept simple style) */
.sc_button_simple {
    color: #414E47 !important;
    font-family: "Bebas Neue", cursive !important;
    font-size: 22px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}
.sc_button_simple:hover { color: #91A192 !important; }

/* ── Reusable typography utility classes ────────────────── */
/* Big bold black heading — applied to .vdd-heading and any sc_item_title within elementor-33624 */
.vdd-heading,
.elementor-33624 .sc_item_title,
.elementor-33624 .sc_item_title_text {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 44px !important;
    line-height: 1.1 !important;
    color: #111518 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-wrap: pretty;
    white-space: break-spaces !important;
    word-spacing: normal !important;
}
@media (max-width: 900px) {
    .vdd-heading,
    .elementor-33624 .sc_item_title,
    .elementor-33624 .sc_item_title_text { font-size: 32px !important; }
}

/* Small uppercase sage eyebrow — applied to .vdd-eyebrow and any sc_item_subtitle */
.vdd-eyebrow,
.elementor-33624 .sc_item_subtitle {
    display: block !important;
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    color: #718472 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    margin-bottom: 18px !important;
}
/* Center eyebrow inside centered title widgets */
.elementor-33624 .sc_title.sc_align_center,
.elementor-33624 .sc_title.sc_align_center .sc_item_subtitle,
.elementor-33624 .sc_title.sc_align_center .sc_item_title,
.elementor-33624 .sc_title.sc_align_center .sc_item_descr {
    text-align: center !important;
}

/* ── Header — fully transparent, absolutely over hero ───── */
body .top_panel,
.top_panel {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: transparent !important;
    z-index: 50;
    box-shadow: none !important;
}
/* Ensure all inner header rows are transparent too */
.top_panel section,
.top_panel section > .elementor-container,
.top_panel section .elementor-column,
.top_panel section .elementor-widget-wrap {
    background: transparent !important;
    background-color: transparent !important;
}
/* Page content begins at very top so hero spans behind header */
.page_wrap { position: relative; }
.page_content_wrap { padding-top: 0 !important; margin-top: 0 !important; }
.top_panel,
.top_panel * { color: #fff; }
.top_panel a { color: #fff; }
.top_panel .sc_layouts_menu_nav > li > a,
.top_panel .sc_layouts_menu_nav > li > a > span {
    color: #fff !important;
}
/* Hover keeps white text — only theme's bottom underline indicator changes */
.top_panel .sc_layouts_menu_nav > li > a:hover,
.top_panel .sc_layouts_menu_nav > li > a:hover > span,
.top_panel .sc_layouts_menu_nav > li.current-menu-item > a,
.top_panel .sc_layouts_menu_nav > li.current-menu-item > a > span,
.top_panel .sc_layouts_menu_nav > li.current-menu-ancestor > a,
.top_panel .sc_layouts_menu_nav > li.current-menu-ancestor > a > span {
    color: #fff !important;
}
.top_panel .sc_layouts_menu_nav .sub-menu {
    background: #2b3530 !important;
}
.top_panel .sc_layouts_menu_nav .sub-menu li a,
.top_panel .sc_layouts_menu_nav .sub-menu li a span {
    color: #fff !important;
}
.top_panel .sc_layouts_menu_nav .sub-menu li a:hover span {
    color: #91A192 !important;
}
/* Header CTA — sage green bg + white text/arrow; hover = white bg + black text/arrow */
.top_panel .sc_button,
.top_panel a.sc_button {
    background: #91A192 !important;
    color: #ffffff !important;
}
.top_panel .sc_button *,
.top_panel .sc_button .sc_button_title,
.top_panel .sc_button .sc_button_text,
.top_panel .sc_button::before,
.top_panel .sc_button::after,
.top_panel .sc_button .sc_button_icon,
.top_panel .sc_button [class*="icon-"],
.top_panel .sc_button [class^="icon-"] {
    color: #ffffff !important;
    fill: #ffffff !important;
}
.top_panel .sc_button:hover,
.top_panel a.sc_button:hover {
    background: #ffffff !important;
    color: #111518 !important;
}
.top_panel .sc_button:hover *,
.top_panel .sc_button:hover .sc_button_title,
.top_panel .sc_button:hover .sc_button_text,
.top_panel .sc_button:hover::before,
.top_panel .sc_button:hover::after,
.top_panel .sc_button:hover .sc_button_icon,
.top_panel .sc_button:hover [class*="icon-"],
.top_panel .sc_button:hover [class^="icon-"] {
    color: #111518 !important;
    fill: #111518 !important;
}

/* Push first page section below header (defensive — already non-overlapping but adds spacing) */
.page_content_wrap { padding-top: 0 !important; margin-top: 0 !important; }

/* Hide demo theme decorations (corner dots/squares) */
.scroll_to_top, .scheme_switcher, .trx_addons_scroll_to_top { display: none !important; }

/* Hide redundant decorative section above CTA (had the kitchen image we moved into CTA) */
.elementor-element-1bdd515 { display: none !important; }

/* Hero slider — darkening is baked into the image files (ImageMagick -modulate 70,85) */

/* Slide title — line-height a bit looser so accents (Í/Á/É) fit, no overflow change */
rs-module rs-layer[style*="font-family:'Bebas Neue'"] {
    line-height: 1.1 !important;
    padding-top: 0.18em;
}

/* Slider pagination bullets — VDD dark green */
rs-module rs-bullets .rs-bullet,
rs-module rs-bullets .tp-bullet,
rs-module .tp-bullets .tp-bullet,
rs-module .tp-bullets .tp-bullet .tp-bullet-inner {
    background: #414E47 !important;
    background-color: #414E47 !important;
    border-color: #414E47 !important;
}
rs-module rs-bullets .rs-bullet.selected,
rs-module rs-bullets .rs-bullet.rs-selected,
rs-module .tp-bullets .tp-bullet.selected {
    background: #91A192 !important;
    background-color: #91A192 !important;
    border-color: #91A192 !important;
}

/* ── Unified VDD buttons (Bebas Neue) ────────────────────── */
.vdd-btn,
a.vdd-btn,
button.vdd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 28px;
    font-family: "Bebas Neue", cursive !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    line-height: 27px !important;
    text-transform: uppercase;
    text-decoration: none !important;
    border: 0;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}
.vdd-btn::after {
    content: "→";
    font-family: inherit;
    font-size: 1em;
    transition: transform 0.25s ease;
}
.vdd-btn:hover::after { transform: translateX(4px); }

/* Primary — dark green bg, white text/arrow; hover = ink */
.vdd-btn--primary,
a.vdd-btn--primary {
    background: #414E47 !important;
    color: #ffffff !important;
}
.vdd-btn--primary:hover,
a.vdd-btn--primary:hover {
    background: #111518 !important;
    color: #ffffff !important;
}

/* Secondary — sage light bg, dark text; hover = white */
.vdd-btn--secondary,
a.vdd-btn--secondary {
    background: #91A192 !important;
    color: #ffffff !important;
}
.vdd-btn--secondary:hover,
a.vdd-btn--secondary:hover {
    background: #ffffff !important;
    color: #111518 !important;
}

/* Hide search and cart icons in header */
.top_panel .elementor-widget-trx_sc_layouts_search,
.top_panel .elementor-widget-trx_sc_layouts_cart,
.top_panel .sc_layouts_search,
.top_panel .sc_layouts_cart {
    display: none !important;
}

/* Hide video play-button overlays on images */
a[href*="go-video"],
a[href*="#go-video7"],
a[href*="#go-video8"],
.elementor-element.elementor-widget-icon a[href*="go-video"],
.elementor-widget-button a[href*="go-video"] {
    display: none !important;
}

/* Slider buttons — no transform jitter on hover/click */
rs-module a.rev-btn,
rs-module a.rev-btn:hover,
rs-module a.rev-btn:focus,
rs-module a.rev-btn:active {
    transform: none !important;
    transition: background-color 0.25s ease, color 0.25s ease !important;
}

/* Hero slider buttons on mobile — keep RS layout side by side, just ensure small gap */
@media (max-width: 767px) {
    rs-module a.rev-btn[id*="-layer-8"] {
        margin-right: 10px !important;
    }
}

/* Cursor pointer on all buttons */
.theme_button,
.sc_button,
.elementor-button,
.rev-btn,
.vdd-btn,
button {
    cursor: pointer !important;
}

/* ── Side panel — smaller dark logo + Bebas Neue text ───── */
#panel-bar .sc_layouts_logo,
#panel-bar .elementor-element-be91061,
#panel-bar .elementor-element-be91061 .elementor-widget-container {
    margin: 0 !important;
}
#panel-bar .sc_layouts_logo img,
#panel-bar .logo_image {
    width: 190px !important;
    height: auto !important;
    max-width: 190px !important;
}
#panel-bar .social_name,
#panel-bar .elementor-heading-title,
#panel-bar .elementor-heading-title a,
#panel-bar a {
    font-family: "Bebas Neue", cursive !important;
    letter-spacing: normal !important;
}
#panel-bar .elementor-heading-title { font-size: 22px !important; line-height: 27px !important; }
#panel-bar .social_name { font-size: 22px !important; line-height: 27px !important; }
#panel-bar a[href^="mailto:"] { font-size: 16px !important; }

/* ── Side panel (3×3 toggle) — bigger dark logo + Bebas Neue text ── */
#panel-bar .sc_layouts_logo_panel img,
#panel-bar .sc_layouts_logo img {
    width: 240px !important;
    height: auto !important;
    max-width: 100%;
}
#panel-bar .social_name,
#panel-bar .social_item,
#panel-bar .elementor-heading-title,
#panel-bar .elementor-heading-title a,
#panel-bar a {
    font-family: "Bebas Neue", cursive !important;
    letter-spacing: normal !important;
}
/* Phone — slightly larger to match header */
#panel-bar .elementor-heading-title {
    font-size: 22px !important;
    line-height: 27px !important;
}
/* Socials list */
#panel-bar .social_name { font-size: 22px !important; line-height: 27px !important; }
/* Email link */
#panel-bar a[href^="mailto:"] { font-size: 16px !important; }

/* "Čo robíme" section — small vertical padding so eyebrow doesn't disappear */
.elementor-element-6b8ccd4 > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

/* ── VDD portfolio-grid block (Corgan portfolio-grid style_6) ── */
.vdd-portfolio-block { padding: 100px 0 !important; }
.vdd-portfolio-block > .elementor-container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}
.vdd-portfolio-block .sc_item_subtitle {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    color: #718472 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-size: 14px !important;
    display: inline-block !important;
    margin-bottom: 12px !important;
}
.vdd-portfolio-block .sc_item_title_text {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 40px !important;
    line-height: 1.05 !important;
    color: #111518 !important;
    text-transform: uppercase !important;
}
.vdd-portfolio-block .sc_align_center { text-align: center; }
.vdd-portfolio-block .sc_item_descr p {
    color: #6B6F6D;
    font-size: 1rem;
    line-height: 1.55;
    max-width: 640px;
    margin: 0 auto;
}
.vdd-portfolio-block .elementor-spacer-inner { height: 48px !important; }

/* 3+3 grid */
.vdd-portfolio-block .sc_blogger_columns_wrap {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}
.vdd-portfolio-block .trx_addons_column-1_3 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}
.vdd-portfolio-block .sc_blogger_item { margin: 0 !important; padding: 0 !important; }
.vdd-portfolio-block .post_featured_bg {
    position: relative;
    aspect-ratio: 10 / 9;
    overflow: hidden;
}
.vdd-portfolio-block .post_thumb_bg {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-position: center !important;
    transition: transform 0.6s ease;
}
.vdd-portfolio-block .sc_blogger_item:hover .post_thumb_bg { transform: scale(1.05); }
.vdd-portfolio-block .mask {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(17,21,24,0) 40%, rgba(17,21,24,0.7) 100%);
    pointer-events: none;
}
.vdd-portfolio-block .post_info_bc {
    position: absolute;
    inset: auto 0 0 0;
    padding: 24px 20px 20px;
    color: #fff;
    text-align: left;
    z-index: 2;
}
.vdd-portfolio-block .sc_blogger_item_title,
.vdd-portfolio-block .sc_blogger_item_title a {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    margin: 0 0 8px !important;
    text-decoration: none !important;
}
.vdd-portfolio-block .post_meta_categories a {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.85) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}
.vdd-portfolio-block .post_meta_categories a:hover { color: #fff !important; }

@media (max-width: 900px) {
    .vdd-portfolio-block .sc_blogger_columns_wrap { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
    .vdd-portfolio-block .sc_blogger_columns_wrap { grid-template-columns: 1fr !important; }
}

/* ── Homepage blog swiper — equal-height cards, uniform images ── */
.elementor-element-c42b188 .sc_blogger_grid_wrap,
.elementor-element-c42b188 .swiper-wrapper,
.elementor-element-c42b188 .slides {
    align-items: stretch !important;
}
.elementor-element-c42b188 .swiper-slide,
.elementor-element-c42b188 .slider-slide {
    height: auto !important;
    display: flex !important;
}
.elementor-element-c42b188 .sc_blogger_item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
}
.elementor-element-c42b188 .sc_blogger_item_body {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
/* Image: uniform 4:3 aspect ratio */
.elementor-element-c42b188 .post_featured,
.elementor-element-c42b188 .sc_blogger_item_featured {
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    height: auto !important;
}
.elementor-element-c42b188 .post_featured img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
/* Content area — single column: cat / title / date stacked */
.elementor-element-c42b188 .sc_blogger_item_content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-top: 16px !important;
    gap: 8px !important;
}
.elementor-element-c42b188 .sc_blogger_item_meta.post_meta_categories { margin: 0 !important; }
.elementor-element-c42b188 .sc_blogger_item_title { margin: 0 !important; }
.elementor-element-c42b188 .sc_blogger_item_title a {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    color: #111518 !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.elementor-element-c42b188 .sc_blogger_item_meta.post_meta:not(.post_meta_categories) {
    white-space: nowrap;
    margin: 0 !important;
}
.elementor-element-c42b188 .sc_blogger_item_meta.post_meta:not(.post_meta_categories) a {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 13px !important;
    color: #BAAAA0 !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
}

/* ── VDD blog grid (same look as /blog index) ──────────── */
.vdd-blog-grid {
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}
.vdd-blog-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.vdd-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(17, 21, 24, 0.12);
}
.vdd-blog-card__media {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.vdd-blog-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.vdd-blog-card:hover .vdd-blog-card__media img { transform: scale(1.05); }
.vdd-blog-card__body { padding: 24px; }
.vdd-blog-card__meta {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    font-family: var(--font-display, "Mulish", system-ui, sans-serif);
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.vdd-blog-card__cat { color: #718472; }
.vdd-blog-card__date { color: #BAAAA0; }
.vdd-blog-card__title {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    color: #111518 !important;
    margin: 0 0 12px !important;
    text-transform: uppercase !important;
}
.vdd-blog-card__title a {
    color: inherit !important;
    text-decoration: none !important;
}
.vdd-blog-card__excerpt {
    color: #6B6F6D;
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 16px;
}
.vdd-blog-card__more {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #718472 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    text-decoration: none !important;
}
.vdd-blog-card__more::after { content: " →"; }

/* Blog pagination dots */
.vdd-blog-pager__controls {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
}
.vdd-blog-pager__dot {
    width: 12px;
    height: 12px;
    padding: 0;
    border: 1px solid #91A192;
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
}
.vdd-blog-pager__dot:hover { background: #91A192; }
.vdd-blog-pager__dot.is-active {
    background: #414E47;
    border-color: #414E47;
    transform: scale(1.15);
}
.vdd-blog-page[hidden] { display: none !important; }

/* ── VDD services block (Corgan /our-services pattern) ──── */
.vdd-services-block {
    padding: 100px 0 !important;
    overflow: hidden;
}
.vdd-services-block > .elementor-container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 64px !important;
    align-items: center !important;
}
.vdd-services-block .elementor-column {
    flex: 1 1 calc(50% - 32px) !important;
    width: calc(50% - 32px) !important;
    max-width: calc(50% - 32px) !important;
}
.vdd-services-block .elementor-widget-wrap.elementor-element-populated {
    padding: 0 !important;
}

/* Tall image slider — aspect-ratio 9/11 fallback (JS sets height via data-ratio) */
.vdd-services-block .slider_container {
    aspect-ratio: 9 / 11;
    height: auto !important;
    min-height: 0 !important;
}
.vdd-services-block .slider-wrapper { height: 100% !important; }
.vdd-services-block .slider-slide {
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Title + descr typography in services block (Mulish, not Bebas) */
.vdd-services-block .sc_item_subtitle {
    display: inline-block !important;
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    color: #718472 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    font-size: 14px !important;
    margin-bottom: 12px !important;
    font-weight: 600 !important;
}
.vdd-services-block .sc_item_title,
.vdd-services-block .sc_item_title_text {
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 44px !important;
    line-height: 1.05 !important;
    color: #111518 !important;
    margin: 0 0 20px !important;
    font-weight: 700 !important;
}
.vdd-services-block .sc_item_descr p {
    font-family: "Inter", "Albert Sans", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #6B6F6D !important;
    margin: 0 !important;
}
.vdd-services-block .elementor-spacer-inner {
    height: 32px !important;
}

/* Slider pagination — title-style clickable list */
.vdd-services-block .slider_pagination_wrap {
    display: block !important;
}
.vdd-services-block .slider_pagination_bullet {
    display: block !important;
    text-align: left !important;
    padding: 14px 0 !important;
    border-top: 1px solid #E5DED8 !important;
    border-radius: 0 !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    font-family: var(--font-display, "Mulish", system-ui, sans-serif) !important;
    font-size: 20px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #6B6F6D !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
}
.vdd-services-block .slider_pagination_bullet::before,
.vdd-services-block .slider_pagination_bullet::after,
.vdd-services-block .swiper-pagination-bullet::before,
.vdd-services-block .swiper-pagination-bullet::after {
    content: none !important;
    display: none !important;
    background: none !important;
}
.vdd-services-block .slider_pagination_bullet:last-child {
    border-bottom: 1px solid #E5DED8 !important;
}
.vdd-services-block .slider_pagination_bullet:hover { color: #111518 !important; }
.vdd-services-block .slider_pagination_bullet.slider_pagination_bullet_active,
.vdd-services-block .slider_pagination_bullet.swiper-pagination-bullet-active {
    color: #414E47 !important;
    background: none !important;
}

/* Mobile stack */
@media (max-width: 900px) {
    .vdd-services-block > .elementor-container {
        flex-direction: column !important;
        gap: 40px !important;
    }
    .vdd-services-block .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
    .vdd-services-block .sc_item_title,
    .vdd-services-block .sc_item_title_text {
        font-size: 32px !important;
    }
}

/* "Čo robíme" — text column: use full column width + tighter title */
.elementor-element-3872f20.sc_inner_width_1_2 > .elementor-widget-wrap.elementor-element-populated {
    max-width: 100% !important;
    padding: 30px 40px 30px 40px !important;
}
.elementor-element-3872f20 .sc_item_title,
.elementor-element-3872f20 .sc_item_title_text {
    font-size: 44px !important;
    line-height: 1.05 !important;
}
.elementor-element-3872f20 .sc_item_descr p {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* Don't darken text layers or buttons */
rs-module rs-layer img,
rs-module .rev-btn img,
rs-module .tp-caption img {
    filter: none !important;
    -webkit-filter: none !important;
}

/* Header always on top */
.top_panel { z-index: 100 !important; }

/* ── Header right column — keep phone and CTA side-by-side ─ */
.top_panel .sc_layouts_column_align_right > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 20px !important;
}
.top_panel .sc_layouts_column_align_right > .elementor-widget-wrap > .elementor-widget {
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* ── Header menu — Corgan's Bebas Neue ──────────────────── */
.top_panel .sc_layouts_menu_nav > li > a,
.top_panel .sc_layouts_menu_nav > li > a > span {
    font-family: "Bebas Neue", cursive !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 27px !important;
    text-transform: uppercase !important;
}

/* Bottom row (menu row) + divider row — fully transparent */
.top_panel section[data-id="550ed900"],
.top_panel section[data-id="550ed900"] > .elementor-container,
.top_panel section[data-id="550ed900"] .elementor-column,
.top_panel section[data-id="550ed900"] .elementor-widget-wrap,
.top_panel section[data-id="3ee3fa1c"],
.top_panel section[data-id="3ee3fa1c"] > .elementor-container,
.top_panel section[data-id="3ee3fa1c"] .elementor-column,
.top_panel section[data-id="3ee3fa1c"] .elementor-widget-wrap {
    background: transparent !important;
    background-color: transparent !important;
}
.top_panel section[data-id="3ee3fa1c"] .elementor-divider-separator {
    border-top-color: rgba(255, 255, 255, 0.15) !important;
}

/* Menu items — zero outer margin */
.top_panel .sc_layouts_menu_nav > li { margin: 0 !important; }

/* Submenu items — keep regular weight, slightly smaller */
.top_panel .sc_layouts_menu_nav .sub-menu li a,
.top_panel .sc_layouts_menu_nav .sub-menu li a span {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Active / hover — keep white text, theme handles underline animation */
.top_panel .sc_layouts_menu_nav > li.current-menu-item > a,
.top_panel .sc_layouts_menu_nav > li.current-menu-ancestor > a {
    color: #fff !important;
    border-bottom: 0 !important;
}

/* CTA button — Bebas Neue, matches menu rhythm */
.top_panel .sc_button,
.top_panel .sc_button .sc_button_text,
.top_panel .sc_button .sc_button_title {
    font-family: "Bebas Neue", cursive !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    line-height: 27px !important;
}
.top_panel .sc_button {
    padding: 14px 28px !important;
}
.top_panel .sc_layouts_iconed_text,
.top_panel .sc_layouts_iconed_text_line1,
.top_panel .sc_layouts_iconed_text a,
.top_panel .sc_layouts_iconed_text_link {
    font-family: "Bebas Neue", cursive !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 27px !important;
}

/* Slider pagination bullets — remove top gap between bullets */
.slider_pagination_style_title.sc_slider_controls_light .slider_pagination_wrap .slider_pagination_bullet + .slider_pagination_bullet {
    margin-top: 0 !important;
}

/* Blog sidebar — kill Corgan default white box around widgets */
.vdd-blog-sidebar,
.vdd-blog-sidebar .sidebar_inner,
.vdd-blog-sidebar .widget {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.vdd-blog-sidebar .widget + .widget {
    margin-top: 32px !important;
}
.vdd-blog-sidebar .widget_title {
    font-family: "Mulish", system-ui, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #718472 !important;
    margin: 0 0 16px !important;
}
.vdd-blog-sidebar .widget_categories ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.vdd-blog-sidebar .widget_categories li {
    padding: 8px 0 !important;
    border-bottom: 1px solid rgba(17,21,24,0.08) !important;
    color: #2f3633 !important;
}
.vdd-blog-sidebar .widget_categories li:last-child { border-bottom: 0 !important; }
.vdd-blog-sidebar .widget_categories li a {
    color: #111518 !important;
    text-decoration: none !important;
}
.vdd-blog-sidebar .widget_categories li a:hover {
    color: #718472 !important;
}

/* Blog band layout — consistent spacing between articles */
.post_layout_band + .post_layout_band {
    margin-top: 48px !important;
}

/* Remove Corgan's paper-plane icon from submit buttons (keep ::after for vdd-btn arrow) */
.wpcf7 .wpcf7-submit-style .submit-style-in:before,
.wpcf7-submit:not(.vdd-btn)::before,
.wpcf7-submit:not(.vdd-btn)::after,
button.wpcf7-submit:not(.vdd-btn)::before,
button.wpcf7-submit:not(.vdd-btn)::after,
input.wpcf7-submit::before,
input.wpcf7-submit::after {
    content: none !important;
    display: none !important;
}

/* Submit buttons that are also .vdd-btn — keep arrow, hide paper-plane only */
button.wpcf7-submit.vdd-btn::before,
.wpcf7-submit.vdd-btn::before {
    content: none !important;
    display: none !important;
}
button.wpcf7-submit.vdd-btn,
.wpcf7-submit.vdd-btn,
.wpcf7 .wpcf7-submit-style .wpcf7-submit.vdd-btn,
.wpcf7 .wpcf7-submit-style button.wpcf7-submit.vdd-btn {
    padding: 14px 28px !important;
    border: 0 !important;
}
.wpcf7 .wpcf7-submit-style .wpcf7-submit.vdd-btn.vdd-btn--primary,
.wpcf7-submit.vdd-btn.vdd-btn--primary {
    background: #414E47 !important;
    color: #ffffff !important;
}
.wpcf7 .wpcf7-submit-style .wpcf7-submit.vdd-btn.vdd-btn--primary:hover,
.wpcf7-submit.vdd-btn.vdd-btn--primary:hover {
    background: #111518 !important;
    color: #ffffff !important;
}
/* Hide the JS-injected submit-style decoration on vdd-btn submits */
.wpcf7 .wpcf7-submit-style .submit-style-in { display: none !important; }
button.wpcf7-submit.vdd-btn::after,
.wpcf7-submit.vdd-btn::after {
    content: "→" !important;
    display: inline-block !important;
    font-family: inherit !important;
    transition: transform 0.25s ease !important;
}

/* ── Mobile: tighten section paddings & spacers (content only) ─── */
@media (max-width: 768px) {
    .page_content_wrap .elementor-section.elementor-top-section { padding-top: 32px !important; padding-bottom: 32px !important; }
    .page_content_wrap .elementor-section.elementor-top-section:first-of-type { padding-top: 0px !important; padding-bottom: 32px !important; }
    .page_content_wrap .elementor-section .elementor-section { padding-top: 0 !important; padding-bottom: 0 !important; }
    .page_content_wrap .sc_height_huge .elementor-spacer-inner { height: 24px !important; }
    .page_content_wrap .sc_height_large .elementor-spacer-inner { height: 20px !important; }
    .page_content_wrap .sc_height_medium .elementor-spacer-inner { height: 14px !important; }
    .page_content_wrap .sc_height_small .elementor-spacer-inner { height: 8px !important; }
}

/* ── Mobile / tablet: kill white gap behind absolute header ───
   The header is position:absolute and overlays the hero slider on desktop.
   On mobile/tablet the slider either lazy-loads or collapses, exposing the
   page's white background as a band at the top. Give the header (and the
   area just below it where the slider sits) a solid dark backing so the
   first viewport never flashes white. */

/* Corgan responsive utilities — hide per breakpoint range only */
@media (max-width: 767px) {
    .sc_layouts_hide_on_mobile { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .sc_layouts_hide_on_tablet { display: none !important; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
    .sc_layouts_hide_on_notebook { display: none !important; }
}
@media (min-width: 1280px) and (max-width: 1679px) {
    .sc_layouts_hide_on_desktop { display: none !important; }
}
@media (min-width: 1680px) {
    .sc_layouts_hide_on_wide { display: none !important; }
}

