/* latin-ext */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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;
}
/* latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --main-color: #fba61c;
    --bs-primary-rgb: 251, 166, 28;
    --orange: #fba61c;
    --orange-dark: #E08E0A;
    --orange-light: #FFF4E0;
    --charcoal: #1A1A1A;
    --gray-700: #4A4A4A;
    --gray-500: #737373;
    --gray-200: #E8E8E8;
    --gray-100: #F5F5F5;
    --white: #FFFFFF;
    --radius: 12px;
    --radius-lg: 20px;
    --shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 12px 48px rgba(0, 0, 0, 0.08);
    /*--font: 'Inter', system-ui, -apple-system, sans-serif;*/
    --max-width: 1140px;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* html */

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Open Sans", sans-serif;
    color: var(--gray-700);
    line-height: 1.6;
    /* font-family: var(--font);
    color: var(--charcoal);
    background: var(--white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;*/
}

h1 {
    /*font-size: 32px;*/
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 2.75rem);
    letter-spacing: -0.02em;
    margin-bottom: 16px;
}

h2 {
    /*font-size: 24px;*/
    font-size: clamp(1.5rem, 3vw, 1.875rem);
    font-weight: 800;
    /*margin-top: 24px;*/
}

/*h2:after {
    content: '';
    display: block;
    width: 80px;
    height: 2px;
    border-bottom: 2px solid #e9a73e;
    margin: 8px 0;
}*/

h3 {
    /* font-size: 18px;*/
    font-size: 1.0625rem;
    font-weight: 700;
    /*letter-spacing: -0.01em;
    margin: 28px 0 10px;*/
}

section {
    padding: 64px 0;
}

a {
    color: var(--main-color);
    text-decoration: none;
}

a:hover {
    color: var(--main-color);
    text-decoration: underline;
}

b {
    font-weight: 600;
}

.bg-light {
    background: var(--gray-100);
}

.text-primary {
    color: var(--main-color);
}

.lead {
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--orange-dark);
    margin-bottom: 28px;
}

.cursor-pointer {
    cursor: pointer;
}

.shadow-hover:hover {
    box-shadow: 2px 3px 10px #dddddd;
    transition: all 0.2s;
}

.navbar-brand img {
    height: 40px;
}

header .navbar-nav .nav-link {
    font-weight: 500;
}

ul.trojuhelnicky {
    padding-left: 0;
}

ul.trojuhelnicky li {
    display: block;
    background-position: -8px center;
    padding-left: 15px;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23faa61a' d='M10 17l5-5-5-5v10z'/%3E%3Cpath d='M0 24V0h24v24H0z' fill='none'/%3E%3C/svg%3E");
}

.list-puntiky {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.list-puntiky li {
    position: relative;
    padding-left: 22px;
}

.list-puntiky li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--main-color);
    box-shadow: 0 0 0 3px rgba(249, 160, 27, 0.15);
}

.container {
    padding: 0 24px;
}

.container-sm {
    max-width: 900px;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
    filter: invert(1) grayscale(10%) brightness(0);
}

.carousel-control-prev, .carousel-control-next {
    width: 5%;
}

.carousel-control-prev {
    left: 0;
}

.carousel-control-next {
    right: 0;
}

/* tlačítka */

.btn {
    --bs-btn-font-weight: 600;
    --bs-btn-padding-y: 12px;
    --bs-btn-padding-x: 32px;
    --bs-btn-border-radius: 10px;
    --bs-btn-border-width: 2px;
}

a.btn:hover, a.btn:focus {
    text-decoration: none;
}

a.dropdown-item:hover, a.dropdown-item:focus {
    text-decoration: none;
}

.btn-primary {
    --bs-btn-color: var(--bs-dark);
    --bs-btn-bg: var(--main-color);
    --bs-btn-border-color: var(--main-color);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-bg: var(--main-color);
    --bs-btn-hover-border-color: var(--main-color);
    --bs-btn-focus-shadow-rgb: 224, 142, 10;
    --bs-btn-focus-box-shadow: 0 0 0 2px var(--white), 0 0 0 4px var(--orange-dark);
    --btn-hover-shadow: 0 4px 14px rgba(251, 166, 28, 0.45);
}

.btn-primary:hover {
    box-shadow: var(--btn-hover-shadow);
}

/* stránkování (blog) — tmavý text, mění se jen pozadí (oranžová main) */
.pagination {
    --bs-pagination-color: var(--bs-dark);
    --bs-pagination-bg: var(--white);
    --bs-pagination-hover-color: var(--bs-dark);
    --bs-pagination-hover-bg: var(--orange-light);
    --bs-pagination-hover-border-color: var(--gray-200);
    --bs-pagination-focus-color: var(--bs-dark);
    --bs-pagination-focus-bg: var(--orange-light);
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(251, 166, 28, 0.25);
    --bs-pagination-active-color: var(--bs-dark);
    --bs-pagination-active-bg: var(--main-color);
    --bs-pagination-active-border-color: var(--main-color);
    --bs-pagination-disabled-color: var(--gray-500);
    --bs-pagination-disabled-bg: var(--white);
}

/* fokus z klávesnice + myš zároveň: prstenec i stín */
.btn-primary:focus-visible:hover {
    box-shadow: var(--bs-btn-focus-box-shadow), var(--btn-hover-shadow);
}

