.elementor-kit-14{--e-global-color-primary:#0088CE;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#304150;--e-global-color-accent:#DDDDDD;--e-global-color-cacb66e:#0088CE;--e-global-color-ec77d08:#FFFFFF;--e-global-color-cf4d1db:#215777;--e-global-color-635934d:#005B9B;--e-global-color-dffa626:#3C4852;--e-global-color-cb54bd7:#5094C9;--e-global-color-8aa4cfe:#41ABED;--e-global-color-cea32cd:#7A7A7A33;--e-global-color-fa61719:#F3F6F7;--e-global-color-f042598:#5A6874;--e-global-color-6890222:#02010100;--e-global-color-af3ab6d:#ED0A0A;--e-global-color-89e1274:#FFFFFFD9;--e-global-color-c79dd8d:#E8F4FA;--e-global-color-547e658:rgba(255,255,255,0.55);--e-global-color-fe5886f:#E5E7EB;--e-global-color-90068d7:#6B7280;--e-global-color-d2739ac:#FFFFFF1A;--e-global-color-612a91b:#16A34A;--e-global-color-b033892:#0088CE1F;--e-global-color-6f3ab16:#0088CE40;--e-global-color-ecaeee6:#FFFFFF0A;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Source Sans Pro";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Source Sans Pro";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;--e-global-typography-285e1a2-font-family:"Montserrat";--e-global-typography-285e1a2-font-size:3.5625rem;--e-global-typography-285e1a2-font-weight:900;--e-global-typography-285e1a2-line-height:1.1em;--e-global-typography-285e1a2-letter-spacing:-0.5px;--e-global-typography-11c09dc-font-family:"Montserrat";--e-global-typography-11c09dc-font-size:3rem;--e-global-typography-11c09dc-font-weight:900;--e-global-typography-11c09dc-line-height:1.15em;--e-global-typography-11c09dc-letter-spacing:-0.25px;--e-global-typography-bdf56ce-font-family:"Source Sans Pro";--e-global-typography-bdf56ce-font-size:1.4375rem;--e-global-typography-bdf56ce-font-weight:400;--e-global-typography-bdf56ce-line-height:1.5em;--e-global-typography-59bf745-font-family:"Source Sans Pro";--e-global-typography-59bf745-font-size:1rem;--e-global-typography-59bf745-font-weight:700;--e-global-typography-59bf745-text-transform:none;--e-global-typography-59bf745-line-height:normal;--e-global-typography-59bf745-letter-spacing:0px;--e-global-typography-f4107d3-font-family:"Source Sans Pro";--e-global-typography-f4107d3-font-size:1rem;--e-global-typography-f4107d3-font-weight:700;--e-global-typography-f4107d3-line-height:1.6em;--e-global-typography-b6603b4-font-family:"Source Sans Pro";--e-global-typography-b6603b4-font-size:0.875rem;--e-global-typography-b6603b4-font-weight:700;--e-global-typography-b6603b4-text-transform:uppercase;--e-global-typography-b6603b4-line-height:1.4em;--e-global-typography-b6603b4-letter-spacing:1.5px;--e-global-typography-1b684d9-font-family:"Source Sans Pro";--e-global-typography-1b684d9-font-size:1rem;--e-global-typography-1b684d9-font-weight:400;--e-global-typography-1b684d9-line-height:1.6em;--e-global-typography-38ae8b2-font-family:"Montserrat";--e-global-typography-38ae8b2-font-size:2.0625rem;--e-global-typography-38ae8b2-font-weight:900;--e-global-typography-38ae8b2-line-height:1.25em;--e-global-typography-495698c-font-family:"Montserrat";--e-global-typography-495698c-font-size:2.5rem;--e-global-typography-495698c-font-weight:900;--e-global-typography-495698c-line-height:1.2em;--e-global-typography-495698c-letter-spacing:-0.25px;--e-global-typography-dde0bda-font-family:"Montserrat";--e-global-typography-dde0bda-font-size:1.75rem;--e-global-typography-dde0bda-font-weight:700;--e-global-typography-dde0bda-line-height:1.3em;--e-global-typography-a88df6f-font-family:"Source Sans Pro";--e-global-typography-a88df6f-font-size:0.8125rem;--e-global-typography-a88df6f-font-weight:400;--e-global-typography-a88df6f-line-height:1.5em;--e-global-typography-8d49fc1-font-family:"Montserrat";--e-global-typography-8d49fc1-font-size:1rem;--e-global-typography-8d49fc1-font-weight:700;--e-global-typography-8d49fc1-line-height:1.6rem;--e-global-typography-8d49fc1-letter-spacing:-0.5px;--e-global-typography-f0c55be-font-family:"Montserrat";--e-global-typography-f0c55be-font-size:0.875rem;--e-global-typography-f0c55be-font-weight:700;--e-global-typography-f0c55be-text-transform:uppercase;--e-global-typography-f0c55be-letter-spacing:1.5px;--e-global-typography-952769f-font-family:"Source Sans Pro";--e-global-typography-952769f-font-size:0.875rem;--e-global-typography-952769f-font-weight:400;--e-global-typography-952769f-line-height:1.4em;--e-global-typography-360b77e-font-family:"Source Sans Pro";--e-global-typography-360b77e-font-size:0.813rem;--e-global-typography-360b77e-font-weight:700;--e-global-typography-360b77e-text-transform:uppercase;--e-global-typography-360b77e-line-height:0.875rem;--e-global-typography-360b77e-letter-spacing:0.5px;--e-global-typography-c97c855-font-family:"Montserrat";--e-global-typography-c97c855-font-size:1.5rem;--e-global-typography-c97c855-font-weight:900;--e-global-typography-c97c855-line-height:2rem;--e-global-typography-7a32529-font-family:"Montserrat";--e-global-typography-7a32529-font-size:1.75rem;--e-global-typography-7a32529-font-weight:900;--e-global-typography-7a32529-line-height:2.188rem;--e-global-typography-19a4630-font-family:"Source Sans Pro";--e-global-typography-19a4630-font-size:0.875rem;--e-global-typography-19a4630-font-weight:600;--e-global-typography-19a4630-line-height:1.4em;--e-global-typography-afdf21d-font-family:"Source Sans Pro";--e-global-typography-afdf21d-font-size:16px;--e-global-typography-afdf21d-font-weight:800;--e-global-typography-afdf21d-line-height:1.22em;--e-global-typography-afdf21d-letter-spacing:0px;--e-global-typography-a061ef6-font-family:"Montserrat";--e-global-typography-a061ef6-font-size:23px;--e-global-typography-a061ef6-font-weight:900;--e-global-typography-a061ef6-line-height:1.1em;--e-global-typography-7a7c2a7-font-family:"Source Sans 3";--e-global-typography-7a7c2a7-font-size:16px;--e-global-typography-7a7c2a7-font-weight:600;--e-global-typography-7a7c2a7-line-height:1.45em;background-color:var( --e-global-color-ec77d08 );color:var( --e-global-color-text );font-family:var( --e-global-typography-1b684d9-font-family ), Sans-serif;font-size:var( --e-global-typography-1b684d9-font-size );font-weight:var( --e-global-typography-1b684d9-font-weight );line-height:var( --e-global-typography-1b684d9-line-height );}.elementor-kit-14 button,.elementor-kit-14 input[type="button"],.elementor-kit-14 input[type="submit"],.elementor-kit-14 .elementor-button{background-color:var( --e-global-color-cacb66e );font-family:var( --e-global-typography-59bf745-font-family ), Sans-serif;font-size:var( --e-global-typography-59bf745-font-size );font-weight:var( --e-global-typography-59bf745-font-weight );text-transform:var( --e-global-typography-59bf745-text-transform );line-height:var( --e-global-typography-59bf745-line-height );letter-spacing:var( --e-global-typography-59bf745-letter-spacing );color:var( --e-global-color-ec77d08 );border-style:none;border-radius:8px 8px 8px 8px;padding:16px 36px 16px 36px;}.elementor-kit-14 button:hover,.elementor-kit-14 button:focus,.elementor-kit-14 input[type="button"]:hover,.elementor-kit-14 input[type="button"]:focus,.elementor-kit-14 input[type="submit"]:hover,.elementor-kit-14 input[type="submit"]:focus,.elementor-kit-14 .elementor-button:hover,.elementor-kit-14 .elementor-button:focus{background-color:var( --e-global-color-635934d );color:#FFFFFF;}.elementor-kit-14 e-page-transition{background-color:#FFBC7D;}.elementor-kit-14 p{margin-block-end:0px;}.elementor-kit-14 a{color:var( --e-global-color-cacb66e );}.elementor-kit-14 a:hover{color:var( --e-global-color-635934d );text-decoration:none;}.elementor-kit-14 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-285e1a2-font-family ), Sans-serif;font-size:var( --e-global-typography-285e1a2-font-size );font-weight:var( --e-global-typography-285e1a2-font-weight );line-height:var( --e-global-typography-285e1a2-line-height );letter-spacing:var( --e-global-typography-285e1a2-letter-spacing );}.elementor-kit-14 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-495698c-font-family ), Sans-serif;font-size:var( --e-global-typography-495698c-font-size );font-weight:var( --e-global-typography-495698c-font-weight );line-height:var( --e-global-typography-495698c-line-height );letter-spacing:var( --e-global-typography-495698c-letter-spacing );}.elementor-kit-14 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-38ae8b2-font-family ), Sans-serif;font-size:var( --e-global-typography-38ae8b2-font-size );font-weight:var( --e-global-typography-38ae8b2-font-weight );line-height:var( --e-global-typography-38ae8b2-line-height );}.elementor-kit-14 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-dde0bda-font-family ), Sans-serif;font-size:var( --e-global-typography-dde0bda-font-size );font-weight:var( --e-global-typography-dde0bda-font-weight );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-dde0bda-font-family ), Sans-serif;font-size:var( --e-global-typography-dde0bda-font-size );font-weight:var( --e-global-typography-dde0bda-font-weight );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 h6{color:var( --e-global-color-text );font-family:var( --e-global-typography-dde0bda-font-family ), Sans-serif;font-size:var( --e-global-typography-dde0bda-font-size );font-weight:var( --e-global-typography-dde0bda-font-weight );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 img{border-radius:8px 8px 8px 8px;}.elementor-kit-14 label{color:var( --e-global-color-text );font-family:"Source Sans Pro", Sans-serif;font-size:0.875rem;font-weight:600;}.elementor-kit-14 input:not([type="button"]):not([type="submit"]),.elementor-kit-14 textarea,.elementor-kit-14 .elementor-field-textual{font-family:"Source Sans Pro", Sans-serif;font-size:1rem;font-weight:400;color:var( --e-global-color-text );accent-color:#5A6874;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#DDDDDD;border-radius:8px 8px 8px 8px;padding:12px 16px 12px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-14{--e-global-typography-285e1a2-font-size:3rem;--e-global-typography-285e1a2-line-height:1.1em;--e-global-typography-11c09dc-font-size:2.5rem;--e-global-typography-11c09dc-line-height:1.15em;--e-global-typography-bdf56ce-font-size:1.1875rem;--e-global-typography-bdf56ce-line-height:1.5em;--e-global-typography-59bf745-font-size:1rem;--e-global-typography-f4107d3-line-height:1.6em;--e-global-typography-b6603b4-line-height:1.4em;--e-global-typography-1b684d9-line-height:1.6em;--e-global-typography-38ae8b2-font-size:1.75rem;--e-global-typography-38ae8b2-line-height:1.25em;--e-global-typography-495698c-font-size:2.0625rem;--e-global-typography-495698c-line-height:1.2em;--e-global-typography-dde0bda-font-size:1.4375rem;--e-global-typography-dde0bda-line-height:1.3em;--e-global-typography-a88df6f-line-height:1.5em;--e-global-typography-8d49fc1-font-size:1rem;--e-global-typography-8d49fc1-line-height:1.6em;--e-global-typography-360b77e-line-height:1.4em;--e-global-typography-c97c855-font-size:1.4375rem;--e-global-typography-c97c855-line-height:1.3em;--e-global-typography-7a32529-font-size:1.438rem;--e-global-typography-7a32529-line-height:1.75rem;--e-global-typography-afdf21d-font-size:16px;font-size:var( --e-global-typography-1b684d9-font-size );line-height:var( --e-global-typography-1b684d9-line-height );}.elementor-kit-14 h1{font-size:var( --e-global-typography-285e1a2-font-size );line-height:var( --e-global-typography-285e1a2-line-height );letter-spacing:var( --e-global-typography-285e1a2-letter-spacing );}.elementor-kit-14 h2{font-size:var( --e-global-typography-495698c-font-size );line-height:var( --e-global-typography-495698c-line-height );letter-spacing:var( --e-global-typography-495698c-letter-spacing );}.elementor-kit-14 h3{font-size:var( --e-global-typography-38ae8b2-font-size );line-height:var( --e-global-typography-38ae8b2-line-height );}.elementor-kit-14 h4{font-size:var( --e-global-typography-dde0bda-font-size );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 h5{font-size:var( --e-global-typography-dde0bda-font-size );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 h6{font-size:var( --e-global-typography-dde0bda-font-size );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 button,.elementor-kit-14 input[type="button"],.elementor-kit-14 input[type="submit"],.elementor-kit-14 .elementor-button{font-size:var( --e-global-typography-59bf745-font-size );line-height:var( --e-global-typography-59bf745-line-height );letter-spacing:var( --e-global-typography-59bf745-letter-spacing );padding:14px 32px 14px 32px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-14{--e-global-typography-285e1a2-font-size:2.3rem;--e-global-typography-285e1a2-line-height:1.1em;--e-global-typography-11c09dc-font-size:2.0625rem;--e-global-typography-11c09dc-line-height:1.15em;--e-global-typography-bdf56ce-font-size:1.1875rem;--e-global-typography-bdf56ce-line-height:1.5em;--e-global-typography-59bf745-font-size:1rem;--e-global-typography-59bf745-line-height:1rem;--e-global-typography-f4107d3-line-height:1.6em;--e-global-typography-b6603b4-line-height:1.4em;--e-global-typography-1b684d9-line-height:1.6em;--e-global-typography-38ae8b2-font-size:1.4375rem;--e-global-typography-38ae8b2-line-height:1.25em;--e-global-typography-495698c-font-size:1.75rem;--e-global-typography-495698c-line-height:1.2em;--e-global-typography-dde0bda-font-size:1.4375rem;--e-global-typography-dde0bda-line-height:1.3em;--e-global-typography-a88df6f-line-height:1.5em;--e-global-typography-8d49fc1-font-size:1rem;--e-global-typography-8d49fc1-line-height:1.6em;--e-global-typography-360b77e-line-height:1.4em;--e-global-typography-c97c855-font-size:1.4375rem;--e-global-typography-c97c855-line-height:1.3em;--e-global-typography-7a32529-font-size:1.4375rem;--e-global-typography-afdf21d-font-size:14px;--e-global-typography-afdf21d-line-height:1.2em;--e-global-typography-a061ef6-font-size:21px;--e-global-typography-7a7c2a7-font-size:16px;font-size:var( --e-global-typography-1b684d9-font-size );line-height:var( --e-global-typography-1b684d9-line-height );}.elementor-kit-14 h1{font-size:var( --e-global-typography-285e1a2-font-size );line-height:var( --e-global-typography-285e1a2-line-height );letter-spacing:var( --e-global-typography-285e1a2-letter-spacing );}.elementor-kit-14 h2{font-size:var( --e-global-typography-495698c-font-size );line-height:var( --e-global-typography-495698c-line-height );letter-spacing:var( --e-global-typography-495698c-letter-spacing );}.elementor-kit-14 h3{font-size:var( --e-global-typography-38ae8b2-font-size );line-height:var( --e-global-typography-38ae8b2-line-height );}.elementor-kit-14 h4{font-size:var( --e-global-typography-dde0bda-font-size );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 h5{font-size:var( --e-global-typography-dde0bda-font-size );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 h6{font-size:var( --e-global-typography-dde0bda-font-size );line-height:var( --e-global-typography-dde0bda-line-height );}.elementor-kit-14 button,.elementor-kit-14 input[type="button"],.elementor-kit-14 input[type="submit"],.elementor-kit-14 .elementor-button{font-size:var( --e-global-typography-59bf745-font-size );line-height:var( --e-global-typography-59bf745-line-height );letter-spacing:var( --e-global-typography-59bf745-letter-spacing );padding:14px 32px 14px 32px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}
/* Start custom CSS */.strong-thinner {
    font-weight: 600;
}

/*GLASS DESIGN*/

.glass-card-badge {
    backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
border: 1px solid rgba(255, 255, 255, 0.25098039215686274);
}

.sf-photo-overlay {
    background-color: rgba(26,35,50,0.35);
    background-blend-mode: multiply;
}

/*POKUD BYCH CHTĚL MODROU JEN ČÁST NADPISU*/
.blue-color-part {
    color: #0088CE;
}

/*SKRYJE VEŠKERÉ WOOCOMMERCE ZPRÁVY*/
.woocommerce-notices-wrapper {
    display: none !important;
}

/*BOX SHADOW*/
.box-shadow-main {
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

/*LINK DESIGN*/
.link-appear a {
    color: #0088CE;
    text-decoration: underline;
}

/*OPTIONS SELECTOR*/

.variations_form th label {
    color: red;
    color: var(--e-global-color-text);
    font-family: var(--e-global-typography-f4107d3-font-family), Sans-serif;
}

.variations_form select {
    color: var(--e-global-color-text);
    font-family: var(--e-global-typography-1b684d9-font-family), Sans-serif;
}

.variations_form .quantity {
    display: none !important;
}

.variations_form select {
    background: #F3F6F7;
    border: 1px solid #0088CE;
}

.variations_form .woocommerce-Price-amount bdi {
    color: var(--e-global-color-text);
    font-family: var(--e-global-typography-495698c-font-family), Sans-serif;
    font-weight: 900;
    font-size: 1.5rem !important;
}

.accord_img {
  width: 100% !important;
  height: auto;
}

.woocommerce-message {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin: 30px 0;
    padding: 20px;
    color: var(--e-global-color-text);
    font-family: var(--e-global-typography-1b684d9-font-family), Sans-serif;
    font-size: 1.2rem;
    border-radius: 7px;
}

.woocommerce-message a {
    order: 2;
    text-decoration: none;
    transition: 0.3s;
}

.woocommerce-message a:hover {
    background: #005B9B !important;
    background-color: #005B9B !important;
} 

.woocommerce-message::before {
    display: none;
    content: "";
}
/*
body[data-elementor-device-mode=tablet] .accord_img {
  max-height: 510px;
}

body[data-elementor-device-mode=mobile] .accord_img {
  max-height: 330px;
}*/





/* === DESIGN SYSTEM v3 — Modern Best Practices === */

/* Tabular nums pro čísla (ceny, specifikace, tabulky) */
.woocommerce-Price-amount,
.product-specs,
table td,
.tabular-nums {
    font-variant-numeric: tabular-nums;
}

/* Text wrap balance pro nadpisy */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
    text-wrap: balance;
}

/* Focus visible — přístupnost */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
    outline: 2px solid #0088CE;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Touch action — žádný double-tap delay na mobilu */
a, button, input, select, textarea,
[role="button"] {
    touch-action: manipulation;
}

/* Smooth scroll s respektem k prefers-reduced-motion */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* Scroll margin pro anchor linky (aby nadpis nebyl pod headerem) */
[id] {
    scroll-margin-top: 100px;
}

/* Formuláře — lepší UX */
input::placeholder,
textarea::placeholder {
    color: #5A6874;
    opacity: 0.7;
}

input[type="email"],
input[type="url"],
input[type="password"] {
    spellcheck: false;
}

/* Selection color — brand */
::selection {
    background-color: rgba(0, 136, 206, 0.15);
    color: #304150;
}

/* Obrázky v kontejnerech — žádný layout shift */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Karty — konzistentní styl */
.card,
.product-card,
.review-card,
.spec-card {
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    background: #FFFFFF;
}

/* Transition — explicitní properties, ne all */
a, button, .elementor-button {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

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



/* ============================================
   SF UTILITY CLASSES — Springfree Design System
   ============================================
   Jedno místo pro všechny sdílené custom CSS třídy.
   Přidávají se přes Advanced → CSS Classes v Elementoru.

   HOVER EFEKTY (pro karty, loop-item kontejnery):
   ✓ sf-hover           — blue border + shadow
   ✓ sf-hover-lift       — blue border + shadow + zvednutí
   ✓ sf-hover-lift-zoom  — blue border + shadow + zvednutí + zoom obrázku

   CAROUSEL INFRASTRUKTURA (pro loop-carousel widgety):
   ✓ sf-carousel-nav    — overflow fix, pagination dots (pill), mobile hide arrows

   DARK VARIANTA (pro parent kontejner s tmavým pozadím):
   ✓ sf-carousel-dark   — invertuje barvy dots, arrows, card texty
   ============================================ */

/* --- SF-HOVER: blue border + shadow on hover --- */
.sf-hover {
      box-shadow: none !important;
      transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}
.sf-hover:hover {
    border-color: #0088CE !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

/* --- SF-HOVER-LIFT: blue border + shadow + translateY --- */
.sf-hover-lift {
      box-shadow: none !important;
      transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
}
.sf-hover-lift:hover {
    border-color: #0088CE !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    transform: translateY(-2px) !important;
}

/* --- SF-HOVER-LIFT-ZOOM: totéž + zoom obrázku --- */
.sf-hover-lift-zoom {
    box-shadow: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
}
.sf-hover-lift-zoom:hover {
    border-color: #0088CE !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    transform: translateY(-2px) !important;
}
.sf-hover-lift-zoom:hover img {
    transform: scale(1.05) !important;
    transition: transform 0.3s ease !important;
}

/* --- SF-CAROUSEL-NAV: overflow + dots + mobile arrows --- */

/* Overflow: allow card shadows to render outside swiper */
.sf-carousel-nav .elementor-loop-container,
.sf-carousel-nav .swiper,
.sf-carousel-nav .swiper-wrapper { overflow: visible !important; }
.sf-carousel-nav { overflow-x: clip !important; overflow-y: visible !important; }
.sf-carousel-nav .swiper-wrapper { padding: 8px 0 20px !important; }
.sf-carousel-nav .swiper-slide { overflow: visible !important; }

/* Pagination dots — pill shape, blue active */
.sf-carousel-nav .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: #E5E7EB !important;
    opacity: 1 !important;
    border-radius: 9999px !important;
    transition: all 0.3s ease !important;
}
.sf-carousel-nav .swiper-pagination-bullet-active {
    background: #0088CE !important;
    width: 24px !important;
}

/* Arrow buttons — 40px circle, white, blue on hover */
.sf-carousel-nav .elementor-swiper-button {
    width: 40px !important;
    height: 40px !important;
    border-radius: 9999px !important;
    border: 1px solid #E5E7EB !important;
    background: #FFFFFF !important;
    color: #304150 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
    transition: border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.sf-carousel-nav .elementor-swiper-button:hover {
    border-color: #0088CE !important;
    color: #0088CE !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}
.sf-carousel-nav .elementor-swiper-button svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
}

/* Mobile: hide arrows (dots only) */
@media (max-width: 767px) {
    .sf-carousel-nav .elementor-swiper-button {
        display: none !important;
    }
}

/* --- SF-CAROUSEL-DARK: dark theme variant --- */
/* Přidej na parent kontejner s tmavým pozadím.
   Invertuje barvy: dots, arrows, card texty. */
.sf-carousel-dark .swiper-pagination-bullet {
    background: rgba(255,255,255,0.3) !important;
}
.sf-carousel-dark .swiper-pagination-bullet-active {
    background: #FFFFFF !important;
}
.sf-carousel-dark .elementor-swiper-button {
    background: rgba(255,255,255,0.1) !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: #FFFFFF !important;
}
.sf-carousel-dark .elementor-swiper-button:hover {
    background: rgba(255,255,255,0.2) !important;
    border-color: rgba(255,255,255,0.3) !important;
}
.sf-carousel-dark .e-loop-item .elementor-heading-title {
    color: #FFFFFF !important;
}
.sf-carousel-dark .e-loop-item .elementor-widget-text-editor {
    color: rgba(255,255,255,0.6) !important;
}
.sf-carousel-dark .e-loop-item .woocommerce-Price-amount {
    color: #FFFFFF !important;
}




/* WooCommerce cena — typografie řízena widgetem, ne Kit CSS */

/* Overscroll v modalech */
.elementor-popup-modal .dialog-widget-content {
    overscroll-behavior: contain;
}

/* === END DESIGN SYSTEM v3 === */

/* === FIX: SVG icon line-height (class-based) === */
/* Usage: add CSS class "icon-no-gap" to any container or widget */
.icon-no-gap {
    line-height: 0 !important;
}
/* === END FIX === */





/* Button SVG icon fix — dual targeting for FA (fill) vs DS custom (stroke) icons */
/* FA icons use filled paths → need fill: currentColor */
.elementor-button .e-font-icon-svg {
    fill: currentColor !important;
}
/* Custom DS SVG icons use stroke paths → keep fill: none, use stroke */
.elementor-button svg:not(.e-font-icon-svg) {
    fill: none !important;
    stroke: currentColor !important;
}


/* ============================================================
   sf-glass — Light frosted glass effect
   ============================================================
   Use on cards/badges on dark or photo backgrounds.
   Usage: CSS Classes → sf-glass
   ============================================================ */
.sf-glass {
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

/* ============================================================
   sf-glass-dark — Dark frosted glass effect
   ============================================================
   Use on cards/badges on light backgrounds.
   Usage: CSS Classes → sf-glass-dark
   ============================================================ */
.sf-glass-dark {
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    background: rgba(26, 35, 50, 0.75) !important;
}

/*TO USE FULL CONTENT HEIGHT OF CARD*/

.full-card-content {
    flex: 1 !important;
}

/* === Springfree utility: mobile horizontal card scroll === */
/* Usage:
   - Add "sf-mobile-card-scroll" to the Elementor grid container.
   - Add "sf-mobile-card-scroll-item" to each direct card child.
   Desktop and tablet layout stay fully native Elementor grid settings.
   This block only switches the direct card children to a horizontal touch scroller on phones.
*/
@media (max-width: 767px) {
  .sf-mobile-card-scroll {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }

  .sf-mobile-card-scroll &gt; .sf-mobile-card-scroll-item {
    flex: 0 0 152px;
    width: 152px;
    min-width: 152px;
    scroll-snap-align: start;
  }
}
/* === End Springfree utility: mobile horizontal card scroll === */


/* === Springfree utility: comparison mobile scroll snap === */
/* Homepage comparison table: layout widths stay in native Elementor grid settings. CSS only owns the mobile snap behavior. */
@media (max-width: 767px) {
  .sf-compare-scroll-snap {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .sf-compare-scroll-snap::-webkit-scrollbar {
    display: none;
  }

  .sf-compare-scroll-snap &gt; .sf-compare-snap-left,
  .sf-compare-scroll-snap &gt; .sf-compare-snap-right {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
/* === End Springfree utility: comparison mobile scroll snap === */

/* === Springfree utility: review media scroll + video cover === */
/* Usage:
   - Add "sf-review-media-row" to the media grid container.
   - Add "sf-review-media-item" to each direct media card.
   - Add "sf-review-lightbox-card" to media cards that open native Elementor Lightbox.
   - Add "sf-review-video-lightbox-card" to autoplay video cards that open Elementor video Lightbox.
   - Add "sf-video-cover" to Elementor Video widgets that should fill their card.
   - Add "sf-review-card-row" to the review-card grid and "sf-review-card-item" to direct cards.
   Desktop layout remains native Elementor grid. CSS only handles video internals, lightbox click/focus affordance and touch scroll.
*/
.sf-review-media-item {
  position: relative;
  overflow: hidden;
}

.sf-review-lightbox-card,
.sf-review-video-lightbox-card {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  touch-action: manipulation;
}

.sf-review-lightbox-card:hover,
.sf-review-lightbox-card:focus,
.sf-review-video-lightbox-card:hover,
.sf-review-video-lightbox-card:focus {
  color: inherit;
  text-decoration: none;
}

.sf-review-lightbox-card:focus-visible,
.sf-review-video-lightbox-card:focus-visible {
  outline: 3px solid #0088CE;
  outline-offset: 3px;
}

.sf-review-video-lightbox-card .sf-video-cover,
.sf-review-video-lightbox-card .sf-video-cover video,
.sf-review-video-lightbox-card .sf-video-cover iframe {
  pointer-events: none;
}

.sf-video-cover,
.sf-video-cover .elementor-widget-container,
.sf-video-cover .elementor-wrapper,
.sf-video-cover .elementor-fit-aspect-ratio,
.sf-video-cover .elementor-video,
.sf-video-cover video,
.sf-video-cover iframe {
  width: 100%;
  height: 100%;
}

.sf-video-cover {
  position: absolute !important;
  inset: 0 !important;
}

.sf-video-cover .elementor-wrapper,
.sf-video-cover .elementor-fit-aspect-ratio {
  aspect-ratio: auto !important;
}

.sf-video-cover video,
.sf-video-cover iframe,
.sf-video-cover .elementor-video,
.sf-video-cover .elementor-custom-embed-image-overlay,
.sf-video-cover .elementor-custom-embed-image-overlay img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sf-review-video-focus-low video,
.sf-review-video-focus-low .elementor-video,
.sf-review-video-focus-low .elementor-custom-embed-image-overlay img {
  object-position: center 64%;
}

.sf-video-cover .elementor-custom-embed-play {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: #FFFFFF;
  color: #0088CE;
  box-shadow: 0 10px 24px rgba(14, 34, 48, 0.18);
}

.sf-video-cover .elementor-custom-embed-play i,
.sf-video-cover .elementor-custom-embed-play svg {
  width: 16px;
  height: 16px;
  font-size: 16px;
  margin-left: 2px;
  color: #0088CE;
  fill: #0088CE;
}

.sf-video-cover .elementor-custom-embed-play i::before {
  color: #0088CE;
}

@media (max-width: 1180px) {
  .sf-review-media-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }

  .sf-review-media-row &gt; .sf-review-media-item {
    flex: 0 0 min(340px, 42vw);
    min-width: min(340px, 42vw);
    scroll-snap-align: start;
  }
}

@media (max-width: 767px) {
  .sf-review-media-row &gt; .sf-review-media-item {
    flex-basis: min(240px, 72vw);
    min-width: min(240px, 72vw);
  }

  .sf-video-cover .elementor-custom-embed-play {
    width: 44px;
    height: 44px;
  }
}

@media (max-width: 1024px) {
  .sf-review-card-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }

  .sf-review-card-row &gt; .sf-review-card-item {
    flex: 0 0 min(420px, 72vw);
    min-width: min(420px, 72vw);
    scroll-snap-align: start;
  }
}

@media (max-width: 767px) {
  .sf-review-card-row &gt; .sf-review-card-item {
    flex-basis: min(328px, 86vw);
    min-width: min(328px, 86vw);
  }
}

.bottom-underline {
    border-bottom: 2px solid white;
}
/* === End Springfree utility: review media scroll + video cover === *//* End custom CSS */