/* ============================================================
   AURA TEP — dizajn podľa easyclean.nl
   Tokeny, typografia, komponenty a animácie sú prebrané
   z whello témy (Manrope, modrá #1e61f0, žltá #fef10d).
   ============================================================ */

/* ---------- FONT ---------- */
@font-face{
  font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;
  src:url('fonts/manrope-latin.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;
}

/* ---------- TOKENY ---------- */
:root{
  --container:1280px;
  --height-header:70px;

  --text-xs:12px;  --text-sm:14px;  --text-base:16px; --text-md:18px;
  --text-lg:20px;  --text-xl:24px;  --text-2xl:30px;  --text-3xl:32px;
  --text-4xl:40px; --text-5xl:48px; --text-6xl:56px;

  --lineheight-xs:1; --lineheight-s:1.2; --lineheight:1.5;
  --lineheight-m:1.625; --lineheight-l:1.85;

  --font:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Helvetica Neue',sans-serif;

  --pad-x:calc((100% - var(--container)) / 2);
  --padding-field:19px 29px;
  --padding-button:9.8px 23px;

  --rounded-sm:4px; --rounded:8px; --rounded-md:10px;
  --rounded-lg:16px; --rounded-xl:24px; --rounded-full:999px;

  --white:#fff;
  --black:#000;
  --blue:#1e61f0;
  --blue-500:#5e8ef4;
  --blue-200:#f2f6fc;
  --blue-240:#d2dffc;
  --yellow:#fef10d;
  --green:#00b67a;
  --red:#ef4444;
  --gray-300:#e5e7eb;
  --gray-400:#dce2e9;
  --gray:#9ca3af;
  --gray-700:#4b5563;
  --gray-800:#393939;

  --shadow:0 2px 8px 0 rgba(0,0,0,.15);
  --shadow-card:0 7px 40px 0 rgba(97,97,130,.06);
  --shadow-hover:2px 15px 32px -2.5px rgba(0,0,0,.1);

  --duration:.3s;
}
@media (max-width:1299px){ :root{ --container:100%; --pad-x:24px; } }
@media (max-width:1099px){ :root{ --text-4xl:30px; --text-5xl:32px; --text-6xl:48px; } }

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  font-size:var(--text-base);
  line-height:var(--lineheight-m);
  color:var(--gray-800);
  background:var(--white);
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
img{display:block;max-width:100%;height:auto;object-fit:cover;transition:transform var(--duration)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit;width:100%;appearance:none}
ul{list-style:none}
::selection{background:var(--blue);color:#fff}

h1,h2,h3,h4,h5,h6{font-weight:800;line-height:var(--lineheight-s);letter-spacing:-.01em}
h1{font-size:var(--text-5xl)}
h2{font-size:var(--text-4xl)}
h3{font-size:var(--text-3xl)}
h4{font-size:var(--text-lg)}

/* ---------- LAYOUT ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}
@media (min-width:1300px){.container{padding-inline:0}}

.sec{padding-block:96px}
.sec--tight{padding-block:64px}
.sec--soft{background:var(--blue-200)}
@media (max-width:900px){ .sec{padding-block:64px} .sec--tight{padding-block:48px} }

.sec-head{max-width:760px;margin-inline:auto;text-align:center;margin-bottom:48px}
.sec-head--left{margin-inline:0;text-align:left}
.eyebrow{
  display:block;font-size:var(--text-xs);line-height:1.5;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--gray-700);margin-bottom:14px;
}
.sec-head h2{margin-bottom:18px}
.sec-head p{color:var(--gray-700);font-size:var(--text-md)}
.lead{color:var(--gray-700);font-size:var(--text-md)}

/* ---------- HVIEZDIČKA (sparkle) ---------- */
.spark{
  display:inline-block;width:30px;height:31px;vertical-align:baseline;
  background:currentColor;
  -webkit-mask:var(--spark) center/contain no-repeat;
  mask:var(--spark) center/contain no-repeat;
}
:root{
  --spark:url("data:image/svg+xml,%3Csvg width='30' height='31' viewBox='0 0 30 31' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.3158 22.3749C10.1998 21.9423 9.9653 21.5475 9.63677 21.2316C9.30824 20.9158 8.89768 20.6903 8.4478 20.5787L0.472506 18.6012C0.336439 18.5641 0.216684 18.4853 0.13141 18.3768C0.046137 18.2683 0 18.136 0 18C0 17.864 0.046137 17.7317 0.13141 17.6232C0.216684 17.5147 0.336439 17.4359 0.472506 17.3988L8.4478 15.4201C8.89752 15.3086 9.30797 15.0833 9.63649 14.7676C9.965 14.452 10.1996 14.0575 10.3158 13.6251L12.3724 5.95655C12.4106 5.8252 12.4925 5.70948 12.6055 5.62705C12.7185 5.54462 12.8565 5.5 12.9983 5.5C13.1402 5.5 13.2781 5.54462 13.3912 5.62705C13.5042 5.70948 13.586 5.8252 13.6243 5.95655L15.6795 13.6251C15.7956 14.0577 16.0301 14.4525 16.3586 14.7684C16.6871 15.0842 17.0977 15.3097 17.5476 15.4213L25.5229 17.3975C25.66 17.4339 25.7809 17.5125 25.8671 17.6214C25.9533 17.7302 26 17.8632 26 18C26 18.1368 25.9533 18.2698 25.8671 18.3786C25.7809 18.4875 25.66 18.5661 25.5229 18.6025L17.5476 20.5787C17.0977 20.6903 16.6871 20.9158 16.3586 21.2316C16.0301 21.5475 15.7956 21.9423 15.6795 22.3749L13.623 30.0434C13.5847 30.1748 13.5029 30.2905 13.3899 30.3729C13.2768 30.4554 13.1389 30.5 12.997 30.5C12.8552 30.5 12.7172 30.4554 12.6042 30.3729C12.4912 30.2905 12.4093 30.1748 12.3711 30.0434L10.3158 22.3749Z'/%3E%3Cpath d='M23.3644 7.92495C23.3153 7.73462 23.2161 7.56092 23.0771 7.42192C22.9381 7.28293 22.7644 7.18372 22.5741 7.13462L19.1999 6.26454C19.1423 6.2482 19.0917 6.21353 19.0556 6.16579C19.0195 6.11805 19 6.05984 19 6C19 5.94016 19.0195 5.88195 19.0556 5.83421C19.0917 5.78647 19.1423 5.7518 19.1999 5.73546L22.5741 4.86483C22.7643 4.81577 22.938 4.71665 23.077 4.57776C23.216 4.43887 23.3152 4.26528 23.3644 4.07505L24.2345 0.700882C24.2506 0.643089 24.2853 0.592173 24.3331 0.555903C24.3809 0.519633 24.4393 0.5 24.4993 0.5C24.5593 0.5 24.6177 0.519633 24.6655 0.555903C24.7133 0.592173 24.7479 0.643089 24.7641 0.700882L25.6336 4.07505C25.6827 4.26538 25.7819 4.43908 25.9209 4.57807C26.0599 4.71707 26.2336 4.81628 26.424 4.86538L29.7981 5.73491C29.8562 5.75091 29.9073 5.78551 29.9438 5.8334C29.9803 5.88128 30 5.93981 30 6C30 6.06019 29.9803 6.11872 29.9438 6.1666C29.9073 6.21449 29.8562 6.24909 29.7981 6.26509L26.424 7.13462C26.2336 7.18372 26.0599 7.28293 25.9209 7.42192C25.7819 7.56092 25.6827 7.73462 25.6336 7.92495L24.7636 11.2991C24.7474 11.3569 24.7128 11.4078 24.6649 11.4441C24.6171 11.4804 24.5588 11.5 24.4987 11.5C24.4387 11.5 24.3804 11.4804 24.3325 11.4441C24.2847 11.4078 24.2501 11.3569 24.2339 11.2991L23.3644 7.92495Z'/%3E%3C/svg%3E");
  /* trojica hviezdičiek vľavo od zvýrazneného slova (29×52) */
  --spark3:url("data:image/svg+xml,%3Csvg width='29' height='53' viewBox='0 0 29 53' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.34821 36.8738C6.27679 36.5969 6.13249 36.3443 5.93032 36.1421C5.72815 35.9399 5.47549 35.7956 5.19864 35.7242L0.290773 34.4586C0.207039 34.4349 0.133344 34.3844 0.0808679 34.315C0.028392 34.2456 0 34.1609 0 34.0739C0 33.9868 0.028392 33.9021 0.0808679 33.8327C0.133344 33.7633 0.207039 33.7128 0.290773 33.6891L5.19864 32.4227C5.4754 32.3513 5.72798 32.2072 5.93015 32.0051C6.13231 31.8031 6.27667 31.5506 6.34821 31.2739L7.61378 26.366C7.63731 26.282 7.68769 26.2079 7.75723 26.1552C7.82678 26.1024 7.91168 26.0739 7.99897 26.0739C8.08626 26.0739 8.17116 26.1024 8.24071 26.1552C8.31026 26.2079 8.36063 26.282 8.38416 26.366L9.64893 31.2739C9.72035 31.5508 9.86465 31.8034 10.0668 32.0056C10.269 32.2078 10.5216 32.3521 10.7985 32.4235L15.7064 33.6883C15.7908 33.7115 15.8652 33.7619 15.9182 33.8315C15.9713 33.9012 16 33.9863 16 34.0739C16 34.1614 15.9713 34.2465 15.9182 34.3162C15.8652 34.3858 15.7908 34.4362 15.7064 34.4594L10.7985 35.7242C10.5216 35.7956 10.269 35.9399 10.0668 36.1421C9.86465 36.3443 9.72035 36.5969 9.64893 36.8738L8.38336 41.7817C8.35983 41.8657 8.30945 41.9398 8.23991 41.9925C8.17036 42.0453 8.08546 42.0739 7.99817 42.0739C7.91088 42.0739 7.82598 42.0453 7.75643 41.9925C7.68689 41.9398 7.63651 41.8657 7.61298 41.7817L6.34821 36.8738Z' fill='%231E61F0'/%3E%3Cpath d='M22.9676 6.82381C22.923 6.65078 22.8328 6.49287 22.7064 6.36651C22.5801 6.24015 22.4222 6.14996 22.2492 6.10533L19.1817 5.31435C19.1294 5.29949 19.0833 5.26797 19.0505 5.22457C19.0177 5.18117 19 5.12825 19 5.07385C19 5.01945 19.0177 4.96654 19.0505 4.92313C19.0833 4.87973 19.1294 4.84821 19.1817 4.83336L22.2492 4.04188C22.4221 3.99728 22.58 3.90717 22.7063 3.7809C22.8327 3.65464 22.9229 3.49684 22.9676 3.3239L23.7586 0.256473C23.7733 0.203933 23.8048 0.157646 23.8483 0.124673C23.8917 0.0917004 23.9448 0.0738525 23.9994 0.0738525C24.0539 0.0738525 24.107 0.0917004 24.1504 0.124673C24.1939 0.157646 24.2254 0.203933 24.2401 0.256473L25.0306 3.3239C25.0752 3.49693 25.1654 3.65484 25.2918 3.78119C25.4181 3.90755 25.576 3.99774 25.7491 4.04238L28.8165 4.83286C28.8692 4.84741 28.9157 4.87886 28.9489 4.92239C28.982 4.96593 29 5.01913 29 5.07385C29 5.12857 28.982 5.18178 28.9489 5.22531C28.9157 5.26884 28.8692 5.3003 28.8165 5.31485L25.7491 6.10533C25.576 6.14996 25.4181 6.24015 25.2918 6.36651C25.1654 6.49287 25.0752 6.65078 25.0306 6.82381L24.2396 9.89123C24.2249 9.94377 24.1934 9.99006 24.1499 10.023C24.1065 10.056 24.0534 10.0739 23.9989 10.0739C23.9443 10.0739 23.8912 10.056 23.8478 10.023C23.8043 9.99006 23.7728 9.94377 23.7581 9.89123L22.9676 6.82381Z' fill='%231E61F0'/%3E%3Cpath d='M22.9676 48.8238C22.923 48.6508 22.8328 48.4929 22.7064 48.3665C22.5801 48.2402 22.4222 48.15 22.2492 48.1053L19.1817 47.3143C19.1294 47.2995 19.0833 47.268 19.0505 47.2246C19.0177 47.1812 19 47.1283 19 47.0739C19 47.0195 19.0177 46.9665 19.0505 46.9231C19.0833 46.8797 19.1294 46.8482 19.1817 46.8334L22.2492 46.0419C22.4221 45.9973 22.58 45.9072 22.7063 45.7809C22.8327 45.6546 22.9229 45.4968 22.9676 45.3239L23.7586 42.2565C23.7733 42.2039 23.8048 42.1576 23.8483 42.1247C23.8917 42.0917 23.9448 42.0739 23.9994 42.0739C24.0539 42.0739 24.107 42.0917 24.1504 42.1247C24.1939 42.1576 24.2254 42.2039 24.2401 42.2565L25.0306 45.3239C25.0752 45.4969 25.1654 45.6548 25.2918 45.7812C25.4181 45.9076 25.576 45.9977 25.7491 46.0424L28.8165 46.8329C28.8692 46.8474 28.9157 46.8789 28.9489 46.9224C28.982 46.9659 29 47.0191 29 47.0739C29 47.1286 28.982 47.1818 28.9489 47.2253C28.9157 47.2688 28.8692 47.3003 28.8165 47.3148L25.7491 48.1053C25.576 48.15 25.4181 48.2402 25.2918 48.3665C25.1654 48.4929 25.0752 48.6508 25.0306 48.8238L24.2396 51.8912C24.2249 51.9438 24.1934 51.9901 24.1499 52.023C24.1065 52.056 24.0534 52.0739 23.9989 52.0739C23.9443 52.0739 23.8912 52.056 23.8478 52.023C23.8043 51.9901 23.7728 51.9438 23.7581 51.8912L22.9676 48.8238Z' fill='%231E61F0'/%3E%3C/svg%3E");
  /* dvojica hviezdičiek vpravo od zvýrazneného slova (31×13) */
  --spark2:url("data:image/svg+xml,%3Csvg width='31' height='14' viewBox='0 0 31 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25.5709 10.1488C25.5307 9.99308 25.4495 9.85097 25.3358 9.73725C25.2221 9.62352 25.08 9.54235 24.9242 9.50218L22.1636 8.7903C22.1165 8.77693 22.075 8.74856 22.0455 8.7095C22.016 8.67044 22 8.62281 22 8.57385C22 8.52489 22.016 8.47727 22.0455 8.43821C22.075 8.39914 22.1165 8.37078 22.1636 8.35741L24.9242 7.64508C25.0799 7.60494 25.222 7.52384 25.3357 7.4102C25.4494 7.29656 25.5306 7.15454 25.5709 6.99889L26.2828 4.23821C26.296 4.19092 26.3243 4.14927 26.3634 4.11959C26.4026 4.08992 26.4503 4.07385 26.4994 4.07385C26.5485 4.07385 26.5963 4.08992 26.6354 4.11959C26.6745 4.14927 26.7029 4.19092 26.7161 4.23821L27.4275 6.99889C27.4677 7.15462 27.5489 7.29674 27.6626 7.41046C27.7763 7.52418 27.9184 7.60535 28.0742 7.64553L30.8348 8.35696C30.8823 8.37005 30.9242 8.39836 30.954 8.43754C30.9838 8.47672 31 8.52461 31 8.57385C31 8.6231 30.9838 8.67098 30.954 8.71016C30.9242 8.74934 30.8823 8.77765 30.8348 8.79075L28.0742 9.50218C27.9184 9.54235 27.7763 9.62352 27.6626 9.73725C27.5489 9.85097 27.4677 9.99308 27.4275 10.1488L26.7156 12.9095C26.7024 12.9568 26.6741 12.9984 26.6349 13.0281C26.5958 13.0578 26.5481 13.0739 26.499 13.0739C26.4499 13.0739 26.4021 13.0578 26.363 13.0281C26.3239 12.9984 26.2955 12.9568 26.2823 12.9095L25.5709 10.1488Z' fill='%231E61F0'/%3E%3Cpath d='M4.3644 7.4988C4.3153 7.30847 4.21609 7.13477 4.07709 6.99578C3.9381 6.85678 3.7644 6.75758 3.57407 6.70847L0.199906 5.8384C0.14234 5.82206 0.0916739 5.78738 0.0555967 5.73964C0.0195195 5.6919 0 5.63369 0 5.57385C0 5.51401 0.0195195 5.4558 0.0555967 5.40806C0.0916739 5.36032 0.14234 5.32565 0.199906 5.30931L3.57407 4.43868C3.76433 4.38963 3.93799 4.2905 4.07698 4.15161C4.21596 4.01272 4.31521 3.83913 4.3644 3.6489L5.23447 0.274735C5.25065 0.216941 5.28528 0.166025 5.3331 0.129755C5.38091 0.0934852 5.43928 0.0738525 5.49929 0.0738525C5.55931 0.0738525 5.61767 0.0934852 5.66549 0.129755C5.7133 0.166025 5.74794 0.216941 5.76411 0.274735L6.63364 3.6489C6.68274 3.83923 6.78195 4.01293 6.92094 4.15193C7.05993 4.29092 7.23363 4.39013 7.42397 4.43923L10.7981 5.30876C10.8562 5.32476 10.9073 5.35936 10.9438 5.40725C10.9803 5.45513 11 5.51366 11 5.57385C11 5.63404 10.9803 5.69257 10.9438 5.74046C10.9073 5.78834 10.8562 5.82294 10.7981 5.83895L7.42397 6.70847C7.23363 6.75758 7.05993 6.85678 6.92094 6.99578C6.78195 7.13477 6.68274 7.30847 6.63364 7.4988L5.76356 10.873C5.74739 10.9308 5.71275 10.9817 5.66494 11.0179C5.61712 11.0542 5.55876 11.0739 5.49874 11.0739C5.43873 11.0739 5.38036 11.0542 5.33255 11.0179C5.28473 10.9817 5.2501 10.9308 5.23392 10.873L4.3644 7.4988Z' fill='%231E61F0'/%3E%3C/svg%3E");
  --spark4:url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.3344 22.0879C14.3185 21.5633 14.1624 21.0527 13.8822 20.6089C13.602 20.1652 13.208 19.8047 12.7412 19.5649L4.46636 15.3145C4.32607 15.2381 4.21452 15.118 4.14865 14.9725C4.08279 14.8269 4.06619 14.6639 4.10139 14.508C4.13659 14.3522 4.22166 14.2121 4.34369 14.109C4.46572 14.0059 4.61805 13.9454 4.77757 13.9367L14.0763 13.6542C14.6006 13.6383 15.1111 13.4823 15.5548 13.2024C15.9984 12.9225 16.3589 12.5288 16.5989 12.0624L20.8493 3.78752C20.9254 3.64654 21.0456 3.53432 21.1914 3.46799C21.3373 3.40166 21.5008 3.38487 21.6571 3.42017C21.8134 3.45547 21.9538 3.54092 22.057 3.6635C22.1602 3.78607 22.2204 3.93903 22.2285 4.09905L22.5082 13.3971C22.5241 13.9216 22.6803 14.4323 22.9605 14.876C23.2407 15.3197 23.6347 15.6803 24.1014 15.9201L32.3766 20.169C32.5183 20.2448 32.6312 20.365 32.698 20.5112C32.7648 20.6573 32.7818 20.8214 32.7464 20.9781C32.711 21.1348 32.6251 21.2756 32.502 21.3789C32.3789 21.4821 32.2253 21.5421 32.0648 21.5497L22.7667 21.8294C22.2422 21.8453 21.7315 22.0015 21.2878 22.2817C20.8441 22.5619 20.4836 22.9558 20.2438 23.4226L15.9933 31.6975C15.9172 31.8384 15.7971 31.9507 15.6512 32.017C15.5054 32.0833 15.3419 32.1001 15.1856 32.0648C15.0293 32.0295 14.8889 31.9441 14.7857 31.8215C14.6825 31.6989 14.6223 31.5459 14.6141 31.3859L14.3344 22.0879Z'/%3E%3C/svg%3E");
}

/* ---------- TLAČIDLÁ ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:var(--padding-button);border-radius:var(--rounded-md);
  font-weight:700;font-size:var(--text-base);line-height:var(--lineheight-m);
  border:1px solid transparent;transition:var(--duration);white-space:nowrap;
}
.btn svg{width:18px;height:18px;flex:none}
.btn--yellow{background:var(--yellow);border-color:var(--yellow);color:var(--gray-800)}
.btn--yellow:hover{filter:brightness(.94)}
.btn--blue{background:var(--blue);border-color:var(--blue);color:var(--white)}
.btn--blue:hover{filter:brightness(1.08)}
.btn--outline{background:var(--white);border-color:rgba(30,97,240,.25);color:var(--blue);border-radius:14px}
.btn--outline:hover{background:var(--blue-200);border-color:rgba(30,97,240,.5)}
.btn--glass{
  background:rgba(255,255,255,.2);border-color:rgba(242,246,252,.5);color:var(--white);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.btn--glass:hover{background:rgba(255,255,255,.32)}
.btn--lg{padding:16px 32px;font-size:var(--text-md);border-radius:14px}
.btn--block{width:100%}
.btn--sm{padding:8px 16px;font-size:var(--text-sm)}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}

.link-arrow{
  display:inline-flex;align-items:center;gap:10px;font-weight:700;
  color:inherit;transition:var(--duration);
}
.link-arrow::after{
  content:"";width:16px;height:10px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg width='11' height='10' viewBox='0 0 11 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5H9.47M9.47 5L5.47 1M9.47 5L5.47 9' stroke='black' stroke-width='1.41' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg width='11' height='10' viewBox='0 0 11 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5H9.47M9.47 5L5.47 1M9.47 5L5.47 9' stroke='black' stroke-width='1.41' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform var(--duration);
}
.link-arrow:hover::after{transform:translateX(4px)}
.link-underline{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px}

/* ============================================================
   HLAVIČKA
   ============================================================ */
.hdr{
  position:sticky;top:0;left:0;right:0;z-index:60;width:100%;
  border-bottom:1px solid transparent;
  background:transparent;transition:var(--duration);
}
.hdr.is-stuck,.hdr.is-open{background:var(--white);border-bottom-color:var(--gray-300)}
.hdr__in{display:flex;align-items:center;height:var(--height-header)}

.brand{display:flex;align-items:center;gap:2px;margin-right:34.71px;flex:none}
/* Ich logo má 165×37 px — wordmark držím na podobnej stope,
   aby menu za ním začínalo približne v rovnakom mieste. */
.brand__w{
  font-size:33px;font-weight:800;letter-spacing:-.03em;line-height:1;
  color:var(--white);transition:var(--duration);
}
.brand .spark{width:17px;height:18px;color:var(--white);transform:translateY(-8px)}
.hdr.is-stuck .brand__w,.hdr.is-open .brand__w{color:var(--black)}
.hdr.is-stuck .brand .spark,.hdr.is-open .brand .spark{color:var(--yellow)}

.nav{display:flex;align-items:center;gap:26px}
.nav a{font-size:var(--text-sm);font-weight:500;color:var(--white);transition:var(--duration)}
.nav a:hover{opacity:.75}
.hdr.is-stuck .nav a{color:var(--gray-800)}
.hdr__sp{flex:1}
/* Pravý blok = otváracie hodiny + telefón + žlté CTA, zarovnané na pravý
   okraj kontajnera. Rozostupy 24px a 20px sú prevzaté z ich .site-menubar. */
.hdr__act{display:flex;align-items:center;gap:20px}
.hdr__hours{font-size:var(--text-sm);font-weight:500;color:var(--white);
  white-space:nowrap;margin-right:4px;transition:var(--duration)}
.hdr.is-stuck .hdr__hours,.hdr.is-open .hdr__hours{color:var(--gray-800)}
.hdr__tel{
  display:inline-flex;align-items:center;gap:9px;height:40px;font-weight:700;font-size:var(--text-sm);
  color:var(--white);padding:0 17px;border-radius:var(--rounded-md);
  background:rgba(255,255,255,.2);border:1px solid rgba(242,246,252,.5);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:var(--duration);
}
.hdr__tel svg{width:15px;height:15px}
.hdr.is-stuck .hdr__tel{background:var(--blue-200);border-color:var(--blue-240);color:var(--blue)}
.hdr__act > .btn{height:40px}

.burger{display:none;width:48px;height:48px;padding:0;border-radius:var(--rounded-md);
  background:var(--yellow);flex-direction:column;align-items:center;justify-content:center;gap:5px;line-height:0}
.burger span{display:block;width:18px;height:2px;background:var(--gray-800);border-radius:2px;transition:var(--duration)}
.hdr.is-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.hdr.is-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

@media (max-width:1000px){
  .burger{display:flex}
  .nav{
    position:absolute;top:var(--height-header);left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--white);padding:8px 24px 24px;
    box-shadow:var(--shadow-hover);
    display:none;
  }
  .hdr.is-open .nav{display:flex}
  .nav a{color:var(--gray-800);font-size:var(--text-md);font-weight:600;padding:14px 0;border-bottom:1px solid var(--gray-300)}
  .hdr__tel,.hdr__hours{display:none}
  .hdr__act .btn{display:none}
}

/* ============================================================
   HERO
   ============================================================ */
/* Rozmery 1:1 podľa easyclean.nl: min-height 563px, padding-top 100px,
   posun o výšku hlavičky hore, obsahový stĺpec 555px.
   POZOR: img/hero.jpg je fotka stiahnutá z easyclean.nl — pred spustením
   naostro ju treba vymeniť za vlastnú alebo licencovanú. */
.banner{
  position:relative;display:flex;flex-direction:column;
  min-height:563px;margin-top:calc((var(--height-header) + 1px) * -1);
  padding-top:100px;
  color:var(--white);
  /* webp, 1920 px — pôvodný hero.jpg mal 2,6 MB a na mobilných dátach
     stihla časť ľudí odísť skôr, než sa stránka vykreslila */
  background:url('img/hero.webp') center/cover no-repeat;
}
.banner::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(115deg,rgba(0,0,0,1) -40%,rgba(0,0,0,.12) 78%,rgba(0,0,0,0) 100%);
}
.banner > *{position:relative;z-index:2}
.banner__in{max-width:1110px;margin-right:auto;width:100%}
.banner__col{max-width:555px}
.banner h1{position:relative;margin-bottom:18.62px;color:var(--white)}
.banner h1 .spark{
  position:absolute;top:-30px;left:-32px;width:30px;height:31px;color:var(--white);
}
.banner__p{font-size:var(--text-md);line-height:var(--lineheight-m);color:rgba(255,255,255,.92);margin-bottom:30px}
.banner__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
/* Odznaky + „Naše služby" v jednom riadku — presne ako .row-extra-banner v easyclean. */
.banner__badges{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:0}
.banner__badges .link-arrow{margin-left:4px;font-size:var(--text-sm)}
.badge-glass{
  display:flex;align-items:center;gap:12px;height:64px;padding:11px 16px;
  border-radius:13.2px;background:rgba(255,255,255,.25);border:1px solid rgba(242,246,252,.5);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.badge-glass__ico{width:37px;height:37px;display:grid;place-items:center;flex:none}
.badge-glass__ico svg{width:100%;height:100%}
.badge-glass b{display:block;font-size:14.5px;line-height:1.475;font-weight:700}
.badge-glass span{display:block;font-size:10.73px;line-height:1.2;opacity:.9}
.stars{display:flex;gap:2px;color:var(--yellow);font-size:13px;letter-spacing:1px}
.banner__note{font-size:var(--text-sm);color:rgba(255,255,255,.75)}
.banner__foot{margin-top:auto}

/* Vertikálny rytmus 1:1 s easyclean.nl (merané na 1440px):
   banner padding-top 100 + 80 spacer → h1 na 180px; h1 mb 18,62;
   text → CTA 43,5; CTA → odznaky 21,5; odznaky → USP lišta 92.
   Mobil sa toho nedotýka. */
@media (min-width:901px){
  .banner__in{padding-top:80px}
  .banner__p{margin-bottom:43.5px}
  .banner__cta{margin-bottom:21.5px}
  .banner__badges{margin-bottom:92px}
  .banner__foot{margin-top:0}
}

@media (max-width:900px){
  .banner{min-height:auto;padding-top:calc(var(--height-header) + 60px);padding-bottom:0}
  .banner h1 .spark{position:static;display:block;margin-bottom:10px}
  .banner__col{max-width:none}
  .banner__badges .link-arrow{flex-basis:100%;margin-left:0;margin-top:2px}
}

/* ---------- USP LIŠTA ---------- */
/* Sklo + biely text + žlté ikony. Beží ako marquee na každej šírke —
   na easyclean.nl to na desktope stojí, tu to má hýbať vždy. */
.usp{
  border-top:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);
  overflow:hidden;padding-top:24px;padding-bottom:25px;
}
/* Odstup riešime margin-right (nie gap), aby posun o -50 % nadväzoval bez skoku. */
.usp__row{
  display:flex;align-items:center;width:max-content;
  animation:marquee 34s linear infinite;
}
.usp:hover .usp__row{animation-play-state:paused}
.usp__it{display:flex;align-items:center;gap:12px;margin-right:56px;font-size:var(--text-sm);
  font-weight:600;color:var(--white);white-space:nowrap}