.btn-outline-secondary {
    --bs-btn-bg: var(--bs-white);
    --bs-btn-color: var(--charcoal);
    --bs-btn-border-color: var(--gray-200);
    --bs-btn-hover-color: var(--charcoal);
    --bs-btn-hover-bg: var(--gray-200);
    --bs-btn-hover-border-color: var(--gray-200);
}


/* naseptavac */

.ui-autocomplete {
    background-color: #ffffff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    max-width: 450px;
    list-style: none;
    padding: 0;
    z-index: 1111;
}

.ui-autocomplete > li > div {
    padding: 0 10px;
    line-height: 40px;
}

.ui-state-hover, .ui-state-active, .ui-state-focus {
    text-decoration: none;
    color: #262626;
    background-color: #f5f5f5;
    cursor: pointer;
}
/*
.ui-helper-hidden-accessible {
    display: none;
    visibility: hidden;
}

.ui-tooltip {
    z-index: 1112;
    background-color: white;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 5px;
}*/

/* ikony */

.ico-apps {
    background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%23faa61a' d='M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z'/%3E%3C/svg%3E");
}

.ico-smile {
    background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Ccircle cx='15.5' cy='9.5' r='1.5'/%3E%3Ccircle cx='8.5' cy='9.5' r='1.5'/%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm4.41-6.11c-.35-.22-.82-.11-1.03.24-.74 1.17-2 1.87-3.38 1.87s-2.64-.7-3.38-1.88c-.22-.35-.68-.46-1.03-.24-.35.22-.46.68-.24 1.03C8.37 16.54 10.1 17.5 12 17.5s3.63-.97 4.65-2.58c.22-.35.11-.81-.24-1.03z'/%3E%3C/svg%3E");
}

.ico-phone {
    background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%23333333' d='M19.23 15.26l-2.54-.29c-.61-.07-1.21.14-1.64.57l-1.84 1.84c-2.83-1.44-5.15-3.75-6.59-6.59l1.85-1.85c.43-.43.64-1.03.57-1.64l-.29-2.52c-.12-1.01-.97-1.77-1.99-1.77H5.03c-1.13 0-2.07.94-2 2.07.53 8.54 7.36 15.36 15.89 15.89 1.13.07 2.07-.87 2.07-2v-1.73c.01-1.01-.75-1.86-1.76-1.98z'/%3E%3C/svg%3E");
}

.ico-email {
    background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath fill='%23333333' d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-.4 4.25l-7.07 4.42c-.32.2-.74.2-1.06 0L4.4 8.25c-.25-.16-.4-.43-.4-.72 0-.67.73-1.07 1.3-.72L12 11l6.7-4.19c.57-.35 1.3.05 1.3.72 0 .29-.15.56-.4.72z'/%3E%3C/svg%3E");
}

