.elementor-kit-4{--e-global-color-primary:#85F595;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#60EB74;--e-global-color-sjf-black:#000000;--e-global-color-sjf-black-20:#CCCCCC;--e-global-color-sjf-black-5:#F2F2F2;--e-global-color-sjf-white:#FFFFFF;--e-global-color-sjf-green-100:#85F595;--e-global-color-sjf-green-80:#9CF7A9;--e-global-color-sjf-green-60:#B6FABF;--e-global-color-sjf-green-40:#CEFCD5;--e-global-color-sjf-green-20:#E6FEEA;--e-global-color-sjf-green-text:#60EB74;--e-global-color-sjf-green-hover:#BCFFC6;--e-global-color-sjf-red-brick:#F2785C;--e-global-color-sjf-yellow-energy:#F4DD07;--e-global-color-sjf-blue-tech:#4FB6DB;--e-global-color-sjf-blue-deep:#1C6EA8;--e-global-color-sjf-aqua:#83F3F4;--e-global-typography-primary-font-family:"paralucent";--e-global-typography-primary-font-size:clamp(1.9375rem, calc(1.4338rem + 2.10vw), 3.3125rem);--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.16;--e-global-typography-primary-letter-spacing:0em;--e-global-typography-secondary-font-family:"paralucent";--e-global-typography-secondary-font-size:clamp(1.5625rem, calc(1.1275rem + 1.81vw), 2.75rem);--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.15;--e-global-typography-secondary-letter-spacing:0em;--e-global-typography-text-font-family:"paralucent-text";--e-global-typography-text-font-size:clamp(1.0625rem, calc(1.0394rem + 0.10vw), 1.125rem);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.54;--e-global-typography-text-letter-spacing:0.039em;--e-global-typography-accent-font-family:"paralucent-text";--e-global-typography-accent-font-size:clamp(1rem, calc(0.9544rem + 0.19vw), 1.125rem);--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.1;--e-global-typography-accent-letter-spacing:0.05em;--e-global-typography-sjf-h1-font-family:"paralucent";--e-global-typography-sjf-h1-font-size:clamp(3.5rem, calc(2.5612rem + 3.91vw), 6.0625rem);--e-global-typography-sjf-h1-font-weight:700;--e-global-typography-sjf-h1-line-height:1.14;--e-global-typography-sjf-h1-letter-spacing:0em;--e-global-typography-sjf-h2-font-family:"paralucent";--e-global-typography-sjf-h2-font-size:clamp(2.875rem, calc(2.0962rem + 3.24vw), 5rem);--e-global-typography-sjf-h2-font-weight:700;--e-global-typography-sjf-h2-line-height:1.12;--e-global-typography-sjf-h2-letter-spacing:0em;--e-global-typography-sjf-h3-font-family:"paralucent";--e-global-typography-sjf-h3-font-size:clamp(2.375rem, calc(1.7569rem + 2.58vw), 4.0625rem);--e-global-typography-sjf-h3-font-weight:700;--e-global-typography-sjf-h3-line-height:1.13;--e-global-typography-sjf-h3-letter-spacing:0em;--e-global-typography-sjf-h4-font-family:"paralucent";--e-global-typography-sjf-h4-font-size:clamp(1.9375rem, calc(1.4338rem + 2.10vw), 3.3125rem);--e-global-typography-sjf-h4-font-weight:700;--e-global-typography-sjf-h4-line-height:1.16;--e-global-typography-sjf-h4-letter-spacing:0em;--e-global-typography-sjf-h5-font-family:"paralucent";--e-global-typography-sjf-h5-font-size:clamp(1.5625rem, calc(1.1275rem + 1.81vw), 2.75rem);--e-global-typography-sjf-h5-font-weight:600;--e-global-typography-sjf-h5-line-height:1.15;--e-global-typography-sjf-h5-letter-spacing:0em;--e-global-typography-sjf-h6-font-family:"paralucent";--e-global-typography-sjf-h6-font-size:clamp(1.25rem, calc(0.9808rem + 1.10vw), 1.96875rem);--e-global-typography-sjf-h6-font-weight:700;--e-global-typography-sjf-h6-line-height:1.333;--e-global-typography-sjf-h6-letter-spacing:-0.02em;--e-global-typography-sjf-body-xl-font-family:"Space Mono";--e-global-typography-sjf-body-xl-font-size:clamp(1.5rem, calc(1.3175rem + 0.76vw), 2rem);--e-global-typography-sjf-body-xl-font-weight:400;--e-global-typography-sjf-body-xl-font-style:italic;--e-global-typography-sjf-body-xl-line-height:1.41;--e-global-typography-sjf-body-xl-letter-spacing:0em;--e-global-typography-sjf-hairline-lg-font-family:"paralucent";--e-global-typography-sjf-hairline-lg-font-size:clamp(1.25rem, calc(1.1131rem + 0.57vw), 1.625rem);--e-global-typography-sjf-hairline-lg-font-weight:500;--e-global-typography-sjf-hairline-lg-line-height:1.15;--e-global-typography-sjf-hairline-lg-letter-spacing:0.03em;--e-global-typography-sjf-body-lg-font-family:"paralucent-text";--e-global-typography-sjf-body-lg-font-size:clamp(1.25rem, calc(1.1587rem + 0.38vw), 1.5rem);--e-global-typography-sjf-body-lg-font-weight:400;--e-global-typography-sjf-body-lg-line-height:1.54;--e-global-typography-sjf-body-lg-letter-spacing:0em;--e-global-typography-sjf-link-lg-font-family:"paralucent-text";--e-global-typography-sjf-link-lg-font-size:clamp(1.25rem, calc(1.1587rem + 0.38vw), 1.5rem);--e-global-typography-sjf-link-lg-font-weight:700;--e-global-typography-sjf-link-lg-line-height:1.54;--e-global-typography-sjf-link-lg-letter-spacing:0em;--e-global-typography-sjf-body-font-family:"paralucent-text";--e-global-typography-sjf-body-font-size:clamp(1.0625rem, calc(1.0394rem + 0.10vw), 1.125rem);--e-global-typography-sjf-body-font-weight:400;--e-global-typography-sjf-body-line-height:1.54;--e-global-typography-sjf-body-letter-spacing:0.039em;--e-global-typography-sjf-link-font-family:"paralucent-text";--e-global-typography-sjf-link-font-size:clamp(1.0625rem, calc(1.0394rem + 0.10vw), 1.125rem);--e-global-typography-sjf-link-font-weight:700;--e-global-typography-sjf-link-line-height:1.54;--e-global-typography-sjf-link-letter-spacing:0em;--e-global-typography-sjf-menu-font-family:"paralucent-text";--e-global-typography-sjf-menu-font-size:clamp(1rem, calc(0.9544rem + 0.19vw), 1.125rem);--e-global-typography-sjf-menu-font-weight:700;--e-global-typography-sjf-menu-line-height:1.1;--e-global-typography-sjf-menu-letter-spacing:0.05em;--e-global-typography-sjf-body-sm-font-family:"Space Grotesk";--e-global-typography-sjf-body-sm-font-size:0.875rem;--e-global-typography-sjf-body-sm-font-weight:400;--e-global-typography-sjf-body-sm-text-transform:uppercase;--e-global-typography-sjf-body-sm-line-height:1.64;--e-global-typography-sjf-body-sm-letter-spacing:0.1em;--e-global-typography-sjf-body-xs-font-family:"Space Grotesk";--e-global-typography-sjf-body-xs-font-size:0.75rem;--e-global-typography-sjf-body-xs-font-weight:400;--e-global-typography-sjf-body-xs-line-height:1.58;--e-global-typography-sjf-body-xs-letter-spacing:0.06em;color:var( --e-global-color-text );font-family:var( --e-global-typography-sjf-body-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-body-font-size );font-weight:var( --e-global-typography-sjf-body-font-weight );line-height:var( --e-global-typography-sjf-body-line-height );letter-spacing:var( --e-global-typography-sjf-body-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-sjf-green-100 );font-family:var( --e-global-typography-sjf-menu-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-menu-font-size );font-weight:var( --e-global-typography-sjf-menu-font-weight );line-height:var( --e-global-typography-sjf-menu-line-height );letter-spacing:var( --e-global-typography-sjf-menu-letter-spacing );color:var( --e-global-color-sjf-black );border-radius:0rem 0rem 0rem 1.875rem;padding:1.25rem 1.875rem 1.25rem 1.875rem;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:var( --e-global-color-sjf-green-hover );color:var( --e-global-color-sjf-black );}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 p{margin-block-end:0px;}.elementor-kit-4 a{color:var( --e-global-color-sjf-green-text );font-weight:700;text-decoration:underline;}.elementor-kit-4 a:hover{color:var( --e-global-color-sjf-green-text );text-decoration:underline;}.elementor-kit-4 h1{font-family:var( --e-global-typography-sjf-h1-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-h1-font-size );font-weight:var( --e-global-typography-sjf-h1-font-weight );line-height:var( --e-global-typography-sjf-h1-line-height );letter-spacing:var( --e-global-typography-sjf-h1-letter-spacing );}.elementor-kit-4 h2{font-family:var( --e-global-typography-sjf-h2-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-h2-font-size );font-weight:var( --e-global-typography-sjf-h2-font-weight );line-height:var( --e-global-typography-sjf-h2-line-height );letter-spacing:var( --e-global-typography-sjf-h2-letter-spacing );}.elementor-kit-4 h3{font-family:var( --e-global-typography-sjf-h3-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-h3-font-size );font-weight:var( --e-global-typography-sjf-h3-font-weight );line-height:var( --e-global-typography-sjf-h3-line-height );letter-spacing:var( --e-global-typography-sjf-h3-letter-spacing );}.elementor-kit-4 h4{font-family:var( --e-global-typography-sjf-h4-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-h4-font-size );font-weight:var( --e-global-typography-sjf-h4-font-weight );line-height:var( --e-global-typography-sjf-h4-line-height );letter-spacing:var( --e-global-typography-sjf-h4-letter-spacing );}.elementor-kit-4 h5{font-family:var( --e-global-typography-sjf-h5-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-h5-font-size );font-weight:var( --e-global-typography-sjf-h5-font-weight );line-height:var( --e-global-typography-sjf-h5-line-height );letter-spacing:var( --e-global-typography-sjf-h5-letter-spacing );}.elementor-kit-4 h6{font-family:var( --e-global-typography-sjf-h6-font-family ), Arial, Helvetica, sans-serif;font-size:var( --e-global-typography-sjf-h6-font-size );font-weight:var( --e-global-typography-sjf-h6-font-weight );line-height:var( --e-global-typography-sjf-h6-line-height );letter-spacing:var( --e-global-typography-sjf-h6-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1470px;}.e-con{--container-max-width:1470px;--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){--kit-widget-spacing: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:1366px){.elementor-kit-4{font-size:var( --e-global-typography-sjf-body-font-size );line-height:var( --e-global-typography-sjf-body-line-height );letter-spacing:var( --e-global-typography-sjf-body-letter-spacing );}.elementor-kit-4 h1{font-size:var( --e-global-typography-sjf-h1-font-size );line-height:var( --e-global-typography-sjf-h1-line-height );letter-spacing:var( --e-global-typography-sjf-h1-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-sjf-h2-font-size );line-height:var( --e-global-typography-sjf-h2-line-height );letter-spacing:var( --e-global-typography-sjf-h2-letter-spacing );}.elementor-kit-4 h3{font-size:var( --e-global-typography-sjf-h3-font-size );line-height:var( --e-global-typography-sjf-h3-line-height );letter-spacing:var( --e-global-typography-sjf-h3-letter-spacing );}.elementor-kit-4 h4{font-size:var( --e-global-typography-sjf-h4-font-size );line-height:var( --e-global-typography-sjf-h4-line-height );letter-spacing:var( --e-global-typography-sjf-h4-letter-spacing );}.elementor-kit-4 h5{font-size:var( --e-global-typography-sjf-h5-font-size );line-height:var( --e-global-typography-sjf-h5-line-height );letter-spacing:var( --e-global-typography-sjf-h5-letter-spacing );}.elementor-kit-4 h6{font-size:var( --e-global-typography-sjf-h6-font-size );line-height:var( --e-global-typography-sjf-h6-line-height );letter-spacing:var( --e-global-typography-sjf-h6-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-sjf-menu-font-size );line-height:var( --e-global-typography-sjf-menu-line-height );letter-spacing:var( --e-global-typography-sjf-menu-letter-spacing );}}@media(max-width:1024px){.elementor-kit-4{font-size:var( --e-global-typography-sjf-body-font-size );line-height:var( --e-global-typography-sjf-body-line-height );letter-spacing:var( --e-global-typography-sjf-body-letter-spacing );}.elementor-kit-4 h1{font-size:var( --e-global-typography-sjf-h1-font-size );line-height:var( --e-global-typography-sjf-h1-line-height );letter-spacing:var( --e-global-typography-sjf-h1-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-sjf-h2-font-size );line-height:var( --e-global-typography-sjf-h2-line-height );letter-spacing:var( --e-global-typography-sjf-h2-letter-spacing );}.elementor-kit-4 h3{font-size:var( --e-global-typography-sjf-h3-font-size );line-height:var( --e-global-typography-sjf-h3-line-height );letter-spacing:var( --e-global-typography-sjf-h3-letter-spacing );}.elementor-kit-4 h4{font-size:var( --e-global-typography-sjf-h4-font-size );line-height:var( --e-global-typography-sjf-h4-line-height );letter-spacing:var( --e-global-typography-sjf-h4-letter-spacing );}.elementor-kit-4 h5{font-size:var( --e-global-typography-sjf-h5-font-size );line-height:var( --e-global-typography-sjf-h5-line-height );letter-spacing:var( --e-global-typography-sjf-h5-letter-spacing );}.elementor-kit-4 h6{font-size:var( --e-global-typography-sjf-h6-font-size );line-height:var( --e-global-typography-sjf-h6-line-height );letter-spacing:var( --e-global-typography-sjf-h6-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-sjf-menu-font-size );line-height:var( --e-global-typography-sjf-menu-line-height );letter-spacing:var( --e-global-typography-sjf-menu-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{font-size:var( --e-global-typography-sjf-body-font-size );line-height:var( --e-global-typography-sjf-body-line-height );letter-spacing:var( --e-global-typography-sjf-body-letter-spacing );}.elementor-kit-4 h1{font-size:var( --e-global-typography-sjf-h1-font-size );line-height:var( --e-global-typography-sjf-h1-line-height );letter-spacing:var( --e-global-typography-sjf-h1-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-sjf-h2-font-size );line-height:var( --e-global-typography-sjf-h2-line-height );letter-spacing:var( --e-global-typography-sjf-h2-letter-spacing );}.elementor-kit-4 h3{font-size:var( --e-global-typography-sjf-h3-font-size );line-height:var( --e-global-typography-sjf-h3-line-height );letter-spacing:var( --e-global-typography-sjf-h3-letter-spacing );}.elementor-kit-4 h4{font-size:var( --e-global-typography-sjf-h4-font-size );line-height:var( --e-global-typography-sjf-h4-line-height );letter-spacing:var( --e-global-typography-sjf-h4-letter-spacing );}.elementor-kit-4 h5{font-size:var( --e-global-typography-sjf-h5-font-size );line-height:var( --e-global-typography-sjf-h5-line-height );letter-spacing:var( --e-global-typography-sjf-h5-letter-spacing );}.elementor-kit-4 h6{font-size:var( --e-global-typography-sjf-h6-font-size );line-height:var( --e-global-typography-sjf-h6-line-height );letter-spacing:var( --e-global-typography-sjf-h6-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-sjf-menu-font-size );line-height:var( --e-global-typography-sjf-menu-line-height );letter-spacing:var( --e-global-typography-sjf-menu-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}@media(min-width:2400px){.elementor-kit-4{font-size:var( --e-global-typography-sjf-body-font-size );line-height:var( --e-global-typography-sjf-body-line-height );letter-spacing:var( --e-global-typography-sjf-body-letter-spacing );}.elementor-kit-4 h1{font-size:var( --e-global-typography-sjf-h1-font-size );line-height:var( --e-global-typography-sjf-h1-line-height );letter-spacing:var( --e-global-typography-sjf-h1-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-sjf-h2-font-size );line-height:var( --e-global-typography-sjf-h2-line-height );letter-spacing:var( --e-global-typography-sjf-h2-letter-spacing );}.elementor-kit-4 h3{font-size:var( --e-global-typography-sjf-h3-font-size );line-height:var( --e-global-typography-sjf-h3-line-height );letter-spacing:var( --e-global-typography-sjf-h3-letter-spacing );}.elementor-kit-4 h4{font-size:var( --e-global-typography-sjf-h4-font-size );line-height:var( --e-global-typography-sjf-h4-line-height );letter-spacing:var( --e-global-typography-sjf-h4-letter-spacing );}.elementor-kit-4 h5{font-size:var( --e-global-typography-sjf-h5-font-size );line-height:var( --e-global-typography-sjf-h5-line-height );letter-spacing:var( --e-global-typography-sjf-h5-letter-spacing );}.elementor-kit-4 h6{font-size:var( --e-global-typography-sjf-h6-font-size );line-height:var( --e-global-typography-sjf-h6-line-height );letter-spacing:var( --e-global-typography-sjf-h6-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-sjf-menu-font-size );line-height:var( --e-global-typography-sjf-menu-line-height );letter-spacing:var( --e-global-typography-sjf-menu-letter-spacing );}}
/* Start custom CSS *//*
  SJF technical design tokens

  Tieto CSS premenné dopĺňajú Elementor Global Colors a Global Fonts.
  Používame ich len pre hodnoty, ktoré Elementor nevie držať ako oficiálne
  globálne tokeny: spacing, wrapper šírky, gridové odsadenia, radiusy,
  hrúbky čiar a opakovateľné technické rozmery.

  Zdroj pravdy:
  docs/design-system-tokens.md

  Farby a písma tu neduplikovať, pokiaľ už existujú v Elementor Global
  Colors / Global Fonts.
*/

:root {
  /* Layout widths */
  --sjf-wrapper: min(91.875rem, calc(100vw - (2 * var(--sjf-page-side-padding)))); /* 1470px */
  --sjf-content: min(60.625rem, calc(100vw - (2 * var(--sjf-page-side-padding)))); /* 970px */

  /* Page and grid spacing */
  --sjf-padding-pasparta: 0.9375rem; /* 15px */
  --sjf-grid-gutter: 1.875rem; /* 30px */
  --sjf-page-side-padding: clamp(1.5rem, calc(-2.7544rem + 17.73vw), 13.125rem); /* 24px -> 210px */

  /* Section spacing scale */
  --sjf-space-smallest: clamp(0.3125rem, calc(0.0804rem + 0.95vw), 0.9375rem); /* 5px -> 15px */
  --sjf-space-small: clamp(0.6875rem, calc(0.1536rem + 2.19vw), 2.125rem); /* 11px -> 34px */
  --sjf-space-middle: clamp(1.5rem, calc(0.3625rem + 4.67vw), 4.5625rem); /* 24px -> 73px */
  --sjf-space-normal: clamp(3.125rem, calc(1.9213rem + 4.94vw), 5.625rem); /* 50px -> 90px */
  --sjf-space-big: clamp(5.625rem, calc(1.2143rem + 18.10vw), 17.5rem); /* 90px -> 280px */

  /* Reusable dimensions */
  --sjf-line-width: 0.125rem; /* 2px */
  --sjf-radius-corner-bl: 0 0 0 1.875rem; /* 30px bottom-left */
  --sjf-radius-bottom: 0 0 4.1875rem 4.1875rem; /* 67px bottom corners */
  --sjf-button-padding: 1.25rem; /* 20px */
}

@media (min-width: 1201px) {
  :root {
    --sjf-space-normal: clamp(5.625rem, calc(-23.75rem + 39.17vw), 9.6875rem); /* 90px -> 155px */
  }
}

/*
  Paragraph reset

  Elementor Theme Style > Typography > Body > Paragraph Spacing zapisuje
  len spodný odstup odsekov (`margin-block-end`). Browser default pre
  `margin-block-start: 1em` tým ostáva aktívny, preto ho nulujeme tu.
  Vertikálny rytmus medzi textami riešime cez container gap, spacing tokeny
  alebo lokálne nastavenia widgetov.
*/

body.elementor-kit-4 p {
  margin-block-start: 0;
}

/*
  SJF component pattern: hero/title corner atom

  Použiť na kontajner s názvom "Image w corner":
  Advanced > CSS Classes: sjf-hero-corner-atom

  Trieda presúva zelený maskovaný atom z lokálneho Elementor Custom CSS
  do active kitu, aby Hero sekcia a Title sekcia nezdieľali duplicitný
  3 kB CSS blok na každom kontajneri.

  Výšku kontajnera nerieš tu. Hero má mať 100vh cez Elementor nastavenie
  konkrétneho kontajnera; menšie title sekcie sa majú vedieť zmenšiť podľa
  obsahu. Veľkosť samotného atómu držíme minimálne vo viewportovej báze, aby
  mal rovnaké rozmery ako v pôvodnom 100vh hero bloku.
*/

body.elementor-kit-4 .sjf-hero-corner-atom {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  --sjf-hero-atom-height: 100svh;
  --sjf-hero-atom-height-relative: 100%;
  --sjf-hero-atom-y: 50%;
  --sjf-hero-atom-x: 0%;
  --sjf-hero-atom-opacity: 1;
}

body.elementor-kit-4 .sjf-hero-corner-atom::after {
  content: "";
  position: absolute;
  z-index: 2;
  pointer-events: none;
  right: 0;
  top: var(--sjf-hero-atom-y);
  transform: translate(var(--sjf-hero-atom-x), -50%);
  height: max(var(--sjf-hero-atom-height), var(--sjf-hero-atom-height-relative));
  aspect-ratio: 959.7 / 1270.04;
  background-color: var(--e-global-color-sjf-green-100, #85F595);
  -webkit-mask-image: url("https://sjforum.sk/wp-content/uploads/2026/06/atom-herosekcia.svg");
  mask-image: url("https://sjforum.sk/wp-content/uploads/2026/06/atom-herosekcia.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  opacity: var(--sjf-hero-atom-opacity);
}

@media (min-width: 1601px) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 112svh;
    --sjf-hero-atom-height-relative: 112%;
    --sjf-hero-atom-y: 50%;
    --sjf-hero-atom-x: 0%;
  }
}

@media (min-width: 1441px) and (max-width: 1600px) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 108svh;
    --sjf-hero-atom-height-relative: 108%;
    --sjf-hero-atom-y: 50%;
    --sjf-hero-atom-x: 0%;
  }
}