.usp__it svg{width:20px;height:20px;flex:none;color:var(--yellow)}

/* ---------- MARQUEE ---------- */
@keyframes marquee{ to{ transform:translateX(-50%) } }
.marquee{position:relative;overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.marquee__track{display:flex;width:max-content;animation:marquee 44s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__it{width:260px;height:180px;margin-right:24px;border-radius:var(--rounded-lg);overflow:hidden;flex:none;background:var(--blue-200)}
.marquee__it img{width:100%;height:100%}

/* lišta obcí — rozmery a typografia z ich „Al vertrouwd door" */
.logos-head{font-size:var(--text-base);font-weight:600;color:var(--gray-800)}
.marquee__track--logos{align-items:center;animation-duration:40s}
.marquee__track--logos > *{margin-right:48px}
.trust__it{
  flex:none;display:flex;align-items:center;justify-content:center;
  min-width:140px;height:73px;padding-inline:8px;text-align:center;
  font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.2;
  color:#b9bec7;transition:var(--duration);
}
.trust__it:hover{color:var(--gray-700)}

/* ============================================================
   SLUŽBY
   ============================================================ */
/* Sekcia má jemný podklad, aby malo sklo čo rozostrovať —
   na čisto bielom pozadí by backdrop-filter nebolo vidieť. */
.sec--glass{background:linear-gradient(158deg,#f7faff 0%,#eaf1ff 48%,#f9fbff 100%)}
.srv{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.srv__it{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  text-align:center;padding:48px 24px;min-height:200px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.75);
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 7px 40px 0 rgba(97,97,130,.07);
  border-radius:var(--rounded-lg);transition:var(--duration);cursor:pointer;
}
.srv__it:hover{background:rgba(255,255,255,.85);border-color:rgba(30,97,240,.25);box-shadow:var(--shadow-hover)}
.srv__it svg{width:50px;height:50px;stroke:var(--gray-800);transition:var(--duration)}
.srv__it:hover svg{stroke:var(--blue)}
.srv__it b{font-size:var(--text-md);font-weight:700;line-height:1.35}
.srv__it:hover b{color:var(--blue)}
.srv__it small{display:block;font-size:var(--text-sm);font-weight:500;color:var(--gray-700);margin-top:4px}
.srv__foot{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center;margin-top:44px}
@media (max-width:1000px){ .srv{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .srv{grid-template-columns:1fr} .srv__it{padding:32px 20px;min-height:0} }

/* ============================================================
   KALKULAČKA (cena z fotky)
   ============================================================ */
.calc-sec{background:var(--blue);color:var(--white);padding-block:96px}
.calc-sec .eyebrow{color:rgba(255,255,255,.6)}
.calc-sec .sec-head p{color:rgba(255,255,255,.8)}

.quote{
  max-width:860px;margin-inline:auto;background:var(--white);color:var(--gray-800);
  border-radius:var(--rounded-xl);overflow:hidden;box-shadow:0 24px 60px -20px rgba(0,0,0,.35);
}
.tabs{display:flex;gap:8px;padding:14px;background:var(--blue-200)}
.tab{
  flex:1;display:flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 16px;border-radius:var(--rounded-md);font-weight:800;font-size:var(--text-sm);
  color:var(--gray-700);transition:var(--duration);
}
.tab svg{width:18px;height:18px}
.tab:hover{color:var(--blue)}
.tab.is-on{background:var(--white);color:var(--blue);box-shadow:var(--shadow-card)}
.up__tag{
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  background:var(--yellow);color:var(--gray-800);padding:3px 7px;border-radius:var(--rounded-full);
}
.pane{display:none;padding:clamp(20px,3vw,36px)}
.pane.is-on{display:block}

.shot{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
  padding:38px 24px;border:2px dashed var(--blue-240);border-radius:var(--rounded-lg);
  background:var(--blue-200);cursor:pointer;transition:var(--duration);
}
.shot:hover,.shot.is-drag{border-color:var(--blue);background:#eaf1ff}
.shot__ico{width:52px;height:52px;border-radius:var(--rounded-full);display:grid;place-items:center;
  background:var(--blue);color:var(--white);margin-bottom:6px}
.shot__ico svg{width:24px;height:24px}
.shot b{font-size:var(--text-md);font-weight:800}
.shot span{font-size:var(--text-sm);color:var(--gray-700);max-width:380px}
.shot input{display:none}
.shots{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.shots figure{position:relative;width:88px;height:88px;border-radius:var(--rounded);overflow:hidden}
.shots img{width:100%;height:100%}
.shots button{
  position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:var(--rounded-full);
  background:rgba(0,0,0,.65);color:#fff;font-size:14px;line-height:1;display:grid;place-items:center;
}
.hint{margin-top:14px;font-size:var(--text-sm);color:var(--gray-700);text-align:center}
.swap{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}

.spin{display:none;align-items:center;justify-content:center;gap:12px;margin-top:18px;
  font-size:var(--text-sm);color:var(--gray-700)}
.spin.is-on{display:flex}
.spin i{width:18px;height:18px;border-radius:50%;border:2px solid var(--blue-240);
  border-top-color:var(--blue);animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* konfigurátor */
.grid-ico{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ic{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:20px 12px 14px;background:var(--blue-200);border:1px solid transparent;
  border-radius:var(--rounded-lg);cursor:pointer;transition:var(--duration);text-align:center;
}
.ic:hover{background:var(--white);border-color:rgba(30,97,240,.2);box-shadow:var(--shadow-hover)}
.ic.on{background:var(--white);border-color:var(--blue)}
.ic svg{width:36px;height:36px;stroke:var(--gray-800)}
.ic.on svg{stroke:var(--blue)}
.ic b{font-size:var(--text-sm);font-weight:700;line-height:1.3}
.ic > span{font-size:var(--text-xs);color:var(--gray-700)}
.ic__q{
  position:absolute;top:8px;right:8px;min-width:22px;height:22px;padding:0 6px;
  border-radius:var(--rounded-full);background:var(--blue);color:#fff;
  font-size:11px;font-weight:800;display:grid;place-items:center;opacity:0;transition:var(--duration);
}
.ic.on .ic__q{opacity:1}
.ic__pm{display:flex;align-items:center;gap:10px;margin-top:6px}
.ic__pm button{width:26px;height:26px;border-radius:var(--rounded-full);background:var(--white);
  border:1px solid var(--gray-300);font-weight:800;line-height:1;display:grid;place-items:center}
.ic__pm button:hover{border-color:var(--blue);color:var(--blue)}
.ic__pm span{min-width:16px;font-weight:800;font-size:var(--text-sm)}
@media (max-width:640px){ .grid-ico{grid-template-columns:repeat(2,1fr)} }

/* výsledok */
.result{display:none;margin-top:8px;background:var(--blue-200);border-radius:var(--rounded-lg);padding:28px}
.result.is-on{display:block}
.result__desc{font-size:var(--text-sm);color:var(--gray-700);margin-bottom:16px;line-height:var(--lineheight-m)}
.result__hd{display:flex;align-items:center;justify-content:space-between;gap:12px}
.result__lb{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--gray-700)}
.result__v{font-size:var(--text-5xl);font-weight:800;color:var(--blue);line-height:1.1;margin:6px 0 16px}
.result__items{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.result__items li{display:flex;justify-content:space-between;gap:14px;font-size:var(--text-sm);
  padding-bottom:8px;border-bottom:1px solid var(--blue-240)}
.result__items li span:last-child{font-weight:700;white-space:nowrap}
.result__n{font-size:var(--text-sm);color:var(--gray-700);margin-bottom:18px}

.retry__ico{width:52px;height:52px;border-radius:var(--rounded-full);background:var(--blue-240);
  color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}
.retry__ico svg{width:24px;height:24px}
.retry__t{display:block;text-align:center;font-size:var(--text-lg);font-weight:800;margin-bottom:10px}
.retry__p{text-align:center;font-size:var(--text-sm);color:var(--gray-700);margin-bottom:20px;line-height:var(--lineheight-m)}
.retry__swap{display:block;margin:12px auto 0;color:var(--blue);font-weight:700;
  text-decoration:underline;text-underline-offset:3px;font-size:var(--text-sm)}
.ups{display:none}

/* ============================================================
   PREČO AURA TEP
   ============================================================ */
.why{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
/* .custom-media-content: dva stĺpce vedľa seba, prvý posunutý o 50px nižšie,
   nálepka visí 94px doľava od druhej fotky a prekrýva prvú. */
.why__media{position:relative;display:flex;flex-wrap:nowrap;gap:20px;padding-left:94px}
.why__media figure{border-radius:var(--rounded-xl);overflow:hidden;min-width:0}
.why__media-a{margin-top:50px;flex:0 0 34%;align-self:flex-start}
.why__media-b{position:relative;flex:1 1 auto;min-width:0}
.why__media img{width:100%;height:100%;object-fit:cover}
.why__media-a img{aspect-ratio:184/396}
.why__media-b img{aspect-ratio:3/4}
.why__media figure:hover img{transform:scale(1.04)}
.why__t{font-size:var(--text-4xl)}
.sticker{
  position:absolute;left:-94px;top:74px;z-index:2;
  display:flex;align-items:flex-end;max-width:158.72px;min-height:158.72px;padding:31px;
  border-radius:23.66px;background:var(--yellow);color:var(--gray-800);
  font-weight:800;font-size:21.62px;line-height:var(--lineheight-s);
  transform:rotate(-10.46deg);
}
.sticker > span{position:relative;display:block}
.sticker > span::after{
  content:"";position:absolute;top:-38px;right:-20px;width:29.37px;height:29.37px;
  background:var(--gray-800);transform:rotate(-10.46deg);
  -webkit-mask:var(--spark4) center/contain no-repeat;
          mask:var(--spark4) center/contain no-repeat;
}
.why h2{margin-bottom:20px}
.why p{color:var(--gray-700);margin-bottom:32px}
.stats{display:flex;flex-wrap:wrap;gap:40px;margin-bottom:36px}
.stat b{display:flex;align-items:baseline;color:var(--blue);font-weight:700;font-size:var(--text-4xl);
  line-height:var(--lineheight-s);margin-bottom:8px;white-space:nowrap}
.stat > span{font-size:var(--text-sm);color:var(--gray-700);display:block;max-width:150px}
.why__cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
@media (max-width:1000px){
  .why{grid-template-columns:1fr;gap:56px}
}
@media (max-width:560px){
  .why__media-a{display:none}
  .why__media{padding-left:40px}
  .sticker{left:-40px;top:-16px;transform:rotate(-8deg) scale(.8);transform-origin:left top}
}

/* ============================================================
   AKO TO FUNGUJE + PRED/PO
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{background:var(--white);border-radius:var(--rounded-lg);padding:32px;height:100%;
  box-shadow:var(--shadow-card)}
.step__n{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--rounded-full);
  background:var(--blue);color:#fff;font-weight:800;font-size:var(--text-sm);margin-bottom:18px}
.step h3{font-size:22.69px;margin-bottom:12px}
.step p{font-size:14.75px;color:var(--gray-700);line-height:var(--lineheight-m)}
@media (max-width:1000px){ .steps{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .steps{grid-template-columns:1fr} }

.ba{position:relative;border-radius:var(--rounded-xl);overflow:hidden;user-select:none;touch-action:pan-y;
  aspect-ratio:1/1;max-width:620px;margin-inline:auto}
.ba > img{width:100%;height:100%;display:block}
.ba__top{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden}
.ba__top img{height:100%;max-width:none;display:block}
.ba__hand{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--white);
  transform:translateX(-50%);pointer-events:none;box-shadow:0 0 12px rgba(0,0,0,.3)}
.ba__hand::after{
  content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);
  border-radius:var(--rounded-full);background:var(--white);box-shadow:0 4px 18px rgba(0,0,0,.25);
}
.ba__lb{position:absolute;top:16px;padding:6px 12px;border-radius:var(--rounded-full);
  font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  background:rgba(0,0,0,.55);color:#fff;backdrop-filter:blur(6px)}
.ba__lb--l{left:16px}
.ba__lb--r{right:16px}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;appearance:none;margin:0}

/* galéria */
.gal{position:relative}
.gal__track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding-bottom:4px}
.gal__track::-webkit-scrollbar{display:none}
.gal__it{flex:0 0 clamp(240px,32%,360px);scroll-snap-align:start;border-radius:var(--rounded-lg);overflow:hidden}
.gal__it img{width:100%;aspect-ratio:4/3}
.gal__nav{
  position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;
  border-radius:var(--rounded-full);background:var(--white);box-shadow:var(--shadow-hover);
  display:grid;place-items:center;font-size:24px;line-height:1;color:var(--blue);z-index:2;
}
.gal__nav:disabled{opacity:0;pointer-events:none}
.gal__nav--prev{left:-16px}
.gal__nav--next{right:-16px}

/* ============================================================
   RECENZIE
   ============================================================ */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rev{background:var(--white);border-radius:var(--rounded-lg);padding:28px;box-shadow:var(--shadow-card);
  display:flex;flex-direction:column;gap:14px}
.rev__st{color:var(--yellow);font-size:16px;letter-spacing:2px;
  -webkit-text-stroke:.4px rgba(0,0,0,.18)}
.rev p{font-size:var(--text-sm);color:var(--gray-700);line-height:var(--lineheight-m);flex:1}
.rev footer{display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:1px solid var(--gray-300)}
.rev footer b{font-weight:700;font-size:var(--text-sm)}
.rev footer em{font-style:normal;font-size:var(--text-xs);color:var(--gray)}
.revs--empty{grid-column:1/-1;text-align:center;color:var(--gray-700);font-size:var(--text-sm)}
@media (max-width:1000px){ .revs{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .revs{grid-template-columns:1fr} }

/* ============================================================
   REZERVÁCIA
   ============================================================ */
/* min-width:0 je tu povinné. Bez neho má grid položka min-width:auto,
   roztiahne sa na šírku pásu 45 dní a `overflow-x:auto` na .days sa
   nikdy nezapne — celá stránka potom pretečie doprava. */
.book{background:var(--blue);color:var(--white);border-radius:var(--rounded-xl);
  padding:clamp(28px,4vw,56px);max-width:860px;width:100%;min-width:0;margin-inline:auto}
.book .eyebrow{color:rgba(255,255,255,.6)}
.book h2{color:var(--white);margin-bottom:14px}
.book .lead{color:rgba(255,255,255,.82);margin-bottom:32px}

.bk{margin-bottom:28px}
.bk__t{display:flex;align-items:center;gap:11px;font-weight:800;font-size:var(--text-md);margin-bottom:14px}
.bk__t i{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--rounded-full);
  background:var(--yellow);color:var(--gray-800);font-style:normal;font-size:13px;font-weight:800}
.days{display:flex;gap:8px;min-width:0;max-width:100%;overflow-x:auto;
  padding-bottom:6px;scrollbar-width:thin;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.days::-webkit-scrollbar{height:5px}
.days::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:3px}
.day{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;
  gap:2px;min-width:62px;
  padding:10px 8px;border-radius:var(--rounded-md);background:rgba(242,246,252,.15);
  border:1px solid rgba(242,246,252,.2);color:var(--white);transition:var(--duration)}
.day span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.75}
.day b{font-size:var(--text-lg);font-weight:800;line-height:1.1}
.day:hover:not(:disabled){background:rgba(242,246,252,.3)}
.day.on{background:var(--white);color:var(--blue);border-color:var(--white)}
.day:disabled{opacity:.3;cursor:not-allowed}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slot{padding:11px 18px;border-radius:var(--rounded-md);background:rgba(242,246,252,.15);
  border:1px solid rgba(242,246,252,.2);color:var(--white);font-weight:700;font-size:var(--text-sm);transition:var(--duration)}
.slot:hover:not(:disabled){background:rgba(242,246,252,.3)}
.slot.on{background:var(--yellow);color:var(--gray-800);border-color:var(--yellow)}
.slot:disabled{opacity:.3;cursor:not-allowed}

.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){ .f-row{grid-template-columns:1fr} }
.f label{display:block;font-size:var(--text-sm);font-weight:600;margin-bottom:8px;color:rgba(255,255,255,.85)}
.f input,.f select{
  padding:15px 18px;border-radius:14px;background:rgba(242,246,252,.15);
  border:1px solid rgba(242,246,252,.25);color:var(--white);font-size:var(--text-base);
}
.f select{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='white' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:calc(100% - 16px) center}
.f select option{color:var(--gray-800)}
.f input::placeholder{color:rgba(255,255,255,.5)}
.f input:focus,.f select:focus{border-color:var(--yellow);outline:none}
.msg{display:none;font-size:var(--text-xs);color:#ffd7d2;margin-top:6px}
.f--err input,.f--err select{border-color:#ff9d92}
.f--err .msg,.bk.err > .msg,.bk.err .msg{display:block}
.bk__km{font-size:var(--text-sm);color:rgba(255,255,255,.7);margin-top:10px}

.consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:13px;
  color:rgba(255,255,255,.85);line-height:1.55;cursor:pointer}
.consent input{width:20px;height:20px;flex:none;margin-top:2px;border-radius:5px;
  border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.15);cursor:pointer}
.consent input:checked{background:var(--yellow);border-color:var(--yellow)}
.consent a{text-decoration:underline}

.bk__sum{background:rgba(242,246,252,.12);border:1px solid rgba(242,246,252,.2);
  border-radius:var(--rounded-lg);padding:20px;margin-bottom:22px;font-size:var(--text-sm)}
.bk__sum ul{display:flex;flex-direction:column;gap:10px}
.bk__sum li{display:flex;justify-content:space-between;gap:14px}
.bk__sum li span{color:rgba(255,255,255,.7)}
.bk__sum li.tot{padding-top:10px;border-top:1px solid rgba(255,255,255,.2);font-size:var(--text-md)}
.bk__sum li.tot b{color:var(--yellow);font-size:var(--text-lg)}
.bk__note{text-align:center;font-size:var(--text-xs);color:rgba(255,255,255,.6);margin-top:14px}

/* Rezervácia na mobile: menšie dlaždice dní, ale stále nad 44px na prst. */
@media (max-width:600px){
  .book{border-radius:var(--rounded-lg);padding:24px 18px}
  .bk{margin-bottom:22px}
  .day{min-width:54px;padding:9px 6px}
  .day b{font-size:var(--text-md)}
  .day span{font-size:10px}
  .slot{padding:11px 14px;flex:1 1 calc(33.333% - 6px);min-height:46px}
  .f input,.f select{padding:13px 15px}
  .bk__sum{padding:16px}
}

.sent{display:none;text-align:center}
.sent__icon{width:64px;height:64px;border-radius:var(--rounded-full);background:var(--yellow);
  color:var(--gray-800);display:grid;place-items:center;margin:0 auto 18px}
.sent__icon svg{width:30px;height:30px}
.sent b{display:block;font-size:var(--text-xl);font-weight:800;margin-bottom:12px}
.sent p{color:rgba(255,255,255,.82);max-width:480px;margin-inline:auto}
.book.is-sent{min-height:380px;display:flex;flex-direction:column;justify-content:center}
.book.is-sent .split__hd{display:none}
.is-sent .sent{display:block}
.is-sent form{display:none}

.quote-req-banner{display:none;gap:16px;align-items:flex-start;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);border-radius:var(--rounded-lg);padding:20px;margin-bottom:24px}
.quote-req-banner.is-shown{display:flex}
.quote-req-banner__ico{width:42px;height:42px;border-radius:50%;background:var(--yellow);
  color:var(--gray-800);display:grid;place-items:center;flex:none}
.quote-req-banner__ico svg{width:22px;height:22px}
.quote-req-banner__t b{display:block;font-size:var(--text-md);margin-bottom:6px}
.quote-req-banner__t p{font-size:var(--text-sm);color:rgba(255,255,255,.84);margin:0 0 14px}

/* ============================================================
   CTA VÝBER  (.section-cta-layout z easyclean.nl)
   Modrý pás na celú šírku + biela zaoblená karta v ňom.
   ============================================================ */
.cta-band{background:var(--blue-200);padding:104px 24px}
.cta-card{
  max-width:var(--container);margin-inline:auto;background:var(--white);
  border-radius:var(--rounded-lg);padding:81px 24px 110px;overflow:hidden;text-align:center;
}
.cta-card h2{max-width:533px;margin-inline:auto;margin-bottom:50px}

/* zvýraznené slovo s iskričkami — presne ako ich heading-cta span */
.hl{position:relative;display:inline-block;color:var(--blue)}
.hl::before,.hl::after{content:"";position:absolute;display:inline-block;pointer-events:none}
.hl::before{top:16px;left:-19px;width:29px;height:52px;background:var(--spark3) center/contain no-repeat}
.hl::after{top:16px;right:-5px;width:31px;height:13px;background:var(--spark2) center/contain no-repeat}

.cta-card__sub{font-size:22px;font-weight:500;line-height:var(--lineheight-s);margin-bottom:48px}

.choice{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto;text-align:left}
.choice__it{
  padding:26px 33px;border-radius:var(--rounded-lg);border:1px solid var(--blue-200);
  background:var(--blue-200);transition:var(--duration);cursor:pointer;
}
.choice__it:hover{border-color:rgba(30,97,240,.2);background:var(--white);box-shadow:var(--shadow-hover)}
.choice__it b{display:block;font-size:22px;font-weight:600;line-height:1.3;margin-bottom:10px}
.choice__it .link-arrow{color:var(--blue);font-size:var(--text-base);font-weight:500}
@media (max-width:900px){
  .cta-band{padding:64px 24px}
  .cta-card{padding:48px 20px 56px}
  .cta-card h2{margin-bottom:24px}
  .cta-card__sub{margin-bottom:37px}
}
@media (max-width:640px){
  .choice{grid-template-columns:1fr}
  .hl::before,.hl::after{display:none}
}

/* ============================================================
   FAQ
   ============================================================ */
.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.faq h2{margin-bottom:24px}
.faq details{border-bottom:1px solid var(--gray-300);padding:22px 0}
.faq details:first-of-type{border-top:1px solid var(--gray-300)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;
  font-weight:700;font-size:var(--text-md);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";width:14px;height:14px;flex:none;background:var(--blue);transition:transform var(--duration);
  -webkit-mask:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='black' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='black' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details p{margin-top:14px;color:var(--gray-700);font-size:var(--text-sm);line-height:var(--lineheight-m)}
@media (max-width:1000px){ .faq{grid-template-columns:1fr;gap:36px} }

/* ============================================================
   PÄTIČKA
   ============================================================ */
.ftr{background:var(--white);border-top:1px solid var(--gray-300);padding-block:64px 0}
.ftr__top{display:grid;grid-template-columns:1.2fr 2fr;gap:56px;margin-bottom:48px}
.ftr__brand{display:flex;align-items:center;gap:2px;margin-bottom:18px}
.ftr__brand .brand__w{color:var(--black)}
.ftr__brand .spark{color:var(--yellow)}
.ftr__about{font-size:15px;color:var(--gray-700);line-height:var(--lineheight-m);max-width:340px}
.ftr__row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ftr__item{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm)}
.ftr__item svg{width:20px;height:20px;color:var(--blue);margin-bottom:6px}
.ftr__item b{font-size:13.67px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ftr__item span{color:var(--gray-700)}
.ftr__item:hover span{color:var(--blue)}
.areas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.areas span{font-size:var(--text-xs);color:var(--gray-700);background:var(--blue-200);
  padding:6px 12px;border-radius:var(--rounded-full)}
.privacy{border-top:1px solid var(--gray-300);padding-top:24px;margin-bottom:24px}
.privacy summary{font-weight:700;font-size:var(--text-sm);cursor:pointer}
.privacy p{font-size:13px;color:var(--gray-700);margin-top:12px;line-height:var(--lineheight-m)}
.privacy a{color:var(--blue);text-decoration:underline}
.ftr__bot{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;
  border-top:1px solid var(--gray-300);padding-block:24px;font-size:13px;color:var(--gray)}
@media (max-width:900px){
  .ftr__top{grid-template-columns:1fr;gap:32px}
  .ftr__row{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   MOBILNÁ LIŠTA
   ============================================================ */
.bar{
  position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;gap:10px;padding:12px 16px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-top:1px solid var(--gray-300);
  transform:translateY(110%);transition:transform var(--duration);
}
.bar .btn{flex:1}
.bar.is-on{transform:translateY(0)}
@media (max-width:900px){ .bar{display:flex} body{padding-bottom:0} }

/* ============================================================
   UPSELL MODAL
   ============================================================ */
.modal-ovl{
  position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(15,23,42,.55);backdrop-filter:blur(6px);
}
.modal-ovl.is-open{display:flex;animation:fade .25s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal-box{
  position:relative;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;
  background:var(--white);border-radius:var(--rounded-xl);padding:28px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.5);animation:pop .3s cubic-bezier(.2,.9,.3,1);
}
@keyframes pop{from{transform:translateY(18px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:var(--rounded-full);
  background:var(--blue-200);color:var(--gray-700);display:grid;place-items:center;font-size:14px}
.modal-close:hover{background:var(--blue-240)}
.modal-hd h3{font-size:var(--text-xl);margin-bottom:18px;padding-right:40px}
.modal-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.up-card{display:block;border:1px solid var(--gray-300);border-radius:var(--rounded-lg);
  overflow:hidden;cursor:pointer;transition:var(--duration)}
.up-card:hover{border-color:var(--blue-240)}
.up-card.on{border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,97,240,.12)}
.up-card__img{width:100%;height:150px;object-fit:cover}
.up-card__body{padding:16px}
.up-card__row{display:flex;gap:12px;align-items:flex-start}
.up-card__row input{width:20px;height:20px;flex:none;margin-top:3px;border-radius:5px;
  border:1px solid var(--gray-300);cursor:pointer}
.up-card__row input:checked{background:var(--blue);border-color:var(--blue)}
.up-card__t{flex:1}
.up-card__t b{display:block;font-size:var(--text-base);font-weight:800;margin-bottom:4px}
.up-card__t p{font-size:13px;color:var(--gray-700);line-height:1.5}
.up-card__badge{margin-left:8px;font-size:10px;font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;background:var(--yellow);color:var(--gray-800);padding:3px 7px;border-radius:var(--rounded-full)}
.up-card__p{font-weight:800;color:var(--blue);white-space:nowrap}
.up-card__ben{margin-top:12px;display:flex;flex-direction:column;gap:7px}
.up-card__ben li{position:relative;padding-left:26px;font-size:13px;color:var(--gray-700);line-height:1.5}
.up-card__ben li::before{
  content:"";position:absolute;left:0;top:3px;width:16px;height:16px;
  background:url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='0.59' width='16' height='16' rx='8' fill='%231E61F0' fill-opacity='0.2'/%3E%3Cpath d='M12.9 6.36l-6 6a.5.5 0 01-.8 0l-2.63-2.62a.52.52 0 01.75-.75L6.5 11.17l5.6-5.6a.53.53 0 01.8.79z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}
.modal-bot{display:flex;flex-direction:column;gap:12px}
.modal-tot{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;
  background:var(--blue-200);border-radius:var(--rounded-md)}
.modal-tot span{font-size:var(--text-sm);color:var(--gray-700)}
.modal-tot b{font-size:var(--text-xl);font-weight:800;color:var(--blue)}
.modal-skip{font-size:var(--text-sm);color:var(--gray-700);text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   PRÍCHOD OBSAHU
   ============================================================ */
.rv [data-rise]{opacity:0;transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
.rv [data-rise].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv [data-rise]{opacity:1;transform:none;transition:none}
  .marquee__track,.usp__row{animation:none}
}

/* pomocné */
.center{text-align:center}
.split{display:grid;grid-template-columns:1fr;gap:56px}
.split > *{min-width:0}
.split__hd{margin-bottom:28px}

/* ---------- VÍKENDOVÁ AKCIA (blok pri rezervácii) ----------
   Vychádza zo žltej nálepky „Pozrite ako to robíme" (.sticker), ale je
   v toku stránky, nie absolútne — v bookingu by absolútna pozícia pretiekla. */
.akcia{
  position:relative;margin-bottom:28px;padding:24px 26px;
  border-radius:16px;background:var(--yellow);color:var(--gray-800);
  transform:rotate(-1.2deg);
}
.akcia__hd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.akcia__dni{font-weight:800;font-size:var(--text-lg);letter-spacing:.02em}
.akcia__zlava{font-weight:800;font-size:40px;line-height:1}
.akcia__miesta{margin-top:10px;font-weight:600;font-size:var(--text-base)}
.akcia__miesta b{font-size:26px;font-weight:800;padding:0 2px}
.akcia__plno{display:none;margin-top:10px;font-weight:800;font-size:var(--text-base)}
.akcia__nahrada{margin-top:14px;font-weight:700;font-size:var(--text-sm)}
.akcia__pozn{margin-top:6px;font-size:var(--text-xs);opacity:.72;line-height:1.45}
/* hviezdička ako na .sticker, aby to patrilo k sebe */
.akcia::after{
  content:"";position:absolute;top:-13px;right:22px;width:34px;height:34px;
  background:var(--gray-800);transform:rotate(-10.46deg);
  -webkit-mask:var(--spark4) center/contain no-repeat;
          mask:var(--spark4) center/contain no-repeat;
}
.akcia--plno{background:var(--gray-800);color:#fff}
.akcia--plno .akcia__miesta{display:none}
.akcia--plno .akcia__plno{display:block}
.akcia--plno::after{background:var(--yellow)}
@media (max-width:600px){
  .akcia{padding:20px;transform:none}
  .akcia__zlava{font-size:34px}
}

/* ---------- PILULKA S AKCIOU V HERO ----------
   Na desktope visí vpravo v hero, zarovnaná na pravý okraj containera —
   tým sa riadok odznakov vráti do jedného radu ako na predlohe.
   Pod 1000 px sa vracia do toku medzi odznaky. */
.akcia-pill{
  position:absolute;right:clamp(28px, 8%, 140px);top:50%;z-index:3;
  transform:translateY(-50%) rotate(-3.5deg);
  width:250px;padding:26px 26px 24px;
  border-radius:20px;background:var(--yellow);color:var(--gray-800);
  text-decoration:none;
  box-shadow:0 20px 44px rgba(0,0,0,.30);
  transition:transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease;
}
.akcia-pill .spark{
  position:absolute;top:-15px;right:-11px;width:38px;height:39px;
  color:var(--white);filter:drop-shadow(0 3px 10px rgba(0,0,0,.45));
}
.akcia-pill__dni{
  display:block;font-weight:700;font-size:var(--text-sm);
  letter-spacing:.06em;text-transform:uppercase;opacity:.72;
}
.akcia-pill__zlava{
  display:block;margin:2px 0 8px;font-weight:800;font-size:52px;
  line-height:1;letter-spacing:-.02em;
}
.akcia-pill__txt{
  display:block;font-weight:700;font-size:var(--text-sm);
  padding-top:12px;border-top:1.5px solid rgba(48,52,56,.22);
}
.akcia-pill__txt b{font-size:var(--text-lg);font-weight:800}
.akcia-pill:hover{
  transform:translateY(-50%) rotate(-3.5deg) scale(1.035);
  box-shadow:0 26px 56px rgba(0,0,0,.36);
}
/* Mobil: hero je po celej šírke, takže zvislá karta nemá kam „levitovať" bez
   toho, aby zakryla odznaky. Preto sa mení na plochý pás nad nadpisom —
   stále leží nad fotkou, len vodorovne. */
@media (max-width:1000px){
  .akcia-pill{
    display:flex;align-items:center;gap:10px;
    left:20px;right:20px;top:76px;bottom:auto;width:auto;
    padding:11px 16px;border-radius:12px;
    transform:rotate(-1.5deg);
    box-shadow:0 10px 26px rgba(0,0,0,.34);
  }
  .akcia-pill:hover{transform:rotate(-1.5deg)}
  .akcia-pill .spark{top:-10px;right:-6px;width:26px;height:27px}
  .akcia-pill__dni{font-size:var(--text-xs);opacity:.7}
  .akcia-pill__zlava{font-size:22px;margin:0}
  .akcia-pill__txt{
    margin-left:auto;padding:0 0 0 10px;border-top:0;
    border-left:1.5px solid rgba(48,52,56,.22);font-size:var(--text-xs);
  }
  .akcia-pill__txt b{font-size:var(--text-base)}
}

/* Ikona fotoaparátu v modrom kruhu musí byť biela.
   .shot span (gray-700) má vyššiu špecificitu než .shot__ico, preto .shot .shot__ico. */
.shot .shot__ico{color:var(--white)}

/* Zhrnutie rezervácie — riadky zľavy */
#bkSum li.strike b{text-decoration:line-through;opacity:.55;font-weight:600}
#bkSum li.sleva span,#bkSum li.sleva b{color:var(--yellow)}
#bkSum li.sleva b{font-weight:800}
#bkSum li.pozn b{font-weight:500;opacity:.6;font-size:var(--text-xs)}

/* Vypredaný víkend: 6 zo 6 nahlas a budúci týždeň do popredia */
.akcia--plno .akcia__plno b{font-size:26px}
.akcia--plno .akcia__nahrada{
  margin-top:16px;padding:12px 14px;border-radius:10px;
  background:var(--yellow);color:var(--gray-800);font-size:var(--text-md);
}
.akcia--plno .akcia__nahrada b{font-weight:800}
.akcia--plno .akcia__pozn{opacity:.6}

/* Návrat z rezervácie späť do kalkulačky */
.back-to-calc{display:inline-block;margin-top:14px;font-size:var(--text-sm);font-weight:700}
/* Ikona doplnku namiesto emoji */
.up-card__ico{width:20px;height:20px;vertical-align:-3px;margin-right:8px;color:var(--blue)}

/* ---------- POSTUP K VÍKENDOVEJ ZĽAVE ---------- */
.zlava{
  margin:14px 0 4px;padding:14px 16px;border-radius:12px;
  background:var(--blue-200);border:1px solid rgba(30,97,240,.18);
}
.zlava__hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.zlava__hd span{font-size:var(--text-sm);font-weight:700;color:var(--gray-800)}
.zlava__hd b{font-size:var(--text-lg);font-weight:800;color:var(--blue);white-space:nowrap}
.zlava__hd b s{color:var(--gray-700);font-weight:600;font-size:var(--text-base);
  opacity:.65;margin-right:6px}
.zlava__bar{
  position:relative;height:8px;margin:10px 0 8px;border-radius:99px;overflow:hidden;
  background:rgba(30,97,240,.14);
}
.zlava__bar i{
  display:block;height:100%;border-radius:99px;background:var(--blue);
  transition:width .45s cubic-bezier(.16,1,.3,1);
}
.zlava__pozn{font-size:var(--text-xs);color:var(--gray-700);line-height:1.45}
/* dosiahnutá zľava — modrá značka namiesto žltej plochy */
.zlava--on{background:rgba(30,97,240,.09);border-color:var(--blue)}
.zlava--on .zlava__hd span{color:var(--blue)}
.zlava--on .zlava__bar i{background:var(--blue)}
.zlava--on .zlava__pozn{color:var(--gray-700)}
.zlava__ok{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
  font-weight:800;font-size:var(--text-md);color:var(--blue);
}
.zlava__ok svg{width:20px;height:20px;flex:none}
.zlava__ok .spark{width:17px;height:18px;color:var(--blue)}

/* Atribút hidden musí prebiť aj triedy, ktoré nastavujú display
   (napr. .zlava__ok{display:flex} inak ostane viditeľné navždy). */
[hidden]{display:none !important}


/* ---------- KARTA DOPLNKU V POP-UPE (prepis) ---------- */
.up-card{
  position:relative;display:block;cursor:pointer;
  border:2px solid var(--gray-300);border-radius:14px;padding:18px 20px;
  background:#fff;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.up-card:hover{border-color:rgba(30,97,240,.45)}
.up-card.on{border-color:var(--blue);background:rgba(30,97,240,.05);
  box-shadow:0 0 0 3px rgba(30,97,240,.12)}
.up-card input{position:absolute;opacity:0;pointer-events:none}

/* fajka v rohu — jasný signál, že to majú zapnuté */
.up-card__tick{
  position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;
  background:var(--blue);color:#fff;display:none;place-items:center;
  box-shadow:0 3px 10px rgba(30,97,240,.30);
}
.up-card__tick svg{width:16px;height:16px}
.up-card.on .up-card__tick{display:grid}

.up-card__row{display:flex;align-items:flex-start;gap:14px}
.up-card__ico-wrap{
  flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:rgba(30,97,240,.10);color:var(--blue);
}
.up-card__ico-wrap .up-card__ico{width:26px;height:26px;margin:0}
.up-card__t{flex:1;min-width:0}
.up-card__t b{display:block;font-size:var(--text-md);font-weight:800;line-height:1.25}
.up-card__t p{margin-top:4px;font-size:var(--text-sm);color:var(--gray-700);line-height:1.45}
.up-card__p{flex:none;font-weight:800;font-size:var(--text-lg);color:var(--blue);
  white-space:nowrap;margin-right:34px}   /* miesto pre fajku v rohu */
.up-card__badge{
  display:inline-block;margin-top:6px;padding:3px 9px;border-radius:99px;
  background:var(--yellow);color:var(--gray-800);
  font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
}
.up-card__ben{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px}
.up-card__ben li{
  position:relative;padding-left:24px;font-size:var(--text-sm);color:var(--gray-700);
}
.up-card__ben li::before{
  content:"";position:absolute;left:0;top:6px;width:14px;height:8px;
  border-left:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);
  transform:rotate(-45deg);
}

/* upozornenie o strate zľavy — teplá krémová, žltý pruh vľavo, ikona */
.modal-warn{
  position:relative;margin-bottom:12px;padding:13px 16px 13px 46px;
  border-radius:10px;background:#fffaeb;border:1px solid #f5e3a3;
  border-left:4px solid var(--yellow);
  font-size:var(--text-sm);font-weight:600;color:#6b5a12;line-height:1.45;
}
.modal-warn::before{
  content:"!";position:absolute;left:15px;top:13px;
  width:19px;height:19px;border-radius:50%;
  background:var(--yellow);color:var(--gray-800);
  font-size:13px;font-weight:800;line-height:19px;text-align:center;
}
/* preškrtnutá pôvodná suma v pätičke pop-upu */
.modal-tot b s{color:var(--gray-700);opacity:.6;font-weight:600;margin-right:6px}

/* ══════════════ MOBIL: žiadne nechcené priblíženie ══════════════
   iOS priblíži stránku vždy, keď má pole menšie písmo než 16 px — preto
   sú všetky polia natvrdo na 16 px. `touch-action:manipulation` ruší
   dvojťuk na priblíženie, takže tlačidlá reagujú okamžite. */
input, select, textarea, button{
  font-size:16px;                 /* nikdy menej, inak iOS zoomne */
  touch-action:manipulation;
}
a, button, label, .ic, .tab, .slot, .day, .up-card, summary{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(30,97,240,.14);
}
/* dlhé slová a odkazy nesmú rozťahovať layout do šírky */
body{overflow-x:hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%}
img, svg, video{max-width:100%}

/* ---------- KARTA DOPLNKU NA MOBILE ----------
   Na úzkej obrazovke sa cena nezmestí vedľa nadpisu — text sa potom láme
   po jednom slove a cena prekrýva názov. Preto ide cena na vlastný riadok. */
@media (max-width:640px){
  .up-card{padding:16px}
  .up-card__row{flex-wrap:wrap;gap:12px}
  .up-card__ico-wrap{width:40px;height:40px}
  .up-card__ico-wrap .up-card__ico{width:22px;height:22px}
  .up-card__t{flex:1 1 0;min-width:0;padding-right:34px}   /* miesto pre fajku */
  .up-card__t b{font-size:var(--text-base)}
  .up-card__p{order:3;flex:1 0 100%;margin-right:0;font-size:var(--text-md)}
  .up-card__ben li{padding-left:22px}

  /* súčet v pätičke pop-upu */
  .modal-tot{flex-wrap:wrap;gap:4px}
  .modal-tot b{white-space:nowrap;font-size:var(--text-xl)}
  .modal-warn{padding:12px 14px 12px 42px;font-size:13px}
}

/* ---------- DÔVERA PRI KALKULAČKE ---------- */
.trust{
  list-style:none;margin:22px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.trust li{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;border-radius:12px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
}
.trust svg{width:22px;height:22px;flex:none;color:var(--yellow)}
.trust span{display:block;font-size:var(--text-xs);color:rgba(255,255,255,.72);line-height:1.35}
.trust b{display:block;font-size:var(--text-sm);font-weight:800;color:#fff}
@media (max-width:700px){
  .trust{grid-template-columns:1fr;gap:8px;margin-top:18px}
  .trust li{padding:10px 12px}
}

/* ---------- CENA V SPODNEJ LIŠTE ---------- */
.bar__price{display:flex;flex-direction:column;justify-content:center;padding-right:4px;flex:none}
.bar__price small{font-size:11px;color:var(--gray-700);line-height:1.1}
.bar__price b{font-size:var(--text-lg);font-weight:800;color:var(--blue);line-height:1.15;white-space:nowrap}

/* ---------- KONFIGURÁTOR NA MOBILE: kompaktnejšie dlaždice ---------- */
@media (max-width:700px){
  .grid-ico{grid-template-columns:repeat(3,1fr);gap:8px}
  .ic{padding:12px 6px 10px;gap:3px;border-radius:12px}
  .ic svg{width:26px;height:26px}
  .ic b{font-size:12px;line-height:1.2}
  .ic > span{font-size:10.5px}
}
@media (max-width:380px){
  .grid-ico{grid-template-columns:repeat(2,1fr)}
}


/* ---------- FOTKA + DÔVERA V JEDNOM RADE ----------
   Fotka vľavo, tri body vpravo. Blok je zarovnaný vľavo, nie na stred —
   vycentrovaná bublina nad textom pôsobila ako odznak, nie ako dôkaz. */
.proof{
  display:flex;align-items:center;gap:20px;
  margin:26px auto 0;max-width:860px;text-align:left;
}
.bubble{position:relative;flex:none;width:132px;height:132px;margin:0}
.bubble img{
  width:100%;height:100%;object-fit:cover;border-radius:20px;
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 16px 36px -14px rgba(0,0,0,.6);
}
.bubble .spark{
  position:absolute;top:-9px;right:-9px;width:28px;height:29px;
  color:var(--yellow);filter:drop-shadow(0 3px 8px rgba(0,0,0,.4));
}
.proof .trust{flex:1;min-width:0;grid-template-columns:1fr;gap:8px;margin:0}

@media (max-width:700px){
  .proof{gap:14px;margin-top:20px}
  .bubble{width:96px;height:96px}
  .bubble img{border-radius:16px;border-width:2.5px}
  .bubble .spark{width:22px;height:23px;top:-7px;right:-7px}
  .proof .trust li{padding:9px 11px}
  .proof .trust svg{width:18px;height:18px}
}

/* ---------- ZĽAVA NA DLAŽDICI KALKULAČKY ----------
   Rovnaký vizuál ako na promo stránke /15: preškrtnutá plná cena
   a vedľa nej cena po zľave. Rieši .ic > span z dizajn systému,
   ktorý by inak zošedil aj novú cenu. */
.ic .ic__cena{
  display:flex;align-items:baseline;justify-content:center;gap:6px;
  font-size:var(--text-xs);
}
.ic .ic__cena s{color:var(--gray);text-decoration:line-through}
.ic .ic__cena b{font-size:var(--text-base);font-weight:800;color:var(--blue);letter-spacing:-.02em}
.ic.on .ic__cena b{color:var(--blue)}
@media (max-width:700px){
  .ic .ic__cena{gap:5px}
  .ic .ic__cena b{font-size:var(--text-sm)}
}

/* Žltý krúžok s úsporou na dlaždici — rovnaký ako na promo stránke /15. */
.ic .ic__save{
  position:absolute;top:8px;left:8px;padding:2px 8px;
  border-radius:var(--rounded-full);background:var(--yellow);color:var(--gray-800);
  font-size:11px;font-weight:800;line-height:1.5;
}
@media (max-width:700px){
  .ic .ic__save{top:6px;left:6px;padding:1px 7px;font-size:10px}
}