.ico-home {
    background-image: url("data:image/svg+xml,%3Csvg id='House' enable-background='new 0 0 64 64' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cg%3E%3Cpath d='m49.53987 2.31625h-4.17199c-1.15206 0-2.08599.93393-2.08599 2.08599v14.74346h8.34398v-14.74346c0-1.15206-.93394-2.08599-2.086-2.08599z' fill='%23b1b1bc'/%3E%3Cpath d='m51.62606 20.03433h-8.34402c-.49134 0-.88892-.39758-.88892-.88892v-14.74354c0-1.64068 1.33338-2.97492 2.97406-2.97492h4.17201c1.64068 0 2.97579 1.33425 2.97579 2.97492v14.74354c0 .49134-.39758.88892-.88892.88892zm-7.4551-1.77784h6.56619v-13.85462c0-.65974-.53821-1.19709-1.19796-1.19709h-4.17201c-.65974 0-1.19622.53734-1.19622 1.19709z' fill='%23101016'/%3E%3C/g%3E%3Cg%3E%3Cpath d='m51.27453 61.68497h-38.55275c-2.49625 0-4.51986-2.02361-4.51986-4.51986v-35.02328l23.79624-12.27521 23.79623 12.27521v35.02328c0 2.49625-2.02361 4.51986-4.51986 4.51986z' fill='%23f0f0fc'/%3E%3Cpath d='m38.18944 30.21417c-3.63915 0-5.83426 2.73367-6.19128 3.7179-.35702-.98423-2.55213-3.7179-6.19128-3.7179-4.14329-.01577-6.52215 3.74934-6.11253 7.53033.83491 7.68792 10.67414 12.15041 12.30381 12.15041s11.4689-4.46249 12.30381-12.15041c.40962-3.78098-1.96924-7.5461-6.11253-7.53033z' fill='%23faa61a'/%3E%3Cpath d='m36.89879 61.69205h-24.17773c-2.48893 0-4.51562-2.0267-4.51562-4.53331v-35.02224l20.85341-10.75553c-1.22667 1.81326-2.2934 3.91113-3.1645 6.20443-1.72439 4.49772-2.71994 9.77778-2.71994 15.4311-.00001 13.67111 5.81325 25.19107 13.72438 28.67555z' opacity='.15'/%3E%3Cg fill='%23101016'%3E%3Cpath d='m31.99781 50.78447c-1.84728 0-12.28773-4.66508-13.18707-12.94487-.25261-2.33168.46529-4.68766 1.92107-6.30403 1.29084-1.43234 3.07736-2.23185 5.07829-2.21014 2.98621 0 5.08524 1.61985 6.1877 2.96017 1.1042-1.34032 3.2041-2.9593 6.18857-2.96017h.02778c1.97229 0 3.76401.78388 5.04877 2.21014 1.45665 1.61637 2.17542 3.97235 1.92194 6.30403-.89758 8.27979-11.3389 12.94487-13.18705 12.94487zm-6.21374-19.6812c-1.48616 0-2.7744.56078-3.73103 1.62245-1.12243 1.2457-1.67367 3.08604-1.47488 4.9229.76652 7.05579 10.05328 11.35801 11.41965 11.35801s10.654-4.30223 11.41965-11.35801c.19966-1.83687-.35244-3.6772-1.47575-4.9229-.95489-1.06167-2.24487-1.62245-3.72581-1.62245-.01042-.00087-.0191-.00261-.02604 0-3.20844 0-5.1052 2.44105-5.35695 3.13205-.12761.3507-.46095.58509-.8351.58509-.37414 0-.70836-.23438-.83596-.58509-.25001-.69099-2.1459-3.13205-5.35521-3.13205-.00782 0-.01476 0-.02257 0z'/%3E%3Cpath d='m51.27536 62.57306h-38.55336c-2.98274 0-5.40903-2.42543-5.40903-5.40816v-35.02286c0-.33248.18577-.63717.48179-.78996l23.79592-12.27558c.25522-.13195.55905-.13195.81426 0l23.79766 12.27558c.29515.15278.48092.45748.48092.78996v35.02285c0 2.98274-2.42543 5.40817-5.40816 5.40817zm-42.18455-39.88934v34.48117c0 2.0018 1.62853 3.63033 3.6312 3.63033h38.55335c2.0018 0 3.63033-1.62852 3.63033-3.63033v-34.48117l-22.90788-11.81723z'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cpath d='m59.0964 29.22339c-.68636 0-1.38316-.17616-2.01863-.54805l-25.07961-14.66022-25.07961 14.66022c-1.91163 1.11827-4.3674.47367-5.48307-1.43797-1.11697-1.91033-.47367-4.3661 1.43797-5.48306l27.10216-15.84243c1.25007-.73073 2.79503-.73073 4.0451 0l27.10216 15.84243c1.91164 1.11697 2.55494 3.57273 1.43797 5.48306-.74509 1.27617-2.0865 1.98602-3.46444 1.98602z' fill='%23faa61a'/%3E%3Cpath d='m34.10767 5.95877c-1.86665 1.36881-3.57324 3.21777-5.04883 5.4222-1.22667 1.81326-2.2934 3.91113-3.1645 6.20443l-17.68891 10.34667-1.27995.74664c-1.92003 1.12001-4.37337.46224-5.49338-1.43999-1.1199-1.92003-.46213-4.37337 1.44-5.47559l27.11111-15.85775c1.24447-.72884 2.79112-.72884 4.03559 0z' opacity='.15'/%3E%3Cpath d='m4.90317 30.11452c-.41668 0-.83597-.05382-1.25004-.16233-1.26567-.33161-2.3256-1.13632-2.98534-2.26657-1.36202-2.3308-.5738-5.33611 1.757-6.69901l27.10159-15.84253c1.52609-.88979 3.41852-.88979 4.94287 0l27.10159 15.84254c1.13025.65974 1.93583 1.72054 2.26744 2.98621.3316 1.26567.14931 2.58515-.51043 3.71366-.87329 1.49571-2.49487 2.42543-4.23104 2.42543-.86808 0-1.72054-.23178-2.46883-.67016l-24.63017-14.39718-24.63015 14.39805c-.76044.44445-1.60595.67189-2.46449.67189zm27.09464-23.86103c-.54429 0-1.08858.14237-1.5747.42536l-27.10072 15.84254c-1.48529.86808-1.98791 2.78221-1.11983 4.2675.42015.71964 1.09552 1.23268 1.90197 1.44362.80298.21355 1.64589.09636 2.36553-.32466l25.07895-14.66021c.27779-.16146.61981-.16146.8976 0l25.07895 14.66021c1.43755.84031 3.43588.31077 4.2675-1.11809.42015-.71964.53648-1.55995.32467-2.3664-.21181-.80558-.72398-1.48095-1.44276-1.90197l-27.10332-15.84254c-.48526-.28299-1.02955-.42536-1.57384-.42536z' fill='%23101016'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.ico-cr {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 600'%3E%3Crect width='900' height='600' fill='%23d7141a'/%3E%3Crect width='900' height='300' fill='%23fff'/%3E%3Cpath d='M 450,300 0,0 V 600 z' fill='%2311457e'/%3E%3C/svg%3E%0A");
    width: 21px;
    height: 14px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}