@media (min-width: 1201px) and (max-width: 1440px) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 200svh;
    --sjf-hero-atom-height-relative: 200%;
    --sjf-hero-atom-y: 60%;
    --sjf-hero-atom-x: 0%;
  }
}

@media (min-width: 1025px) and (max-width: 1200px) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 180svh;
    --sjf-hero-atom-height-relative: 180%;
    --sjf-hero-atom-y: 60%;
    --sjf-hero-atom-x: 10%;
  }
}

@media (min-width: 881px) and (max-width: 1024px) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 150svh;
    --sjf-hero-atom-height-relative: 150%;
    --sjf-hero-atom-y: 50%;
    --sjf-hero-atom-x: 0%;
  }
}

@media (min-width: 768px) and (max-width: 880px) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 100svh;
    --sjf-hero-atom-height-relative: 100%;
    --sjf-hero-atom-y: 50%;
    --sjf-hero-atom-x: 18%;
  }
}

@media (min-width: 568px) and (max-width: 880px) and (max-height: 767px) and (orientation: landscape) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 200svh;
    --sjf-hero-atom-height-relative: 200%;
    --sjf-hero-atom-y: 70%;
    --sjf-hero-atom-x: 20%;
  }
}

@media (max-width: 767px) and (orientation: portrait) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 100svh;
    --sjf-hero-atom-height-relative: 100%;
    --sjf-hero-atom-y: 50%;
    --sjf-hero-atom-x: 34%;
    --sjf-hero-atom-opacity: 1;
  }
}

