/* =========================================================
   Fulmaya Travel — custom overrides
   (téma, topbar, prepínače, OSX tiene, zaoblenie, responzivita)
   ========================================================= */
:root {
  /* --- značková paleta z originálneho loga Fulmaya --- */
  --fm-primary: #0079be;       /* logo modrá */
  --fm-primary-dark: #0061ad;  /* logo tmavá modrá */
  --fm-cyan: #009dc4;          /* logo tyrkysová */
  --fm-indigo: #214099;        /* logo indigo */
  --fm-accent: #f48132;        /* logo oranžová */
  --fm-accent-2: #f05a30;      /* logo červeno-oranžová */
  --fm-red: #ec1b2e;           /* logo červená */
  --fm-sun: #ffd430;           /* logo žltá */
  --fm-ink: #14212e;
  --fm-radius: 16px;
  --fm-radius-lg: 22px;
  --fm-shadow-osx: 0 18px 40px -12px rgba(16, 42, 67, 0.28), 0 6px 14px -8px rgba(16, 42, 67, 0.22);
  --fm-shadow-osx-hover: 0 30px 60px -14px rgba(16, 42, 67, 0.38), 0 10px 22px -10px rgba(16, 42, 67, 0.26);
}

/* ---------- OSX-style tiene + zaoblenie na obrázkoch ---------- */
.osx-shadow,
.tour-wrapper-two .image-area img,
.destination-wrapper-2 .image-area img,
.hiking-wrapper .image-area img,
.tour-pack .image-area img,
.about-img-area img,
.fm-shadow {
  border-radius: var(--fm-radius);
  box-shadow: var(--fm-shadow-osx);
  transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s ease, filter .5s ease;
  will-change: transform;
}
.tour-wrapper-two:hover .image-area img,
.destination-wrapper-2:hover .image-area img,
.hiking-wrapper:hover .image-area img,
.tour-pack:hover .image-area img,
.fm-shadow:hover {
  box-shadow: var(--fm-shadow-osx-hover);
  transform: translateY(-6px) scale(1.015);
}

/* zaoblené tlačidlá + jemná animácia */
.rts-btn { border-radius: 999px !important; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease !important; }
.rts-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -10px rgba(17,156,230,.55); }
.rts-btn:active { transform: translateY(-1px) scale(.98); }
img { max-width: 100%; }