.ico-sr {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 6'%3E%3Ctitle%3EFlag of Slovakia%3C/title%3E%3Crect width='9' height='6' fill='%23ee1c25'/%3E%3Crect width='9' height='4' fill='%230b4ea2'/%3E%3Crect width='9' height='2' fill='%23fff'/%3E%3Cg%3E%3Cpath fill='%23fff' d='M3.16255,4.635c-0.53781-0.25905-1.3071-0.77323-1.3071-1.79033,0-1.01711,0.04863-1.47967,0.04863-1.47967h1.25847,1.2585s0.04864,0.46256,0.04864,1.47967c0,1.0171-0.76929,1.53128-1.30714,1.79033z'/%3E%3Cpath fill='%23ee1c25' d='M3.16255,4.5c-0.4934-0.23766-1.19917-0.70938-1.19917-1.64251,0-0.933128,0.044612-1.35749,0.044612-1.35749h1.15456,1.15459s0.044626,0.424365,0.044626,1.35749c0,0.933128-0.705776,1.40485-1.19921,1.64251z'/%3E%3Cpath fill='%23fff' d='m3.26808,2.61284c0.133599,0.00216,0.394255,0.00739,0.626352-0.070273,0,0-0.00613,0.083055-0.00613,0.179805,0,0.096773,0.00613,0.179822,0.00613,0.179822-0.21289-0.07125-0.4758-0.07273-0.62635-0.07082v0.515391h-0.211033v-0.515391c-0.150545-0.00191-0.41345-0.0004252-0.626352,0.070815,0,0,0.00613-0.083049,0.00613-0.179822,0-0.09675-0.00613-0.179805-0.00613-0.179805,0.2321,0.077665,0.492753,0.072432,0.626352,0.070273v-0.323676c-0.121766-0.00108-0.297234,0.00473-0.49563,0.071126,0,0,0.00613-0.083055,0.00613-0.179822,0-0.096756-0.00613-0.179811-0.00613-0.179811,0.198103,0.066283,0.373356,0.072192,0.495088,0.071137-0.00626-0.20498-0.06597-0.46332-0.06597-0.46332s0.12289,0.00959,0.172016,0.00959c0.049178,0,0.172031-0.00959,0.172031-0.00959s-0.059695,0.258346-0.065964,0.463301c0.121741,0.00106,0.296989-0.00485,0.495086-0.071137,0,0-0.00613,0.083055-0.00613,0.179811,0,0.096767,0.00613,0.179822,0.00613,0.179822-0.198388-0.066392-0.373863-0.072207-0.495627-0.071126v0.323676z'/%3E%3Cpath fill='%230b4ea2' d='m3.1625,3.29094c-0.24847,0-0.381562,0.344688-0.381562,0.344688s-0.073834-0.163438-0.276562-0.163438c-0.137161,0-0.238243,0.12201-0.3025,0.235,0.24954,0.39705,0.64768,0.64207,0.96062,0.79281,0.31299-0.15075,0.71139-0.39571,0.96094-0.79281-0.064256-0.11299-0.165339-0.235-0.3025-0.235-0.202734,0-0.276875,0.163438-0.276875,0.163438s-0.133073-0.344688-0.381562-0.344688z'/%3E%3C/g%3E%3C/svg%3E%0A");
    width: 21px;
    height: 14px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}

.ico-sm {
    width: 24px;
    height: 24px;
    display: inline-block;
}

.ico-md {
    width: 36px;
    height: 36px;
    display: inline-block;
}

.ico-lg {
    width: 48px;
    height: 48px;
    display: inline-block;
}

/* paticka */

p.partneri a {
    display: inline-block;
    margin: 0 5px;
}

p.partneri a img {
    height: 26px;
    vertical-align: middle;
}

/* vzdelavani */
.switcher {
    margin: 30px 0;
}

.switcher > .options {
    display: flex;
}

.switcher > .options > p {
    padding: 5px 15px;
    margin: 0 8px 0 0;
    cursor: pointer;
    background-color: #F9F9F9;
    border-radius: 5px 5px 0 0;
}

.switcher > .options > p.active {
    background-color: var(--main-color);
}
.switcher > .content {
    background-color: #F9F9F9;
    padding: 10px 20px;
    border-radius: 0 10px 10px 10px;
    border: var(--main-color) solid 2px;
}
.switcher .light-text {
    color: #8C8C8C;
}
.switcher p {
    font-size: 15px;
}

.light-bg {
    background-color: #F9F9F9;
    padding: 10px 20px;
    border-radius: 10px;
    margin: 30px 0;
    border: var(--main-color) solid 2px;
}

.light-text {
    color: #C1C1C1;
}

.primary-text {
    color: var(--main-color);
}

.underline-link {
    cursor: pointer;
    color: black;
    text-decoration: none;
    transition: 0.2s;
}
.underline-link:hover {
    text-decoration: underline;
    color: var(--main-color);
}

/* hero stránky */

.hero-label {
    font-size: clamp(1.125rem, 2.5vw, 1.5rem);
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--orange);
}

.hero-desc {
    font-size: 1.125rem;
    color: var(--gray-700);
}

.hero-photo {
    min-height: 360px;
    background: var(--gray-100);
    border: 1px solid rgba(249, 160, 27, 0.15);
    border-radius: var(--radius-lg);
}

/* úvodní stránka — hero */

.hero {
    padding: 80px 0 64px;
}

.hero::before {
    content: '';
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 500px;
    background: radial-gradient(ellipse, rgba(249, 160, 27, 0.08) 0%, transparent 70%);
    pointer-events: none;
}

/* úvodní stránka — rozbalovací panely služeb */

.services-panels__track {
    display: flex;
    gap: 12px;
    height: min(420px, 62vh);
    min-height: 320px;
}

.services-panel {
    position: relative;
    flex: 1 1 0;
    min-width: 68px;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    transition:
        flex 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.35s ease,
        transform 0.35s ease;
}