@media (max-width: 390px) and (orientation: portrait) {
  body.elementor-kit-4 .sjf-hero-corner-atom {
    --sjf-hero-atom-height: 100svh;
    --sjf-hero-atom-height-relative: 100%;
    --sjf-hero-atom-y: 50%;
    --sjf-hero-atom-x: 40%;
    --sjf-hero-atom-opacity: 1;
  }
}

/*
  SJF component pattern: default Elementor nested accordion / Questions

  Zdroj vzhľadu: Figma frame "Questions".
  Číselné hodnoty z Figmy mapujeme na existujúce SJF variables:
  - item gap 13.125px -> --sjf-space-smallest
  - item padding 39.375px -> --sjf-space-small
  - text indent cca 126px -> --sjf-space-small + 3x --sjf-grid-gutter
  - bottom-left radius 30px -> --sjf-radius-corner-bl
  - decorative atom 47x42px -> Media Library asset "Dekoratívny atóm SJF"
  - plus/minus icon vector 26px in 32px frame -> icon variables below
  - title 31.5px / 42px / -2% -> Elementor Global Font SJF H6
  - closed background #CEFCD5 -> Elementor Global Color SJF Green 40%
  - active background #85F595 -> Elementor Global Color SJF Green 100%

  Toto je default pre Elementor Nested Accordion widget.
  Triedu netreba pridávať.
  Lokálne výnimky z Elementor panelu majú ostať možné, preto nepoužívame
  !important.
  Nepoužívame drahé parent-state selektory, pretože v Elementor editore
  spomaľujú prepočítavanie štýlov na veľkom DOM-e.
*/

