/* Custom styles. Preserved theme profiles live in assets/optimized/. */
/* The imported Latin faces omit Slovak carons. Extend the same families/weights
   locally; unicode-range keeps the original Latin glyphs and metrics in use. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/latin-ext/inter-400-latin-ext.6744a7f509eb.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/assets/fonts/latin-ext/inter-500-latin-ext.2c6fbc42d315.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/latin-ext/manrope-600-latin-ext.ff679412842f.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/latin-ext/manrope-700-latin-ext.dc7c46d7eb26.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/assets/fonts/latin-ext/plus-jakarta-sans-800-latin-ext.7c27e3fd36e9.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

.contact-trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.contact-status:not(:empty) { padding: 16px 20px; margin-bottom: 24px; border: 1px solid currentColor; border-radius: 4px; }
.contact-status[data-kind="error"] { color: #8b2525; background: #fff6f5; }
.contact-status[data-kind="success"] { color: #095c61; background: #f0fcfa; }
.contact-status ul { margin: 8px 0 0 20px; }
.contact-status:empty { display: none; }
.contact-status:focus { outline: 2px solid currentColor; outline-offset: 3px; }
.uagb-forms-main-form button:disabled { opacity: .65; cursor: wait; }
.standard-page { max-width: 1160px; margin: 0 auto; padding: 80px 32px; min-height: 50vh; }
.standard-page h1 { margin-bottom: 24px; }
.standard-page p { max-width: 760px; }
@media (max-width: 544px) { .standard-page { padding: 48px 24px; } }

/* Native controls retain the imported theme's sizes, colors and dot styling. */
#ast-mobile-header .ast-mobile-header-content.site-menu-open,
#ast-mobile-header .site-menu-open .main-header-bar-navigation { display: block; }
.uagb-tm__items { visibility: visible; }
.site-review-stage { display: grid; overflow: hidden; }
.site-review-slide { grid-area: 1 / 1; min-width: 0; visibility: hidden; opacity: 0; transform: translateX(100%); transition: transform .5s, opacity .5s; }
.site-review-slide.site-review-active { visibility: visible; opacity: 1; transform: translateX(0); }
.site-reviews .slick-dots button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .site-review-slide { transition: none; } }

/* These two photo backgrounds are below the fold. With JS disabled they render normally. */
html.site-js .uagb-block-e06056a5:not(.site-background-visible),
html.site-js .uagb-block-c584b42a:not(.site-background-visible) { background-image: none; }