.services-panel:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
}

.services-panel.is-expanded {
    flex: 5 1 0;
    cursor: default;
    box-shadow: 0 20px 48px rgba(249, 160, 27, 0.18);
}

.services-panel:focus-visible {
    outline: 3px solid var(--orange);
    outline-offset: 3px;
}

.services-panel__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1), filter 0.5s ease;
    filter: saturate(0.85) brightness(0.72);
}

.services-panel.is-expanded .services-panel__bg,
.services-panel:hover .services-panel__bg {
    transform: scale(1.08);
    filter: saturate(1) brightness(0.85);
}

.services-panel__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(20, 20, 22, 0.15) 0%, rgba(20, 20, 22, 0.72) 100%),
        linear-gradient(135deg, color-mix(in srgb, var(--panel-accent, var(--orange)) 35%, transparent) 0%, transparent 55%);
    transition: opacity 0.4s ease;
}

.services-panel.is-expanded .services-panel__overlay {
    background:
        linear-gradient(105deg, rgba(16, 16, 18, 0.88) 0%, rgba(16, 16, 18, 0.55) 48%, rgba(16, 16, 18, 0.25) 100%),
        linear-gradient(135deg, color-mix(in srgb, var(--panel-accent, var(--orange)) 28%, transparent) 0%, transparent 60%);
    opacity: 1;
}

.services-panel__collapsed-label {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform-origin: center;
    rotate: 180deg;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--white);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    white-space: nowrap;
    opacity: 1;
    transition: opacity 0.25s ease, transform 0.35s ease;
    pointer-events: none;
}

.services-panel.is-expanded .services-panel__collapsed-label {
    opacity: 0;
    transform: translateX(-50%) translateY(12px);
}

.services-panel__detail {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 28px 32px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition:
        opacity 0.35s ease 0.08s,
        visibility 0.35s ease 0.08s,
        transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.05s;
}

.services-panel.is-expanded .services-panel__detail {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.services-panel:not(.is-expanded)::after {
    content: '+';
    position: absolute;
    z-index: 2;
    top: 16px;
    right: 50%;
    transform: translateX(50%);
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(6px);
    color: var(--white);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 28px;
    text-align: center;
    transition: background 0.2s, transform 0.2s;
}

.services-panel:not(.is-expanded):hover::after {
    background: var(--panel-accent, var(--orange));
    transform: translateX(50%) scale(1.08);
}


/* citace-pro — video, zvýrazněný box, loga klientů, formulář */

.video-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--charcoal);
}

.video-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.client-logo {
    min-height: 88px;
}

.client-logo img {
    max-height: 52px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.75;
    transition: filter 0.2s, opacity 0.2s;
}

.client-logo:hover img {
    filter: none;
    opacity: 1;
}

.form-control:focus {
    border-color: var(--orange);
    box-shadow: 0 0 0 3px var(--orange-light);
}

/* citace-pro — ceník */

.pricing {
    margin-top: 56px;
}

.pricing__tabs {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 40px;
    background: var(--gray-100);
    padding: 6px;
    border-radius: 12px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.pricing__tab {
    padding: 10px 24px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-family: var(--font);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--gray-700);
    cursor: pointer;
    transition: all 0.2s;
}

.pricing__tab--active {
    background: var(--white);
    color: var(--charcoal);
    box-shadow: var(--shadow);
}

.pricing-card {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-lg);
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.pricing-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}

#pro-pricing .pricing-card__pricing,
#studio-pricing .pricing-card__pricing {
    height: calc(2.5rem + 1.25rem + 0.5rem + 0.875rem * 1.6 * 2);
    display: flex;
    flex-direction: column;
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--gray-200);
    box-sizing: content-box;
}

#pro-pricing .pricing-card__price,
#studio-pricing .pricing-card__price {
    margin-bottom: 8px;
    flex-shrink: 0;
}

#pro-pricing .pricing-card__yearly,
#studio-pricing .pricing-card__yearly {
    margin-top: auto;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.pricing-card__price {
    margin-bottom: 8px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 8px;
}

.pricing-card__price[hidden],
.pricing-card__yearly[hidden] {
    display: none !important;
}

.pricing-card__amount-old {
    font-size: 1.375rem;
    font-weight: 600;
    color: var(--gray-500);
    text-decoration: line-through;
}

.pricing-card__amount-old[hidden] {
    display: none;
}

.pricing-card__amount {
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.pricing-card__period {
    font-size: 0.9375rem;
    color: var(--gray-500);
    font-weight: 500;
}

.pricing-card__yearly {
    font-size: 0.875rem;
    color: var(--gray-500);
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--gray-200);
}

.pricing-card--team .pricing-card__yearly {
    line-height: 1.6;
}

.pricing-card__yearly strong {
    color: var(--charcoal);
}

.pricing-card__yearly-old {
    color: var(--gray-500);
    text-decoration: line-through;
    margin-right: 6px;
}

.pricing-card .btn {
    width: 100%;
    justify-content: center;
}

.pricing-card--free .pricing-card__amount {
    font-size: 2rem;
}


/* Footer */

.footer {
    background: var(--charcoal);
    color: rgba(255, 255, 255, 0.7);
    padding: 64px 0 32px;
}

.footer__grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 48px;
}