body.elementor-kit-4 .elementor-widget-n-accordion {
  box-sizing: border-box;
  --sjf-accordion-gap: var(--sjf-space-smallest);
  --sjf-accordion-padding-block: var(--sjf-space-small);
  --sjf-accordion-padding-inline: 2.125rem; /* Matches green panel desktop/tablet inline padding */
  --sjf-accordion-content-indent: calc(var(--sjf-accordion-padding-inline) + var(--sjf-accordion-marker-size) + var(--sjf-accordion-padding-inline));
  --sjf-accordion-content-end-indent: calc(var(--sjf-accordion-padding-inline) + var(--sjf-accordion-icon-box-size) + var(--sjf-accordion-padding-inline));
  --sjf-accordion-marker-size: 2.9375rem; /* Figma Group 20, 47px */
  --sjf-accordion-marker-height: 2.625rem; /* Figma Group 20, 42px */
  --sjf-accordion-atom-url: url("https://sjforum.sk/wp-content/uploads/2026/06/sjf-atom.svg");
  --sjf-accordion-icon-box-size: 2rem; /* Figma plus/minus frame, 32px */
  --sjf-accordion-icon-size: 1.625rem; /* Figma plus/minus vector, 26px */
  --sjf-accordion-hover-scale: 1.01; /* Compromise: about +15px on full wrapper, +7px on half wrapper */
  --sjf-accordion-title-size: var(--e-global-typography-sjf-h6-font-size, clamp(1.25rem, calc(0.9808rem + 1.10vw), 1.96875rem));
  --sjf-accordion-title-line-height: var(--e-global-typography-sjf-h6-line-height, 1.333);
  --sjf-accordion-title-letter-spacing: var(--e-global-typography-sjf-h6-letter-spacing, -0.02em);
  --n-accordion-title-font-size: var(--sjf-accordion-title-size);
  --n-accordion-border-width: 0;
  --n-accordion-border-style: solid;
  --n-accordion-border-color: transparent;
  --n-accordion-border-radius: var(--sjf-radius-corner-bl);
  --n-accordion-padding: var(--sjf-accordion-padding-block) var(--sjf-accordion-padding-inline);
  --n-accordion-icon-size: var(--sjf-accordion-icon-size);
  --n-accordion-icon-gap: 0;
  --n-accordion-title-icon-order: initial;
  --n-accordion-item-title-space-between: 0;
  --n-accordion-item-title-distance-from-content: 0;
  --n-accordion-title-normal-color: var(--e-global-color-sjf-black, #000000);
  --n-accordion-title-hover-color: var(--e-global-color-sjf-black, #000000);
  --n-accordion-title-active-color: var(--e-global-color-sjf-black, #000000);
  --n-accordion-icon-normal-color: var(--e-global-color-sjf-black, #000000);
  --n-accordion-icon-hover-color: var(--e-global-color-sjf-black, #000000);
  --n-accordion-icon-active-color: var(--e-global-color-sjf-black, #000000);
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion {
  display: flex;
  flex-direction: column;
  gap: var(--sjf-accordion-gap);
  border: 0;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item {
  border: 0;
  border-radius: var(--sjf-radius-corner-bl);
  background: var(--e-global-color-sjf-green-40, #CEFCD5);
  overflow: hidden;
  transform-origin: center;
  transition: transform 200ms ease;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title {
  display: flex;
  align-items: flex-start;
  gap: var(--sjf-accordion-padding-inline);
  padding: var(--sjf-accordion-padding-block) var(--sjf-accordion-padding-inline);
  border: 0;
  border-radius: 0;
  background: var(--e-global-color-sjf-green-40, #CEFCD5);
  color: var(--e-global-color-sjf-black, #000000);
  list-style: none;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title {
  background: var(--e-global-color-sjf-green-100, #85F595);
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title::before {
  content: "";
  order: 1;
  flex: 0 0 var(--sjf-accordion-marker-size);
  width: var(--sjf-accordion-marker-size);
  height: var(--sjf-accordion-marker-height);
  margin-block-start: 0.15em;
  background-color: var(--e-global-color-sjf-black, #000000);
  -webkit-mask-image: var(--sjf-accordion-atom-url);
  mask-image: var(--sjf-accordion-atom-url);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title-header {
  order: 2;
  flex: 1 1 auto;
  min-width: 0;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title-text {
  color: inherit;
  font-family: var(--e-global-typography-sjf-h6-font-family, "paralucent"), Arial, Helvetica, sans-serif;
  font-size: var(--sjf-accordion-title-size);
  font-weight: var(--e-global-typography-sjf-h6-font-weight, 700);
  line-height: var(--sjf-accordion-title-line-height);
  letter-spacing: var(--sjf-accordion-title-letter-spacing);
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title-icon {
  order: 3;
  flex: 0 0 var(--sjf-accordion-icon-box-size);
  width: var(--sjf-accordion-icon-box-size);
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  margin-inline-start: auto;
  margin-block-start: 0.15em;
  color: var(--e-global-color-sjf-black, #000000);
  line-height: 1;
  text-align: right;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title-icon span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--sjf-accordion-icon-size);
  height: var(--sjf-accordion-icon-size);
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title-icon i,
body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item-title-icon svg {
  width: var(--sjf-accordion-icon-size);
  height: var(--sjf-accordion-icon-size);
  font-size: var(--sjf-accordion-icon-size);
  fill: currentColor;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item > .e-con {
  padding: 0 var(--sjf-accordion-content-end-indent) var(--sjf-accordion-padding-block) var(--sjf-accordion-content-indent);
  border: 0;
  background: var(--e-global-color-sjf-green-100, #85F595);
  color: var(--e-global-color-sjf-black, #000000);
  font-family: var(--e-global-typography-sjf-body-font-family, "paralucent-text"), Arial, Helvetica, sans-serif;
  font-size: var(--e-global-typography-sjf-body-font-size, clamp(1.0625rem, calc(1.0394rem + 0.10vw), 1.125rem));
  font-weight: var(--e-global-typography-sjf-body-font-weight, 400);
  line-height: var(--e-global-typography-sjf-body-line-height, 1.54);
  letter-spacing: var(--e-global-typography-sjf-body-letter-spacing, 0.039em);
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item > .e-con p {
  margin-block: 0;
}

body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item > .e-con a,
body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item > .e-con a:hover,
body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item > .e-con a:focus {
  color: var(--e-global-color-sjf-black, #000000);
}

/*
  Accordion variant: no decorative atom marker

  Použiť iba pri špeciálnom užšom akordeóne, napríklad kontakt + mapa.
  Triedu `sjf-accordion-no-marker` pridaj na konkrétny Nested Accordion widget:
  Advanced > CSS Classes. Základný akordeón triedu nepotrebuje.
*/

body.elementor-kit-4 .elementor-widget-n-accordion.sjf-accordion-no-marker {
  --sjf-accordion-content-indent: var(--sjf-accordion-padding-inline);
}

body.elementor-kit-4 .elementor-widget-n-accordion.sjf-accordion-no-marker .e-n-accordion-item-title::before {
  content: none;
}

@media (min-width: 881px) {
  body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item:hover {
    transform: scale(var(--sjf-accordion-hover-scale));
  }
}

@media (max-width: 880px) {
  body.elementor-kit-4 .elementor-widget-n-accordion {
    --sjf-accordion-padding-block: 2.125rem; /* Matches green panel mobile/tablet vertical padding */
    --sjf-accordion-padding-inline: var(--sjf-padding-pasparta);
    --sjf-accordion-content-indent: calc(var(--sjf-accordion-padding-inline) + var(--sjf-accordion-marker-size) + var(--sjf-accordion-padding-inline));
    --sjf-accordion-content-end-indent: var(--sjf-accordion-padding-inline);
    --sjf-accordion-marker-size: 1.75rem;
    --sjf-accordion-marker-height: 1.5rem;
    --sjf-accordion-icon-box-size: 1.5rem;
    --sjf-accordion-icon-size: 1.25rem;
  }

  body.elementor-kit-4 .elementor-widget-n-accordion .e-n-accordion-item:hover {
    transform: none;
  }
}

/* SJF component pattern: Feature / Small Blocks Center - live homepage */

body.elementor-kit-4 .sjf-feature-small-blocks {
  --sjf-small-block-padding-block: 2.125rem; /* 34px */
  --sjf-small-block-padding-inline: 2.125rem; /* 34px */
  --sjf-small-block-line-width: var(--sjf-line-width, 0.125rem);
  --sjf-small-block-hover-scale: 1.0273; /* 367px -> cca 377px */
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading {
  position: relative;
  z-index: 0;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  margin: 0;
  padding: var(--sjf-small-block-padding-block) var(--sjf-small-block-padding-inline);
  border: 0;
  border-bottom: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
  background: transparent;
  color: var(--e-global-color-sjf-black, #000000);
  transform-origin: center;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-child(odd) {
  border-right: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
}

body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(-n + 2) {
  border-bottom: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
}

body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(1):nth-child(2n + 1),
body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(2):nth-child(2n + 1),
body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(2):nth-child(2n + 1) ~ .elementor-widget-heading {
  border-bottom: 0;
}

body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading .elementor-heading-title {
  width: 100%;
  margin: 0;
  color: inherit;
  text-align: left;
  overflow-wrap: anywhere;
  hyphens: auto;
}

@media (min-width: 768px) {
  body.elementor-kit-4 .sjf-feature-small-blocks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading {
    border-right: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
    border-bottom: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-child(3n) {
    border-right: 0;
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-child(n + 7) {
    border-bottom: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(1):nth-child(3n + 1),
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(2):nth-child(3n + 1),
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(2):nth-child(3n + 1) ~ .elementor-widget-heading,
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(3):nth-child(3n + 1),
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(3):nth-child(3n + 1) ~ .elementor-widget-heading {
    border-bottom: 0;
  }
}

@media (min-width: 1201px) {
  body.elementor-kit-4 .sjf-feature-small-blocks {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading {
    border-right: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
    border-bottom: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-child(3n) {
    border-right: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-child(4n) {
    border-right: 0;
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-child(n + 5) {
    border-bottom: var(--sjf-small-block-line-width) solid var(--e-global-color-sjf-black, #000000);
  }

  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(1):nth-child(4n + 1),
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(2):nth-child(4n + 1),
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(2):nth-child(4n + 1) ~ .elementor-widget-heading,
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(3):nth-child(4n + 1),
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(3):nth-child(4n + 1) ~ .elementor-widget-heading,
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(4):nth-child(4n + 1),
  body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:nth-last-child(4):nth-child(4n + 1) ~ .elementor-widget-heading {
    border-bottom: 0;
  }
}

@media (max-width: 879px) {
  body.elementor-kit-4 .sjf-feature-small-blocks {
    --sjf-small-block-padding-inline: var(--sjf-padding-pasparta, 0.9375rem); /* 15px */
  }
}

body.elementor-kit-4 .sjf-feature-small-blocks > .elementor-widget-heading:hover {
  z-index: 2;
  border-color: transparent;
  outline: 0;
  box-shadow: none;
  background: var(--e-global-color-sjf-green-100, #85F595);
  color: var(--e-global-color-sjf-black, #000000);
  transform: scale(var(--sjf-small-block-hover-scale));
}

/* End SJF component pattern: Feature / Small Blocks Center - live homepage */

/* SJF footer menu: center-align links only on Elementor Mobile Portrait (up to 767px). */
@media (max-width: 767px) {
  .sjf-footer-menu .elementor-nav-menu {
    justify-content: center;
    margin-inline: auto;
  }

  .sjf-footer-menu .elementor-nav-menu--layout-vertical > ul > li > a {
    justify-content: center;
    text-align: center;
  }
}

/*
  SJF scroll ghost heading:
  Creates a duplicate text layer underneath the selected heading text.
  JS controls its scroll offset and color through CSS variables.
*/

.sjf-scroll-ghost-heading .elementor-heading-title {
  position: relative;
  display: inline-block;
  isolation: isolate;
}

.sjf-scroll-ghost-heading .elementor-heading-title::before {
  content: attr(data-sjf-ghost-text);
  position: absolute;
  inset: 0;
  z-index: -1;
  color: var(--sjf-ghost-color, var(--e-global-color-primary, #85F595));
  pointer-events: none;
  transform: translate(var(--sjf-ghost-x, 0px), var(--sjf-ghost-y, 0px));
  will-change: transform;
}

/* SJF pestrofarebné slová v headers */
.green {
  color: var(--e-global-color-sjf-green-text);
}

.blue {
  color: var(--e-global-color-sjf-blue-tech);
}

/* SJF Safari SVG partner logo sizing - start */
/*
  Safari/WebKit keeps linked SVG logos at their small intrinsic width when the
  Elementor Image widget wraps the image in an inline-block <a>. Make the link
  inherit the widget width so SVG logos scale the same way as in Chromium.
*/

:is(
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-cf58506.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-28c22ea.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-8c86420.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-84c9183.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-3674ae1.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-96698ab.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-9291e6a.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-54b2754.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-9ba1420.elementor-widget-image
) a {
  display: block;
  width: 100%;
}

:is(
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-cf58506.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-28c22ea.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-8c86420.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-84c9183.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-3674ae1.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-96698ab.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-9291e6a.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-54b2754.elementor-widget-image,
body.elementor-kit-4 .elementor-59 .elementor-element.elementor-element-9ba1420.elementor-widget-image
) img {
  display: block;
  width: 100%;
  height: auto;
}

/* SJF Safari SVG partner logo sizing - end */



/*
 * SJF – WebToffee Cookie Consent
 * Placement: Elementor > Site Settings > Custom CSS
 * Scope verified on live sjforum.sk: body.elementor-kit-4, WebToffee 3.5.3
 */

body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal, .wcc-btn-revisit-wrapper) {
  --sjf-wcc-accent: #85f595;
  --sjf-wcc-banner-button-gap: 10px;
  --sjf-wcc-ink: #000000;
}

/* Add vertical space between wrapped banner buttons on larger screens only. */
@media (min-width: 769px) {
  body.elementor-kit-4 .wcc-consent-container .wcc-notice-btn-wrapper {
    row-gap: var(--sjf-wcc-banner-button-gap);
  }
}

/*
 * Keep both close controls comfortably tappable on phones.
 * The X icon stays small, while its button receives a 44 x 44 px hit area.
 */
@media (max-width: 768px) {
  body.elementor-kit-4 .wcc-consent-bar .wcc-banner-btn-close,
  body.elementor-kit-4 .wcc-preference-header .wcc-btn-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    touch-action: manipulation;
  }

  body.elementor-kit-4 .wcc-consent-bar .wcc-banner-btn-close {
    top: 12px;
    right: calc(12px + env(safe-area-inset-right, 0px));
  }

  body.elementor-kit-4 .wcc-preference-header .wcc-btn-close {
    margin-right: calc(8px + env(safe-area-inset-right, 0px));
  }
}

/*
 * Reset only the small WebToffee controls affected by Elementor button styles.
 * The three large action buttons in the preference footer remain unchanged.
 */
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal, .wcc-btn-revisit-wrapper)
  button:is(.wcc-show-desc-btn, .wcc-accordion-btn, .wcc-btn-revisit),
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal, .wcc-btn-revisit-wrapper)
  button:is(.wcc-show-desc-btn, .wcc-accordion-btn, .wcc-btn-revisit):hover,
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal, .wcc-btn-revisit-wrapper)
  button:is(.wcc-show-desc-btn, .wcc-accordion-btn, .wcc-btn-revisit):focus,
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal, .wcc-btn-revisit-wrapper)
  button:is(.wcc-show-desc-btn, .wcc-accordion-btn, .wcc-btn-revisit):active {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--sjf-wcc-ink);
  background: transparent;
  box-shadow: none;
  text-shadow: none;
  transform: none;
}

/* Reset close-button visuals without shrinking their mobile hit area. */
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal)
  button:is(.wcc-banner-btn-close, .wcc-btn-close),
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal)
  button:is(.wcc-banner-btn-close, .wcc-btn-close):hover,
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal)
  button:is(.wcc-banner-btn-close, .wcc-btn-close):focus,
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal)
  button:is(.wcc-banner-btn-close, .wcc-btn-close):active {
  border: 0;
  border-radius: 0;
  color: var(--sjf-wcc-ink);
  background: transparent;
  box-shadow: none;
  text-shadow: none;
  transform: none;
}

/* Remove inherited decorative hover shapes from the small controls. */
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal, .wcc-btn-revisit-wrapper)
  button:is(.wcc-banner-btn-close, .wcc-btn-close, .wcc-show-desc-btn, .wcc-accordion-btn, .wcc-btn-revisit)::before,
body.elementor-kit-4 :is(.wcc-consent-container, .wcc-modal, .wcc-btn-revisit-wrapper)
  button:is(.wcc-banner-btn-close, .wcc-btn-close, .wcc-show-desc-btn, .wcc-accordion-btn, .wcc-btn-revisit)::after {
  content: none;
  display: none;
}

/* Keep the revisit tooltip functional without a green hover background. */
body.elementor-kit-4 .wcc-btn-revisit-wrapper,
body.elementor-kit-4 .wcc-btn-revisit-wrapper:hover,
body.elementor-kit-4 .wcc-btn-revisit-wrapper:focus-within {
  background-color: #ffffff;
}

/* "Zobraziť viac" remains a compact text control. */
body.elementor-kit-4 .wcc-show-desc-btn,
body.elementor-kit-4 .wcc-show-desc-btn:hover,
body.elementor-kit-4 .wcc-show-desc-btn:focus,
body.elementor-kit-4 .wcc-show-desc-btn:active {
  font-family: inherit;
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
}

/* Category titles behave like accordion text, not CTA buttons. */
body.elementor-kit-4 .wcc-accordion-btn,
body.elementor-kit-4 .wcc-accordion-btn:hover,
body.elementor-kit-4 .wcc-accordion-btn:focus,
body.elementor-kit-4 .wcc-accordion-btn:active {
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
}

/* WebToffee also writes the active switch colour inline. */
body.elementor-kit-4 .wcc-switch input[type="checkbox"]:checked {
  background-color: var(--sjf-wcc-accent) !important;
}

/* Preserve a visible keyboard focus indicator. */
body.elementor-kit-4 :is(
  .wcc-btn-revisit,
  .wcc-btn-close,
  .wcc-banner-btn-close,
  .wcc-show-desc-btn,
  .wcc-accordion-btn,
  .wcc-switch input[type="checkbox"]
):focus-visible {
  outline: 2px solid var(--sjf-wcc-ink);
  outline-offset: 2px;
}/* End custom CSS */