/* Editorial content uses the established typography, teal and pale backgrounds. */
#page { overflow-x: clip; }
.site-section { width: 100%; max-width: 1120px; margin: 0 auto; padding: 64px 32px; }
.site-section h2 { margin: 0 0 24px; }
.site-section h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.4; }
.site-section p { margin: 0 0 20px; }
.site-section figure { margin: 0; }
.site-eyebrow { color: #087b82; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.site-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px 28px; margin-top: 24px; }
.site-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 14px 24px; border: 2px solid #087b82; border-radius: 8px; background: #087b82; color: #fff; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none !important; }
.site-button:hover, .site-button:focus-visible { color: #fff; background: #065e63; border-color: #065e63; }
.site-button-outline { color: #087b82; background: transparent; }
.site-text-link { color: #076c72; text-decoration: underline; text-underline-offset: 4px; font-weight: 600; }
.site-text-link:hover { color: #044f54; }
.site-button:focus-visible, .site-text-link:focus-visible, .site-phone:focus-visible, .site-faq summary:focus-visible, .site-mobile-call a:focus-visible { outline: 3px solid #162f32; outline-offset: 4px; }
.site-home-hero .site-location { margin: 20px 0 0; font-weight: 600; color: #234145; }
.site-home-hero .site-hero-hours { margin: 18px 0 0; font-size: 14px; color: #415b60; }
.site-profile { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 64px; align-items: center; }
.site-profile figure img { display: block; width: 280px; aspect-ratio: 3 / 4; height: auto; object-fit: cover; border-radius: 16px; }
.site-visit { background: #f0f7f8; border-radius: 16px; }
.site-steps, .site-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.site-steps { list-style: none; counter-reset: visit; margin: 32px 0 0; padding: 0; }
.site-steps > li::before { counter-increment: visit; content: '0' counter(visit); display: block; color: #087b82; font-size: 16px; font-weight: 700; margin-bottom: 16px; }
.site-location-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.site-address { font-style: normal; line-height: 1.8; margin: 0 0 24px; }
.site-hours { margin: 0; }
.site-hours > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 24px; padding: 8px 0; border-bottom: 1px solid #dbe8e9; }
.site-hours dt { font-weight: 500; }
.site-hours dd { margin: 0; white-space: nowrap; }
.site-service { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; scroll-margin-top: 32px; }
.site-service img { display: block; width: 100%; aspect-ratio: 5 / 3; height: auto; object-fit: cover; border-radius: 16px; }
.site-service-reverse figure { order: 2; }
#prva-navsteva, #individualna, #kde-nas-najdete { scroll-margin-top: 32px; }
.site-faq { max-width: 920px; }
.site-faq details { padding: 20px 0; border-bottom: 1px solid #dbe8e9; }
.site-faq summary { cursor: pointer; font-size: 18px; font-weight: 600; color: #173f43; }
.site-faq details p { margin: 16px 0 0; }
.site-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.site-phone { display: inline-block; font-size: clamp(24px, 3vw, 34px); line-height: 1.4; color: #087b82; font-weight: 700; margin: 0 0 20px; white-space: nowrap; }
.site-contact-grid #kde-nas-najdete { margin-top: 32px; }
.site-contact-grid .site-location-note { margin-top: 24px; }
.site-contact-form { padding: 32px; background: #f0f7f8; border-radius: 16px; }
.site-form-note { font-size: 14px; color: #415b60; }
.site-contact-form .uagb-forms__outer-wrap { width: 100%; padding: 0; }
.site-contact-form label { display: block; }
.site-contact-form .uagb-forms-main-form button { text-transform: none; }
.site-contact-form .uagb-forms-main-form input:not([type="hidden"]):not([type="checkbox"]), .site-contact-form .uagb-forms-main-form .uagb-forms-input, .site-contact-form .uagb-forms-main-form select { width: 100%; border: 1px solid #78999c; border-radius: 4px; background: #fff; color: #17363a; }
.site-booking .site-text-link { color: #fff; }
.site-booking .site-button { background: #fff; color: #065e63; border-color: #fff; }
.site-booking .site-button:hover { background: #e3f1f2; }
.site-footer-details { max-width: 1120px; padding: 40px 32px 16px; margin: 0 auto; display: flex; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.site-footer-details p { margin: 0 0 8px; }
.site-footer-details .site-hours { font-size: 14px; width: 270px; max-width: 100%; }
.site-mobile-call { display: none; }
.measurement-consent[hidden], .measurement-settings[hidden] { display: none; }
.measurement-consent { position: fixed; z-index: 1001; bottom: 24px; right: 24px; width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 24px; background: #fff; color: #18383a; border: 1px solid #b9d3d5; border-radius: 10px; box-shadow: 0 8px 36px #18383a30; font-size: 14px; line-height: 1.6; }
.measurement-consent h2 { font-size: 21px; margin: 0 0 12px; }
.measurement-consent p { margin: 0 0 12px; }
.measurement-consent label { display: block; margin: 12px 0; }
.measurement-consent summary { cursor: pointer; text-decoration: underline; }
.measurement-consent button { padding: 11px 14px; background: #087b82; color: #fff; border: 1px solid #087b82; border-radius: 5px; font: inherit; cursor: pointer; }
.measurement-consent-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.measurement-consent-actions button { flex: 1; }
.measurement-consent button, .measurement-settings { text-transform: none; }
.measurement-settings { position: fixed; bottom: 12px; left: 12px; z-index: 100; padding: 7px 10px; font-size: 12px; border: 1px solid #b9d3d5; border-radius: 5px; background: #fff; color: #18383a; cursor: pointer; }
@media (max-width: 767px) {
    .measurement-consent { bottom: 88px; right: 16px; padding: 18px; max-height: calc(100dvh - 112px); }
    .measurement-settings { bottom: 88px; }
}
@media (max-width: 921px) {
    .site-profile, .site-location-panel, .site-contact-grid { gap: 32px; }
    .site-profile { grid-template-columns: 220px minmax(0, 1fr); }
    .site-profile figure img { width: 220px; }
    .site-service { gap: 32px; }
    .site-cards, .site-steps { gap: 24px; }
    .site-steps h3, .site-cards h3 { font-size: 20px; }
}
@media (max-width: 767px) {
    .site-section { padding: 48px 24px; }
    .site-home-hero .site-actions { flex-direction: column; }
    .site-home-hero .site-location { font-size: 15px; }
    .site-profile, .site-service, .site-contact-grid, .site-location-panel, .site-steps, .site-cards { grid-template-columns: minmax(0, 1fr); }
    .site-profile figure { justify-self: center; }
    .site-service-reverse figure { order: 0; }
    .site-contact-form { padding: 24px; }
    .site-contact-grid .site-phone { font-size: 27px; }
    .site-visit { border-radius: 0; }
    .site-footer-details { padding: 32px 24px 8px; }
    .site-mobile-call { display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 99; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #dbe8e9; }
    .site-mobile-call a { display: block; border-radius: 6px; padding: 12px; background: #087b82; color: #fff; text-align: center; font-weight: 600; line-height: 1.5; text-decoration: none; }
    body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
    #ast-scroll-top { bottom: calc(88px + env(safe-area-inset-bottom)); }
}
@media (max-width: 400px) {
    .site-contact-grid { padding-right: 16px; padding-left: 16px; }
    .site-contact-form { padding: 20px 16px; }
}