.footer__brand img {
    height: 36px;
    width: auto;
    margin-bottom: 16px;
    border-radius: 6px;
}

.footer__brand p {
    font-size: 0.9375rem;
    line-height: 1.7;
    max-width: 280px;
}

.footer__social {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.footer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.85);
    transition: background 0.2s, color 0.2s;
}

.footer__social-link svg {
    width: 18px;
    height: 18px;
}

.footer__social-link:hover {
    background: var(--orange);
    color: var(--white);
}

.footer__heading {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--white);
    margin-bottom: 20px;
}

.footer__links {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.footer__links li {
    margin-bottom: 12px;
}

.footer__links a,
.footer__bottom a {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.2s;
}

.footer__bottom a {
    font-size: inherit;
}

.footer__links a:hover,
.footer__bottom a:hover {
    color: var(--orange);
    text-decoration: underline;
}

.footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.875rem;
}



/* Styly produktových stránek (Citace PRO, Pablikado) - přesunuto z new.css */

.pro-feature__glow {
    position: absolute;
    inset: 8% 0;
    background: radial-gradient(circle at 50% 50%, rgba(249, 160, 27, 0.22), transparent 68%);
    z-index: 0;
    pointer-events: none;
}

.pro-feature__glow--cool {
    background: radial-gradient(circle at 50% 50%, rgba(66, 133, 244, 0.12), transparent 68%);
}

.services-showcase {
    max-width: 1120px;
    margin: 0 auto;
    text-align: left;
    position: relative;
    z-index: 1;
}

.services-showcase__shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 0;
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 24px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(249, 160, 27, 0.06);
    overflow: hidden;
}

.services-showcase__nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px 16px;
    background: linear-gradient(180deg, #FFF8EE 0%, var(--gray-100) 100%);
    border-right: 1px solid var(--gray-200);
}

.services-showcase__nav-label {
    margin: 0 8px 8px;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gray-500);
}

.services-showcase__tab {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 14px 14px 12px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s;
    overflow: hidden;
}

.services-showcase__tab:hover {
    background: rgba(255, 255, 255, 0.75);
    border-color: rgba(249, 160, 27, 0.18);
}

.services-showcase__tab.is-active {
    background: var(--white);
    border-color: rgba(249, 160, 27, 0.35);
    box-shadow: 0 8px 24px rgba(249, 160, 27, 0.12);
    transform: translateX(4px);
}

.services-showcase__tab-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: var(--white);
    color: var(--orange);
    border: 1px solid rgba(249, 160, 27, 0.15);
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s;
}

.services-showcase__tab-icon svg {
    width: 22px;
    height: 22px;
}

.services-showcase__tab.is-active .services-showcase__tab-icon {
    background: linear-gradient(135deg, var(--orange) 0%, var(--orange-dark) 100%);
    color: var(--white);
    border-color: transparent;
}

.services-showcase__tab-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.services-showcase__tab-text strong {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--charcoal);
}

.services-showcase__tab-text small {
    font-size: 0.75rem;
    color: var(--gray-500);
}

.services-showcase__tab-progress {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    width: 0;
    background: linear-gradient(90deg, var(--orange), #FFC04D);
    border-radius: 0 3px 3px 0;
}

.services-showcase__tab.is-active .services-showcase__tab-progress {
    animation: servicesShowcaseProgress var(--showcase-autoplay, 6.5s) linear forwards;
}

.services-showcase__stage {
    display: flex;
    flex-direction: column;
    min-height: 420px;
    background:
        radial-gradient(circle at 85% 15%, rgba(249, 160, 27, 0.08) 0%, transparent 42%),
        radial-gradient(circle at 10% 90%, rgba(249, 160, 27, 0.05) 0%, transparent 35%),
        var(--white);
}

.services-showcase__slides {
    position: relative;
    flex: 1;
}

.services-showcase__slide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 46%);
    gap: 28px;
    align-items: center;
    min-height: 360px;
    padding: 32px 32px 16px;
}

.services-showcase__slide[hidden] {
    display: none;
}

.services-showcase__slide.is-active {
    animation: servicesShowcaseFade 0.45s ease;
}

.services-showcase__badge {
    display: inline-block;
    margin-bottom: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--orange-light);
    color: var(--orange-dark);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.services-showcase__title {
    margin: 0 0 12px;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--charcoal);
}

.services-showcase__desc {
    margin: 0 0 18px;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--gray-700);
}

.services-showcase__points {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.services-showcase__points li {
    position: relative;
    padding-left: 22px;
    font-size: 0.875rem;
    color: var(--gray-700);
}

.services-showcase__points li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--orange);
    box-shadow: 0 0 0 3px rgba(249, 160, 27, 0.15);
}

.services-showcase__visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
}

.services-showcase__glow {
    position: absolute;
    inset: 8% 0;
    background: radial-gradient(circle, rgba(249, 160, 27, 0.18) 0%, transparent 68%);
    pointer-events: none;
    animation: servicesShowcaseGlow 4s ease-in-out infinite alternate;
}

.services-showcase__frame {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 420px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--gray-200);
    background: var(--white);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.12);
    transform: perspective(900px) rotateY(-4deg) rotateX(2deg);
    animation: servicesShowcaseFloat 5s ease-in-out infinite;
}