/* ---------- Top bar ---------- */
.fulmaya-topbar {
  background: linear-gradient(90deg, var(--fm-primary-dark), var(--fm-primary));
  color: #eaf6ff; font-size: 14px;
}
.fulmaya-topbar .topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; min-height: 42px; flex-wrap: wrap;
}
.fulmaya-topbar .promo { margin: 0; opacity: .95; }
.fulmaya-topbar .promo a { color: #fff; text-decoration: underline; font-weight: 600; }
.fulmaya-topbar .topbar-right { display: flex; align-items: center; gap: 18px; }
.fulmaya-topbar .topbar-phone { color: #fff; font-weight: 600; white-space: nowrap; }
.fulmaya-topbar .social-area { display: flex; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fulmaya-topbar .social-area a { color: #eaf6ff; opacity: .85; transition: .2s; }
.fulmaya-topbar .social-area a:hover { opacity: 1; transform: translateY(-2px); }
.switcher-group { display: flex; align-items: center; gap: 12px; }
.lang-switcher { display: flex; align-items: center; gap: 6px; font-weight: 700; }
.lang-switcher .lang-btn { color: #cfeaff; padding: 2px 4px; border-radius: 6px; }
.lang-switcher .lang-btn.active { color: #fff; background: rgba(255,255,255,.18); }
.lang-switcher .divider { opacity: .5; }
.theme-toggle {
  background: rgba(255,255,255,.16); border: none; color: #fff; cursor: pointer;
  width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
  transition: .25s;
}
.theme-toggle:hover { background: rgba(255,255,255,.28); transform: rotate(-12deg); }
.theme-toggle .icon-dark { display: none; }
[data-theme="dark"] .theme-toggle .icon-light { display: none; }
[data-theme="dark"] .theme-toggle .icon-dark { display: inline; }

/* header sticky sadne pod topbar */
.fulmaya-header.header--sticky.sticky { top: 0; }

/* rozmery originálneho (štvorcového) loga */
.fulmaya-header .logo img { height: 58px; width: auto; max-width: none; }
.fulmaya-footer .logo img { height: 74px; width: auto; }
.side-bar .logo img { height: 54px; width: auto; }
@media (max-width: 767px) { .fulmaya-header .logo img { height: 46px; } }
[data-theme="dark"] .fulmaya-footer .logo img { filter: brightness(1.05); }

/* aktívny odkaz v menu */
.rts-desktop-menu .rts-dropdown-main-element.active,
.rts-desktop-menu .main-element.active { color: var(--fm-primary); }
.rts-submenu .cnt { opacity: .55; font-size: 12px; }

/* honeypot skryté */
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* form feedback */
.form-feedback { margin: 10px 0 0; font-size: 14px; min-height: 18px; }
.form-feedback.ok { color: #16a34a; }
.form-feedback.err { color: #e11d48; }

/* wishlist aktívny */
.wishlist.active i, .wishlist.active { color: var(--fm-accent); }
.wishlist.active i::before { font-weight: 900; }

/* mobilné CTA v bočnom menu */
.mobile-cta-area { display: flex; gap: 10px; margin: 24px 0; flex-wrap: wrap; }
.mobile-switchers { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; padding-top: 16px; border-top: 1px solid rgba(0,0,0,.08); }
.mobile-switchers .lang-switcher .lang-btn { color: var(--fm-ink); }
.mobile-switchers .lang-switcher .lang-btn.active { background: var(--fm-primary); color: #fff; }
.mobile-switchers .theme-toggle { width: auto; padding: 6px 14px; gap: 8px; background: var(--fm-primary); }

/* ---------- Sekcie / hero doplnky ---------- */
.fm-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(17,156,230,.12); color: var(--fm-primary); padding: 6px 14px; border-radius: 999px; font-weight: 600; font-size: 13px; }
.fm-quick-facts { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 22px; }
.fm-quick-facts .fact { display: flex; align-items: center; gap: 10px; }
.fm-quick-facts .fact i { color: var(--fm-primary); font-size: 20px; }
.fm-quick-facts .fact b { display: block; font-size: 18px; }
.fm-quick-facts .fact span { font-size: 13px; opacity: .7; }

/* filtre na listingu zájazdov */
.fm-filter-bar { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; background: #fff; padding: 20px; border-radius: var(--fm-radius); box-shadow: var(--fm-shadow-osx); margin-bottom: 40px; }
.fm-filter-bar .field { display: flex; flex-direction: column; gap: 6px; }
.fm-filter-bar label { font-size: 12px; font-weight: 600; opacity: .7; }
.fm-filter-bar select, .fm-filter-bar input { border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 14px; background: #fff; color: var(--fm-ink); min-width: 150px; }
.fm-result-count { font-weight: 600; margin-bottom: 20px; }

/* sticky booking box na detaile */
.fm-booking-box { background: #fff; border-radius: var(--fm-radius-lg); box-shadow: var(--fm-shadow-osx); padding: 28px; position: sticky; top: 110px; }
.fm-booking-box .price-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.fm-booking-box .price-row .price { font-size: 34px; font-weight: 800; color: var(--fm-primary); }
.fm-booking-box .price-row .per { font-size: 14px; opacity: .65; }
/* ---- Neuromarketing prvky rezervačného boxu ---- */
/* Cenová kotva: rozklad na deň */
.fm-price-context { font-size: 14px; color: var(--fm-ink); opacity: .7; margin: 0 0 10px; }
.fm-price-context .fm-price { font-weight: 700; opacity: 1; }
/* Emočná veta pri cene */
.fm-price-emotion { font-size: 14px; font-style: italic; color: var(--fm-ink); opacity: .82; line-height: 1.5; margin: 0 0 14px; }
.fm-price-emotion .fa-quote-left { color: var(--fm-primary); opacity: .5; font-size: 11px; margin-right: 4px; }
/* Čestná vzácnosť — malá skupina (teplý, nie krikľavý akcent) */
.fm-scarcity { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #9a5406; background: linear-gradient(135deg, rgba(244,129,50,.14), rgba(255,212,48,.16)); border: 1px solid rgba(244,129,50,.28); padding: 8px 12px; border-radius: 999px; margin-bottom: 18px; }
[data-theme="dark"] .fm-scarcity { color: #ffcf8a; }
/* Voliteľné polia – toggle */
.fm-more-fields { margin: 4px 0 6px; }
.fm-more-fields > summary { cursor: pointer; list-style: none; font-size: 13px; font-weight: 600; color: var(--fm-primary); padding: 8px 0; user-select: none; }
.fm-more-fields > summary::-webkit-details-marker { display: none; }
.fm-more-fields[open] > summary .fa-plus { transform: rotate(45deg); }
.fm-more-fields > summary .fa-plus { transition: transform .2s ease; display: inline-block; }
/* Hlavné CTA — najvyššia vizuálna salience (Von Restorff / isolation effect) */
.fm-cta-book { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; cursor: pointer; font-size: 17px; font-weight: 800; color: #fff; padding: 16px 22px; border-radius: 14px; margin-top: 8px; background: linear-gradient(135deg, var(--fm-accent), var(--fm-accent-2)); box-shadow: 0 10px 24px -8px rgba(240,90,48,.6); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.fm-cta-book:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -8px rgba(240,90,48,.7); filter: brightness(1.04); }
.fm-cta-book:active { transform: translateY(0); }
.fm-cta-book .fa-arrow-right { transition: transform .2s ease; }
.fm-cta-book:hover .fa-arrow-right { transform: translateX(4px); }
/* Mikrokopia dôvery pod CTA */
.fm-cta-reassure { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12.5px; color: var(--fm-ink); opacity: .62; margin: 10px 0 0; }
.fm-cta-reassure .fa-shield-check { color: #2ba84a; opacity: .9; }
.fm-form .row-2 { display: flex; gap: 12px; }
.fm-form .row-2 > * { flex: 1; }
.fm-form input, .fm-form textarea, .fm-form select {
  width: 100%; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; margin-bottom: 12px;
  background: #fff; color: var(--fm-ink); font-size: 15px;
}
.fm-form input:focus, .fm-form textarea:focus { outline: none; border-color: var(--fm-primary); box-shadow: 0 0 0 3px rgba(17,156,230,.15); }
.fm-form .agree { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; opacity: .8; margin-bottom: 14px; }
.fm-form .agree input { width: auto; margin: 3px 0 0; }

.fm-info-list { list-style: none; padding: 0; margin: 18px 0 0; }
.fm-info-list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #eef2f6; }
.fm-info-list li i { color: var(--fm-primary); width: 20px; text-align: center; }

.fm-check-list { list-style: none; padding: 0; margin: 0; }
.fm-check-list li { position: relative; padding: 8px 0 8px 30px; }
.fm-check-list li::before { content: "\f00c"; font-family: "Font Awesome 6 Pro"; font-weight: 900; color: var(--fm-primary); position: absolute; left: 0; }
.fm-check-list.excluded li::before { content: "\f00d"; color: var(--fm-accent); }
/* neutrálne rámovanie „Dobré vedieť" — bez alarmujúceho červeného ✗ */
.fm-check-list.neutral li::before { content: "\f105"; color: var(--fm-primary); opacity: .55; font-weight: 900; }
.fm-check-list.neutral li { opacity: .8; }

/* itinerár */
.fm-itinerary .day { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid #eef2f6; }
.fm-itinerary .daynum { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 12px; background: rgba(17,156,230,.12); color: var(--fm-primary); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.fm-itinerary .day h6 { margin: 0 0 6px; }

/* google mapa */
.fm-map { border-radius: var(--fm-radius-lg); overflow: hidden; box-shadow: var(--fm-shadow-osx); }
.fm-map iframe { width: 100%; height: 460px; border: 0; display: block; }

/* team karty */
.fm-team-card { background: #fff; border-radius: var(--fm-radius-lg); overflow: hidden; box-shadow: var(--fm-shadow-osx); transition: transform .4s ease, box-shadow .4s ease; }
.fm-team-card:hover { transform: translateY(-6px); box-shadow: var(--fm-shadow-osx-hover); }
.fm-team-card .img { aspect-ratio: 4/5; overflow: hidden; }
.fm-team-card .img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.fm-team-card:hover .img img { transform: scale(1.06); }
.fm-team-card .info { padding: 20px; }
.fm-team-card .info h5 { margin: 0 0 4px; }
.fm-team-card .info .role { color: var(--fm-primary); font-size: 14px; font-weight: 600; }
.fm-team-card .info .bio { font-size: 14px; opacity: .8; margin-top: 10px; }
.fm-team-card .socials { display: flex; gap: 10px; margin-top: 14px; }
.fm-team-card .socials a { width: 34px; height: 34px; border-radius: 999px; background: rgba(17,156,230,.1); color: var(--fm-primary); display: inline-flex; align-items: center; justify-content: center; transition: .25s; }
.fm-team-card .socials a:hover { background: var(--fm-primary); color: #fff; }

/* breadcrumb hero pre podstránky */
.fm-page-hero { position: relative; padding: 150px 0 70px; background-size: cover; background-position: center; color: #fff; }
.fm-page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,32,51,.35), rgba(11,32,51,.72)); }
.fm-page-hero .container { position: relative; z-index: 2; }
.fm-page-hero h1 { color: #fff; font-size: clamp(30px, 5vw, 54px); margin: 0 0 10px; }
.fm-page-hero .crumb { display: flex; gap: 8px; align-items: center; font-size: 14px; opacity: .9; }
.fm-page-hero .crumb a { color: #fff; }

/* =========================================================
   TMAVÁ TÉMA
   ========================================================= */
[data-theme="dark"] {
  --fm-ink: #e7eef5;
  --fm-shadow-osx: 0 18px 40px -12px rgba(0,0,0,.55), 0 6px 14px -8px rgba(0,0,0,.5);
  --fm-shadow-osx-hover: 0 30px 60px -14px rgba(0,0,0,.7), 0 10px 22px -10px rgba(0,0,0,.6);
}
[data-theme="dark"] body,
[data-theme="dark"] .body-bg-one,
[data-theme="dark"] .body-bg-two,
[data-theme="dark"] .body-bg-three,
[data-theme="dark"] .rts-tour-area,
[data-theme="dark"] .rts-blog-area { background-color: #0d1720 !important; color: #cdd8e3; }
[data-theme="dark"] .rts-about-area,
[data-theme="dark"] .rts-destination-area,
[data-theme="dark"] .rts-trip-type-area,
[data-theme="dark"] .rts-testimonials-area,
[data-theme="dark"] .rts-why-choose-us-area,
[data-theme="dark"] section { background-color: #0d1720; }
[data-theme="dark"] .rts-tour-area.body-bg-three,
[data-theme="dark"] .rts-blog-area.body-bg-three { background-color: #101d28 !important; }
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6,
[data-theme="dark"] .section-title, [data-theme="dark"] .title { color: #f1f6fb !important; }
[data-theme="dark"] p, [data-theme="dark"] .desc, [data-theme="dark"] li,
[data-theme="dark"] .meta-content li { color: #a9bccd; }
[data-theme="dark"] .fulmaya-header,
[data-theme="dark"] .header-eight,
[data-theme="dark"] .header--sticky.sticky { background-color: #101d28 !important; }
[data-theme="dark"] .rts-desktop-menu .rts-dropdown-main-element,
[data-theme="dark"] .rts-desktop-menu .main-element { color: #dbe6f0; }
[data-theme="dark"] .rts-submenu,
[data-theme="dark"] .fm-filter-bar,
[data-theme="dark"] .fm-booking-box,
[data-theme="dark"] .fm-team-card,
[data-theme="dark"] .tour-wrapper-two,
[data-theme="dark"] .tour-pack,
[data-theme="dark"] .testimonials-wrapper-two,
[data-theme="dark"] .blog-wrapper,
[data-theme="dark"] .why-choose-wrapper,
[data-theme="dark"] .auth-card { background-color: #16242f !important; color: #cdd8e3; }
[data-theme="dark"] .fm-form input, [data-theme="dark"] .fm-form textarea,
[data-theme="dark"] .fm-form select, [data-theme="dark"] .fm-filter-bar select,
[data-theme="dark"] .fm-filter-bar input { background: #0f1b24; border-color: #2a3a48; color: #e7eef5; }
[data-theme="dark"] .fm-info-list li, [data-theme="dark"] .fm-itinerary .day { border-color: #24333f; }
[data-theme="dark"] .menu-btn-toggle svg rect { fill: #dbe6f0; }
[data-theme="dark"] .fulmaya-footer { background-color: #0a141c !important; }
[data-theme="dark"] .side-bar { background: #101d28; }
[data-theme="dark"] .mobile-switchers { border-color: rgba(255,255,255,.1); }
[data-theme="dark"] .mobile-switchers .lang-switcher .lang-btn { color: #dbe6f0; }

/* =========================================================
   RESPONZIVITA
   ========================================================= */
/* MacBook Air / menšie notebooky (1280–1440) */
@media (max-width: 1440px) {
  .container { max-width: 1180px; }
  .fm-page-hero { padding-top: 130px; }
}
@media (max-width: 1200px) {
  .fulmaya-topbar .promo { display: none; }
}

/* Tablet */
@media (max-width: 991px) {
  .d-none-mobile { display: none !important; }
  .fulmaya-topbar .topbar-phone { display: none; }
  .fm-booking-box { position: static; margin-top: 30px; }
  .fm-filter-bar { flex-direction: column; align-items: stretch; }
  .fm-filter-bar .field { width: 100%; }
  .fm-filter-bar select, .fm-filter-bar input { min-width: 0; width: 100%; }
  .fm-quick-facts { gap: 18px; }
  .fm-map iframe { height: 360px; }
}

/* Mobil */
@media (max-width: 767px) {
  .fulmaya-topbar { font-size: 12.5px; }
  .fulmaya-topbar .topbar-inner { justify-content: center; min-height: 40px; }
  .fm-form .row-2 { flex-direction: column; gap: 0; }
  .fm-page-hero { padding: 110px 0 50px; }
  .fm-page-hero h1 { font-size: 30px; }
  .fm-quick-facts { gap: 14px; }
  .fm-quick-facts .fact b { font-size: 16px; }
  .tour-wrapper-two .content, .fm-team-card .info { padding: 16px; }
  .rts-btn { padding: 12px 20px !important; font-size: 14px; }
  .fm-map iframe { height: 300px; }
  .copyright-area-start { flex-direction: column; gap: 12px; text-align: center; }
}

/* jemný fade-up pri načítaní obrázkov */
img[loading="lazy"] { }

/* ---------- Plávajúci rýchly kontakt (FAB) ---------- */
.fm-fab { position: fixed; right: 24px; bottom: 24px; z-index: 900; }
.fm-fab-main {
  width: 60px; height: 60px; border-radius: 999px; border: none; cursor: pointer;
  background: linear-gradient(135deg, var(--fm-primary), var(--fm-primary-dark));
  color: #fff; font-size: 24px; box-shadow: 0 12px 28px -8px rgba(17,156,230,.7);
  transition: transform .3s ease; display: flex; align-items: center; justify-content: center;
}
.fm-fab-main:hover { transform: scale(1.08) rotate(-6deg); }
.fm-fab.open .fm-fab-main { transform: rotate(135deg); background: var(--fm-accent); }
.fm-fab-menu {
  position: absolute; right: 4px; bottom: 74px; display: flex; flex-direction: column; gap: 10px;
  opacity: 0; visibility: hidden; transform: translateY(12px); transition: .3s ease;
}
.fm-fab.open .fm-fab-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.fm-fab-item {
  display: flex; align-items: center; gap: 10px; background: #fff; color: var(--fm-ink);
  padding: 10px 16px; border-radius: 999px; box-shadow: var(--fm-shadow-osx); white-space: nowrap;
  font-size: 14px; font-weight: 600; transition: transform .2s ease; justify-content: flex-end;
}
.fm-fab-item:hover { transform: translateX(-4px); color: var(--fm-primary); }
.fm-fab-item i { width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; }
.fm-fab-item.phone i { background: #16a34a; }
.fm-fab-item.wa i { background: #25d366; }
.fm-fab-item.mail i { background: var(--fm-primary); }
.fm-fab-item.chat i { background: var(--fm-accent); }
[data-theme="dark"] .fm-fab-item { background: #16242f; color: #e7eef5; }
@media (max-width: 767px) {
  .fm-fab { right: 16px; bottom: 16px; }
  .fm-fab-main { width: 54px; height: 54px; font-size: 21px; }
  .fm-fab-item span { display: none; }
  .fm-fab-item { padding: 8px; }
}

/* =========================================================
   PREFARBENIE ŠABLÓNY DO FARIEB LOGA (override #119ce6)
   ========================================================= */
:root { --primary: var(--fm-primary); --rts-primary: var(--fm-primary); }

/* tlačidlá */
.rts-btn.btn-primary,
.rts-btn.btn-primary-2,
.rts-btn.btn-primary-3,
.rts-btn.btn-secondary { background: var(--fm-primary) !important; border-color: var(--fm-primary) !important; color: #fff !important; }
.rts-btn.btn-primary:hover,
.rts-btn.btn-primary-2:hover,
.rts-btn.btn-primary-3:hover,
.rts-btn.btn-secondary:hover { background: var(--fm-primary-dark) !important; border-color: var(--fm-primary-dark) !important; }
.rts-btn.btn-border-2,
.rts-btn.btn-border.border-primary { border-color: var(--fm-primary) !important; color: var(--fm-primary) !important; }
.rts-btn.btn-border-2:hover { background: var(--fm-primary) !important; color: #fff !important; }
.rts-btn.with-arrow { background: var(--fm-primary) !important; border-color: var(--fm-primary) !important; }

/* akcenty, podnadpisy, odkazy, ikony */
.sub-title, .section-title-area3 .sub-title, .pre-title,
.rts-tour-area .sub-title, .single-price-area .price,
.tour-wrapper-two .price-area .current,
.tour-pack .price-area .price,
.fm-badge { color: var(--fm-primary) !important; }
.fm-badge { background: rgba(0,121,190,.12) !important; }
a:hover, .nav-link:hover, .mobile-menu-link:hover,
.essential-links ul li a:hover,
.rts-desktop-menu .rts-submenu .nav-link:hover { color: var(--fm-primary) !important; }

/* meta ikony, hodiny, lokácie */
.meta-content li i, .fm-info-list li i, .fm-quick-facts .fact i,
.rts-btn.btn-primary svg path { color: var(--fm-primary); }

/* discount tag + wishlist — teplé logo farby */
.tour-wrapper-two .tag, .fulmaya-tour-card .tag { background: var(--fm-accent) !important; color: #fff !important; }
.wishlist.active i, .wishlist.active { color: var(--fm-accent) !important; }

/* swiper pagination / navigácia */
.swiper-pagination-bullet-active { background: var(--fm-primary) !important; }
.swiper-btn:hover, .swiper-btn-next:hover, .swiper-btn-prev:hover { background: var(--fm-primary) !important; color: #fff !important; }

/* inline SVG šípky/ikony šablóny s pevnou modrou */
svg path[fill="#119CE6"], svg path[fill="#119ce6"], svg rect[fill="#119CE6"] { fill: var(--fm-primary) !important; }

/* progress-wrap kruh */
.progress-wrap svg.progress-circle path { stroke: var(--fm-primary) !important; }

/* topbar + CTA + FAB gradient v logo modrej→indigo */
.fulmaya-topbar { background: linear-gradient(90deg, var(--fm-indigo), var(--fm-primary)) !important; }
.fm-fab-main { background: linear-gradient(135deg, var(--fm-cyan), var(--fm-primary-dark)) !important; }
.fulmaya-cta { background-color: var(--fm-indigo); }

/* linky v texte */
.copyright-area-start a:hover, .footer-legal a:hover { color: var(--fm-sun) !important; }

/* kredit „Dizajn & vývoj LUMA Creative" + verzia badge (ako na pneuonline) */
/* celý spodný pruh pätičky zarovnaný na stred */
.copyright-area-start { flex-direction: column; justify-content: center; align-items: center; gap: 12px; text-align: center; }
.copyright-area-start p { white-space: nowrap; margin: 0; }
.fm-credit { display: inline-flex; align-items: center; gap: 8px; margin-left: 6px; font-weight: 600; color: var(--color-body-1) !important; white-space: nowrap; }
.fm-credit:hover { color: var(--fm-sun) !important; }
.fm-credit-ver { display: inline-flex; align-items: center; font-size: 12px; font-weight: 700; line-height: 1; padding: 4px 9px; border-radius: 999px; color: #fff !important; background: linear-gradient(135deg, #6d5efc, #4f46e5); box-shadow: 0 2px 8px rgba(79,70,229,.35); }
[data-theme="dark"] .fm-credit { color: #cdd8e3 !important; }
@media only screen and (max-width: 767px) { .copyright-area-start p { white-space: normal; } }

/* sekčné oddeľovače / hover karty */
.fm-team-card .info .role { color: var(--fm-primary) !important; }
.destination-wrapper-2 .content .title a:hover { color: var(--fm-primary) !important; }

/* aktívny jazyk / focus */
.fm-form input:focus, .fm-form textarea:focus,
#fm-search select:focus, .fm-filter-bar select:focus { border-color: var(--fm-primary) !important; box-shadow: 0 0 0 3px rgba(0,121,190,.15) !important; }

/* nice-select a dropdown akcenty */
.nice-select .option.selected, .nice-select .option:hover { color: var(--fm-primary) !important; }

/* star rating ostáva zlaté (logo žltá) */
.stars .fa-star, .star-rating-area .stars i { color: var(--fm-sun) !important; }

/* =========================================================
   MENU V ŠTÝLE ŠABLÓNY — priehľadná hlavička nad hero, biele menu
   (sticky → biely pruh s tmavým menu; rieši šablóna)
   ========================================================= */
/* topbar ako absolútny overlay úplne hore nad hero — dostatočne krytý pre čitateľnosť */
.fulmaya-topbar {
  position: absolute; top: 0; left: 0; width: 100%; z-index: 21;
  background: linear-gradient(90deg, rgba(20,40,110,.92), rgba(0,97,173,.9));
  backdrop-filter: blur(4px); border-bottom: 1px solid rgba(255,255,255,.14);
}
.fulmaya-topbar .promo, .fulmaya-topbar .promo a, .fulmaya-topbar .topbar-phone { color: #fff !important; opacity: 1; }
.fulmaya-topbar .promo i { color: var(--fm-sun); }
.fulmaya-topbar .social-area a { color: #fff; opacity: .9; }
/* hlavička = priehľadný overlay pod topbarom (šablóna má position:absolute) */
.fulmaya-header.header-style-one { top: 44px; padding: 0 60px; background: transparent; box-shadow: none; }
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item { white-space: nowrap; }
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element,
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .main-element {
  padding: 32px 18px !important; white-space: nowrap;
}
/* medzera medzi posledným menu (Kontakt) a tlačidlami CTA */
.fulmaya-header .main-nav-area { margin-right: 40px; }
.fulmaya-header .button-area-start { margin-left: 20px; gap: 12px; }
/* sticky: šablóna spraví biely fixed pruh + tmavé menu; doladíme padding/priehľadnosť */
.header--sticky.sticky.fulmaya-header { padding: 0 60px !important; background: rgba(255,255,255,.94) !important; backdrop-filter: blur(6px); }
.header--sticky.sticky.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element:hover { color: var(--fm-primary) !important; }

/* menšie obrazovky: menšie bočné odsadenie a rozostupy */
@media (min-width: 992px) and (max-width: 1500px) {
  .fulmaya-header.header-style-one { padding: 0 30px; }
  .header--sticky.sticky.fulmaya-header { padding: 0 30px !important; }
  .fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element,
  .fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .main-element { padding: 32px 12px !important; font-size: 15px; }
  .fulmaya-header .button-area-start .rts-btn { padding: 9px 15px !important; font-size: 13px; }
}

/* stránky BEZ hero (prihlásenie, registrácia, 404) — statická solídna hlavička */
body.auth .fulmaya-topbar, body.error-404 .fulmaya-topbar {
  position: static; background: linear-gradient(90deg, var(--fm-indigo), var(--fm-primary));
}
body.auth .fulmaya-header.header-style-one, body.error-404 .fulmaya-header.header-style-one {
  position: static; background: var(--fm-primary-dark);
}
/* na týchto stránkach ostáva menu biele aj v pokoji (tmavé pozadie hlavičky) */
body.auth .fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element,
body.error-404 .fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element { color: #fff; }

/* =========================================================
   ČITATEĽNOSŤ — tmavý text na svetlých sekciách (light téma)
   ========================================================= */
[data-theme="light"] .section-title,
[data-theme="light"] .section-title-area .section-title,
[data-theme="light"] .rts-tour-area .section-title,
[data-theme="light"] .rts-destination-area .section-title,
[data-theme="light"] .rts-testimonials-area .section-title,
[data-theme="light"] .rts-why-choose-us-area .section-title { color: var(--fm-ink) !important; }
/* hero nadpisy (na tmavom bannery) ostávajú biele */
.rts-banner-area-eight .section-title.cw,
.fm-page-hero h1 { color: #fff !important; }

/* tour karty — rovnaká výška, spodné riadky zarovnané naprieč kartami */
.fulmaya-tour-card { background: #fff; border-radius: var(--fm-radius-lg); overflow: hidden; box-shadow: var(--fm-shadow-osx); display: flex; flex-direction: column; height: 100%; }
.fulmaya-tour-card .image-area { position: relative; display: block; flex: 0 0 auto; }
.fulmaya-tour-card .image-area img { width: 100%; height: 240px; object-fit: cover; border-radius: 0; box-shadow: none; }
.fulmaya-tour-card:hover .image-area img { transform: none; }
.fulmaya-tour-card .content { padding: 22px; display: flex; flex-direction: column; flex: 1 1 auto; }
.fulmaya-tour-card .content .title { min-height: 52px; margin-bottom: 6px; }
.fulmaya-tour-card .content .star-rating-area { margin-bottom: 6px; }
.fulmaya-tour-card .content .button-area { margin-top: auto; }
.fulmaya-tour-card .content .title a { color: var(--fm-ink) !important; }
.fulmaya-tour-card .content .title a:hover { color: var(--fm-primary) !important; }
.fulmaya-tour-card .meta-content { display: flex; gap: 16px; list-style: none; padding: 0; margin: 0 0 8px; }
.fulmaya-tour-card .meta-content li { color: var(--fm-primary) !important; font-size: 14px; }
.fulmaya-tour-card .star-rating-area .desc { color: var(--fm-ink); opacity: .65; }
.fulmaya-tour-card .button-area { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; gap: 12px; }
.fulmaya-tour-card .price-area { text-align: right; }
.fulmaya-tour-card .price-area .txt-from { display: block; font-size: 12px; opacity: .6; }
.fulmaya-tour-card .price-area .current { color: var(--fm-primary) !important; font-size: 22px; font-weight: 800; }
.fulmaya-tour-card .price-area .previous { text-decoration: line-through; opacity: .5; font-size: 14px; }
.fulmaya-tour-card .wishlist {
  position: absolute; top: 14px; right: 14px; width: 42px; height: 42px; background: #fff;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--fm-accent); box-shadow: 0 6px 16px -6px rgba(0,0,0,.3); z-index: 2; cursor: pointer; transition: .25s;
}
.fulmaya-tour-card .wishlist:hover { background: var(--fm-accent); color: #fff; }
.fulmaya-tour-card .tag { position: absolute; top: 14px; left: 14px; background: var(--fm-accent); color: #fff; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; z-index: 2; }
[data-theme="dark"] .fulmaya-tour-card { background: #16242f; }
[data-theme="dark"] .fulmaya-tour-card .content .title a { color: #f1f6fb !important; }
[data-theme="dark"] .fulmaya-tour-card .wishlist { background: #0f1b24; }

/* =========================================================
   OPRAVA HOVER TLAČIDIEL — text musí ostať viditeľný
   (šablóna rozťahuje biely ::before kruh cez tlačidlo)
   ========================================================= */
.rts-btn.btn-primary::before,
.rts-btn.btn-primary-2::before,
.rts-btn.btn-primary-3::before,
.rts-btn.btn-secondary::before { background: var(--fm-primary-dark) !important; }
.rts-btn.btn-primary:hover,
.rts-btn.btn-primary-2:hover,
.rts-btn.btn-primary-3:hover,
.rts-btn.btn-secondary:hover { color: #fff !important; border-color: var(--fm-primary-dark) !important; }
/* orámované tlačidlá: pri hoveri modrý fill + biely text */
.rts-btn.btn-border::before,
.rts-btn.btn-border-2::before { background: var(--fm-primary) !important; }
.rts-btn.btn-border:hover,
.rts-btn.btn-border-2:hover { color: #fff !important; }
/* header „Prihlásiť sa" — farbu rieši šablóna (biele nad hero, tmavé v sticky); pri hoveri biely text */
.fulmaya-header .button-area-start .rts-btn.btn-border-2:hover { color: #fff !important; }

/* mega-menu ad karta — text sa nesmie orezať */
.main-nav-area .mega-menu .ad-image { overflow: hidden; border-radius: var(--fm-radius); position: relative; }
.main-nav-area .mega-menu .ad-image .ad-content { padding: 20px; }
.main-nav-area .mega-menu .ad-image .ad-content .ad-title {
  white-space: normal !important; word-break: normal; overflow-wrap: break-word;
  font-size: 18px; line-height: 1.35; max-width: 100%;
}
/* jedno logo (poistka) */
.logo img.dark { display: none; }

/* =========================================================
   PREPIS TMAVEJ PALETY ŠABLÓNY „travel-agency" NA SVETLÚ
   (šablóna má --color-bg-1:#000 a biele nadpisy; my chceme svetlý default)
   ========================================================= */
.travel-agency,
[data-theme="light"] .travel-agency {
  --color-bg-1: #ffffff;
  --color-bg-2: #f4f8fc;
  --color-bg-3: #eef5fb;
  --color-heading-1: #14212e;
  --color-primary: #0079be;   /* logo modrá namiesto žltej */
  --color-secondary: #14212e;
}
[data-theme="dark"] .travel-agency,
[data-theme="dark"] body.travel-agency {
  --color-bg-1: #0d1720;
  --color-bg-2: #101d28;
  --color-bg-3: #16242f;
  --color-heading-1: #f1f6fb;
  --color-primary: #0079be;
  --color-secondary: #f1f6fb;
}
/* poistka: nadpisy sekcií čitateľné podľa témy */
[data-theme="light"] .rts-about-area .section-title,
[data-theme="light"] .travel-agency .section-title { color: var(--fm-ink) !important; }
[data-theme="dark"] .rts-about-area .section-title,
[data-theme="dark"] .travel-agency .section-title { color: #f1f6fb !important; }

/* =========================================================
   HERO NADPISY VŽDY BIELE (.cw = color white) — nad tmavým bannerom
   (musí prebiť prepis palety travel-agency na tmavý text)
   ========================================================= */
.rts-banner-area-eight .section-title.cw,
.rts-banner-area-eight .sub-title.cw,
[data-theme="light"] .travel-agency .section-title.cw,
[data-theme="dark"] .travel-agency .section-title.cw,
.fulmaya-hero .section-title,
.fulmaya-hero .sub-title,
.fm-page-hero h1,
.fm-page-hero .crumb,
.fm-page-hero .lead { color: #fff !important; }
.rts-banner-area-eight .sub-title.cw { color: #eaf6ff !important; }

/* =========================================================
   JEDNOTNÝ FONT MENU NA VŠETKÝCH STRÁNKACH (ako homepage = Playfair Display)
   ========================================================= */
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item a,
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element,
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .main-element,
.side-bar .mobile-menu-main nav ul li a {
  font-family: "Playfair Display", serif !important;
}

/* =========================================================
   „Prihlásiť sa" — lepší kontrast nad hero (nesticky), tmavý v sticky
   ========================================================= */
.fulmaya-header:not(.sticky) .button-area-start .rts-btn.btn-border-2 {
  border-color: rgba(255,255,255,.9) !important;
  color: #fff !important;
  background: rgba(255,255,255,.14) !important;
  backdrop-filter: blur(2px);
}
.fulmaya-header:not(.sticky) .button-area-start .rts-btn.btn-border-2:hover {
  background: #fff !important; color: var(--fm-primary-dark) !important; border-color: #fff !important;
}

/* =========================================================
   DESTINÁCIE (homepage) — rovnako veľké zarovnané kruhy
   ========================================================= */
.rts-destination-area .destination-wrapper-2 { text-align: center; height: 100%; }
.rts-destination-area .destination-wrapper-2 .image-area {
  aspect-ratio: 1 / 1; width: 100%; overflow: hidden; border-radius: 50%;
  box-shadow: var(--fm-shadow-osx);
}
.rts-destination-area .destination-wrapper-2 .image-area img {
  width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 50%; box-shadow: none;
}
.rts-destination-area .destination-wrapper-2 .content { text-align: center; margin-top: 18px; }
.rts-destination-area .destination-wrapper-2 .content .title { margin-bottom: 4px; }

/* =========================================================
   ZAROVNANIE KARIET NA ROVNAKÚ VÝŠKU (tím, blog, destinácie...)
   ========================================================= */
.row > [class*="col-"] > .fm-team-card { height: 100%; }
.fm-team-card { display: flex; flex-direction: column; }
.fm-team-card .info { display: flex; flex-direction: column; flex: 1 1 auto; }
.fm-team-card .info .socials { margin-top: auto; }
.fm-team-card .info .role { min-height: 20px; }

/* =========================================================
   „WOW" EFEKTY — cool animácie
   ========================================================= */
/* LCP fix: hero text (nad ohybom) sa nesmie skrývať za WOW animáciou (visibility:hidden
   drží nadpis neviditeľný až kým nezbehne deferred JS). Zobrazíme ho okamžite. */
.rts-banner-area-eight .wow { visibility: visible !important; opacity: 1 !important; animation: none !important; transform: none !important; }

/* Ken Burns pomalý zoom na hlavnom hero banneri */
@keyframes fmKenBurns { 0% { transform: scale(1.05); } 100% { transform: scale(1.16); } }
.rts-banner-area-eight .rts-hero-banner.bg { animation: fmKenBurns 20s ease-in-out infinite alternate; filter: brightness(1.16) contrast(1.05) saturate(1.1); }
.fm-page-hero { overflow: hidden; background-size: cover; background-position: center; }

/* Svetlejšie a ostrejšie hero slidery — jemnejší tmavý prekryv a spodný gradient */
.rts-banner-area-eight .rts-hero-banner::after { background: rgba(0, 0, 0, 0.16) !important; }
.rts-banner-area-eight::before { background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 62%) !important; height: 90px !important; }

/* Plynulé odhalenie pri scrolle (IntersectionObserver pridá .fm-in) */
.fm-reveal { opacity: 0; transform: translateY(34px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.fm-reveal.fm-in { opacity: 1; transform: translateY(0); }
.fm-reveal.scale { transform: translateY(24px) scale(.94); }
.fm-reveal.scale.fm-in { transform: translateY(0) scale(1); }

/* jemné nadvihnutie kariet pri hoveri (cool micro-interakcia) */
.fulmaya-tour-card, .fm-team-card { transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease; }
.fulmaya-tour-card:hover, .fm-team-card:hover { transform: translateY(-8px); box-shadow: var(--fm-shadow-osx-hover); }

/* žiariaci prechod na CTA */
.fulmaya-cta { position: relative; overflow: hidden; }
.fulmaya-cta::after {
  content: ""; position: absolute; top: -50%; left: -60%; width: 40%; height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform: rotate(18deg); animation: fmShine 6s ease-in-out infinite;
}
@keyframes fmShine { 0%,60% { left: -60%; } 100% { left: 130%; } }

/* animácia podčiarknutia menu pri hoveri */
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element { position: relative; }
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item .rts-dropdown-main-element::after {
  content: ""; position: absolute; left: 18px; right: 18px; bottom: 24px; height: 2px;
  background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; opacity: .8;
}
.fulmaya-header .main-nav-area ul.rts-desktop-menu .menu-item:hover .rts-dropdown-main-element::after { transform: scaleX(1); }

/* =========================================================
   FEATURES — vyhľadávanie, badge, mena, porovnanie, cookies,
   modal, recenzie, kvíz, share
   ========================================================= */
/* ikonové tlačidlá v hlavičke */
.header-icon-btn { width: 42px; height: 42px; border-radius: 999px; border: 1px solid rgba(255,255,255,.5);
  background: rgba(255,255,255,.12); color: #fff; display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: .25s; position: relative; font-size: 16px; }
.header-icon-btn:hover { background: #fff; color: var(--fm-primary); }
.header--sticky.sticky .header-icon-btn { border-color: var(--fm-primary); color: var(--fm-primary); }
.header--sticky.sticky .header-icon-btn:hover { background: var(--fm-primary); color: #fff; }
.wish-icon { text-decoration: none; }
.wish-badge { position: absolute; top: -5px; right: -5px; background: var(--fm-accent); color: #fff;
  font-size: 11px; font-weight: 700; min-width: 18px; height: 18px; border-radius: 999px;
  display: none; align-items: center; justify-content: center; padding: 0 5px; }

/* mena */
.cur-switcher { display: flex; gap: 2px; background: rgba(255,255,255,.14); border-radius: 999px; padding: 2px; }
.cur-switcher .cur-btn { color: #cfeaff; width: 26px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-weight: 700; font-size: 13px; }
.cur-switcher .cur-btn.active { background: #fff; color: var(--fm-primary); }

/* live search */
.fm-search-box { position: relative; }
.fm-search-panel { position: absolute; right: 0; top: 52px; width: 360px; max-width: 84vw; background: #fff;
  border-radius: var(--fm-radius); box-shadow: var(--fm-shadow-osx); padding: 10px; opacity: 0; visibility: hidden;
  transform: translateY(10px); transition: .25s; z-index: 60; }
.fm-search-box.open .fm-search-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.fm-search-panel input { width: 100%; border: 1px solid #e2e8f0; border-radius: 10px; padding: 11px 14px; color: var(--fm-ink); }
.fm-search-results { margin-top: 8px; max-height: 60vh; overflow-y: auto; display: none; }
.fm-search-results.show { display: block; }
.fm-search-results .no { padding: 14px; text-align: center; opacity: .6; font-size: 14px; }
.fm-search-item { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 10px; color: var(--fm-ink); text-decoration: none; transition: .2s; }
.fm-search-item:hover { background: rgba(0,121,190,.08); }
.fm-search-item img { width: 52px; height: 44px; object-fit: cover; border-radius: 8px; }
.fm-search-item span { flex: 1; display: flex; flex-direction: column; }
.fm-search-item small { opacity: .6; font-size: 12px; }
.fm-search-item em { color: var(--fm-primary); font-weight: 700; font-style: normal; }
[data-theme="dark"] .fm-search-panel { background: #16242f; }
[data-theme="dark"] .fm-search-item { color: #e7eef5; }

/* compare tlačidlo na kartičke */
.fm-compare-btn { position: absolute; top: 14px; right: 62px; width: 42px; height: 42px; border: none;
  background: #fff; border-radius: 50%; color: var(--fm-primary); cursor: pointer; z-index: 2;
  box-shadow: 0 6px 16px -6px rgba(0,0,0,.3); transition: .25s; }
.fm-compare-btn:hover, .fm-compare-btn.active { background: var(--fm-primary); color: #fff; }
[data-theme="dark"] .fm-compare-btn { background: #0f1b24; }

/* compare bar */
.fm-compare-bar { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 140%);
  background: var(--fm-ink); color: #fff; border-radius: 999px; padding: 10px 12px 10px 22px;
  display: flex; align-items: center; gap: 18px; box-shadow: var(--fm-shadow-osx); z-index: 850; transition: transform .4s cubic-bezier(.22,.61,.36,1); }
.fm-compare-bar.show { transform: translate(-50%, 0); }
.fm-compare-bar .txt { font-weight: 600; font-size: 14px; }
.fm-compare-bar .acts { display: flex; align-items: center; gap: 8px; }
.fm-compare-bar .fm-cmp-clear { background: rgba(255,255,255,.15); border: none; color: #fff; width: 34px; height: 34px; border-radius: 999px; cursor: pointer; }
@media (max-width: 767px) { .fm-compare-bar { width: 92vw; justify-content: space-between; } }

/* compare table */
.fm-compare-table { width: 100%; border-collapse: separate; border-spacing: 12px; }
.fm-compare-table th { text-align: left; color: var(--fm-primary); font-weight: 600; vertical-align: middle; white-space: nowrap; }
.fm-compare-table td { background: #fff; border-radius: 12px; padding: 16px; box-shadow: var(--fm-shadow-osx); text-align: center; vertical-align: middle; min-width: 180px; }
[data-theme="dark"] .fm-compare-table td { background: #16242f; }

/* cookie banner */
.fm-cookie { position: fixed; left: 20px; bottom: 20px; max-width: 420px; background: #fff; color: var(--fm-ink);
  border-radius: var(--fm-radius); box-shadow: var(--fm-shadow-osx); padding: 20px; z-index: 950; transition: .4s; }
.fm-cookie.hide { opacity: 0; transform: translateY(20px); }
.fm-cookie p { margin: 0 0 14px; font-size: 14px; }
.fm-cookie-btns { display: flex; gap: 10px; align-items: center; }
.fm-cc-decline { background: none; border: none; color: var(--fm-ink); opacity: .6; cursor: pointer; font-size: 14px; }
[data-theme="dark"] .fm-cookie { background: #16242f; color: #e7eef5; }
@media (max-width: 767px) { .fm-cookie { left: 12px; right: 12px; max-width: none; } }

/* modal */
.fm-modal { position: fixed; inset: 0; background: rgba(11,23,32,.6); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: .3s; z-index: 1000; padding: 20px; }
.fm-modal.open { opacity: 1; visibility: visible; }
.fm-modal-box { background: #fff; border-radius: var(--fm-radius-lg); padding: 34px; width: 440px; max-width: 100%;
  position: relative; transform: translateY(20px); transition: .3s; box-shadow: var(--fm-shadow-osx-hover); }
.fm-modal.open .fm-modal-box { transform: translateY(0); }
.fm-modal-close { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border: none; background: rgba(0,0,0,.06); border-radius: 999px; cursor: pointer; color: var(--fm-ink); }
[data-theme="dark"] .fm-modal-box { background: #16242f; }

/* detail actions + share */
.fm-detail-actions { display: flex; gap: 10px; margin: 16px 0; }
.fm-act-btn { flex: 1; border: 1px solid #e2e8f0; background: #fff; color: var(--fm-ink); border-radius: 10px; padding: 10px; cursor: pointer; font-size: 13px; transition: .2s; }
.fm-act-btn:hover, .fm-act-btn.active { border-color: var(--fm-primary); color: var(--fm-primary); background: rgba(0,121,190,.06); }
.fm-act-btn[data-wishlist].active { border-color: var(--fm-accent); color: var(--fm-accent); }
.fm-share { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 14px; }
.fm-share button { width: 34px; height: 34px; border-radius: 999px; border: none; background: rgba(0,121,190,.1); color: var(--fm-primary); cursor: pointer; transition: .2s; }
.fm-share button:hover { background: var(--fm-primary); color: #fff; }
.fm-share button.copied { background: #16a34a; color: #fff; }
[data-theme="dark"] .fm-act-btn { background: #0f1b24; border-color: #2a3a48; color: #e7eef5; }

/* recenzie */
.fm-star-picker { display: flex; gap: 6px; font-size: 22px; color: var(--fm-sun); cursor: pointer; margin: 6px 0 14px; }
.fm-review-list { display: flex; flex-direction: column; gap: 16px; }
.fm-review-item { background: #fff; border-radius: var(--fm-radius); padding: 20px; box-shadow: var(--fm-shadow-osx); }
.fm-review-item .stars { color: var(--fm-sun); margin-bottom: 8px; }
.fm-review-item p { margin: 0 0 8px; }
.fm-review-item b { color: var(--fm-primary); }
[data-theme="dark"] .fm-review-item { background: #16242f; }

/* kvíz */
.fm-quiz-step { display: none; animation: fmFade .4s ease; }
.fm-quiz-step.active { display: block; }
@keyframes fmFade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.fm-quiz-step h3 { text-align: center; margin-bottom: 26px; }
.fm-quiz-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fm-quiz-opts button { background: #fff; border: 2px solid #eef2f6; border-radius: var(--fm-radius); padding: 26px 18px;
  font-size: 16px; cursor: pointer; transition: .25s; color: var(--fm-ink); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.fm-quiz-opts button i { font-size: 30px; color: var(--fm-primary); }
.fm-quiz-opts button:hover, .fm-quiz-opts button.sel { border-color: var(--fm-primary); transform: translateY(-4px); box-shadow: var(--fm-shadow-osx); }
.fm-quiz-back { margin-top: 22px; background: none; border: none; color: var(--fm-primary); cursor: pointer; font-weight: 600; }
[data-theme="dark"] .fm-quiz-opts button { background: #16242f; border-color: #2a3a48; color: #e7eef5; }
@media (max-width: 575px) { .fm-quiz-opts { grid-template-columns: 1fr; } }

/* FAB callback tlačidlo (je button, nie a) */
.fm-fab-item.callbk { border: none; cursor: pointer; font-family: inherit; }
.fm-fab-item.callbk i { background: var(--fm-cyan); }

/* =========================================================
   HLAVIČKA — tlačidlá na jednom riadku, všetko vertikálne zarovnané
   ========================================================= */
.fulmaya-header .header-style-one-wrapper { display: flex; align-items: center; }
.fulmaya-header .button-area-start { display: flex; align-items: center; gap: 10px; }
.fulmaya-header .button-area-start .rts-btn { white-space: nowrap; line-height: 1; display: inline-flex; align-items: center; }
.fulmaya-header .logo-area, .fulmaya-header .main-nav-area { display: flex; align-items: center; }