.services-showcase__frame-bar {
    display: flex;
    gap: 6px;
    padding: 10px 12px;
    background: linear-gradient(180deg, #F8F9FB 0%, #EEF1F5 100%);
    border-bottom: 1px solid var(--gray-200);
}

.services-showcase__frame-bar span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #D5DAE2;
}

.services-showcase__frame-bar span:first-child {
    background: #FF6B6B;
}

.services-showcase__frame-bar span:nth-child(2) {
    background: #FFD166;
}

.services-showcase__frame-bar span:nth-child(3) {
    background: #06D6A0;
}

.services-showcase__frame img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
}

.services-showcase__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 12px 24px 20px;
    border-top: 1px solid var(--gray-200);
    background: rgba(255, 255, 255, 0.85);
}

.services-showcase__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--gray-200);
    border-radius: 999px;
    background: var(--white);
    color: var(--charcoal);
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s, box-shadow 0.15s;
}

.services-showcase__arrow:hover {
    border-color: var(--orange);
    color: var(--orange);
    box-shadow: 0 4px 12px rgba(249, 160, 27, 0.15);
}

.services-showcase__arrow svg {
    width: 20px;
    height: 20px;
}

.services-showcase__dots {
    display: flex;
    gap: 8px;
}

.services-showcase__dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: var(--gray-200);
    cursor: pointer;
    transition: width 0.25s, background 0.25s;
}

.services-showcase__dot.is-active {
    width: 28px;
    background: var(--orange);
}

.services-showcase--audiences {
    margin-top: 8px;
}

.services-showcase--audiences .services-showcase__shell {
    grid-template-columns: 280px minmax(0, 1fr);
}

.services-showcase--audiences .services-showcase__nav {
    max-height: min(560px, 70vh);
    overflow-y: auto;
    scrollbar-width: thin;
}

.services-showcase--audiences .services-showcase__tab {
    padding: 10px 12px;
}

.services-showcase--audiences .services-showcase__tab-icon {
    width: 36px;
    height: 36px;
}

.services-showcase--audiences .services-showcase__tab-icon svg {
    width: 18px;
    height: 18px;
}

.services-showcase--audiences .services-showcase__tab-text strong {
    font-size: 0.875rem;
}

.services-showcase--audiences .services-showcase__tab-text small {
    font-size: 0.6875rem;
    line-height: 1.35;
}

.services-showcase--audiences .services-showcase__tab-progress {
    display: none;
}

.services-showcase--audiences .services-showcase__stage {
    min-height: 460px;
}

.services-showcase--audiences .services-showcase__title {
    font-size: clamp(1.375rem, 2.2vw, 1.75rem);
}

.services-showcase--audiences .services-showcase__points {
    gap: 8px;
}

.services-showcase--audiences .services-showcase__points li {
    font-size: 0.8125rem;
    line-height: 1.5;
}

.services-showcase--audiences .services-showcase__dots {
    flex-wrap: wrap;
    justify-content: center;
    max-width: 220px;
    gap: 6px;
}

.pro-stepper__step {
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 12px 10px;
    border: 1px solid var(--gray-200);
    border-radius: 14px;
    background: var(--white);
    color: var(--gray-700);
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s, color 0.2s;
    font: inherit;
    text-align: center;
}

.pro-stepper__step:hover {
    border-color: rgba(249, 160, 27, 0.45);
    color: var(--gray-900);
}

.pro-stepper__step.is-active {
    border-color: var(--orange);
    background: rgba(249, 160, 27, 0.08);
    box-shadow: 0 8px 24px rgba(249, 160, 27, 0.14);
    color: var(--gray-900);
}

.pro-stepper__step-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gray-100);
    color: var(--gray-700);
    font-weight: 700;
    font-size: 1rem;
    transition: background 0.2s, color 0.2s;
}

.pro-stepper__step.is-active .pro-stepper__step-num {
    background: var(--orange);
    color: var(--white);
}

.pro-stepper__panel {
    padding: 0;
    border-radius: var(--radius-lg);
    border: 1px solid var(--gray-200);
    background: var(--gray-100);
    overflow: hidden;
}

.pro-stepper__panel[hidden] {
    display: none;
}

.pro-stepper__panel.is-active {
    animation: proStepperPanelIn 0.35s ease;
}

/* Promo panel (levá strana) */

.login-carousel__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: width 0.25s, background 0.2s;
}

.login-carousel__dot:hover {
    background: rgba(255, 255, 255, 0.6);
}

.login-carousel__dot.is-active {
    width: 28px;
    background: var(--orange);
}



@keyframes servicesShowcaseProgress {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

@keyframes servicesShowcaseFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes servicesShowcaseGlow {
    from {
        transform: scale(0.95);
        opacity: 0.7;
    }
    to {
        transform: scale(1.05);
        opacity: 1;
    }
}

@keyframes servicesShowcaseFloat {
    0%, 100% {
        transform: perspective(900px) rotateY(-4deg) rotateX(2deg) translateY(0);
    }
    50% {
        transform: perspective(900px) rotateY(-2deg) rotateX(1deg) translateY(-8px);
    }
}

@keyframes proStepperPanelIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 960px) {
    .services-panels__track {
        flex-direction: column;
        height: auto;
        min-height: 0;
    }

    .services-panel {
        flex: none;
        min-height: 72px;
        min-width: 0;
    }

    .services-panel.is-expanded {
        flex: none;
        min-height: auto;
    }

    .services-panel__collapsed-label {
        writing-mode: horizontal-tb;
        rotate: none;
        left: 20px;
        bottom: auto;
        top: 50%;
        transform: translateY(-50%);
        font-size: 1rem;
    }

    .services-panel.is-expanded .services-panel__collapsed-label {
        transform: translateY(-50%);
    }

    .services-panel:not(.is-expanded)::after {
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
    }

    .services-panel:not(.is-expanded):hover::after {
        transform: translateY(-50%) scale(1.08);
    }

    .services-panel__detail {
        padding: 20px;
        height: auto;
    }

    .services-panel:not(.is-expanded) .services-panel__detail {
        display: none;
    }

    .services-showcase__shell {
        grid-template-columns: 1fr;
    }

    .services-showcase__nav {
        flex-direction: row;
        overflow-x: auto;
        padding: 16px;
        border-right: none;
        border-bottom: 1px solid var(--gray-200);
        scrollbar-width: thin;
    }

    .services-showcase__nav-label {
        display: none;
    }

    .services-showcase__tab {
        min-width: 190px;
        flex-shrink: 0;
    }

    .services-showcase__tab.is-active {
        transform: none;
    }

    .services-showcase__slide {
        grid-template-columns: 1fr;
        padding: 24px 24px 12px;
        min-height: 0;
    }

    .services-showcase__visual {
        order: -1;
        min-height: 220px;
    }

    .services-showcase__frame {
        max-width: 360px;
        transform: none;
        animation: none;
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

@media (max-width: 768px) {
    .hero {
        padding: 48px 0 40px;
    }

    .page-section {
        padding: 64px 0;
    }

    .services-showcase__tab {
        min-width: 170px;
        padding: 12px;
    }

    .services-showcase__tab-icon {
        width: 36px;
        height: 36px;
    }

    .services-showcase__slide {
        padding: 20px 16px 8px;
    }

    .services-showcase__title {
        font-size: 1.375rem;
    }

    .footer__grid {
        grid-template-columns: 1fr;
    }

    .footer__bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}

/* Reference (citace-pro) */

.reference-carousel .carousel-item {
    padding: 24px 4px 12px;
}

.reference-card {
    position: relative;
    max-width: 860px;
    margin-bottom: 0;
    padding: 48px 48px 36px;
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 24px;
    box-shadow: var(--shadow);
}

.reference-card__quote {
    position: absolute;
    top: -22px;
    left: 40px;
    width: 44px;
    height: 44px;
    padding: 9px;
    color: var(--white);
    background: var(--orange);
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(251, 166, 28, 0.35);
}

.reference-card__text {
    margin: 0 0 28px;
    font-size: 1.0625rem;
    line-height: 1.7;
    color: var(--gray-700);
}

.reference-card__text p {
    margin-bottom: 1rem;
}

.reference-card__text p:last-child {
    margin-bottom: 0;
}

.reference-card__author {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-top: 24px;
    border-top: 1px solid var(--gray-100);
}

.reference-card__avatar {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    box-shadow: 0 0 0 3px var(--orange-light);
}

.reference-card__avatar--placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.375rem;
    color: var(--orange-dark);
    background: var(--orange-light);
}

.reference-carousel__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 24px;
}

.reference-carousel__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 1.125rem;
    color: var(--charcoal);
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 50%;
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}

.reference-carousel__btn:hover,
.reference-carousel__btn:focus-visible {
    color: var(--white);
    background: var(--orange);
    border-color: var(--orange);
    transform: translateY(-1px);
    outline: none;
}

.reference-carousel__dots {
    position: static;
    display: flex;
    gap: 6px;
    margin: 0;
}

.reference-carousel__dots [data-bs-target] {
    width: 8px;
    height: 8px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: var(--gray-200);
    opacity: 1;
    text-indent: 0;
    transition: width 0.25s, background 0.2s;
}

.reference-carousel__dots [data-bs-target]:hover {
    background: var(--gray-500);
}

.reference-carousel__dots [data-bs-target].active {
    width: 24px;
    background: var(--orange);
}

@media (max-width: 768px) {
    .reference-card {
        padding: 36px 22px 28px;
        border-radius: 20px;
    }

    .reference-card__quote {
        left: 22px;
        width: 40px;
        height: 40px;
        top: -20px;
    }

    .reference-card__text {
        font-size: 1rem;
    }

    .reference-carousel__dots {
        display: none;
    }
}

/* položky rozbalovacího menu při kliknutí nezmodrají — drží barvu hoveru */
header .dropdown-menu {
    --bs-dropdown-link-active-color: var(--bs-dropdown-link-hover-color);
    --bs-dropdown-link-active-bg: var(--bs-dropdown-link-hover-bg);
}

/* mobilní menu (pod breakpointem lg, kde je navbar sbalený) */
@media (max-width: 991.98px) {
    /* rozbalené menu překrývá obsah stránky místo toho, aby ho odsouvalo dolů */
    header .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        padding: 1.5rem 1.5rem 1.25rem;
        background-color: var(--bs-body-bg);
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    }

    header .navbar-nav .nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    header .navbar-nav .dropdown-toggle::after {
        margin-left: auto;
        vertical-align: 0;
    }

    /* bez animace rozbalování — menu se zobrazí/skryje okamžitě */
    header .navbar-collapse.collapsing {
        transition: none;
    }
}