/* =========================================================
   ROYAL COMFORT RIDE — CLEAN SINGLE CSS (DROP-IN)
   Palette: Black / White / Gold (#FFD700)
   Matches your HTML wrapper: #rcrV2  +  .fx background system
   ========================================================= */

/* ---------- Reset ---------- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
/* Same as --bg0: fills any gap under fixed .fx during mobile scroll / overscroll */
html{
  background-color:#05080f;
  min-height:100%;
}
body{
  background-color:#05080f;
  min-height:100%;
  font-family:var(--rcr-font-sans);
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
:root{
  --rcr-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  --safeL: env(safe-area-inset-left, 0px);
  --safeR: env(safe-area-inset-right, 0px);
  /* Fallback until main.js measures #top; keeps layout stable on every page */
  --rcr-header-h: 72px;
}
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body.noScroll{overflow:hidden}
@supports (overflow-x: clip){
  html, body{ overflow-x: clip; }
}
html{scroll-behavior:smooth}

/* ---------- Tokens / Root ---------- */
#rcrV2{
  --bg0:#05080f;
  --bg1:#070b14;

  --text: rgba(245,247,252,.96);
  --muted: rgba(205,213,228,.86);
  --muted2: rgba(160,174,200,.88);

  --line: rgba(255,255,255,.10);
  --line2: rgba(255,255,255,.06);

  --gold:#FFD700;
  --goldSoft: rgba(255,215,0,.16);

  --radius:18px;
  /* Card surfaces — lighter black glass (tweak alphas together) */
  --rcr-card: rgba(0,0,0,.58);
  --rcr-card-hover: rgba(0,0,0,.7);
  --rcr-card-rail: rgba(0,0,0,.52);
  --rcr-card-soft: rgba(0,0,0,.38);
  --rcr-card-dim: rgba(0,0,0,.3);
  /* mobilni mnav overlay: JS postavlja stvarnu visinu #top / .top */
  --rcr-header-h: 72px;

  position:relative;
  color:var(--text);
  font-family:var(--rcr-font-sans);
  padding-left: var(--safeL);
  padding-right: var(--safeR);
  /* prostor za fixed header (.top); visinu održava JS → --rcr-header-h */
  padding-top: var(--rcr-header-h, 72px);
}

/* =========================================================
   BACKGROUND FX (matches your HTML .fx)
   ========================================================= */
#rcrV2 .fx{
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  /* Lock to visual viewport; dvh / fill-available reduce iOS/Android “cracks” when chrome resizes */
  min-height:100vh;
  min-height:100dvh;
  min-height:-webkit-fill-available;
  height:100%;
  z-index:0;
  pointer-events:none;
  transform:translateZ(0);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
#rcrV2 .fx__bg{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  min-height:100%;
  min-height:100vh;
  min-height:100dvh;
  min-height:-webkit-fill-available;
  background:
    radial-gradient(1200px 720px at 50% 18%, rgba(255,215,0,.16), transparent 62%),
    radial-gradient(900px 560px at 18% 62%, rgba(255,215,0,.10), transparent 66%),
    radial-gradient(900px 560px at 82% 55%, rgba(255,255,255,.06), transparent 66%),
    linear-gradient(180deg, var(--bg0) 0%, var(--bg1) 45%, var(--bg0) 100%);
  filter:saturate(.98) contrast(1.04);
}
#rcrV2 .fx__noise{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  min-height:100%;
  min-height:100vh;
  min-height:100dvh;
  min-height:-webkit-fill-available;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  opacity:.06;
  mix-blend-mode:overlay;
}
#rcrV2 .fx__vignette{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  min-height:100%;
  min-height:100vh;
  min-height:100dvh;
  min-height:-webkit-fill-available;
  background: radial-gradient(circle at center, transparent 40%, rgba(0,0,0,.62) 100%);
}
#rcrV2 .fx__orbs{
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  min-height:100%;
  min-height:100vh;
  min-height:100dvh;
  min-height:-webkit-fill-available;
}
#rcrV2 .orb{
  position:absolute;
  border-radius:999px;
  filter: blur(26px);
  opacity:.55;
  animation:rcrBreathe 7s ease-in-out infinite;
}
#rcrV2 .orb--1{width:520px;height:520px;left:-120px;top:10%;background:rgba(255,215,0,.10)}
#rcrV2 .orb--2{width:520px;height:520px;right:-160px;top:18%;background:rgba(255,255,255,.06);animation-delay:1.1s}
#rcrV2 .orb--3{width:620px;height:620px;left:30%;bottom:-220px;background:rgba(255,215,0,.08);animation-delay:2.2s}
@keyframes rcrBreathe{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.45}
  50%{transform:translate3d(1.2%,-1%,0) scale(1.03);opacity:.70}
}
/* Touch: extend fixed bg below viewport so rubber-band / toolbar resize doesn’t flash a seam */
@media (hover: none) and (pointer: coarse){
  #rcrV2 .fx{
    min-height:calc(100dvh + env(safe-area-inset-bottom, 0px) + 72px);
    min-height:calc(100vh + env(safe-area-inset-bottom, 0px) + 72px);
  }
  #rcrV2 .fx__bg,
  #rcrV2 .fx__noise,
  #rcrV2 .fx__vignette,
  #rcrV2 .fx__orbs{
    min-height:calc(100dvh + env(safe-area-inset-bottom, 0px) + 72px);
    min-height:calc(100vh + env(safe-area-inset-bottom, 0px) + 72px);
  }
}

/* Content above bg */
#rcrV2 .wrap{
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
  position:relative;
  z-index:2;
}
@media (max-width:520px){
  #rcrV2 .wrap{ width:min(1120px, calc(100% - 24px)); }
}

/* ---------- Typography helpers ---------- */
#rcrV2 .muted{color:var(--muted)}
#rcrV2 .muted2{color:var(--muted2)}
#rcrV2 .gold{color:var(--gold)}

#rcrV2 .h1{
  font-size: clamp(2.25rem, 3.6vw, 3.6rem);
  /* ≥1.15: room for descenders (y, g, p); 1.05 + background-clip:text clipped tails on some browsers */
  line-height:1.18;
  letter-spacing:.2px;
  margin:0;
}
#rcrV2 .h2{
  font-size: clamp(1.7rem, 2.2vw, 2.2rem);
  margin:0;
}
#rcrV2 .lead{
  margin-top:18px;
  max-width:56ch;
  color:var(--muted);
  font-size:1.05rem;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* Gold gradient word */
#rcrV2 .goldGrad{
  background: linear-gradient(90deg, rgba(255,215,0,.98), rgba(255,255,255,.88));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Shine effect */
#rcrV2 .shine{position:relative;display:inline-block}
#rcrV2 .shine::after{
  content:"";
  position:absolute; inset:-4px -10px;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.16) 45%, transparent 70%);
  transform: translateX(-120%);
  animation: rcrShine 2.8s ease infinite;
}
@keyframes rcrShine{
  0%{transform:translateX(-120%)}
  60%{transform:translateX(120%)}
  100%{transform:translateX(120%)}
}

/* Hero H1 only: reveal sheen across the text, hold, then clip away from left → right (stays inside H1 box) */
@keyframes rcrHeroH1Shine{
  0%{
    -webkit-clip-path:inset(0 100% 0 0);
    clip-path:inset(0 100% 0 0);
  }
  32%{
    -webkit-clip-path:inset(0 0% 0 0);
    clip-path:inset(0 0% 0 0);
  }
  48%{
    -webkit-clip-path:inset(0 0% 0 0);
    clip-path:inset(0 0% 0 0);
  }
  100%{
    -webkit-clip-path:inset(0 0% 0 100%);
    clip-path:inset(0 0% 0 100%);
  }
}

/*
  Hero H1: same sheen motion as legal/cookie (.shine + rcrShine feel) via sliding gradient,
  then finish like rcrHeroH1Shine (clip wipes away from the left). Uses background-position
  so it works with hero H1 overflow-x: clip (no wide translateX bleed).
*/
@keyframes rcrHeroH1CookieSweepThenClip{
  0%{
    background-position:118% 50%;
    -webkit-clip-path:inset(0 0% 0 0);
    clip-path:inset(0 0% 0 0);
  }
  /* ~cookie rcrShine: band crosses left → right (0–60% of that keyframe ≈ this segment) */
  38%{
    background-position:-32% 50%;
    -webkit-clip-path:inset(0 0% 0 0);
    clip-path:inset(0 0% 0 0);
  }
  48%{
    background-position:-32% 50%;
    -webkit-clip-path:inset(0 0% 0 0);
    clip-path:inset(0 0% 0 0);
  }
  100%{
    background-position:-32% 50%;
    -webkit-clip-path:inset(0 0% 0 100%);
    clip-path:inset(0 0% 0 100%);
  }
}

/* Desktop: main H1s match legal pages (gold gradient + sweep) — skip H1s that already use .goldGrad inside */
@media (min-width:981px) and (prefers-reduced-motion:no-preference){
  #rcrV2 .h1:not(:has(.goldGrad)){
    position:relative;
    display:block;
    max-width:100%;
    overflow:visible;
    /* Extra vertical box for descenders under text-fill + background-clip */
    padding-bottom:0.12em;
    background:linear-gradient(90deg, rgba(255,215,0,.98), rgba(255,255,255,.88));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
  }
  #rcrV2 .h1:not(:has(.goldGrad))::after{
    content:"";
    position:absolute;
    inset:-4px -10px -10px -10px;
    background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.16) 45%, transparent 70%);
    transform:translateX(-120%);
    animation:rcrShine 2.8s ease infinite;
    pointer-events:none;
  }
  /* Homepage hero: sliding sheen with 45° edges (135° axis), then clip finish (loop); desktop only */
  #rcrV2 .hero__left .h1:not(:has(.goldGrad))::after{
    inset:0;
    background:linear-gradient(
      135deg,
      transparent 0%,
      transparent 39%,
      rgba(255,255,255,.06) 39%,
      rgba(255,255,255,.2) 42%,
      rgba(255,255,255,.24) 43.4%,
      rgba(255,255,255,.2) 45%,
      rgba(255,255,255,.06) 48%,
      transparent 48%,
      transparent 100%
    );
    background-size:260% 100%;
    background-position:118% 50%;
    background-repeat:no-repeat;
    transform:none;
    animation:rcrHeroH1CookieSweepThenClip 4.5s ease infinite;
    -webkit-clip-path:inset(0 0% 0 0);
    clip-path:inset(0 0% 0 0);
    pointer-events:none;
  }
}
@media (min-width:981px) and (prefers-reduced-motion:reduce){
  #rcrV2 .h1:not(:has(.goldGrad))::after{
    content:none;
  }
}

/* =========================================================
   TOP NAV
   ========================================================= */
/* Site header: fixed to viewport on all templates using #rcrV2 */
#rcrV2 .top{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  width:100%;
  max-width:100%;
  padding-left: var(--safeL);
  padding-right: var(--safeR);
  box-sizing:border-box;
  padding-top: env(safe-area-inset-top, 0px);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: linear-gradient(180deg, #000 0%, #000 58%, rgba(255,215,0,.12) 100%);
  border-bottom: none;
}
/* Full-bleed gold divider (edge-to-edge, fixed with top bar) */
#rcrV2 .top::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  pointer-events:none;
  background: linear-gradient(
    90deg,
    rgba(255,215,0,.2) 0%,
    rgba(255,215,0,.75) 18%,
    rgba(255,215,0,.75) 82%,
    rgba(255,215,0,.2) 100%
  );
  box-shadow:
    0 0 20px rgba(255,215,0,.26),
    0 1px 0 rgba(255,255,255,.07);
}
#rcrV2 .top__inner{
  position:relative;
  display:grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items:center;
  gap:10px 16px;
  padding:12px 0 16px;
  min-height:0;
  /* Language + burger: same size, radius, and grid row alignment */
  --rcr-top-control-h:44px;
  --rcr-top-control-r:14px;
}
#rcrV2 .top__inner.wrap{
  width:min(1120px, calc(100% - 40px));
}

/* Desktop ≥981px: logo flush left | language | nav (brand name visually hidden, kept in DOM) — rules after .nav (see below) */
#rcrV2 .brand{
  grid-column:2;
  grid-row:1;
  justify-self:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  font-weight:900;
  letter-spacing:.2px;
  flex-shrink:0;
  min-width:0;
  max-width:min(100%, 440px);
  margin:0 auto;
  color:rgba(245,247,252,.98);
  text-decoration:none;
  cursor:pointer;
}
#rcrV2 .brand:focus-visible{
  outline:none;
  border-radius:16px;
  box-shadow:0 0 0 3px rgba(255,215,0,.28);
}
@keyframes rcrBrandMarkIn{
  from{
    opacity:0;
    transform:translateY(6px) scale(.96);
    filter:blur(2px);
  }
  to{
    opacity:1;
    transform:none;
    filter:none;
  }
}
#rcrV2 .brand__mark{
  width:52px;
  height:52px;
  border-radius:14px;
  object-fit:cover;
  object-position:center;
  padding:0;
  display:block;
  flex-shrink:0;
  background:#000;
  border:none;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
  opacity:0;
  animation:rcrBrandMarkIn .75s cubic-bezier(.16,1,.3,1) .08s forwards;
}
@media (prefers-reduced-motion: reduce){
  #rcrV2 .brand__mark{
    animation:none;
    opacity:1;
    transform:none;
    filter:none;
  }
}
#rcrV2 .brand__name{
  display:block;
  margin:0;
  padding:0;
  opacity:.98;
  font-family:inherit;
  font-size:clamp(0.92rem, 3.1vw, 1.28rem);
  font-weight:900;
  line-height:1.12;
  text-transform:uppercase;
  letter-spacing:.12em;
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}

#rcrV2 .nav{
  grid-column:3;
  grid-row:1;
  justify-self:end;
  align-self:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px 18px;
  align-items:center;
  min-width:0;
}
#rcrV2 .langMenu{
  grid-column:1;
  grid-row:1;
  justify-self:start;
  align-self:center;
  position:relative;
  flex-shrink:0;
  z-index:3;
}
#rcrV2 .langMenu__trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-sizing:border-box;
  min-height:var(--rcr-top-control-h);
  height:var(--rcr-top-control-h);
  padding:0 12px;
  border-radius:var(--rcr-top-control-r);
  border:1px solid rgba(255,215,0,.18);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255,215,0,.06), transparent 55%),
    linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  color:rgba(245,247,252,.92);
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#rcrV2 .langMenu__trigger:hover{
  border-color:rgba(255,215,0,.32);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 20px rgba(255,215,0,.08);
}
#rcrV2 .langMenu__trigger:focus-visible{
  border-color:rgba(255,215,0,.38);
  box-shadow:
    0 0 0 3px rgba(255,215,0,.15),
    0 0 0 1px rgba(255,255,255,.06) inset;
}
#rcrV2 .langMenu__label{font-size:.82rem;font-weight:800;letter-spacing:.08em}
#rcrV2 .langMenu__flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:1rem;
  line-height:1;
}
#rcrV2 .langMenu__flag--trigger{
  font-size:1.05rem;
}
/* Chevron: CSS arrow (replaces legacy text glyph in HTML) */
#rcrV2 .langMenu__chev{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:10px;
  height:10px;
  flex-shrink:0;
  margin-left:1px;
  font-size:0;
  line-height:0;
  color:transparent;
  overflow:hidden;
  opacity:1;
}
#rcrV2 .langMenu__chev::after{
  content:"";
  width:5px;
  height:5px;
  margin-top:-1px;
  border-right:1.5px solid rgba(255,215,0,.82);
  border-bottom:1.5px solid rgba(255,215,0,.82);
  transform:rotate(45deg);
  transform-origin:50% 50%;
  transition:transform .2s ease;
}
#rcrV2 .langMenu.is-open .langMenu__chev::after{
  transform:rotate(-135deg);
  margin-top:1px;
}
#rcrV2 .langMenu__menu{
  position:absolute;
  left:0;
  right:auto;
  top:calc(100% + 10px);
  min-width:min(220px, calc(100vw - 24px));
  padding:8px;
  border-radius:20px;
  border:1px solid rgba(255,215,0,.22);
  background:
    radial-gradient(130% 50% at 50% 0%, rgba(255,215,0,.07), transparent 58%),
    linear-gradient(180deg, #0a0a0a 0%, #000000 55%, #000000 100%);
  box-shadow:
    0 28px 90px rgba(0,0,0,.65),
    0 0 0 1px rgba(255,255,255,.04) inset;
  display:grid;
  gap:6px;
  visibility:hidden;
  opacity:0;
  transform:translate3d(0,6px,0);
  pointer-events:none;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  contain:layout style;
  transition:
    opacity .13s cubic-bezier(.33,1,.2,1),
    transform .13s cubic-bezier(.33,1,.2,1),
    visibility 0s linear .13s;
  z-index:60;
}
#rcrV2 .langMenu.is-open .langMenu__menu{
  visibility:visible;
  opacity:1;
  transform:translate3d(0,0,0);
  pointer-events:auto;
  transition:
    opacity .13s cubic-bezier(.33,1,.2,1),
    transform .13s cubic-bezier(.33,1,.2,1),
    visibility 0s linear 0s;
}
#rcrV2 .langMenu__option{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  color:rgba(245,247,252,.9);
}
#rcrV2 .langMenu__option:hover{background:rgba(255,255,255,.06)}
#rcrV2 .langMenu__option.is-current{
  background:rgba(255,215,0,.08);
  border:1px solid rgba(255,215,0,.16);
}
#rcrV2 .langMenu__option .langMenu__label{
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.04em;
}
#rcrV2 .nav__a{
  color:rgba(245,247,252,.86);
  padding:8px 10px;
  border-radius:10px;
  transition:.22s;
  position:relative;
}
#rcrV2 .nav__a:hover{
  background:rgba(255,255,255,.05);
  transform:translateY(-1px);
}
#rcrV2 .nav__a::after{
  content:"";
  position:absolute; left:10px; right:10px; bottom:4px;
  height:2px; border-radius:999px;
  background: linear-gradient(90deg, rgba(255,215,0,0), rgba(255,215,0,.85), rgba(255,215,0,0));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
#rcrV2 .nav__a:hover::after{transform:scaleX(1)}
#rcrV2 .nav__a.is-current{
  color:rgba(255,215,0,.95);
}
#rcrV2 .nav__a.is-current::after{transform:scaleX(1)}
/* Two flex groups: section links + CTAs stay aligned as rows (avoid display:contents + wrap splitting CTAs to a new line) */
#rcrV2 .nav__main,
#rcrV2 .nav__cta{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:0 14px;
  min-width:0;
}
#rcrV2 .nav__cta{
  gap:8px;
  flex-shrink:0;
}
/* Header: choose city dropdown (desktop + city actions) */
#rcrV2 .navCityPick{
  position:relative;
  display:inline-flex;
  vertical-align:middle;
}
#rcrV2 .nav__cta--cityOnly{
  gap:0;
}
#rcrV2 .navCityPick__trigger.nav__a--cta{
  border:none;
  cursor:pointer;
  font:inherit;
  font-weight:800;
  letter-spacing:.04em;
  text-align:center;
  white-space:nowrap;
}
#rcrV2 .navCityPick__trigger--city{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 22px 14px 18px;
  border-radius:16px;
  border:1px solid rgba(255,215,0,.2);
  background:
    radial-gradient(130% 50% at 50% 0%, rgba(255,215,0,.1), transparent 55%),
    linear-gradient(180deg, rgba(10,10,10,.52) 0%, rgba(0,0,0,.38) 100%);
  color:rgba(245,247,252,.98) !important;
  box-shadow:
    0 20px 50px rgba(0,0,0,.38),
    0 0 0 1px rgba(255,255,255,.06) inset;
  font-family:var(--rcr-font-sans);
  font-size:.98rem;
  font-weight:600;
  letter-spacing:.015em;
  text-transform:none;
  transition:
    transform .22s cubic-bezier(.16,1,.3,1),
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}
#rcrV2 .navCityPick__trigger--city:hover{
  transform:translateY(-2px);
  border-color:rgba(255,215,0,.36);
  background:
    radial-gradient(130% 50% at 50% 0%, rgba(255,215,0,.12), transparent 55%),
    linear-gradient(180deg, rgba(12,12,12,.62) 0%, rgba(0,0,0,.48) 100%);
  box-shadow:
    0 28px 72px rgba(0,0,0,.45),
    0 0 24px rgba(255,215,0,.08),
    0 0 0 1px rgba(255,255,255,.08) inset;
  filter:none;
}
#rcrV2 .navCityPick__trigger--city:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(255,215,0,.22),
    0 22px 60px rgba(0,0,0,.42);
}
#rcrV2 .navCityPick__menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:220px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(255,215,0,.22);
  background:
    radial-gradient(130% 50% at 50% 0%, rgba(255,215,0,.08), transparent 55%),
    linear-gradient(180deg, #121318 0%, #0a0a0c 100%);
  box-shadow:
    0 24px 70px rgba(0,0,0,.65),
    0 0 0 1px rgba(255,255,255,.05) inset;
  visibility:hidden;
  opacity:0;
  transform:translate3d(0,6px,0);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  z-index:80;
}
/* Header row: dropdowns must stack above page content (fixed bar z-index:100). */
#rcrV2 .top .navCityPick__menu{
  z-index:160;
}
#rcrV2 .navCityPick.open .navCityPick__menu{
  visibility:visible;
  opacity:1;
  transform:translate3d(0,0,0);
  pointer-events:auto;
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear 0s;
}
#rcrV2 .navCityPick__menu a{
  display:block;
  padding:10px 14px;
  border-radius:12px;
  font-weight:700;
  font-size:.88rem;
  color:rgba(245,247,252,.94);
  transition:background .15s ease;
}
#rcrV2 .navCityPick__menu a:hover{
  background:rgba(255,215,0,.1);
  color:#fff;
}
#rcrV2 .navCityPick__menu--cityGrid{
  width:min(92vw, 540px);
  min-width:min(420px, 92vw);
  padding:12px;
}
#rcrV2 .navCityPick__cityList{
  display:grid;
  gap:10px;
}
#rcrV2 .navCityPick__cityRow{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    rgba(0,0,0,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}
#rcrV2 .navCityPick__cityRow--current{
  border-color:rgba(255,215,0,.22);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255,215,0,.08), transparent 58%),
    rgba(0,0,0,.32);
}
#rcrV2 .navCityPick__cityLabel{
  min-width:0;
}
#rcrV2 .navCityPick__cityName{
  display:block;
  font-size:.98rem;
  font-weight:700;
  color:rgba(245,247,252,.96);
}
#rcrV2 .navCityPick__cityActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
#rcrV2 .navCityPick__cityAction{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:132px;
  padding:10px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14);
  font-size:.8rem !important;
  font-weight:600 !important;
  letter-spacing:.015em !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease;
}
#rcrV2 .navCityPick__cityAction:hover{
  transform:translateY(-1px);
}
#rcrV2 .navCityPick__cityAction--primary{
  color:#141414 !important;
  background:linear-gradient(180deg, #ffe033 0%, #ffd700 48%, #e6bc00 100%) !important;
  border-color:rgba(255,255,255,.2);
  box-shadow:
    0 8px 20px rgba(255,215,0,.18),
    0 0 0 1px rgba(0,0,0,.18) inset;
}
#rcrV2 .navCityPick__cityAction--primary:hover{
  box-shadow:
    0 12px 28px rgba(255,215,0,.26),
    0 0 0 1px rgba(0,0,0,.18) inset;
  filter:brightness(1.02);
}
#rcrV2 .navCityPick__cityAction--ghost{
  background:rgba(255,255,255,.06) !important;
  color:rgba(245,247,252,.94) !important;
  border-color:rgba(255,255,255,.12);
}
#rcrV2 .navCityPick__cityAction--ghost:hover{
  background:rgba(255,255,255,.1) !important;
  border-color:rgba(255,215,0,.16);
  color:#fff !important;
}
@media (max-width:640px){
  #rcrV2 .navCityPick__menu--cityGrid{
    min-width:min(calc(100vw - 24px), 360px);
    width:min(calc(100vw - 24px), 360px);
  }
  #rcrV2 .navCityPick__cityRow{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  #rcrV2 .navCityPick__cityActions{
    justify-content:stretch;
  }
  #rcrV2 .navCityPick__cityAction{
    flex:1 1 140px;
  }
}
#rcrV2 .nav__a--cta{
  padding:7px 14px;
  border-radius:999px;
  cursor:pointer;
  font-family:var(--rcr-font-sans);
  font-size:0.82rem;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:none;
  color:#141414 !important;
  background:linear-gradient(180deg, #ffe033 0%, #ffd700 45%, #e6bc00 100%);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:
    0 3px 14px rgba(255,215,0,.26),
    0 0 0 1px rgba(0,0,0,.2) inset;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
#rcrV2 .nav__a--cta::after{display:none}
#rcrV2 .nav__a--cta:hover{
  background:linear-gradient(180deg, #ffe033 0%, #ffd700 45%, #e6bc00 100%);
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.28);
  box-shadow:
    0 10px 24px rgba(255,215,0,.32),
    0 0 0 1px rgba(0,0,0,.2) inset;
  filter:brightness(1.02);
}
#rcrV2 .nav__a--cta.is-current{
  color:#0a0a0a !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.45),
    0 6px 24px rgba(255,215,0,.45),
    0 0 0 1px rgba(0,0,0,.2) inset;
}
/* Mobile: book / day trips → pick city (native <details>) */
#rcrV2 .mnav__ctaPickGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:16px;
  align-items:start;
}
#rcrV2 .mnav__pick{
  border-radius:14px;
  overflow:visible;
}
#rcrV2 .mnav__pick > summary.mnav__cta{
  list-style:none;
  cursor:pointer;
  width:100%;
  box-sizing:border-box;
}
#rcrV2 .mnav__pick > summary::-webkit-details-marker{display:none}
#rcrV2 .mnav__pick[open] > summary.mnav__cta{
  border-radius:14px 14px 0 0;
  margin-bottom:0;
}
#rcrV2 .mnav__pickList{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:8px 8px 12px;
  margin:0;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(255,215,0,.16);
  border-top:none;
  border-radius:0 0 14px 14px;
}
#rcrV2 .mnav__pickList a{
  display:block;
  padding:11px 12px;
  border-radius:10px;
  font-weight:700;
  font-size:.88rem;
  color:rgba(245,247,252,.94);
}
#rcrV2 .mnav__pickList a:hover{background:rgba(255,255,255,.07)}
#rcrV2 .mnav__cityChooser{
  display:grid;
  gap:10px;
  margin-bottom:16px;
}
#rcrV2 .mnav__cityCards{
  display:grid;
  gap:10px;
}
#rcrV2 .mnav__cityCard{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    rgba(0,0,0,.28);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}
#rcrV2 .mnav__cityCard--current{
  border-color:rgba(255,215,0,.2);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255,215,0,.08), transparent 58%),
    rgba(0,0,0,.32);
}
#rcrV2 .mnav__cityName{
  margin-bottom:10px;
  font-size:.95rem;
  font-weight:700;
  color:rgba(245,247,252,.96);
}
#rcrV2 .mnav__cityActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
#rcrV2 .mnav__cityAction{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.015em;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease;
}
#rcrV2 .mnav__cityAction:hover{
  transform:translateY(-1px);
}
#rcrV2 .mnav__cityAction--primary{
  color:#141414 !important;
  background:linear-gradient(180deg, #ffe033 0%, #ffd700 48%, #e6bc00 100%);
  border-color:rgba(255,255,255,.2);
  box-shadow:
    0 8px 20px rgba(255,215,0,.18),
    0 0 0 1px rgba(0,0,0,.18) inset;
}
#rcrV2 .mnav__cityAction--ghost{
  background:rgba(255,255,255,.06);
  color:rgba(245,247,252,.94) !important;
  border-color:rgba(255,255,255,.12);
}
#rcrV2 .mnav__cityAction--ghost:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,215,0,.16);
}
@media (max-width:380px){
  #rcrV2 .mnav__cityActions{
    grid-template-columns:1fr;
  }
}
#rcrV2 .mnav__group{
  display:grid;
  gap:6px;
  margin:0;
}
#rcrV2 .mnav__sectionLabel{
  margin:2px 6px 6px;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,215,0,.82);
}
/* Legacy: single-row CTAs (city hub pages) */
#rcrV2 .mnav__ctaRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:16px;
}
#rcrV2 .mnav__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px 12px;
  border-radius:14px;
  font-family:var(--rcr-font-sans);
  font-weight:800;
  letter-spacing:.02em;
  color:#141414 !important;
  background:linear-gradient(180deg, #ffe033 0%, #ffd700 50%, #e6bc00 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 6px 22px rgba(255,215,0,.25);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
#rcrV2 .mnav__cta:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.28);
  box-shadow:0 10px 28px rgba(255,215,0,.34);
  filter:brightness(1.02);
}
#rcrV2 .mnav__cta[aria-current="page"]{
  box-shadow:
    0 0 0 2px rgba(255,255,255,.35),
    0 6px 22px rgba(255,215,0,.4);
}
#rcrV2 .mnav__panel a[aria-current="page"]{
  background:rgba(255,215,0,.08);
  border:1px solid rgba(255,215,0,.14);
}

/* City dropdown */
#rcrV2 .city{position:relative}
#rcrV2 .city__btn{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--rcr-card-soft);
  color:rgba(245,247,252,.92);
  font-family:var(--rcr-font-sans);
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
#rcrV2 .city__dot{
  width:10px;height:10px;border-radius:999px;
  background: linear-gradient(90deg, rgba(255,215,0,1), rgba(255,255,255,.85));
  box-shadow:0 0 22px rgba(255,215,0,.22);
}
#rcrV2 .city__chev{opacity:.8}
#rcrV2 .city__menu{
  position:absolute; right:0; top:calc(100% + 10px);
  min-width:180px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card-hover);
  box-shadow: 0 30px 90px rgba(0,0,0,.60);
  padding:8px;

  visibility:hidden;
  opacity:0;
  transform: translateY(6px);
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
#rcrV2 .city__menu a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  color:rgba(245,247,252,.88);
}
#rcrV2 .city__btn:hover{
  transform:translateY(-1px);
  border-color:rgba(255,215,0,.18);
  background:rgba(255,255,255,.08);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
#rcrV2 .city__menu a:hover{background:rgba(255,255,255,.06)}
#rcrV2 .city.open .city__menu{
  visibility:visible;
  opacity:1;
  transform:none;
  pointer-events:auto;
}

/* Hero — choose city (dropdown); stack above hero stats below */
#rcrV2 .heroCity{
  position:relative;
  z-index:40;
  /* Shrink wrap the button so the menu centers under it (not under full-width .cta) */
  width:fit-content;
  max-width:100%;
}
/* Centriraj red kad je jedini element u CTA-u choose-city */
#rcrV2 .hero__left .cta:has(> .heroCity:only-child){
  justify-content:center;
}
#rcrV2 .heroCity .city__btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 22px 14px 18px;
  border-radius:16px;
  border:1px solid rgba(255,215,0,.2);
  background:
    radial-gradient(130% 50% at 50% 0%, rgba(255,215,0,.1), transparent 55%),
    linear-gradient(180deg, rgba(10,10,10,.52) 0%, rgba(0,0,0,.38) 100%);
  color:rgba(245,247,252,.98);
  font-family:var(--rcr-font-sans);
  font-size:1.02rem;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:
    0 20px 50px rgba(0,0,0,.38),
    0 0 0 1px rgba(255,255,255,.06) inset;
  transition:
    transform .22s cubic-bezier(.16,1,.3,1),
    border-color .22s ease,
    box-shadow .22s ease;
}
#rcrV2 .heroCity .city__btn:hover{
  transform:translateY(-3px);
  border-color:rgba(255,215,0,.36);
  background:
    radial-gradient(130% 50% at 50% 0%, rgba(255,215,0,.12), transparent 55%),
    linear-gradient(180deg, rgba(12,12,12,.62) 0%, rgba(0,0,0,.48) 100%);
  box-shadow:
    0 28px 72px rgba(0,0,0,.45),
    0 0 24px rgba(255,215,0,.08),
    0 0 0 1px rgba(255,255,255,.08) inset;
}
#rcrV2 .heroCity .city__btn:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(255,215,0,.22),
    0 20px 50px rgba(0,0,0,.4);
}
#rcrV2 .heroCity .city__dot{
  width:11px;
  height:11px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--gold) 0%, rgba(255,250,220,.95) 100%);
  box-shadow:
    0 0 0 2px rgba(255,215,0,.25),
    0 0 22px rgba(255,215,0,.45);
}
#rcrV2 .heroCity .city__chev{
  opacity:.88;
  font-size:.95rem;
  line-height:1;
  transition:transform .24s cubic-bezier(.16,1,.3,1);
  color:rgba(255,215,0,.75);
}
#rcrV2 .heroCity.city.open .city__chev{
  transform:rotate(180deg);
  color:var(--gold);
}
#rcrV2 .heroCity .city__menu{
  position:absolute;
  left:50%;
  right:auto;
  top:calc(100% + 6px);
  min-width:min(308px, calc(100vw - 40px));
  padding:12px;
  border-radius:20px;
  border:1px solid rgba(255,215,0,.22);
  background:
    radial-gradient(130% 50% at 50% 0%, rgba(255,215,0,.07), transparent 58%),
    linear-gradient(180deg, #0a0a0a 0%, #000000 55%, #000000 100%);
  box-shadow:
    0 32px 100px rgba(0,0,0,.7),
    0 0 0 1px rgba(255,255,255,.04) inset;
  display:flex;
  flex-direction:column;
  gap:6px;
  z-index:50;
  transform:translateX(-50%) translateY(8px);
}
#rcrV2 .heroCity.city.open .city__menu{
  transform:translateX(-50%);
}
/* Desktop: same centered-under-button placement as mobile */
@media (min-width:981px){
  #rcrV2 .heroCity{
    z-index:55;
  }
}
#rcrV2 .heroCity .city__menu::before{
  content:"";
  display:block;
  height:3px;
  margin:-4px -4px 8px -4px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(255,215,0,.25), var(--gold), rgba(255,215,0,.25), transparent);
  opacity:.95;
}
#rcrV2 .heroCity .city__pick{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  text-decoration:none;
  color:rgba(245,247,252,.98);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:none;
  transition:
    border-color .2s ease,
    background .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}
#rcrV2 .heroCity .city__pickName{
  font-weight:900;
  font-size:1.08rem;
  letter-spacing:.03em;
}
#rcrV2 .heroCity .city__pickBadge{
  flex:0 0 auto;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:6px 10px;
  border-radius:999px;
  color:rgba(5,8,15,.92);
  background:linear-gradient(135deg, var(--gold), rgba(255,240,185,.98));
  box-shadow:0 0 18px rgba(255,215,0,.35);
}
#rcrV2 .heroCity .city__pick:hover{
  border-color:rgba(255,215,0,.35);
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
  box-shadow:none;
}
#rcrV2 .heroCity .city__pick:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(255,215,0,.25);
}
#rcrV2 .heroCity .city__soon{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:12px;
  font-size:.94rem;
  font-weight:600;
  color:rgba(205,213,228,.45);
  border:1px dashed rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  cursor:not-allowed;
  user-select:none;
  pointer-events:none;
  margin-top:0;
}
#rcrV2 .heroCity .city__soon + .city__soon{
  margin-top:2px;
}
#rcrV2 .heroCity .city__soon:first-of-type{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.07);
  border-top-left-radius:0;
  border-top-right-radius:0;
  border-left:1px dashed rgba(255,255,255,.1);
  border-right:1px dashed rgba(255,255,255,.1);
  border-bottom:1px dashed rgba(255,255,255,.1);
}
#rcrV2 .heroCity .city__soonTag{
  flex:0 0 auto;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,215,0,.5);
  border:1px solid rgba(255,215,0,.2);
  background:rgba(255,215,0,.06);
  padding:5px 9px;
  border-radius:999px;
}

@media (prefers-reduced-motion: reduce){
  #rcrV2 .heroCity .city__btn,
  #rcrV2 .heroCity .city__chev,
  #rcrV2 .heroCity .city__pick{
    transition:none;
  }
  #rcrV2 .heroCity .city__btn:hover,
  #rcrV2 .heroCity .city__pick:hover{
    transform:none;
  }
  #rcrV2 .heroCity.city.open .city__chev{
    transform:rotate(180deg);
  }
  #rcrV2 .heroCity.city.open .city__menu{
    transform:translateX(-50%);
  }
}

/* Hero desktop: same city dropdowns as header (hidden on mobile) */
#rcrV2 .hero__cityHint--desktopOnly{
  display:none;
}
#rcrV2 .hero__cityHint--mobileOnly{
  display:block;
}
@media (min-width:981px){
  #rcrV2 .hero__cityHint--desktopOnly{
    display:block;
  }
  #rcrV2 .hero__cityHint--mobileOnly{
    display:none;
  }
}
@media (min-width:981px){
  #rcrV2 .hero__left .cta{
    justify-content:flex-start;
  }
}
@media (max-width:980px){
  /* Mobile hero: choose-city CTA centered */
  #rcrV2 .hero__left .cta{
    justify-content:center;
  }
}

/* Burger + Mobile menu */
#rcrV2 .burger{
  display:none;
  grid-column:3;
  grid-row:1;
  justify-self:end;
  align-self:center;
  width:var(--rcr-top-control-h);
  height:var(--rcr-top-control-h);
  box-sizing:border-box;
  border-radius:var(--rcr-top-control-r);
  border:1px solid rgba(255,215,0,.18);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255,215,0,.06), transparent 55%),
    linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
  cursor:pointer;
  position:relative;
  z-index:4;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#rcrV2 .burger:hover{
  border-color:rgba(255,215,0,.32);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06) inset,
    0 0 20px rgba(255,215,0,.08);
}
#rcrV2 .burger:focus-visible{
  outline:none;
  border-color:rgba(255,215,0,.38);
  box-shadow:
    0 0 0 3px rgba(255,215,0,.15),
    0 0 0 1px rgba(255,255,255,.06) inset;
}
#rcrV2 .burger span{
  position:absolute; left:12px; right:12px;
  height:2px; border-radius:2px;
  background: rgba(245,247,252,.9);
  box-shadow:0 0 8px rgba(255,215,0,.12);
}
#rcrV2 .burger span:nth-child(1){top:14px}
#rcrV2 .burger span:nth-child(2){top:21px;opacity:.9}
#rcrV2 .burger span:nth-child(3){top:28px;opacity:.78}

/* Desktop: logo far left, lang, nav — brand name stays in DOM for SEO (visually hidden)
   NOTE: do NOT use display:contents on .brand — it breaks <a> hit-testing so the logo is not clickable home link in several browsers. */
@media (min-width:981px){
  #rcrV2 .top__inner.wrap{
    width:min(1560px, calc(100% - 48px));
  }
  #rcrV2 .top__inner{
    grid-template-columns:auto auto minmax(0, 1fr);
    align-items:center;
    gap:12px 20px;
  }
  #rcrV2 .brand{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-self:center;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    max-width:none;
    margin:0;
    text-align:left;
    text-decoration:none;
    color:inherit;
    position:relative;
    z-index:2;
  }
  #rcrV2 .brand:hover{
    color:rgba(255,215,0,.95);
  }
  #rcrV2 .brand__mark{
    flex-shrink:0;
  }
  /* Visible text hidden on desktop; markup kept for crawlers / SEO */
  #rcrV2 .brand__name{
    text-align:left;
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
    pointer-events:none;
  }
  #rcrV2 .langMenu{
    grid-column:2;
    grid-row:1;
  }
  /* Scroll the section links only — overflow on .nav clips header dropdowns (Book / Day trips). */
  #rcrV2 .nav{
    grid-column:3;
    grid-row:1;
    justify-self:stretch;
    width:100%;
    flex-wrap:nowrap;
    justify-content:flex-end;
    gap:12px 18px;
    overflow:visible;
    align-items:center;
    padding-bottom:2px;
  }
  #rcrV2 .nav__main{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-end;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,215,0,.35) transparent;
    padding-bottom:2px;
    gap:0 16px;
  }
  #rcrV2 .nav__cta{
    gap:10px;
  }
  #rcrV2 .nav__main::-webkit-scrollbar{
    height:4px;
  }
  #rcrV2 .nav__main::-webkit-scrollbar-thumb{
    background:rgba(255,215,0,.28);
    border-radius:999px;
  }
  #rcrV2 .burger{
    grid-column:3;
    grid-row:1;
  }
}
@media (min-width:981px) and (max-width:1280px){
  #rcrV2 .top__inner.wrap{
    width:min(1380px, calc(100% - 40px));
  }
  #rcrV2 .nav{
    gap:10px 14px;
  }
  #rcrV2 .nav__main{
    gap:0 12px;
  }
  #rcrV2 .nav__a{
    padding:8px 8px;
  }
  #rcrV2 .nav__a--cta{
    padding:7px 12px;
  }
}

/* Mobile: overlay od donje ruba headera do dna + ladica s desne */
#rcrV2 .mnav{
  display:none;
  position:fixed;
  left:0;
  right:0;
  top:var(--rcr-header-h, 72px);
  bottom:0;
  z-index:200;
  flex-direction:row;
  justify-content:flex-end;
  align-items:stretch;
  margin:0;
  padding:0;
  /* Jedan sloj: samo opacity (bez animacije background-color = manje repaint-a na mobitelu) */
  background:rgba(0,0,0,.78);
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  /* Compositor layer: smoother full-screen fade with the sliding panel */
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  isolation:isolate;
  transition:
    opacity .12s cubic-bezier(.33,1,.2,1),
    visibility 0s linear .12s;
}
#rcrV2 .mnav.open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition:
    opacity .12s cubic-bezier(.33,1,.2,1),
    visibility 0s linear 0s;
}
#rcrV2 .mnav__panel{
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(360px, calc(100vw - 28px));
  min-height:100%;
  max-height:100%;
  margin:0;
  padding:
    14px
    calc(14px + env(safe-area-inset-right, 0px))
    calc(18px + env(safe-area-inset-bottom, 0px))
    18px;
  border-radius:20px 0 0 20px;
  border:1px solid rgba(255,215,0,.22);
  background:
    radial-gradient(130% 50% at 100% 0%, rgba(255,215,0,.07), transparent 58%),
    linear-gradient(180deg, #0a0a0a 0%, #000000 55%, #000000 100%);
  box-shadow:
    -28px 0 90px rgba(0,0,0,.65),
    0 0 0 1px rgba(255,255,255,.04) inset;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  transform:translate3d(100%,0,0);
  transition: transform .16s cubic-bezier(.32,.72,.2,1);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  contain:layout style paint;
}
#rcrV2 .mnav__panel > .mnav__ctaPickGrid,
#rcrV2 .mnav__panel > .mnav__ctaRow,
#rcrV2 .mnav__panel > .mnav__cityChooser,
#rcrV2 .mnav__panel > .mnav__pick,
#rcrV2 .mnav__panel > .mnav__group{
  flex-shrink:0;
}
#rcrV2 .mnav.open .mnav__panel{
  transform:translate3d(0,0,0);
}
#rcrV2 .mnav__panel a{
  display:block;
  padding:14px 14px;
  border-radius:12px;
  color: rgba(245,247,252,.92);
  font-weight:600;
}
#rcrV2 .mnav__panel a:hover{background: rgba(255,255,255,.06)}
/* Pin Contact to bottom of drawer when menu is shorter than viewport */
#rcrV2 .mnav__contact{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid rgba(255,215,0,.14);
  font-weight:700;
  color:rgba(255,215,0,.95) !important;
}
#rcrV2 .mnav__contact:hover{
  background:rgba(255,215,0,.08) !important;
}
#rcrV2 .mnav__line{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,215,0,.25), transparent);
  margin:14px 4px;
  opacity:.85;
}
#rcrV2 .mnav__group + .mnav__line{
  margin-top:16px;
}
#rcrV2 .mnav__line + .mnav__group{
  margin-top:2px;
}

@media (prefers-reduced-motion: reduce){
  #rcrV2 .mnav,
  #rcrV2 .mnav.open,
  #rcrV2 .mnav__panel{
    transition:none;
  }
}

@media (max-width:980px){
  /* Drawer otvoren: isključi backdrop-blur na headeru (iOS/Android — teško s fixed overlay + animacijom) */
  #rcrV2.mnav-open .top{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:linear-gradient(180deg, #000 0%, #000 70%, rgba(255,215,0,.14) 100%);
  }
  #rcrV2 .top__inner{
    grid-template-columns:auto minmax(0,1fr) var(--rcr-top-control-h);
    gap:8px 10px;
    padding-right:0;
    padding-left:0;
  }
  #rcrV2 .langMenu{margin-left:0}
  #rcrV2 .langMenu__trigger{padding:0 10px}
  #rcrV2 .nav{display:none}
  #rcrV2 .burger{display:inline-block}
  #rcrV2 .mnav{display:flex}
  #rcrV2 .mnav__panel{
    will-change:transform;
    box-shadow:
      -12px 0 40px rgba(0,0,0,.5),
      0 0 0 1px rgba(255,255,255,.04) inset;
  }
}
#rcrV2.is-mobile-nav .nav{display:none}
#rcrV2.is-mobile-nav .burger{display:inline-block}
#rcrV2.is-mobile-nav .mnav{display:flex}

@media (max-width:640px){
  #rcrV2 .langMenu__trigger{
    gap:6px;
  }
  #rcrV2 .langMenu__trigger .langMenu__label{
    font-size:0;
    letter-spacing:0;
  }
  #rcrV2 .langMenu__flag--trigger{
    font-size:1.2rem;
  }
  #rcrV2 .langMenu__option{
    gap:12px;
  }
  #rcrV2 .langMenu__option .langMenu__label{
    font-size:.82rem;
  }
  #rcrV2 .brand__name{
    font-size:clamp(0.78rem, 3.4vw, 1.02rem);
    letter-spacing:.1em;
  }
  #rcrV2 .brand__mark{
    width:46px;
    height:46px;
    border-radius:13px;
  }
}
@media (max-width:380px){
  #rcrV2 .brand__name{
    white-space:normal;
    line-height:1.15;
    max-width:46vw;
  }
}

/* =========================================================
   BUTTONS
   ========================================================= */
#rcrV2 .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  font-family:var(--rcr-font-sans);
  font-weight:800;
  letter-spacing:.02em;

  padding:14px 18px;
  border-radius:14px;
  border:1px solid var(--line);

  background:
    radial-gradient(900px 360px at 30% 0%, rgba(255,215,0,.12), transparent 58%),
    radial-gradient(800px 360px at 80% 10%, rgba(255,255,255,.06), transparent 62%),
    linear-gradient(180deg, rgba(14,18,26,.88), rgba(6,10,16,.55));

  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, filter .18s ease;
  position:relative;
  overflow:hidden;
  transform: translateZ(0);
}
#rcrV2 .btn::after{
  content:"";
  position:absolute; inset:-40%;
  background: linear-gradient(120deg, transparent 0%, rgba(255,215,0,.16) 45%, transparent 70%);
  transform: translateX(-140%);
  opacity:0;
  pointer-events:none;
}
#rcrV2 .btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,215,0,.22);
  box-shadow:
    0 24px 54px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,215,0,.08) inset;
  filter:brightness(1.02);
}
#rcrV2 .btn:hover::after{
  opacity:.78;
  animation:rcrBtnSheen .9s ease;
}
#rcrV2 .btn--ghost:hover{
  background:rgba(255,255,255,.05);
  box-shadow:0 16px 34px rgba(0,0,0,.24);
  border-color:rgba(255,255,255,.16);
  transform:translateY(-2px);
  filter:none;
}
#rcrV2 .btn--white:hover{
  border-color:rgba(255,215,0,.18);
  background:rgba(255,255,255,.09);
  transform:translateY(-2px);
}
@keyframes rcrBtnSheen{from{transform:translateX(-140%)}to{transform:translateX(140%)}}
#rcrV2 .btn:active{transform:translateY(0);box-shadow:0 14px 30px rgba(0,0,0,.32)}
#rcrV2 .btn--ghost{background:transparent;box-shadow:none}
#rcrV2 .btn--white{border-color: rgba(255,255,255,.14);background: rgba(255,255,255,.06)}

#rcrV2 .miniBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-family:var(--rcr-font-sans);
  font-weight:800;
  letter-spacing:.02em;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(5,8,15,.30);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
#rcrV2 .miniBtn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,215,0,.18);
  background:rgba(10,12,18,.58);
  box-shadow:0 14px 30px rgba(0,0,0,.26);
}

/* =========================================================
   HERO
   ========================================================= */
/* Hero text: each block animates on its own (staggered), not one big wrap fade */
@keyframes rcrHeroTextLineIn{
  from{
    opacity:0;
    transform:translate3d(0,22px,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}
#rcrV2 .hero{
  padding:42px 0 44px;
  position:relative;
  z-index:2;
}
@media (prefers-reduced-motion: no-preference){
  #rcrV2 .hero__left > *:not(.stats){
    animation:rcrHeroTextLineIn .62s cubic-bezier(.16,1,.3,1) both;
  }
  #rcrV2 .hero__left > *:nth-child(1):not(.stats){animation-delay:.04s}
  #rcrV2 .hero__left > *:nth-child(2):not(.stats){animation-delay:.1s}
  #rcrV2 .hero__left > *:nth-child(3):not(.stats){animation-delay:.16s}
  #rcrV2 .hero__left > *:nth-child(4):not(.stats){animation-delay:.22s}
  #rcrV2 .hero__left > *:nth-child(5):not(.stats){animation-delay:.28s}
  #rcrV2 .hero__left > *:nth-child(6):not(.stats){animation-delay:.34s}
  #rcrV2 .hero__left > *:nth-child(7):not(.stats){animation-delay:.4s}
  #rcrV2 .hero__left > *:nth-child(8):not(.stats){animation-delay:.46s}
}
#rcrV2 .hero::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:100%;
  background:
    radial-gradient(760px 420px at 18% 24%, rgba(255,215,0,.14), transparent 60%),
    radial-gradient(540px 300px at 78% 26%, rgba(255,255,255,.04), transparent 68%);
  pointer-events:none;
}
#rcrV2 .hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.06fr) minmax(340px, 470px);
  gap:44px;
  align-items:center;
}

/* City hub hero (npr. /city/dubrovnik/) — fotografija umjesto mape */
#rcrV2 .hero--city .hero__left{
  display:flex;
  flex-direction:column;
}
#rcrV2 .hero--city .hero__left > .stats{
  order:1;
}
#rcrV2 .hero--city .hero__left > .cta{
  order:2;
}
#rcrV2 .hero--city .hero__left .h1{
  max-width: 18ch;
  font-size: clamp(2.35rem, 4.8vw, 4.35rem);
  letter-spacing: -.03em;
}
#rcrV2 .cityHeroPhoto{
  position:relative;
  align-self:stretch;
  max-width:520px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
#rcrV2 .cityHeroPhoto__frame{
  border-radius: calc(var(--radius) + 10px);
  border: 1px solid rgba(255,215,0,.24);
  overflow:hidden;
  background:var(--rcr-card);
  box-shadow:
    0 32px 100px rgba(0,0,0,.52),
    0 0 0 1px rgba(255,215,0,.08) inset;
}
#rcrV2 .cityHeroPhoto__img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 4/3;
  object-fit:cover;
}
#rcrV2 .cityHeroPhoto__bar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding: 14px 16px 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.88));
}
#rcrV2 .cityHeroPhoto__k{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#rcrV2 .cityHeroPhoto__title{
  font-weight:900;
  font-size:1.35rem;
  letter-spacing:.02em;
}
#rcrV2 .cityHeroPhoto__sub{
  margin-top:4px;
  font-size:.88rem;
}

@media (max-width:980px){
  #rcrV2 .hero__inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  #rcrV2 .hero{padding:34px 0 40px}
}
#rcrV2 .kicker{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  color:rgba(245,247,252,.78);
  margin-bottom:16px;
  justify-content:flex-start;
}
#rcrV2 .pill{
  font-size:.78rem;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:var(--rcr-card-soft);
  position:relative;
  overflow:hidden;
}
#rcrV2 .pill::after{
  content:"";
  position:absolute; inset:-60%;
  background: radial-gradient(circle at 30% 30%, rgba(255,215,0,.20), transparent 60%);
  opacity:.55;
  animation: pillGlow 5.5s ease-in-out infinite;
}
@keyframes pillGlow{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(1%,-1%,0)}
}
#rcrV2 .kdot{
  width:10px;height:10px;border-radius:999px;
  background: linear-gradient(90deg, rgba(255,215,0,1), rgba(255,255,255,.85));
  box-shadow:0 0 0 0 rgba(255,215,0,.42);
  animation:rcrPulse 1.6s ease infinite;
}
@keyframes rcrPulse{
  0%{box-shadow:0 0 0 0 rgba(255,215,0,.40)}
  70%{box-shadow:0 0 0 14px rgba(255,215,0,0)}
  100%{box-shadow:0 0 0 0 rgba(255,215,0,0)}
}
#rcrV2 .hero__left{
  text-align:left;
  max-width:560px;
  overflow:visible;
}
#rcrV2 .hero__left--shot{
  padding-top:14px;
}
#rcrV2 .hero__eyebrow{
  margin-top:10px;
  font-weight:800;
  letter-spacing:.08em;
  color: #FFD700;
}
#rcrV2 .hero__award{
  margin-top:6px;
}
/* Homepage hero only: award line + intro paragraph — white (not .muted); H1 unchanged */
#rcrV2 .hero:not(.hero--city) .hero__award{
  color: rgba(255, 255, 255, 0.96);
}
#rcrV2 .hero:not(.hero--city) .hero__left .lead{
  color: rgba(255, 255, 255, 0.92);
}
@keyframes rcrHeroTitleLive{
  0%,100%{
    transform:translateY(0);
    text-shadow:
      0 2px 22px rgba(0,0,0,.42),
      0 0 26px rgba(255,215,0,.1);
  }
  50%{
    transform:translateY(-4px);
    text-shadow:
      0 6px 32px rgba(0,0,0,.36),
      0 0 44px rgba(255,215,0,.22);
  }
}
#rcrV2 .hero__left .h1{
  /* Room for full title + descenders (y, p); avoid viewport-wide shine bleed */
  max-width:min(22ch, 100%);
  font-size:clamp(3rem, 5.6vw, 4.7rem);
  line-height:1.1;
  letter-spacing:-.035em;
  padding-bottom:0.14em;
  overflow-x:clip;
  animation:rcrHeroTitleLive 5.2s ease-in-out infinite;
  will-change:transform;
}
#rcrV2 .hero__left .lead{
  margin-left:0;
  margin-right:0;
  text-align:left;
  max-width:33rem;
  font-size:1.18rem;
  line-height:1.5;
}
#rcrV2 .hero__cityHint{
  margin:28px 0 0;
  max-width:33rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,215,0,.9);
}
#rcrV2 .hero__left .hero__cityHint + .cta{
  margin-top:12px;
}
#rcrV2 .cta{
  margin-top:24px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-start;
  overflow:visible;
}
/*
  .stats is a *sibling* of .cta under .hero__left (comes later in DOM).
  z-index on .heroCity only stacks inside .cta — without a z-index on .cta,
  the whole CTA layer is still painted before .stats, so counters cover the menu.
*/
#rcrV2 .hero__left .cta{
  position:relative;
  z-index:15;
}

/*
  Choose-city open: lift stacking so the dropdown sits above hero copy (H1 sheen, lead),
  the map column (backdrop-filter / transforms), and following page sections.
*/
#rcrV2 .hero:has(.heroCity.city.open){
  position:relative;
  z-index:80;
}
#rcrV2 .hero__inner:has(.heroCity.city.open){
  position:relative;
  isolation:isolate;
}
#rcrV2 .hero__inner:has(.heroCity.city.open) .hero__left{
  position:relative;
  z-index:4;
}
#rcrV2 .hero__inner:has(.heroCity.city.open) .heroMapCard{
  position:relative;
  z-index:0;
}
#rcrV2 .hero__left:has(.heroCity.city.open) .cta{
  z-index:300;
}
#rcrV2 .heroCity.city.open .city__menu{
  z-index:5000;
}
/* H1 shine (::after) otherwise composites over the open panel */
#rcrV2 .hero__left:has(.heroCity.city.open) .h1:not(:has(.goldGrad))::after{
  opacity:0;
  animation:none;
  visibility:hidden;
}

/* Hero stats (stay under choose-city dropdown) */
#rcrV2 .stats{
  position:relative;
  z-index:0;
  margin-top:22px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
  justify-items:stretch;
}
#rcrV2 .stat{
  border:1px solid var(--line2);
  background:var(--rcr-card);
  border-radius:18px;
  padding:18px 16px;
  box-shadow: 0 22px 54px rgba(0,0,0,.34);
  position:relative;
  overflow:hidden;
  animation: floatSoft 6.5s cubic-bezier(.55,0,.1,1) infinite;
  min-height:108px;
  text-align:center;
}
#rcrV2 .stat:nth-child(2){animation-delay:1.2s}
#rcrV2 .stat:nth-child(3){animation-delay:2.4s}
#rcrV2 .stat::after{
  content:"";
  position:absolute; inset:-60%;
  background: radial-gradient(circle at 50% 40%, rgba(255,215,0,.16), transparent 60%);
  opacity:.55;
  animation: statGlow 7s ease-in-out infinite;
}
@keyframes statGlow{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(1%,-1%,0)}
}
@keyframes floatSoft{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
#rcrV2 .stat__n{
  font-weight:950;
  font-size:1.55rem;
  color:rgba(255,215,0,.95);
  text-shadow:0 0 18px rgba(255,215,0,.12);
  position:relative;
  z-index:1;
}
#rcrV2 .stat__t{
  margin-top:8px;
  color:rgba(245,247,252,.82);
  font-size:1rem;
  line-height:1.35;
  position:relative;
  z-index:1;
}
@media (max-width:760px){
  #rcrV2 .hero--city .hero__left > .cta{
    order:1;
  }
  #rcrV2 .hero--city .hero__left > .stats{
    order:2;
  }
  #rcrV2 .stats{grid-template-columns:1fr}
}

/* Hero map card */
#rcrV2 .heroMapCard{
  position:relative;
  border-radius:30px;
  padding:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
  width:min(470px, 100%);
  margin-left:auto;
}
#rcrV2 .heroMapCard__shell{
  border:1px solid rgba(255,255,255,.1);
  border-radius:30px;
  padding:18px 18px 14px;
  background:var(--rcr-card-rail);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 38px 120px rgba(0,0,0,.42);
}
#rcrV2 .heroMapCard__top{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
#rcrV2 .heroMapCard__k{font-size:.8rem}
#rcrV2 .heroMapCard__title{
  font-weight:900;
  letter-spacing:.2px;
  font-size:1.4rem;
}
#rcrV2 .heroMapCard__sub{font-size:.92rem}
#rcrV2 .heroMapCard__mapWrap{
  position:relative;
  margin-top:12px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:var(--rcr-card-soft);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
#rcrV2 .heroMapCard__mapFrame{
  min-height:510px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 -40px 80px rgba(0,0,0,.35);
}
#rcrV2 .heroMapCard__mapArt{
  width:100%;
  aspect-ratio: 23 / 27;
  display:block;
  position:relative;
  padding:30px 12px 10px;
}
#rcrV2 .heroMapCard__mapSvg{
  width:100%;
  height:100%;
  display:block;
}
#rcrV2 .heroMapCard__mapImg{
  width:96%;
  height:100%;
  object-fit:contain;
  display:block;
  margin:0 auto;
  filter:
    drop-shadow(0 16px 34px rgba(0,0,0,.72))
    saturate(.96)
    contrast(1.04);
  animation:rcrMapFloat 8s ease-in-out infinite;
}
#rcrV2 .heroMapCard__mapArt::after{
  content:"";
  position:absolute;
  inset:18% 14% 12%;
  background: radial-gradient(circle at 50% 44%, rgba(255,215,0,.08), transparent 64%);
  pointer-events:none;
  filter:blur(18px);
  opacity:.85;
}
#rcrV2 .heroMapCard__coat{
  position:absolute;
  left:50%;
  top:18px;
  right:auto;
  width:60px;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.42);
  animation: rcrCoatFloat 6s cubic-bezier(.55,0,.1,1) infinite;
}
#rcrV2 .heroMapCard__coatImg{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.42));
}
@keyframes rcrCoatFloat{
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%{ transform:translateX(-50%) translateY(-4px); }
}
#rcrV2 .mapPin{
  position:absolute;
  display:flex;
  align-items:center;
  gap:6px;
  transform: translate(-50%, -50%);
  font-size:.8rem;
  color: rgba(245,247,252,.95);
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
}
#rcrV2 .mapPin__dot{
  width:8px;height:8px;border-radius:999px;
  background: linear-gradient(90deg, rgba(255,215,0,.98), rgba(248,236,188,.88));
  box-shadow:0 0 0 0 rgba(255,215,0,.42);
  animation: rcrPinPulse 1.7s ease infinite;
}
#rcrV2 .mapPin__label{
  padding:0;
  border-radius:0;
  border:none;
  background:transparent;
  font-weight:700;
  box-shadow:none;
  animation:rcrLabelDrift 5.8s ease-in-out infinite;
}
@keyframes rcrMapFloat{
  0%,100%{ transform:translate3d(0,0,0) scale(1); }
  50%{ transform:translate3d(.5%,-1.1%,0) scale(1.012); }
}
@keyframes rcrLabelDrift{
  0%,100%{ transform:translateY(0); opacity:.92; }
  50%{ transform:translateY(-2px); opacity:1; }
}
@keyframes rcrPinPulse{
  0%{box-shadow:0 0 0 0 rgba(255,215,0,.40)}
  70%{box-shadow:0 0 0 14px rgba(255,215,0,0)}
  100%{box-shadow:0 0 0 0 rgba(255,215,0,0)}
}
#rcrV2 .mapPin--zagreb{ left:54.5%; top:180px; }
#rcrV2 .mapPin--split{ left:210px; top:350px; }
#rcrV2 .mapPin--zadar{ left:140px; top:280px; }
#rcrV2 .mapPin--dubrovnik{ left:270px; top:385px; }
#rcrV2 .mapPin--pula{ left:85px; top:240px; }
#rcrV2 .mapPin--dubrovnik, #rcrV2 .mapPin--split, #rcrV2 .mapPin--zadar, #rcrV2 .mapPin--pula{ flex-direction:row-reverse; }
#rcrV2 .mapPin--zagreb .mapPin__label{ animation-delay:.15s; }
#rcrV2 .mapPin--zadar .mapPin__label{ animation-delay:.45s; }
#rcrV2 .mapPin--split .mapPin__label{ animation-delay:.8s; }
#rcrV2 .mapPin--dubrovnik .mapPin__label{ animation-delay:1.15s; }
#rcrV2 .mapPin--pula .mapPin__label{ animation-delay:1.45s; }
#rcrV2 .heroMapCard__foot{
  margin-top:14px;
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
@media (max-width:980px){
  #rcrV2 .hero__left,
  #rcrV2 .hero__left .lead{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  #rcrV2 .hero__left .h1{
    margin-left:auto;
    margin-right:auto;
  }
  #rcrV2 .kicker,
  #rcrV2 .cta{
    justify-content:center;
  }
  #rcrV2 .heroMapCard{
    margin:0 auto;
  }
}
@media (max-width:640px){
  #rcrV2 .heroMapCard__mapFrame{min-height:420px}
  #rcrV2 .hero__left .h1{font-size:clamp(2.6rem, 12vw, 3.6rem)}
  /* Dubrovnik pin: mobile nudge vs desktop (x −55px, y −50px) */
  #rcrV2 .mapPin--dubrovnik{
    left:calc(270px - 55px);
    top:calc(385px - 50px);
  }
  /* Split pin: mobile nudge (x −35px, y −50px vs 210/350) */
  #rcrV2 .mapPin--split{
    left:calc(210px - 35px);
    top:calc(350px - 50px);
  }
  /* Zadar pin: 20px left, 35px up vs desktop (140px / 280px) */
  #rcrV2 .mapPin--zadar{
    left:calc(140px - 20px);
    top:calc(280px - 35px);
  }
  /* Pula pin: 15px left, 30px up vs desktop (85px / 240px) */
  #rcrV2 .mapPin--pula{
    left:calc(85px - 15px);
    top:calc(240px - 30px);
  }
}

/* Hero map — phones: drop backdrop-blur, filters, and always-on animations (scroll/GPU cost) */
@media (max-width:768px){
  #rcrV2 .heroMapCard{
    contain:layout style;
  }
  #rcrV2 .heroMapCard__shell{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:0 18px 50px rgba(0,0,0,.38);
    background:var(--rcr-card-rail);
  }
  #rcrV2 .heroMapCard__mapWrap{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:var(--rcr-card-soft);
  }
  #rcrV2 .heroMapCard__mapImg{
    animation:none;
    transform:none;
    filter:none;
  }
  #rcrV2 .heroMapCard__mapArt::after{
    display:none;
  }
  #rcrV2 .heroMapCard__coat{
    animation:none;
    transform:translateX(-50%);
  }
  #rcrV2 .heroMapCard__coatImg{
    filter:none;
  }
  #rcrV2 .mapPin__dot{
    animation:none;
    box-shadow:0 0 0 2px rgba(255,215,0,.25), 0 0 12px rgba(255,215,0,.35);
  }
  #rcrV2 .mapPin__label{
    animation:none;
  }
  /* Reveal without filter:blur() — cheaper compositing when the card enters view */
  #rcrV2 .heroMapCard.reveal{
    filter:none;
    transition:
      opacity .38s cubic-bezier(.16,1,.3,1),
      transform .38s cubic-bezier(.16,1,.3,1);
  }
}

/* =========================================================
   SECTIONS
   ========================================================= */
#rcrV2 .section{padding:84px 0; position:relative; z-index:2}
#rcrV2 section[id]{scroll-margin-top:calc(var(--rcr-header-h, 72px) + 16px)}
#rcrV2 .section--alt{
  background:transparent;
  border:none;
}
#rcrV2 .sectionDivider{position:relative}
@keyframes rcrDividerPulse{
  0%,100%{ opacity:.88; box-shadow:0 0 18px rgba(255,215,0,.16); }
  50%{ opacity:1; box-shadow:0 0 32px rgba(255,215,0,.34); }
}
#rcrV2 .sectionDivider::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(1120px, calc(100% - 40px));
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,215,0,.14) 0%, rgba(255,215,0,.92) 10%, rgba(255,215,0,.92) 90%, rgba(255,215,0,.14) 100%);
  box-shadow:0 0 20px rgba(255,215,0,.18);
  opacity:.96;
  animation:rcrDividerPulse 5.2s ease-in-out infinite;
}
/* First section on every page: hide gold top bar (hub hero + first block, city subpages, SEO/legal layouts) */
#rcrV2 > section:first-of-type.sectionDivider::before,
#rcrV2 > section.hero + section.sectionDivider::before,
#rcrV2 > section.localTipsPageIntro + section.sectionDivider::before,
#rcrV2 main.legalMain section.legalHero + section.sectionDivider::before{
  content:none !important;
  display:none !important;
  animation:none !important;
  box-shadow:none !important;
  opacity:0 !important;
}
/* City hub transfer price list: no top gold bar on intro; ~⅓ gap intro → calculator */
#rcrV2.priceListDubrovnik > section:first-of-type,
#rcrV2.priceListHub > section:first-of-type{
  padding-bottom:calc(64px / 3);
}
#rcrV2.priceListDubrovnik > section:nth-of-type(2),
#rcrV2.priceListHub > section:nth-of-type(2){
  padding-top:calc(64px / 3);
}
@media (max-width:520px){
  #rcrV2.priceListDubrovnik > section:first-of-type,
  #rcrV2.priceListHub > section:first-of-type{
    padding-bottom:calc(48px / 3);
  }
  #rcrV2.priceListDubrovnik > section:nth-of-type(2),
  #rcrV2.priceListHub > section:nth-of-type(2){
    padding-top:calc(48px / 3);
  }
}
/* City hub book transfer: ~⅓ normal gap between hero and calculator (matches price-list join logic) */
#rcrV2.bookTransferDubrovnik > section:first-of-type,
#rcrV2.bookTransferHub > section:first-of-type{
  padding-bottom:calc(64px / 3);
}
#rcrV2.bookTransferDubrovnik > section:nth-of-type(2),
#rcrV2.bookTransferHub > section:nth-of-type(2){
  padding-top:calc(64px / 3);
}
@media (max-width:520px){
  #rcrV2.bookTransferDubrovnik > section:first-of-type,
  #rcrV2.bookTransferHub > section:first-of-type{
    padding-bottom:calc(48px / 3);
  }
  #rcrV2.bookTransferDubrovnik > section:nth-of-type(2),
  #rcrV2.bookTransferHub > section:nth-of-type(2){
    padding-top:calc(48px / 3);
  }
}
#rcrV2 .head{display:flex;flex-direction:column;gap:10px;margin-bottom:26px;align-items:center;text-align:center}

/* =========================================================
   CARDS / GRIDS
   ========================================================= */
/* Flex + justify-content:center → zadnji red ostaje centriran kad nije pun */
#rcrV2 .grid3{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
}
#rcrV2 .grid3 > *{
  flex:0 1 100%;
  max-width:100%;
  min-width:0;
}
@media (min-width:700px) and (max-width:980px){
  #rcrV2 .grid3 > *{
    flex:0 1 calc((100% - 14px) / 2);
    max-width:calc((100% - 14px) / 2);
  }
}
@media (min-width:981px){
  #rcrV2 .grid3 > *{
    flex:0 1 calc((100% - 28px) / 3);
    max-width:calc((100% - 28px) / 3);
  }
}

#rcrV2 .card{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  padding:18px 16px;
  box-shadow:0 22px 60px rgba(0,0,0,.35);
  position:relative;
  overflow:hidden;
  min-width:0;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
  display:flex;
  flex-direction:column;
  text-align:center;
}
#rcrV2 .card:hover{
  transform: translateY(-3px);
  border-color: rgba(255,215,0,.18);
  background:var(--rcr-card-hover);
  box-shadow: 0 34px 90px rgba(0,0,0,.52);
}
#rcrV2 .card::before{
  content:"";
  position:absolute; inset:-55%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,215,0,.16), transparent 62%),
    radial-gradient(circle at 70% 40%, rgba(255,255,255,.08), transparent 62%);
  opacity:0;
  transition: opacity .25s ease, transform .25s ease;
  transform:translate3d(0,0,0);
  pointer-events:none;
}
#rcrV2 .card:hover::before{opacity:.75;transform:translate3d(1%,-1%,0)}
#rcrV2 .card__icon{
  width:40px;
  height:40px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,215,0,.18);
  background:rgba(255,215,0,.08);
  color:var(--gold);
  font-size:1rem;
  font-weight:900;
}
#rcrV2 .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#rcrV2 .card .tags{
  justify-content:center;
  margin-top:auto;
  padding-top:12px;
}
#rcrV2 .tag,#rcrV2 .mini{
  font-size:.78rem;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card-dim);
  color: rgba(245,247,252,.78);
}

/* =========================================================
   WHY CHOOSE US / REFERENCE FEATURES
   ========================================================= */
#rcrV2 .featureGrid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:18px;
}
#rcrV2 .featureGrid > *{
  flex:0 1 100%;
  max-width:100%;
  min-width:0;
}
@media (min-width:641px) and (max-width:980px){
  #rcrV2 .featureGrid > *{
    flex:0 1 calc((100% - 18px) / 2);
    max-width:calc((100% - 18px) / 2);
  }
}
@media (min-width:981px){
  #rcrV2 .featureGrid > *{
    flex:0 1 calc((100% - 36px) / 3);
    max-width:calc((100% - 36px) / 3);
  }
}
#rcrV2 .featureCard{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  padding:24px 18px;
  box-shadow:0 22px 60px rgba(0,0,0,.35);
  text-align:center;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
#rcrV2 .featureCard:hover{
  background:var(--rcr-card-hover);
  border-color:rgba(255,215,0,.14);
  box-shadow:0 28px 78px rgba(0,0,0,.48);
}
#rcrV2 .featureCard__icon{
  width:40px;
  height:40px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,215,0,.18);
  background:rgba(255,215,0,.08);
  color:var(--gold);
  font-size:1rem;
  font-weight:900;
}
#rcrV2 .featureCard h3{
  margin:0 0 10px;
}
#rcrV2 .featureCard p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

/* =========================================================
   IMPORTANT INFORMATION
   ========================================================= */
#rcrV2 .infoGrid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
  padding:18px 0;
}
#rcrV2 .infoCard{
  grid-column:span 2;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  padding:26px 18px 22px;
  text-align:center;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
#rcrV2 .infoCard:hover{
  background:var(--rcr-card-hover);
  border-color:rgba(255,215,0,.16);
  box-shadow:0 30px 82px rgba(0,0,0,.45);
}
#rcrV2 .infoCard--wide{
  grid-column:span 3;
}
#rcrV2 .infoCard__icon{
  width:40px;
  height:40px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(255,215,0,.18);
  background:rgba(255,215,0,.08);
  color:var(--gold);
  font-weight:900;
}
#rcrV2 .infoCard h3{
  margin:0 0 10px;
}
#rcrV2 .infoCard p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
#rcrV2 .infoList{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
  color:var(--muted);
  line-height:1.6;
}
#rcrV2 .infoList li{
  position:relative;
  padding-left:16px;
}
#rcrV2 .infoList li::before{
  content:"•";
  position:absolute;
  left:0;
  color:var(--gold);
}

/* Important information: blur+3D tilt + nested transforms = scroll glitches on phones / Fold */
#rcrV2 #important-information .reveal{
  filter:none;
  transform:translate3d(0,10px,0);
}
#rcrV2 #important-information .reveal.in{
  transform:none;
}
@media (max-width:980px){
  #rcrV2 #important-information .infoCard.tilt{
    transform:none !important;
    transform-style:flat;
    will-change:auto;
    transition:none;
  }
  /* Flex + centered rows: wide phones / Fold — no orphan card left-aligned in 2nd row */
  #rcrV2 .infoGrid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:stretch;
    gap:18px;
  }
  #rcrV2 .infoCard,
  #rcrV2 .infoCard--wide{
    flex:1 1 calc(50% - 12px);
    min-width:0;
    max-width:min(100%, 560px);
    box-sizing:border-box;
  }
}
@media (max-width:640px){
  #rcrV2 .infoCard,
  #rcrV2 .infoCard--wide{
    flex:1 1 100%;
    max-width:min(100%, 560px);
  }
}

/* =========================================================
   REVIEWS RAIL
   ========================================================= */
#rcrV2 #testimonials{
  background:rgba(0,0,0,.14);
}
#rcrV2 .reviewRail{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:20px 0;
  cursor:grab;
  touch-action:pan-y;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card-rail);
  box-shadow:0 34px 110px rgba(0,0,0,.55);
}
#rcrV2 .reviewRail:active{cursor:grabbing}
#rcrV2 .reviewRail::before,
#rcrV2 .reviewRail::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:110px;
  pointer-events:none;
  z-index:4;
}
#rcrV2 .reviewRail::before{
  left:0;
  background:linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,0));
}
#rcrV2 .reviewRail::after{
  right:0;
  background:linear-gradient(270deg, rgba(0,0,0,.92), rgba(0,0,0,0));
}
#rcrV2 .reviewTrack{
  display:flex;
  align-items:stretch;
  gap:16px;
  will-change:transform;
  padding:0 20px;
}
@media (min-width:1180px){
  #rcrV2 .reviewTrack{
    padding-left: calc((100% - 1120px) / 2);
    padding-right: calc((100% - 1120px) / 2);
  }
}
#rcrV2 .reviewCard{
  flex:0 0 auto;
  width: clamp(320px, 30vw, 420px);
  min-width:320px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  position:relative;
  overflow:hidden;
  min-width:0;
  transition:transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
#rcrV2 .reviewCard:hover{
  transform:translateY(-3px);
  border-color:rgba(255,215,0,.22);
  background:var(--rcr-card-hover);
  box-shadow:0 34px 96px rgba(0,0,0,.52);
}
#rcrV2 .reviewCard{
  display:flex;
  flex-direction:column;
  padding:18px 16px;
  text-align:center;
}
#rcrV2 .reviewCard__top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
#rcrV2 .reviewCard__logo{
  height:26px;
  width:auto;
  max-width:120px;
  object-fit:contain;
}
#rcrV2 .reviewCard__source{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  font-size:.78rem;
  white-space:normal;
  text-align:center;
}
#rcrV2 .reviewCard h3{
  margin:0 0 8px;
  line-height:1.25;
}
#rcrV2 .reviewCard p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
}
#rcrV2 .reviewCard .tags{
  margin-top:auto;
  justify-content:center;
  padding-top:14px;
}
#rcrV2 .platformTrustGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-bottom:24px;
}
@media (max-width:980px){
  #rcrV2 .platformTrustGrid{grid-template-columns:1fr}
}
#rcrV2 .platformTrustCard{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  padding:22px 18px;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
#rcrV2 .platformTrustCard:hover{
  border-color:rgba(255,215,0,.18);
  background:var(--rcr-card-hover);
  box-shadow:0 30px 88px rgba(0,0,0,.48);
}
#rcrV2 .platformTrustCard__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
}
#rcrV2 .platformTrustCard__head h3{
  margin:0;
  font-size:1.15rem;
}
#rcrV2 .platformTrustCard__head img{
  height:28px;
  width:auto;
  max-width:120px;
  object-fit:contain;
}
#rcrV2 .platformTrustCard__score{
  font-size:2rem;
  font-weight:950;
  color:var(--gold);
  margin-bottom:8px;
}
#rcrV2 .platformTrustCard p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
#rcrV2 .platformTrustCard__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
#rcrV2 .platformTrustCard__quotes{
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:10px;
}
#rcrV2 .platformTrustCard__quotes li{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card-soft);
  padding:12px 14px;
  color:var(--muted);
  line-height:1.5;
}
@media (max-width:520px){
  #rcrV2 .reviewRail{border-radius:18px;padding:16px 0}
  #rcrV2 .reviewTrack{padding:0 14px;gap:14px}
  #rcrV2 .reviewCard{width:84vw;min-width:84vw}
  #rcrV2 .reviewRail::before,
  #rcrV2 .reviewRail::after{width:70px}
}

/* =========================================================
   ROUTES GRID
   ========================================================= */
#rcrV2 .routeGrid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
}
#rcrV2 .routeGrid > .routeCard{
  flex:0 1 calc((100% - 14px) / 2);
  max-width:calc((100% - 14px) / 2);
}
@media (max-width:980px){
  #rcrV2 .routeGrid > .routeCard{
    flex:0 1 100%;
    max-width:100%;
  }
}

#rcrV2 .routeCard{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  overflow:hidden;
  box-shadow: 0 22px 60px rgba(0,0,0,.35);
  display:grid;
  grid-template-columns:200px 1fr;
  min-width:0;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
}
#rcrV2 .routeCard:hover{
  transform: translateY(-3px);
  border-color: rgba(255,215,0,.16);
  background:var(--rcr-card-hover);
  box-shadow: 0 34px 90px rgba(0,0,0,.52);
}
@media (max-width:640px){ #rcrV2 .routeCard{grid-template-columns:1fr} }

#rcrV2 .routeCard__img{
  position:relative;
  border-right:1px solid rgba(255,255,255,.06);
  background:var(--rcr-card-soft);
}
@media (max-width:640px){
  #rcrV2 .routeCard__img{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
}
#rcrV2 .routeCard__img img{width:100%;height:100%;min-height:170px;object-fit:cover}
#rcrV2 .routeCard__body{padding:16px;display:flex;flex-direction:column;gap:8px}
#rcrV2 .routeCard__title{font-weight:900;letter-spacing:.2px}
#rcrV2 .routeCard__desc{color: var(--muted);line-height:1.45}
#rcrV2 .routeCard__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
#rcrV2 .mini{border-color: rgba(255,215,0,.18);background:var(--rcr-card-dim)}
#rcrV2 .centerLine{margin-top:20px;display:flex;justify-content:center}

/* =========================================================
   FLEET RAIL (your HTML: #fleet .fleetRail .fleetTrack .fleetCard)
   ========================================================= */
#rcrV2 #fleet.section--alt{padding-left:0!important;padding-right:0!important}

#rcrV2 #fleet .fleetRail{
  position:relative;
  width:100%;
  max-width:100%;
  overflow:hidden;
  padding:22px 0;
  cursor:grab;
  touch-action:pan-y;

  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card-rail);
  box-shadow:0 34px 110px rgba(0,0,0,.55);
  transition:box-shadow .45s ease, border-color .45s ease, filter .45s ease;
}
#rcrV2 #fleet .fleetRail:active{cursor:grabbing}
#rcrV2 #fleet .fleetRail.is-energized{
  border-color:rgba(255,215,0,.18);
  box-shadow:0 38px 120px rgba(0,0,0,.62), 0 0 0 1px rgba(255,215,0,.06);
  filter:saturate(1.04);
}

#rcrV2 #fleet .fleetRail::before,
#rcrV2 #fleet .fleetRail::after{
  content:"";
  position:absolute; top:0; bottom:0;
  width:120px;
  pointer-events:none;
  z-index:3;
}
#rcrV2 #fleet .fleetRail::before{
  left:0;
  background:linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,0));
}
#rcrV2 #fleet .fleetRail::after{
  right:0;
  background:linear-gradient(270deg, rgba(0,0,0,.92), rgba(0,0,0,0));
}

#rcrV2 #fleet .fleetTrack{
  display:flex;
  align-items:stretch;
  gap:16px;
  will-change:transform;
  padding:0 20px;
}
@media (min-width:1180px){
  #rcrV2 #fleet .fleetTrack{
    padding-left: calc((100% - 1120px) / 2);
    padding-right: calc((100% - 1120px) / 2);
  }
}
/* Desktop: blagi inset slajda lijevo/desno (uz punu širinu sekcije) */
@media (min-width:981px){
  #rcrV2 #fleet .fleetRail{
    width:calc(100% - 30px);
    max-width:calc(100% - 30px);
    margin-left:15px;
    margin-right:15px;
  }
}
#rcrV2 #fleet .fleetCard{
  flex:0 0 auto;
  width: clamp(280px, 26vw, 380px);
  min-width:280px;

  border-radius:22px;
  border:1px solid rgba(255,215,0,.18);
  background:var(--rcr-card);
  box-shadow:0 26px 80px rgba(0,0,0,.42);

  padding:22px 18px 18px;
  position:relative;
  overflow:hidden;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
}
#rcrV2 #fleet .fleetCard:hover{
  transform: translateY(-3px);
  border-color: rgba(255,215,0,.24);
  background:var(--rcr-card-hover);
  box-shadow: 0 34px 100px rgba(0,0,0,.55);
}
#rcrV2 #fleet .fleetCard__media{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:var(--rcr-card-soft);
  padding:10px 12px 6px;
  overflow:hidden;
  position:relative;
}
#rcrV2 #fleet .fleetCard__media::before{
  content:"";
  position:absolute;
  top:-20%;
  bottom:-20%;
  left:-45%;
  width:38%;
  transform:skewX(-18deg) translateX(0);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,240,200,.16), rgba(255,255,255,0));
  opacity:0;
  pointer-events:none;
  z-index:2;
}
#rcrV2 #fleet .fleetCard__media::after{
  content:"";
  position:absolute; inset:-40%;
  background: radial-gradient(circle at 50% 30%, rgba(255,215,0,.12), transparent 60%);
  opacity:.8;
  pointer-events:none;
}
#rcrV2 #fleet .fleetRail.is-energized .fleetCard__media::before{
  opacity:1;
  animation:fleetGlowSweep 4.6s ease-in-out infinite;
}
#rcrV2 #fleet .fleetCard__media img{
  width:100%;
  height:190px;
  object-fit:contain;
  filter: drop-shadow(0 18px 45px rgba(0,0,0,.50));
  position:relative; z-index:1;
  animation:fleetVehicleFloat 6.2s ease-in-out infinite;
}
#rcrV2 #fleet .fleetCard h3{
  margin:16px 0 4px;
  font-size:1.3rem;
  line-height:1.18;
}
#rcrV2 #fleet .fleetCard:nth-child(2n) .fleetCard__media img{animation-delay:-1.4s}
#rcrV2 #fleet .fleetCard:nth-child(3n) .fleetCard__media img{animation-delay:-2.3s}
#rcrV2 #fleet .fleetCard__eyebrow{
  margin:-2px 0 12px;
  color:var(--gold);
  font-size:.94rem;
  font-weight:800;
  letter-spacing:.18px;
}
#rcrV2 #fleet .fleetCard__body p{
  margin: 0 0 12px;
  color: var(--muted);
  line-height:1.55;
}
#rcrV2 #fleet .fleetCard__body{
  text-align:center;
  display:flex;
  flex-direction:column;
  height:100%;
}
#rcrV2 #fleet .fleetCard .tags{
  justify-content:center;
}
@keyframes fleetGlowSweep{
  0%, 14%{transform:skewX(-18deg) translateX(0); opacity:0}
  28%{opacity:.95}
  48%{transform:skewX(-18deg) translateX(480%); opacity:.1}
  100%{transform:skewX(-18deg) translateX(480%); opacity:0}
}
@keyframes fleetVehicleFloat{
  0%, 100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}

/* Phones / tablets: lighter compositing so rail translate3d stays smooth */
@media (max-width:768px){
  #rcrV2 #fleet .fleetRail{
    contain:layout style;
    transition:none;
  }
  #rcrV2 #fleet .fleetRail.is-energized{
    filter:none;
    transition:none;
  }
  #rcrV2 #fleet .fleetCard{
    transition:none;
  }
  #rcrV2 #fleet .fleetCard:active,
  #rcrV2 #fleet .fleetCard:hover{
    transform:none;
    background:var(--rcr-card);
    border-color:rgba(255,215,0,.18);
    box-shadow:0 26px 80px rgba(0,0,0,.42);
  }
  #rcrV2 #fleet .fleetCard__media img{
    animation:none;
    filter:none;
    will-change:auto;
  }
  #rcrV2 #fleet .fleetRail.is-energized .fleetCard__media::before{
    animation:none;
    opacity:0;
  }
  #rcrV2 #fleet .fleetCard__media::after{
    opacity:0;
  }
  #rcrV2 #fleet .fleetTrack{
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
}
@media (max-width:520px){
  #rcrV2 #fleet .fleetRail{border-radius:18px;padding:18px 0}
  #rcrV2 #fleet .fleetCard{width:84vw;min-width:84vw}
  #rcrV2 #fleet .fleetTrack{padding:0 14px;gap:14px}
  #rcrV2 #fleet .fleetRail::before,
  #rcrV2 #fleet .fleetRail::after{width:70px}
}

/* =========================================================
   PARTNERS RAIL
   ========================================================= */
#rcrV2 #partners .partnerRail{
  position:relative;
  width:100%;
  overflow:hidden;

  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card-rail);
  box-shadow: 0 26px 80px rgba(0,0,0,.55);

  padding:18px 12px;
  cursor:grab;
  touch-action:pan-y;
}
#rcrV2 #partners .partnerRail:active{cursor:grabbing}
#rcrV2 #partners .partnerRail::before,
#rcrV2 #partners .partnerRail::after{
  content:"";
  position:absolute; top:0; bottom:0;
  width:90px;
  pointer-events:none;
  z-index:5;
}
#rcrV2 #partners .partnerRail::before{
  left:0;
  background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,0));
}
#rcrV2 #partners .partnerRail::after{
  right:0;
  background: linear-gradient(270deg, rgba(0,0,0,.82), rgba(0,0,0,0));
}
#rcrV2 #partners .partnerTrack{
  display:flex;
  align-items:center;
  gap:26px;
  padding:8px 14px;
  will-change:transform;
}
#rcrV2 #partners .partnerPill{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;

  padding:12px 18px;
  border-radius:999px;

  background:var(--rcr-card-soft);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 40px rgba(0,0,0,.35);

  position:relative;
  overflow:hidden;
}
#rcrV2 #partners .partnerPill::after{
  content:"";
  position:absolute; inset:-40%;
  background: radial-gradient(circle at 30% 30%, rgba(255,215,0,.26), transparent 60%);
  opacity:.60;
  pointer-events:none;
}
#rcrV2 #partners .partnerPill img{
  height:88px;
  width:auto;
  max-width:220px;
  object-fit:contain;
  filter:none !important;
  opacity:1 !important;
  position:relative;
  z-index:1;
}
@media (min-width:980px){
  #rcrV2 #partners .partnerPill img{height:104px;max-width:260px}
  #rcrV2 #partners .partnerTrack{gap:34px}
}
@media (max-width:520px){
  #rcrV2 #partners .partnerPill img{height:62px;max-width:180px}
  #rcrV2 #partners .partnerTrack{gap:18px;padding:8px 10px}
  #rcrV2 #partners .partnerRail{padding:14px 10px}
}

/* =========================================================
   FAQ ACCORDION
   ========================================================= */
#rcrV2 .faqGrid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px 18px;
}
#rcrV2 .faqGrid > *{
  flex:0 1 calc((100% - 18px) / 2);
  max-width:calc((100% - 18px) / 2);
}
@media (max-width:860px){
  #rcrV2 .faqGrid > *{
    flex:0 1 100%;
    max-width:100%;
  }
}
#rcrV2 .faqItem{
  border-radius:20px;
  border:1px solid rgba(255,215,0,.16);
  background:var(--rcr-card);
  box-shadow:0 20px 56px rgba(0,0,0,.28);
  overflow:hidden;
  contain:content;
  transition:
    background .3s cubic-bezier(.33,1,.32,1),
    border-color .35s cubic-bezier(.33,1,.32,1),
    box-shadow .45s cubic-bezier(.33,1,.32,1);
}
#rcrV2 .faqItem.is-open{
  border-color:rgba(255,215,0,.3);
  background:var(--rcr-card-hover);
  box-shadow:
    0 26px 72px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,215,0,.14),
    0 0 48px rgba(255,215,0,.1);
}
#rcrV2 .faqItem__trigger{
  width:100%;
  border:none;
  background:transparent;
  color:rgba(245,247,252,.96);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 18px;
  text-align:left;
  font-weight:800;
  cursor:pointer;
  transition:color .25s ease, background-color .3s ease;
  border-radius:20px 20px 0 0;
}
#rcrV2 .faqItem__trigger:hover{
  color:rgba(255,255,255,.99);
  background:rgba(255,255,255,.04);
}
#rcrV2 .faqItem__trigger:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px rgba(255,215,0,.35);
}
#rcrV2 .faqItem__chev{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,215,0,.12);
  color:var(--gold);
  flex:0 0 auto;
  transition:
    transform .45s cubic-bezier(.34,1.45,.52,1),
    background-color .3s ease,
    box-shadow .35s ease;
}
#rcrV2 .faqItem.is-open .faqItem__chev{
  transform:rotate(180deg);
  background:rgba(255,215,0,.22);
  box-shadow:0 0 22px rgba(255,215,0,.22);
}
/* Panel: grid row animation (GPU-friendly vs max-height) */
#rcrV2 .faqItem__panel{
  display:grid;
  grid-template-rows:0fr;
  padding:0 18px;
  /* Open + close: same duration/easing so collapse is visible */
  transition:grid-template-rows .42s cubic-bezier(.33,1,.32,1);
  color:rgba(245,247,252,.82);
  line-height:1.65;
}
#rcrV2 .faqItem.is-open .faqItem__panel{
  grid-template-rows:1fr;
}
#rcrV2 .faqItem__panelInner{
  min-height:0;
  overflow:hidden;
  opacity:0;
  transform:translate3d(0,-8px,0);
  /* Closing: start immediately, ease-in (height collapses via .faqItem__panel grid) */
  transition:
    opacity .3s cubic-bezier(.4,0,.6,1),
    transform .38s cubic-bezier(.4,0,.6,1),
    padding-bottom .38s cubic-bezier(.33,1,.32,1);
  padding-bottom:0;
}
#rcrV2 .faqItem.is-open .faqItem__panelInner{
  opacity:1;
  transform:translate3d(0,0,0);
  padding-bottom:28px;
  /* Opening: short delay so row expands first, then content fades */
  transition:
    opacity .34s cubic-bezier(.33,1,.32,1) .06s,
    transform .44s cubic-bezier(.33,1,.32,1) .05s,
    padding-bottom .4s cubic-bezier(.33,1,.32,1) .04s;
}

/* Mobile: no grid-row animation (janky on iOS); fade content + rotate chevron only (cheap compositor props) */
@media (max-width: 860px){
  #rcrV2 .faqItem{
    transition:border-color .22s ease;
    box-shadow:0 14px 40px rgba(0,0,0,.26);
  }
  #rcrV2 .faqItem.is-open{
    border-color:rgba(255,215,0,.3);
    box-shadow:0 18px 48px rgba(0,0,0,.32);
    transition:border-color .22s ease;
  }
  /* Was transition:none — re-enable row collapse/expand so close isn’t instant */
  #rcrV2 .faqItem__panel{
    transition:grid-template-rows .4s cubic-bezier(.33,1,.32,1);
  }
  #rcrV2 .faqItem__panelInner{
    transform:none;
    transition:
      opacity .28s cubic-bezier(.4,0,.6,1),
      padding-bottom .38s cubic-bezier(.33,1,.32,1);
  }
  #rcrV2 .faqItem.is-open .faqItem__panelInner{
    transform:none;
    transition:
      opacity .3s cubic-bezier(.33,1,.32,1) .05s,
      padding-bottom .4s cubic-bezier(.33,1,.32,1) .04s;
  }
  #rcrV2 .faqItem__trigger{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  #rcrV2 .faqItem__chev{
    transition:transform .28s cubic-bezier(.34,1.2,.52,1), background-color .22s ease;
  }
  #rcrV2 .faqItem.is-open .faqItem__chev{
    box-shadow:none;
  }
}

@media (prefers-reduced-motion: reduce){
  #rcrV2 .faqItem,
  #rcrV2 .faqItem__trigger,
  #rcrV2 .faqItem__chev{
    transition:none;
  }
  #rcrV2 .faqItem__panel{
    transition:none;
  }
  #rcrV2 .faqItem__panelInner{
    transition:none;
    transform:none;
  }
  #rcrV2 .faqItem.is-open .faqItem__chev{
    transform:rotate(180deg);
  }
}

/* =========================================================
   CONTACT + FORM
   ========================================================= */
#rcrV2 .contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:stretch;
}
@media (max-width:980px){ #rcrV2 .contact{grid-template-columns:1fr} }

#rcrV2 .contact__left,
#rcrV2 .contact__right{
  display:flex;
  flex-direction:column;
  min-width:0;
}

#rcrV2 .contact__card,
#rcrV2 .form{
  border-radius:24px;
  border:1px solid rgba(255,215,0,.22);
  background:
    linear-gradient(180deg, rgba(0,0,0,.96) 0%, rgba(8,8,8,.985) 100%);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  padding:22px 18px;
  box-shadow:
    0 30px 80px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.06) inset;
  position:static;
  overflow:hidden;
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
  color:#ffffff;
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
  #rcrV2 .contact__card,
  #rcrV2 .form{
    background:rgba(0,0,0,.98);
  }
}
@media (min-width:981px){
  #rcrV2 .contact__card,
  #rcrV2 .form{min-height:475px}
}

#rcrV2 .form__title{
  margin: 0 0 16px;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #ffffff;
  flex-shrink: 0;
}

#rcrV2 .contact__k{font-size:.78rem;color:#ffffff;margin-bottom:10px;opacity:.92}
#rcrV2 .contact__card h3{
  margin:0 0 14px;
  font-size:2rem;
  color:#ffffff;
}
#rcrV2 .contact__item{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  margin-bottom:10px;
}
#rcrV2 .contact__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:18px;
  justify-content:center;
  align-items:center;
  width:100%;
}
#rcrV2 .contact__img{
  margin-top:12px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
#rcrV2 .contact__img img{width:100%;height:220px;object-fit:cover}

#rcrV2 .formGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){ #rcrV2 .formGrid{grid-template-columns:1fr} }
#rcrV2 .field{display:flex;flex-direction:column;gap:8px}
#rcrV2 .field--full{grid-column:1 / -1}
#rcrV2 .form .field > span{
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:#ffffff;
  opacity:.95;
}
#rcrV2 .form input::placeholder,
#rcrV2 .form textarea::placeholder{
  color:rgba(255,255,255,.5);
}

#rcrV2 .form input,
#rcrV2 .form textarea{
  color:#ffffff;
}
#rcrV2 input, #rcrV2 textarea{
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(245,247,252,.92);
  outline:none;
}
#rcrV2 input:focus, #rcrV2 textarea:focus{
  border-color: rgba(255,215,0,.24);
  box-shadow: 0 0 0 4px rgba(255,215,0,.10);
  background: rgba(255,255,255,.09);
}

#rcrV2 .formActions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin-top:auto;
  padding-top:18px;
  width:100%;
}
#rcrV2 .formActions__row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  align-items:center;
}
#rcrV2 .formActions .note{
  margin:0;
  text-align:center;
  color:#ffffff;
  font-size:.92rem;
  line-height:1.45;
  opacity:.9;
}
#rcrV2 .form .note{color:#ffffff;opacity:.9;font-size:.92rem}
#rcrV2 .note{color: var(--muted);font-size:.92rem}
#rcrV2 .toast{
  margin-top:12px;
  display:inline-flex;
  align-self:center;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color:#ffffff;
  opacity:0;
  transform:translateY(6px);
  transition:.25s;
}
#rcrV2 .toast.show{opacity:1;transform:none}

#rcrV2 .foot{
  margin-top:20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px 16px;
  color:var(--muted);
  text-align:center;
}
#rcrV2 .foot__links{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:100%;
}
#rcrV2 .foot__portals{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:center;
  width:100%;
}
/* Contact on touch devices: reduce blur/repaint cost around the inquiry form */
@media (hover: none) and (pointer: coarse), (max-width:768px){
  #rcrV2 > section#contact:not(.sectionFade-in),
  #rcrV2 main section#contact:not(.sectionFade-in){
    transform:translate3d(0,16px,0);
    transition:
      opacity .38s cubic-bezier(.16,1,.3,1),
      transform .38s cubic-bezier(.16,1,.3,1);
  }
  #rcrV2 #contact .head.reveal,
  #rcrV2 #contact .contact.reveal,
  #rcrV2 #contact .foot.reveal{
    filter:none;
    transition:
      opacity .38s cubic-bezier(.16,1,.3,1),
      transform .38s cubic-bezier(.16,1,.3,1);
  }
  #rcrV2 #contact .contact,
  #rcrV2 #contact .contact__left,
  #rcrV2 #contact .contact__right,
  #rcrV2 #contact .contact__card,
  #rcrV2 #contact .form{
    contain:layout style paint;
  }
  #rcrV2 #contact .contact__card,
  #rcrV2 #contact .form{
    background:
      linear-gradient(180deg, rgba(0,0,0,.97) 0%, rgba(8,8,8,.99) 100%);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    box-shadow:
      0 18px 48px rgba(0,0,0,.32),
      0 0 0 1px rgba(255,255,255,.05) inset;
  }
}
@media (max-width:520px){
  #rcrV2 #contact .contact__card,
  #rcrV2 #contact .form{
    padding:18px 16px;
    border-radius:20px;
    box-shadow:
      0 14px 36px rgba(0,0,0,.28),
      0 0 0 1px rgba(255,255,255,.05) inset;
  }
}
#rcrV2 .foot__portal{
  color:#ffd700 !important;
  font-weight:700;
  text-decoration:none;
}
#rcrV2 .foot__portal:hover{
  text-decoration:underline;
  opacity:.95;
}
#rcrV2 .foot__legal-title{
  margin:6px 0 0;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(205,213,228,.75);
}
#rcrV2 .foot__legal-row{
  display:grid;
  grid-template-columns:repeat(3, max-content);
  gap:12px 26px;
  justify-content:center;
  width:100%;
  align-items:center;
}
#rcrV2 .foot__legal-row a{
  color:var(--muted);
  text-align:center;
}
#rcrV2 .foot__legal-row a.foot__legal-link--center{
  justify-self:center;
}
@media (max-width:640px){
  #rcrV2 .foot__legal-row{
    grid-template-columns:1fr;
    gap:10px;
  }
  #rcrV2 .foot__legal-row a.foot__legal-link--center{
    order:0;
  }
}
#rcrV2 .foot__meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  width:100%;
}
#rcrV2 .foot__copy{
  font-size:.9rem;
  line-height:1.45;
  color:rgba(245,247,252,.9);
}
#rcrV2 .foot__rights{
  font-size:.8rem;
  line-height:1.35;
  color:var(--muted);
  opacity:.94;
}
/* Back to top: last row, centered under copyright */
#rcrV2 .foot .miniBtn--top,
#rcrV2 .foot a[data-scroll-top]{
  margin-top:2px;
  align-self:center;
}

/* Legacy footers (no foot__meta) */
#rcrV2 .foot > span:not(.foot__copy):not(.foot__rights){
  font-size:.88rem;
  line-height:1.4;
  text-align:center;
  width:100%;
}

/* Dubrovnik hub — Local Tips & Price List */
#rcrV2 .grid2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
@media (max-width:820px){
  #rcrV2 .grid2{grid-template-columns:1fr}
}
#rcrV2 .tipList{
  margin:12px 0 0;
  padding-left:1.15rem;
  color:rgba(245,247,252,.88);
  line-height:1.55;
}
#rcrV2 .tipList li{margin:.35rem 0}

/* Local tips — photo on top, text below (all breakpoints) */
#rcrV2 .localTipsCard--split{
  text-align:left;
}
#rcrV2 .localTipsSplit{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  grid-template-areas:"media" "text";
  gap:clamp(20px, 3.5vw, 36px);
  align-items:start;
}
/* Legacy class: layout is always image-first; kept for existing markup */
#rcrV2 .localTipsSplit--reverse{
  grid-template-areas:"media" "text";
}
#rcrV2 .localTipsSplit__text{
  grid-area:text;
  min-width:0;
}
#rcrV2 .localTipsSplit__text .h2,
#rcrV2 .localTipsSplit__text h3{
  text-align:left;
}
#rcrV2 .localTipsSplit__media{
  grid-area:media;
  margin:0;
  min-width:0;
}
#rcrV2 .localTipsSplit__media img{
  width:100%;
  height:auto;
  display:block;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 70px rgba(0,0,0,.4);
}

/* Local tips: intro has no sectionDivider (no gold bar under header); use same .sectionDivider as home between blocks */
#rcrV2 section.localTipsPageIntro{
  padding-bottom:clamp(28px, 4vw, 40px);
}
#rcrV2 section.localTipsPageIntro .head{
  margin-bottom:12px;
}
#rcrV2 section.localTipsPageIntro + section.section{
  padding-top:clamp(16px, 3vw, 24px);
}
@media (max-width:520px){
  #rcrV2 section.localTipsPageIntro{
    padding-bottom:22px;
  }
  #rcrV2 section.localTipsPageIntro + section.section{
    padding-top:14px;
  }
}

#rcrV2 .priceRoutes{
  display:grid;
  gap:14px;
}
#rcrV2 .priceRoute{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  padding:16px 18px 12px;
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}
#rcrV2 .priceRoute__title{
  font-weight:800;
  font-size:1.02rem;
  margin:0 0 12px;
  color:rgba(245,247,252,.96);
}
#rcrV2 .priceGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 14px;
  font-size:.9rem;
  align-items:baseline;
}
#rcrV2 .priceGrid__v{color:rgba(245,247,252,.86)}
#rcrV2 .priceGrid__p{
  font-weight:800;
  color:rgba(255,215,0,.9);
  text-align:right;
  white-space:nowrap;
}
#rcrV2 .infoCallouts{
  display:grid;
  gap:12px;
  margin-top:8px;
}
#rcrV2 .infoCallout{
  display:flex;
  gap:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:var(--rcr-card-soft);
}
/* Gold #ffd700 icons (replaces emoji; matches headings) */
#rcrV2 .infoCallout__icon{
  flex-shrink:0;
  width:1.45rem;
  height:1.45rem;
  display:block;
  background:transparent center/contain no-repeat;
}
/* Circle + check stroke — reads clearly at small size (pure #ffd700) */
#rcrV2 .infoCallout__icon--check{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23ffd700' stroke-width='1.75'/%3E%3Cpath fill='none' stroke='%23ffd700' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' d='M7.5 12.5l2.8 2.8L16.5 9'/%3E%3C/svg%3E");
}
#rcrV2 .infoCallout__icon--card{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffd700' d='M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z'/%3E%3C/svg%3E");
}
#rcrV2 .infoCallout__icon--timer{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffd700' d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23L12.5 13V7z'/%3E%3C/svg%3E");
}
#rcrV2 .infoCallout__icon--plane{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffd700' d='M21 16v-2l-8-5V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z'/%3E%3C/svg%3E");
}
#rcrV2 .infoCallout__icon--pin{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffd700' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
}
#rcrV2 .infoCallout__icon--car{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffd700' d='M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z'/%3E%3C/svg%3E");
}
#rcrV2 .infoCallout strong{color:rgba(255,215,0,.9)}

/* Dubrovnik price list — Get transfer price (map + booking layout) */
#rcrV2 .transferCalc{
  padding:22px 22px 24px;
  border-radius:22px;
  border:1px solid rgba(255,215,0,.16);
  background:
    radial-gradient(120% 40% at 50% 0%, rgba(255,215,0,.06), transparent 55%),
    rgba(0,0,0,.45);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
  text-align:center;
}
/* No card lift / sheen on hover (still uses .card for layout) */
#rcrV2 .transferCalc.card:hover{
  transform:none;
  border-color:rgba(255,215,0,.16);
  background:
    radial-gradient(120% 40% at 50% 0%, rgba(255,215,0,.06), transparent 55%),
    rgba(0,0,0,.45);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}
#rcrV2 .transferCalc.card:hover::before{
  opacity:0;
  transform:translate3d(0,0,0);
}
/* Calculator buttons: clickable hover feedback */
#rcrV2 .transferCalc .btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,215,0,.22);
  box-shadow:
    0 22px 46px rgba(0,0,0,.4),
    0 0 0 1px rgba(255,215,0,.08) inset;
  filter:brightness(1.02);
}
#rcrV2 .transferCalc .btn:hover::after{
  opacity:.72;
  animation:rcrBtnSheen .9s ease;
}
@media (min-width:981px){
  #rcrV2 .transferCalc--sticky{
    position:sticky;
    top:calc(var(--rcr-header-h, 72px) + 12px);
    z-index:4;
  }
}
#rcrV2 .transferCalc__offerRow{
  text-align:center;
  margin-bottom:18px;
}
#rcrV2 .transferCalc__offerPill{
  display:inline-block;
  padding:10px 22px;
  border-radius:999px;
  background:linear-gradient(180deg, #ffd700, #e6b800);
  color:#0a0a0a;
  font-weight:800;
  font-size:1rem;
  letter-spacing:.02em;
}
#rcrV2 .transferCalc__offerNote{
  margin:12px auto 0;
  max-width:44rem;
  font-size:.88rem;
  font-weight:600;
  color:rgba(245,247,252,.78);
}
#rcrV2 .transferCalc__title{
  text-align:center;
  margin:0 0 18px;
  font-size:clamp(1.35rem, 2.5vw, 1.75rem);
}
#rcrV2 .transferCalc__addrBlock,
#rcrV2 .transferCalc__status,
#rcrV2 .transferCalc__grid2{
  width:min(100%, 1068px);
  margin-left:auto;
  margin-right:auto;
}
#rcrV2 .transferCalc__addrBlock{
  margin-bottom:14px;
}
#rcrV2 .transferCalc__addrField{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  text-align:center;
}
#rcrV2 .transferCalc__addrLabel{
  display:block;
  margin-bottom:2px;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:rgba(255,215,0,.88);
}
#rcrV2 .transferCalc__inputRow{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:start;
  margin-bottom:0;
}
#rcrV2 .transferCalc__addrBlock .transferCalc__inputRow{
  margin-bottom:0;
}
#rcrV2 .transferCalc__addrField .transferCalc__input{
  width:100%;
  min-height:58px;
  box-sizing:border-box;
}
#rcrV2 .transferCalc__input{
  flex:1 1 200px;
  min-height:56px;
  padding:14px 20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(90deg, rgba(255,255,255,.07), rgba(255,255,255,.045)),
    rgba(255,255,255,.03);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset;
  color:rgba(245,247,252,.95);
  font-size:.95rem;
  text-align:center;
}
#rcrV2 .transferCalc__input::placeholder{color:rgba(245,247,252,.45)}
#rcrV2 .transferCalc__input:focus{
  outline:none;
  border-color:rgba(255,215,0,.35);
  box-shadow:0 0 0 3px rgba(255,215,0,.08);
}
#rcrV2 .transferCalc__input--fill{
  width:100%;
  box-sizing:border-box;
  flex:1 1 auto;
}
/* Stop Chrome autofill from flashing white background / black text */
#rcrV2 .transferCalc input:-webkit-autofill,
#rcrV2 .transferCalc input:-webkit-autofill:hover,
#rcrV2 .transferCalc input:-webkit-autofill:focus{
  -webkit-text-fill-color:rgba(245,247,252,.95) !important;
  caret-color:#fff;
  -webkit-box-shadow:0 0 0 1000px rgba(22,24,30,.98) inset !important;
  box-shadow:0 0 0 1000px rgba(22,24,30,.98) inset !important;
  transition:background-color 99999s ease-out !important;
}
#rcrV2 .transferCalc__goBtn{
  flex:0 0 auto;
  padding:12px 22px;
  border-radius:999px;
  font-weight:800;
  white-space:nowrap;
}
#rcrV2 .transferCalc__goRow{
  display:flex;
  width:100%;
}
#rcrV2 .transferCalc__goRow .transferCalc__goBtn{
  flex:1 1 auto;
  width:100%;
  justify-content:center;
}
#rcrV2 .transferCalc__quickRow{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
@media (max-width:520px){
  #rcrV2 .transferCalc__quickRow{grid-template-columns:1fr}
}
#rcrV2 .transferCalc__quick{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  padding:12px 44px 12px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background-color:rgba(255,255,255,.06);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%23FFD700' d='M1 1.5L7 7l6-5.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  background-size:14px 9px;
  color:rgba(245,247,252,.95);
  font-family:inherit;
  font-size:.95rem;
  font-weight:600;
  line-height:1.25;
  cursor:pointer;
  appearance:none;
  color-scheme:dark;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  text-align:center;
}
#rcrV2 .transferCalc__quick:hover{
  border-color:rgba(255,215,0,.22);
  background-color:rgba(255,255,255,.08);
}
#rcrV2 .transferCalc__quick:focus{
  outline:none;
  border-color:rgba(255,215,0,.35);
  box-shadow:0 0 0 3px rgba(255,215,0,.08);
  background-color:rgba(255,255,255,.09);
}
#rcrV2 .transferCalc__quick option{
  background:#121318;
  color:rgba(245,247,252,.95);
  font-weight:600;
  padding:10px;
}
#rcrV2 .transferCalc__status{
  margin:0 auto 10px;
  min-height:.75rem;
  font-size:.88rem;
  transition:border-color .25s ease, background-color .25s ease, box-shadow .25s ease, color .25s ease;
}
#rcrV2 .transferCalc__status.is-visible{
  padding:12px 14px;
  min-height:0;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  text-align:center;
}
#rcrV2 .transferCalc__status[data-state="success"]{
  color:#e8fff0;
  border-color:rgba(74,222,128,.3);
  background:linear-gradient(180deg, rgba(26,61,42,.82), rgba(16,28,21,.92));
  box-shadow:0 0 0 1px rgba(74,222,128,.08) inset, 0 18px 40px rgba(10,20,14,.18);
}
#rcrV2 .transferCalc__status[data-state="warn"]{
  color:#fff6df;
  border-color:rgba(245,158,11,.28);
  background:linear-gradient(180deg, rgba(74,48,12,.82), rgba(27,20,9,.92));
  box-shadow:0 0 0 1px rgba(245,158,11,.08) inset, 0 18px 40px rgba(17,13,6,.18);
}
#rcrV2 .transferCalc--stripeSuccess .transferCalc__bookBlock{
  border-color:rgba(74,222,128,.26);
  box-shadow:0 0 0 1px rgba(74,222,128,.08) inset, 0 24px 48px rgba(8,20,12,.24);
}
#rcrV2 .transferCalc--stripeCancel .transferCalc__bookBlock{
  border-color:rgba(245,158,11,.24);
  box-shadow:0 0 0 1px rgba(245,158,11,.08) inset, 0 24px 48px rgba(20,14,7,.22);
}
/* Flex + centered wrap: last row with fewer items stays centered; hidden grid cells (pax filter) don’t leave gaps */
#rcrV2 .transferCalc__vehicleGrid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-bottom:14px;
}
#rcrV2 .transferCalc__vehicleGrid > .transferCalc__vehicle{
  flex:1 1 calc(33.333% - 8px);
  max-width:calc(33.333% - 8px);
  min-width:0;
  box-sizing:border-box;
}
@media (max-width:900px){
  #rcrV2 .transferCalc__vehicleGrid > .transferCalc__vehicle{
    flex:1 1 calc(50% - 6px);
    max-width:calc(50% - 6px);
  }
}
@media (max-width:480px){
  #rcrV2 .transferCalc__vehicleGrid > .transferCalc__vehicle{
    flex:1 1 100%;
    max-width:100%;
  }
}
#rcrV2 .transferCalc__vehicle{
  text-align:center;
  padding:14px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:var(--rcr-card-soft);
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
#rcrV2 .transferCalc__vehicle[hidden]{
  display:none !important;
}
#rcrV2 .transferCalc__vType{
  margin:0;
  font-weight:800;
  font-size:.9rem;
  color:rgba(255,215,0,.92);
}
#rcrV2 .transferCalc__vBrand{
  margin:4px 0 0;
  font-size:.78rem;
  font-weight:500;
  color:rgba(245,247,252,.72);
}
#rcrV2 .transferCalc__vPrice{
  margin:8px 0 0;
  font-weight:800;
  font-size:1.05rem;
  color:rgba(245,247,252,.95);
}
#rcrV2 .transferCalc__distanceLine{
  text-align:center;
  font-weight:800;
  font-size:1.05rem;
  margin:6px 0 4px;
  color:rgba(245,247,252,.95);
}
#rcrV2 .transferCalc__durationLine{
  text-align:center;
  margin:0 0 8px;
  font-size:.9rem;
}
#rcrV2 .transferCalc__routeNote{
  font-size:.86rem;
  margin:0 0 14px;
  text-align:center;
}
#rcrV2 .transferCalc__routeMeta{
  margin:14px 0 18px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,215,0,.18);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255,215,0,.06), transparent 60%),
    rgba(0,0,0,.22);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}
#rcrV2 .transferCalc__routeMeta .transferCalc__distanceLine{
  margin-top:0;
}
#rcrV2 .transferCalc__routeMeta .transferCalc__routeNote{
  margin-bottom:0;
}
#rcrV2 .transferCalc__grid2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 16px;
  margin-top:10px;
  align-items:start;
  justify-items:stretch;
}
#rcrV2 .transferCalc__grid2 .field--full{grid-column:1 / -1}
#rcrV2 .transferCalc__grid2 .field{
  width:100%;
  max-width:none;
  align-items:stretch;
  gap:10px;
  text-align:center;
}
#rcrV2 .transferCalc__grid2 .field > span:first-of-type,
#rcrV2 .transferCalc__childBlock > span:first-of-type,
#rcrV2 .transferCalc__vehicleField > span:first-of-type{
  display:block;
  min-height:1.1em;
  margin-bottom:2px;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:rgba(245,247,252,.88);
}
/* Date / time — full bar opens native picker (click anywhere on pill) */
#rcrV2 .transferCalc__shell{
  cursor:pointer;
  width:100%;
  gap:10px;
}
#rcrV2 .transferCalc__shellLabel{
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:rgba(245,247,252,.88);
}
#rcrV2 .transferCalc__shellBar{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(90deg, rgba(255,255,255,.07), rgba(255,255,255,.045)),
    rgba(255,255,255,.03);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
  cursor:pointer;
  /* Desktop: ensure dropdown + click targets sit above any map / overlay elements */
  position:relative;
  z-index:120;
}
#rcrV2 .transferCalc__shell:focus-within .transferCalc__shellBar{
  border-color:rgba(255,215,0,.35);
  box-shadow:0 0 0 3px rgba(255,215,0,.08);
  background:rgba(255,255,255,.09);
}
#rcrV2 .rcrDateDisplay{
  position:relative;
}
#rcrV2 .rcrDateDisplay__text{
  position:absolute;
  inset:0 44px 0 14px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  pointer-events:none;
  color:rgba(245,247,252,.95);
  font-size:1rem;
  font-weight:600;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#rcrV2 .rcrDateDisplay--center .rcrDateDisplay__text{
  justify-content:center;
  text-align:center;
}
#rcrV2 .rcrDateDisplay--empty .rcrDateDisplay__text{
  color:rgba(245,247,252,.48);
}
#rcrV2 .rcrDateDisplay__input[type="date"]{
  position:relative;
  z-index:1;
  color:transparent !important;
  caret-color:transparent;
  font-variant-numeric:tabular-nums;
}
#rcrV2 .rcrDateDisplay__input[type="date"]::-webkit-datetime-edit,
#rcrV2 .rcrDateDisplay__input[type="date"]::-webkit-datetime-edit-fields-wrapper,
#rcrV2 .rcrDateDisplay__input[type="date"]::-webkit-datetime-edit-text,
#rcrV2 .rcrDateDisplay__input[type="date"]::-webkit-datetime-edit-month-field,
#rcrV2 .rcrDateDisplay__input[type="date"]::-webkit-datetime-edit-day-field,
#rcrV2 .rcrDateDisplay__input[type="date"]::-webkit-datetime-edit-year-field{
  color:transparent;
}
#rcrV2 .transferCalc__shellBar.rcrDateDisplay .rcrDateDisplay__text{
  inset:0 48px 0 20px;
  font-size:.95rem;
}
#rcrV2 .transferCalc__nativeIO{
  flex:1;
  width:100%;
  min-width:0;
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0;
  color:rgba(245,247,252,.95) !important;
  font-size:.95rem;
  font-weight:600;
  outline:none;
  min-height:1.35em;
  color-scheme:dark;
  text-align:center;
}
/* Native date/time picker icons — gold #ffd700 (WebKit / Chromium / Safari) */
#rcrV2 .transferCalc__nativeIO[type="date"]::-webkit-calendar-picker-indicator,
#rcrV2 .transferCalc__nativeIO[type="time"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  padding:4px;
  margin-left:4px;
  width:22px;
  height:22px;
  opacity:1;
  filter:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:20px 20px;
}
#rcrV2 .transferCalc__nativeIO[type="date"]::-webkit-calendar-picker-indicator{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffd700' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E");
}
#rcrV2 .transferCalc__nativeIO[type="time"]::-webkit-calendar-picker-indicator{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffd700' d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");
}
@media (min-width:981px){
  #rcrV2 .transferCalc__nativeIO[type="time"]{
    font-variant-numeric:tabular-nums;
  }
}
/* Time slot menu — same 15-minute list as day-trip booking */
#rcrV2 select.transferCalc__timeSelect{
  cursor:pointer;
  font-variant-numeric:tabular-nums;
  position:relative;
  z-index:121;
}
#rcrV2 select.transferCalc__timeSelect option{
  background:rgba(0,0,0,.92);
  color:rgba(245,247,252,.95);
}
/* Sync select hidden when fleet-style picker is present */
#rcrV2 .transferCalc__vehicleSelect--sync{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
  opacity:0;
  pointer-events:none;
}
#rcrV2 .transferCalc__vehicleField{
  position:relative;
  margin-top:18px;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,215,0,.18);
  background:
    radial-gradient(100% 80% at 50% 0%, rgba(255,215,0,.05), transparent 58%),
    rgba(0,0,0,.22);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
  text-align:center;
}
#rcrV2 .transferCalc__vehicleLead{
  margin:6px 0 14px;
  max-width:60ch;
  font-size:.86rem;
  line-height:1.5;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
/* Fallback: classic dropdown when no picker */
#rcrV2 .transferCalc__vehicleSelect:not(.transferCalc__vehicleSelect--sync){
  width:100%;
  padding:12px 44px 12px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background-color:var(--rcr-card-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%23FFD700' d='M1 1.5L7 7l6-5.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 18px center;
  background-size:14px 9px;
  color:rgba(245,247,252,.95);
  font-size:.9rem;
  font-weight:600;
  cursor:pointer;
  appearance:none;
}
#rcrV2 .transferCalc__vehicleSelect:not(.transferCalc__vehicleSelect--sync):focus{
  outline:none;
  border-color:rgba(255,215,0,.35);
  box-shadow:0 0 0 3px rgba(255,215,0,.08);
}
/* Fleet-style vehicle picker: flex wrap + centered rows (orphan last row centers) */
#rcrV2 .transferCalc__vehiclePicker{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:10px;
}
#rcrV2 .transferCalc__vehiclePicker > .transferCalc__vehicleCard{
  flex:1 1 calc(50% - 6px);
  max-width:calc(50% - 6px);
  min-width:0;
  box-sizing:border-box;
}
@media (min-width:700px){
  #rcrV2 .transferCalc__vehiclePicker > .transferCalc__vehicleCard{
    flex:1 1 calc(33.333% - 8px);
    max-width:calc(33.333% - 8px);
  }
}
@media (max-width:768px){
  #rcrV2 .transferCalc__vehiclePicker{
    gap:10px;
  }
  #rcrV2 .transferCalc__vehiclePicker > .transferCalc__vehicleCard{
    flex:1 1 100%;
    max-width:100%;
  }
}
#rcrV2 .transferCalc__vehicleCard{
  position:relative;
  display:flex;
  flex-direction:column;
  margin:0;
  cursor:pointer;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:var(--rcr-card-soft);
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  text-align:center;
}
#rcrV2 .transferCalc__vehicleCard:hover{
  border-color:rgba(255,215,0,.22);
  transform:translateY(-2px);
}
#rcrV2 .transferCalc__vehicleCard:has(.transferCalc__vehicleRadio:checked){
  border-color:rgba(255,215,0,.45);
  box-shadow:0 0 0 2px rgba(255,215,0,.12), 0 12px 28px rgba(0,0,0,.35);
}
#rcrV2 .transferCalc__vehicleCard:focus-within{
  outline:2px solid rgba(255,215,0,.45);
  outline-offset:2px;
}
#rcrV2 .transferCalc__vehicleRadio{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  margin:0;
  pointer-events:none;
}
#rcrV2 .transferCalc__vehicleCardMedia{
  position:relative;
  aspect-ratio:16/10;
  background:radial-gradient(80% 60% at 50% 80%, rgba(255,215,0,.08), rgba(0,0,0,.35));
  overflow:hidden;
  padding:8px 6px 0;
  box-sizing:border-box;
}
/* Same width × height box for every asset — object-fit scales each car uniformly inside it */
#rcrV2 .transferCalc__vehicleCardMedia img{
  position:absolute;
  left:50%;
  top:40px;
  width:min(90%, 272px);
  height:calc(100% - 52px);
  transform:translateX(-50%);
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));
}
#rcrV2 .transferCalc__vehicleCardPrice{
  position:absolute;
  z-index:2;
  top:10px;
  right:10px;
  font-weight:800;
  font-size:1rem;
  color:#ffd700;
  text-shadow:0 1px 8px rgba(0,0,0,.85);
  letter-spacing:.02em;
}
#rcrV2 .transferCalc__vehicleCardBody{
  padding:12px 14px 14px;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:6px;
}
#rcrV2 .transferCalc__vehicleCardEyebrow{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,215,0,.88);
}
#rcrV2 .transferCalc__vehicleCardTitle{
  margin:0;
  font-size:1rem;
  font-weight:800;
  color:rgba(245,247,252,.96);
  line-height:1.2;
}
#rcrV2 .transferCalc__vehicleCardBlurb{
  margin:0;
  font-size:.78rem;
  line-height:1.45;
  color:rgba(245,247,252,.72);
  flex:1;
}
#rcrV2 .transferCalc__vehicleCardTags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:4px;
  justify-content:center;
}
#rcrV2 .transferCalc__vehicleCardTags .tag{
  font-size:.65rem;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(255,215,0,.25);
  color:rgba(255,215,0,.9);
  background:rgba(255,215,0,.06);
  font-weight:700;
  letter-spacing:.04em;
}
#rcrV2 .transferCalc__vehicleCardPax{
  font-size:.72rem;
  font-weight:700;
  color:rgba(245,247,252,.55);
  margin-top:2px;
}
/* Phones: fleet images + long copy hidden — title, price, passenger count only */
#rcrV2 .transferCalc__vehicleCard--compact{
  min-height:0;
  padding:0;
}
#rcrV2 .transferCalc__vehicleCardCompact{
  padding:14px 12px 10px;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
}
#rcrV2 .transferCalc__vehicleCardCompactTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
#rcrV2 .transferCalc__vehicleCard--compact .transferCalc__vehicleCardTitle{
  font-size:.95rem;
  flex:1;
  min-width:0;
}
#rcrV2 .transferCalc__vehicleCard--compact .transferCalc__vehicleCardPrice{
  position:static;
  flex-shrink:0;
  top:auto;
  right:auto;
  font-size:.95rem;
  text-shadow:none;
}
#rcrV2 .transferCalc__vehicleCard--compact .transferCalc__vehicleCardPax{
  margin-top:0;
  font-size:.78rem;
  color:rgba(245,247,252,.62);
}
/* Mobile: vehicle class tier (Standard / Premium / Luxury) */
#rcrV2 .transferCalc__vehicleCardTier{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,215,0,.9);
  margin:2px 0 4px;
}
/* Passengers / luggage — pill stepper */
#rcrV2 .transferCalc__stepper{
  display:flex;
  align-items:stretch;
  gap:0;
  width:100%;
  box-sizing:border-box;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.035)),
    rgba(0,0,0,.24);
  overflow:hidden;
  min-height:56px;
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset;
}
#rcrV2 .transferCalc__grid2 .field .transferCalc__stepper{
  margin-left:0;
  margin-right:0;
}
#rcrV2 .transferCalc__stepBtn{
  flex:0 0 60px;
  width:60px;
  border:none;
  background:rgba(255,255,255,.05);
  color:rgba(255,215,0,.95);
  font-size:1.35rem;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease, color .18s ease;
}
#rcrV2 .transferCalc__stepBtn:hover:not(:disabled){
  background:rgba(255,215,0,.12);
  color:#fff;
}
#rcrV2 .transferCalc__stepBtn:disabled{
  opacity:.35;
  cursor:not-allowed;
}
#rcrV2 .transferCalc__stepperInput{
  flex:1 1 auto;
  min-width:0;
  min-height:54px;
  border:none !important;
  border-left:1px solid rgba(255,255,255,.08) !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center;
  font-size:1.1rem;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  color:rgba(245,247,252,.95) !important;
  padding:8px 6px !important;
  -moz-appearance:textfield;
}
@media (max-width:860px){
  #rcrV2 .transferCalc__inputRow{
    grid-template-columns:1fr;
    gap:12px;
  }
}
#rcrV2 .transferCalc__stepperInput::-webkit-outer-spin-button,
#rcrV2 .transferCalc__stepperInput::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
#rcrV2 .transferCalc__stepperInput:focus{
  outline:none;
  background:rgba(255,255,255,.04) !important;
}
/* Child seating — selectable cards */
#rcrV2 .transferCalc__childHead{
  font-size:0.82rem;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(255,215,0,.88);
}
#rcrV2 .transferCalc__childBlock{
  margin-top:18px;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,215,0,.18);
  background:
    radial-gradient(100% 80% at 50% 0%, rgba(255,215,0,.05), transparent 58%),
    rgba(0,0,0,.22);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
  text-align:center;
}
#rcrV2 .transferCalc__childLead{
  margin:6px 0 14px;
  max-width:min(100%, 94ch);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  font-size:.86rem;
  line-height:1.5;
}
@media (min-width:981px){
  #rcrV2 .transferCalc__childLead{
    max-width:min(100%, 104ch);
  }
}
#rcrV2 .transferCalc__childLaw{
  color:rgba(255,215,0,.95);
  font-weight:800;
}
#rcrV2 .transferCalc__seatGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
@media (max-width:700px){
  #rcrV2 .transferCalc__seatGrid{grid-template-columns:1fr}
}
#rcrV2 .transferCalc__seatCard{
  position:relative;
  margin:0;
  display:flex;
  flex-direction:column;
  text-align:center;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(165deg, rgba(255,255,255,.05) 0%, transparent 42%),
    rgba(0,0,0,.35);
  box-shadow:0 0 0 1px rgba(0,0,0,.25) inset;
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#rcrV2 .transferCalc__seatCard:hover{
  border-color:rgba(255,215,0,.22);
  background:
    linear-gradient(165deg, rgba(255,215,0,.08) 0%, transparent 45%),
    rgba(0,0,0,.4);
}
#rcrV2 .transferCalc__seatCard--active{
  border-color:rgba(255,215,0,.45);
  box-shadow:
    0 0 0 1px rgba(255,215,0,.2) inset,
    0 10px 28px rgba(0,0,0,.35);
  background:
    linear-gradient(165deg, rgba(255,215,0,.12) 0%, transparent 50%),
    rgba(0,0,0,.5);
}
#rcrV2 .transferCalc__seatFace{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 16px 12px;
  border:none;
  background:transparent;
}
#rcrV2 .transferCalc__stepper--compact{
  margin-top:0;
  min-height:42px;
  border-radius:0;
  border:none;
  border-top:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.22);
}
#rcrV2 .transferCalc__stepper--compact .transferCalc__stepBtn{
  flex:0 0 40px;
  width:40px;
  font-size:1.2rem;
}
#rcrV2 .transferCalc__stepper--compact .transferCalc__stepperInput{
  font-size:.95rem;
  padding:6px 4px !important;
}
#rcrV2 .transferCalc__seatKicker{
  font-size:.65rem;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(245,247,252,.45);
}
#rcrV2 .transferCalc__seatTitle{
  font-size:1rem;
  font-weight:800;
  color:rgba(245,247,252,.95);
}
#rcrV2 .transferCalc__seatMeta{
  font-size:.78rem;
  font-weight:600;
  color:rgba(255,215,0,.75);
  margin-top:2px;
}
#rcrV2 .transferCalc__flightHint{
  display:block;
  margin-top:6px;
  font-size:.8rem !important;
  line-height:1.45;
}
#rcrV2 .transferCalc__flightHint.is-airport{
  color:rgba(255,215,0,.9) !important;
  font-weight:600;
}
@media (max-width:700px){
  #rcrV2 .transferCalc__grid2{
    grid-template-columns:1fr;
    gap:14px;
  }
  #rcrV2 .transferCalc__stepBtn{
    flex:0 0 52px;
    width:52px;
  }
}
#rcrV2 .transferCalc__bookBlock{
  margin-top:22px;
  width:min(100%, 760px);
  margin-left:auto;
  margin-right:auto;
  padding:22px 18px 18px;
  border-radius:20px;
  border:1px solid rgba(255,215,0,.18);
  background:
    radial-gradient(100% 80% at 50% 0%, rgba(255,215,0,.07), transparent 55%),
    rgba(0,0,0,.32);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
  text-align:center;
  position:relative;
  z-index:130;
}
#rcrV2 .transferCalc__bookHead{
  margin-bottom:16px;
}
#rcrV2 .transferCalc__bookTitle{
  margin:0 0 8px;
  font-size:clamp(1.15rem, 2.6vw, 1.4rem);
  font-weight:900;
  letter-spacing:0.02em;
  color:rgba(245,247,252,.96);
}
#rcrV2 .transferCalc__bookSub{
  margin:0 auto;
  max-width:40rem;
  font-size:.9rem;
  line-height:1.5;
}
#rcrV2 .transferCalc__bookTotal{
  margin:0 auto 18px;
  max-width:34rem;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid rgba(255,215,0,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
    rgba(0,0,0,.32);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}
#rcrV2 .transferCalc__bookTotalLine{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
  gap:10px 14px;
  font-size:clamp(1.05rem, 2.5vw, 1.25rem);
  font-weight:800;
  color:rgba(245,247,252,.95);
}
#rcrV2 .transferCalc__bookTotalLabel{
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.72rem;
  color:rgba(245,247,252,.72);
}
#rcrV2 .transferCalc__bookTotalPrice{
  font-size:clamp(1.35rem, 3.2vw, 1.75rem);
  font-weight:900;
  letter-spacing:.02em;
}
#rcrV2 .transferCalc__bookTotalSub{
  margin:10px 0 0;
  font-size:.8rem;
  line-height:1.45;
}
#rcrV2 .transferCalc__bookActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  align-items:stretch;
  position:relative;
  z-index:140;
}
#rcrV2 .transferCalc__bookBtn,
#rcrV2 .transferCalc__stripePay,
#rcrV2 .transferCalc__bookWa,
#rcrV2 .transferCalc__bookEmail{
  min-width:min(100%, 240px);
  justify-content:center;
}
#rcrV2 .transferCalc__bookBtn{
  flex:1 1 100%;
  width:100%;
  font-weight:800;
  font-size:1.02rem;
  letter-spacing:.02em;
  color:#ffffff;
  border-color:rgba(255,215,0,.22);
  background:
    radial-gradient(900px 360px at 30% 0%, rgba(255,215,0,.22), transparent 58%),
    radial-gradient(800px 360px at 80% 10%, rgba(255,255,255,.08), transparent 62%),
    linear-gradient(180deg, rgba(22,28,38,.95), rgba(8,12,20,.75));
}
#rcrV2 .transferCalc__bookBtn:hover{
  border-color:rgba(255,215,0,.32);
  box-shadow:
    0 24px 48px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,215,0,.1) inset;
}
#rcrV2 .transferCalc__bookBtn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(255,215,0,.28);
}
#rcrV2 .transferCalc__stripePay{
  flex:1 1 100%;
  width:100%;
  font-weight:800;
  font-size:1.02rem;
  letter-spacing:.02em;
  color:#ffffff;
  border-color:rgba(255,215,0,.22);
  background:
    radial-gradient(900px 360px at 30% 0%, rgba(255,215,0,.22), transparent 58%),
    radial-gradient(800px 360px at 80% 10%, rgba(255,255,255,.08), transparent 62%),
    linear-gradient(180deg, rgba(22,28,38,.95), rgba(8,12,20,.75));
  cursor:pointer;
  transition:box-shadow .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease;
}
#rcrV2 .transferCalc__bookWa,
#rcrV2 .transferCalc__bookEmail{
  flex:1 1 240px;
}
#rcrV2 .transferCalc__stripePay:hover:not(:disabled){
  border-color:rgba(255,215,0,.32);
  box-shadow:
    0 24px 48px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,215,0,.1) inset;
}
#rcrV2 .transferCalc__stripePay.is-loading{
  cursor:progress;
  color:#ffffff;
  opacity:1;
  border-color:rgba(255,215,0,.32);
  box-shadow:
    0 24px 48px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,215,0,.1) inset;
}
#rcrV2 .transferCalc__stripePay.is-loading::after{
  content:"";
  display:inline-block;
  width:1em;
  height:1em;
  margin-left:.65rem;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.22);
  border-top-color:#ffffff;
  animation:rcrStripeSpin .7s linear infinite;
  vertical-align:-0.15em;
}
#rcrV2 .transferCalc__stripePay:disabled{
  cursor:not-allowed;
  opacity:.62;
  box-shadow:none;
}
#rcrV2 .transferCalc__stripePay.is-loading:disabled{
  opacity:1;
  box-shadow:
    0 24px 48px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,215,0,.1) inset;
}
#rcrV2 .transferCalc__stripePay:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(255,215,0,.28);
}
@keyframes rcrStripeSpin{
  to{transform:rotate(360deg)}
}
#rcrV2 .transferCalc__bookFine{
  margin:14px 0 0;
  font-size:.78rem;
  line-height:1.45;
  max-width:36rem;
  margin-left:auto;
  margin-right:auto;
}
#rcrV2 .transferCalc__fineprint{
  margin:16px 0 0;
  font-size:.78rem;
  line-height:1.45;
  text-align:center;
}
#rcrV2 .transferCalc__mapFrame{
  position:relative;
  margin-top:18px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,215,0,.22);
  min-height:min(52vh,384px);
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(255,215,0,.07), transparent 55%),
    #070708;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 18px 48px rgba(0,0,0,.45);
}
#rcrV2 .transferCalc__mapHud{
  pointer-events:none;
  position:absolute;
  z-index:800;
  left:0;
  right:0;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:7px 12px 8px;
  background:linear-gradient(180deg, rgba(6,6,8,.78) 0%, rgba(6,6,8,.35) 65%, transparent 100%);
  border-bottom:1px solid rgba(255,215,0,.1);
  backdrop-filter:saturate(1.05) blur(6px);
}
#rcrV2 .transferCalc__mapHudTitle{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,215,0,.92);
}
#rcrV2 .transferCalc__mapHudMeta{
  font-size:.72rem;
  font-weight:700;
  color:rgba(245,247,252,.55);
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.35);
}
#rcrV2 .transferCalc__map{
  width:100%;
  height:min(52vh,384px);
  min-height:300px;
  z-index:1;
  /* Matches Voyager / roadmap while tiles or Google map load */
  background:#dfe6e9;
  font-family:inherit;
}
#rcrV2 .transferCalc__map .leaflet-container{
  font-family:var(--rcr-font-sans);
  background:#dfe6e9;
}
/* Leaflet: hide thin seams between raster tiles (often look like a “grid”) */
#rcrV2 .transferCalc__map .leaflet-tile,
#rcrV2 .transferCalc__map .leaflet-tile-loaded{
  border:none !important;
  outline:none !important;
}
#rcrV2 .transferCalc__map .leaflet-container img.leaflet-tile{
  max-width:none !important;
}
#rcrV2 .transferCalc__map .leaflet-popup-content-wrapper,
#rcrV2 .transferCalc__map .leaflet-popup-tip{
  background:rgba(10,10,12,.94);
  color:rgba(245,247,252,.92);
  border:1px solid rgba(255,215,0,.2);
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}
#rcrV2 .transferCalc__map .leaflet-popup-content{
  margin:10px 12px;
  font-size:.88rem;
  font-weight:600;
}
#rcrV2 .transferCalc__map .leaflet-control-attribution{
  font-size:10px;
  line-height:1.35;
  background:rgba(6,6,8,.78);
  color:rgba(245,247,252,.5);
  border-top:1px solid rgba(255,215,0,.12);
  border-radius:0;
  max-width:100%;
}
#rcrV2 .transferCalc__map .leaflet-control-attribution a{color:rgba(255,215,0,.78)}
/* Transfer calculator map pins — black disc, gold A / B (Leaflet divIcon) */
.rcrTcalcPinWrap{background:transparent;border:none}
.rcrTcalcPin{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin:1px;
  border-radius:50%;
  background:#000;
  border:2px solid #FFD700;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.4),
    0 4px 14px rgba(0,0,0,.35);
}
.rcrTcalcPin__letter{
  font-family:var(--rcr-font-sans);
  font-weight:900;
  font-size:13px;
  line-height:1;
  color:#FFD700;
  user-select:none;
}
/* Google Places suggestions above sticky card */
#rcrV2 .pac-container{z-index:10050 !important}

/* =========================================================
  LEGAL PAGES
   ========================================================= */
#rcrV2.legalPage .nav{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
#rcrV2.legalPage .nav__a{
  color:rgba(245,247,252,.82);
}
#rcrV2 .legalMain{
  padding:44px 0 72px;
}
#rcrV2 .legalHero{
  margin-bottom:22px;
}
#rcrV2 .legalMeta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 0;
}
#rcrV2 .legalShell{
  display:grid;
  grid-template-columns:minmax(0, 280px) minmax(0, 1fr);
  gap:18px;
  align-items:start;
}
#rcrV2 .legalAside,
#rcrV2 .legalCard{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
#rcrV2 .legalAside{
  padding:18px;
  position:sticky;
  top:calc(var(--rcr-header-h, 72px) + 16px);
}
#rcrV2 .legalAside h2{
  margin:0 0 12px;
  font-size:1rem;
}
#rcrV2 .legalAside ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
#rcrV2 .legalAside a{
  color:var(--muted);
}
#rcrV2 .legalCard{
  padding:24px 22px;
}
#rcrV2 .legalCard section + section{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.08);
}
#rcrV2 .legalCard h2{
  margin:0 0 10px;
  font-size:1.15rem;
}
#rcrV2 .legalCard p{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}
#rcrV2 .legalCard p + p,
#rcrV2 .legalCard ul + p,
#rcrV2 .legalCard p + ul{
  margin-top:12px;
}
#rcrV2 .legalCard ul{
  margin:12px 0 0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.68;
}
#rcrV2 .legalCard li + li{
  margin-top:8px;
}
@media (max-width:980px){
  #rcrV2 .legalShell{grid-template-columns:1fr}
  #rcrV2 .legalAside{position:static;top:auto}
}
@media (max-width:720px){
  #rcrV2.legalPage .top__inner{align-items:center}
  #rcrV2.legalPage .nav{justify-content:flex-end}
}
@media (max-width:980px){
  #rcrV2.legalPage .top__inner{
    grid-template-columns:minmax(58px,auto) minmax(0,1fr) var(--rcr-top-control-h);
    gap:8px 10px;
    padding-right:0;
    padding-left:0;
  }
  #rcrV2.legalPage .top__inner.wrap{
    width:min(1120px, calc(100% - 24px));
  }
  #rcrV2.legalPage .nav{
    display:none !important;
  }
  #rcrV2.legalPage .burger{
    display:inline-block !important;
  }
  #rcrV2.legalPage .mnav{
    display:flex !important;
  }
  #rcrV2.legalPage .brand{
    max-width:min(100%, 220px);
    gap:4px;
  }
  #rcrV2.legalPage .brand__name{
    white-space:normal;
    max-width:100%;
    line-height:1.08;
    letter-spacing:.08em;
  }
}
@media (max-width:640px){
  #rcrV2.legalPage .top__inner{
    grid-template-columns:minmax(58px,auto) minmax(0,1fr) var(--rcr-top-control-h);
    gap:8px;
  }
  #rcrV2.legalPage .brand{
    max-width:min(100%, 190px);
  }
  #rcrV2.legalPage .brand__mark{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  #rcrV2.legalPage .brand__name{
    font-size:clamp(.72rem, 3.2vw, .92rem);
  }
  #rcrV2.legalPage .langMenu__trigger{
    min-width:58px;
    justify-content:center;
  }
  #rcrV2.legalPage .mnav__panel{
    width:min(380px, calc(100vw - 18px));
  }
}

/* =========================================================
  SEO LANDING PAGES
   ========================================================= */
#rcrV2 .crumbs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 14px;
  color:var(--muted);
  font-size:.92rem;
}
#rcrV2 .crumbs span{opacity:.56}
#rcrV2 .langSwitch{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 0;
}
#rcrV2 .langSwitch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card-dim);
  color:var(--muted);
}
#rcrV2 .langSwitch a.is-current{
  color:rgba(245,247,252,.96);
  border-color:rgba(255,215,0,.22);
  background:rgba(255,215,0,.08);
}
#rcrV2 .seoLead{
  max-width:72ch;
  color:var(--muted);
  line-height:1.7;
}
#rcrV2 .seoHeroActions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
#rcrV2 .seoStats{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
  margin:26px 0 0;
}
#rcrV2 .seoStats > *{
  flex:0 1 calc((100% - 28px) / 3);
  max-width:calc((100% - 28px) / 3);
}
#rcrV2 .seoStat{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:var(--rcr-card-soft);
  padding:14px 16px;
}
#rcrV2 .seoStat strong{
  display:block;
  color:var(--gold);
  font-size:1rem;
  margin-bottom:6px;
}
#rcrV2 .seoGrid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
}
#rcrV2 .seoGrid > *{
  flex:0 1 calc((100% - 14px) / 2);
  max-width:calc((100% - 14px) / 2);
}
#rcrV2 .seoFaqGrid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
}
#rcrV2 .seoFaqGrid > *{
  flex:0 1 calc((100% - 14px) / 2);
  max-width:calc((100% - 14px) / 2);
}
#rcrV2 .seoFaqCard{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:var(--rcr-card);
  padding:18px 16px;
}
#rcrV2 .seoFaqCard h3{
  margin:0 0 8px;
  font-size:1rem;
}
#rcrV2 .seoFaqCard p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
#rcrV2 .seoLinkList{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
#rcrV2 .seoLinkList a{
  color:var(--muted);
}
#rcrV2 .seoCtaPanel{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:var(--rcr-card);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  padding:22px 18px;
}
#rcrV2 .seoCtaPanel h2{
  margin:0 0 8px;
}
#rcrV2 .seoCtaPanel p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
#rcrV2 .seoCtaPanel__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}
@media (max-width:980px){
  #rcrV2 .seoStats > *,
  #rcrV2 .seoGrid > *,
  #rcrV2 .seoFaqGrid > *{
    flex:0 1 100%;
    max-width:100%;
  }
}

/* =========================================================
   WHATSAPP FLOAT
   ========================================================= */
@keyframes rcrWaFloatDrift{
  0%,100%{ transform:translate3d(0,0,0); }
  50%{ transform:translate3d(0,-6px,0); }
}
@keyframes rcrWaRingPulse{
  0%,100%{
    box-shadow:
      0 20px 56px rgba(0,0,0,.48),
      0 0 0 0 rgba(255,215,0,.42);
  }
  55%{
    box-shadow:
      0 24px 64px rgba(0,0,0,.52),
      0 0 0 14px rgba(255,215,0,0);
  }
}
/* Wide layout: gold ring pulse only (no heavy drop shadow “blob”) */
@keyframes rcrWaRingPulseLite{
  0%,100%{ box-shadow:0 0 0 0 rgba(255,215,0,.42); }
  55%{ box-shadow:0 0 0 14px rgba(255,215,0,0); }
}
@keyframes rcrWaIconPulse{
  0%,100%{ transform:scale(1); filter:drop-shadow(0 0 2px rgba(255,215,0,.35)); }
  50%{ transform:scale(1.08); filter:drop-shadow(0 0 10px rgba(255,215,0,.75)); }
}
/* #waFloat lives outside #rcrV2 so mobile WebKit keeps true viewport-fixed positioning */
#waFloat{
  position:fixed;
  right:max(18px, env(safe-area-inset-right, 0px));
  bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  z-index:200;

  /* Same stack as #rcrV2 (button is not inside wrapper, so it does not inherit) */
  font-family:var(--rcr-font-sans);
  font-weight:800;
  letter-spacing:.02em;

  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:12px 14px;
  border-radius:999px;

  border:1px solid rgba(255,215,0,.28);
  /* Solid black, slightly transparent */
  background:rgba(0,0,0,.78);
  box-shadow:0 0 0 0 rgba(255,215,0,.42);
  /* Brand gold — was near-white when scoped under #rcrV2 .waFloat */
  color:#FFD700;
  overflow:visible;
  /* Wide pill: only the gold ring from the edge — no bobbing drift */
  animation:rcrWaRingPulseLite 2.85s ease-in-out infinite;
  will-change:box-shadow;
  cursor:pointer;
  transition:border-color .25s ease, background .25s ease, transform .18s ease, box-shadow .18s ease;
}
#waFloat .waFloat__pulse{
  position:absolute;
  inset:-45%;
  background:radial-gradient(circle at 30% 30%, rgba(255,215,0,.22), transparent 58%);
  /* Wide: hide breathing halo (ring animation is on .waFloat itself) */
  opacity:0;
  animation:none;
  pointer-events:none;
  z-index:0;
  border-radius:999px;
}
#rcrV2 .waIcon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#ffd700;
  flex:0 0 auto;
}
#rcrV2 .waIcon svg{width:100%;height:100%;display:block}
#rcrV2 .waIcon svg path{fill:currentColor}
#waFloat:hover{
  transform:translateY(-2px);
  border-color:rgba(255,215,0,.52);
  background:rgba(0,0,0,.88);
}
#waFloat .waIcon{
  width:24px;
  height:24px;
  color:#FFD700;
  /* Wide: no icon scale pulse (that reads as “another” size animation vs the border ring) */
  animation:none;
  filter:drop-shadow(0 0 3px rgba(255,215,0,.4));
  position:relative;
  z-index:1;
}
#waFloat .waIcon svg{width:100%;height:100%;display:block}
#waFloat .waIcon svg path{fill:currentColor}
#waFloat .waFloat__text{
  position:relative;
  z-index:1;
  color:#FFD700;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}
#waFloat{max-width: calc(100vw - 24px)}
@media (max-width:520px){
  /* No transform animation on this node: iOS/WebKit treats fixed+animated transform as scroll-relative */
  #waFloat{
    width:54px;height:54px;
    padding:0;
    justify-content:center;
    background:rgba(0,0,0,.82);
    box-shadow:0 20px 56px rgba(0,0,0,.48), 0 0 0 0 rgba(255,215,0,.42);
    animation:rcrWaRingPulse 2.85s ease-in-out infinite;
  }
  #waFloat .waFloat__text{display:none}
  #waFloat .waFloat__pulse{
    opacity:.55;
    animation:rcrBreathe 4s ease-in-out infinite;
  }
  #waFloat:hover{
    filter:brightness(1.07) saturate(1.05);
  }
  #waFloat:hover .waFloat__pulse{
    opacity:.88;
  }
  #waFloat .waIcon{
    animation:rcrWaIconPulse 2.2s ease-in-out infinite;
    filter:none;
  }
}
@media (prefers-reduced-motion: reduce){
  #waFloat{
    animation:none;
    box-shadow:0 0 0 1px rgba(255,215,0,.35);
  }
  @media (max-width:520px){
    #waFloat{box-shadow:0 20px 56px rgba(0,0,0,.45)}
  }
  #waFloat .waIcon{animation:none; filter:none}
  #waFloat .waFloat__pulse{animation:none; opacity:.35}
}

/* =========================================================
   SECTION fade-up (matches sectionFadeInit in main.js)
   ========================================================= */
/* All top-level sections + everything inside <main> fades up (except .hero) */
#rcrV2 > section:not(.hero):not(.sectionFade-in),
#rcrV2 main section:not(.sectionFade-in){
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:
    opacity .62s cubic-bezier(.16,1,.3,1),
    transform .62s cubic-bezier(.16,1,.3,1);
  will-change:opacity, transform;
}
#rcrV2 > section.sectionFade-in,
#rcrV2 > section.hero,
#rcrV2 main section.sectionFade-in{
  opacity:1;
  transform:none;
  will-change:auto;
}

/* =========================================================
   REVEAL / TILT helpers (matches your JS)
   ========================================================= */
#rcrV2 .reveal{
  opacity:0;
  transform: translateY(18px);
  filter: blur(2px);
  transition:
    opacity .58s cubic-bezier(.16,1,.3,1),
    transform .58s cubic-bezier(.16,1,.3,1),
    filter .58s cubic-bezier(.16,1,.3,1);
}
#rcrV2 .reveal.in{opacity:1;transform:none;filter:none}

/* First section (no hero): intro copy uses its own line-by-line land — not the generic .reveal blob */
@keyframes rcrLandIntroLineIn{
  from{
    opacity:0;
    transform:translate3d(-12px,16px,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}
@media (prefers-reduced-motion: no-preference){
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
  }
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *{
    animation:rcrLandIntroLineIn .58s cubic-bezier(.2,1,.2,1) both;
  }
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(1){animation-delay:.06s}
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(2){animation-delay:.13s}
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(3){animation-delay:.2s}
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(4){animation-delay:.27s}
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(5){animation-delay:.34s}
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(6){animation-delay:.41s}
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(7){animation-delay:.48s}
  #rcrV2 > section:first-of-type:not(.hero) .head.reveal > *:nth-child(8){animation-delay:.55s}
}

/* Light stagger — keeps rhythm without waiting long after viewport entry */
#rcrV2 .grid3 > .reveal:nth-child(1){transition-delay:0s}
#rcrV2 .grid3 > .reveal:nth-child(2){transition-delay:.04s}
#rcrV2 .grid3 > .reveal:nth-child(3){transition-delay:.08s}
#rcrV2 .grid3 > .reveal:nth-child(4){transition-delay:.12s}
#rcrV2 .grid3 > .reveal:nth-child(5){transition-delay:.16s}
#rcrV2 .grid3 > .reveal:nth-child(6){transition-delay:.2s}
#rcrV2 .routeGrid > .routeCard.reveal:nth-child(1){transition-delay:0s}
#rcrV2 .routeGrid > .routeCard.reveal:nth-child(2){transition-delay:.05s}
#rcrV2 .routeGrid > .routeCard.reveal:nth-child(3){transition-delay:.1s}
#rcrV2 .routeGrid > .routeCard.reveal:nth-child(4){transition-delay:.15s}
#rcrV2 .routeGrid > .routeCard.reveal:nth-child(5){transition-delay:.2s}
#rcrV2 .routeGrid > .routeCard.reveal:nth-child(6){transition-delay:.25s}
#rcrV2 .featureGrid > .featureCard.reveal:nth-child(1){transition-delay:0s}
#rcrV2 .featureGrid > .featureCard.reveal:nth-child(2){transition-delay:.04s}
#rcrV2 .featureGrid > .featureCard.reveal:nth-child(3){transition-delay:.08s}
#rcrV2 .featureGrid > .featureCard.reveal:nth-child(4){transition-delay:.12s}
#rcrV2 .featureGrid > .featureCard.reveal:nth-child(5){transition-delay:.16s}
#rcrV2 .featureGrid > .featureCard.reveal:nth-child(6){transition-delay:.2s}
#rcrV2 .hero .stats .reveal:nth-child(1){transition-delay:.02s}
#rcrV2 .hero .stats .reveal:nth-child(2){transition-delay:.06s}
#rcrV2 .hero .stats .reveal:nth-child(3){transition-delay:.1s}
@keyframes rcrHeadlineSoft{
  0%,100%{ opacity:1; filter:brightness(1); }
  50%{ filter:brightness(1.06); }
}
#rcrV2 .head.reveal.in .h2{
  animation:rcrHeadlineSoft 6s ease-in-out infinite;
}

#rcrV2 .tilt{
  transform-style: preserve-3d;
  transition: transform .18s ease;
  will-change: transform;
}
#rcrV2 .tilt:hover{transition: transform .08s ease}
@media (hover:none) and (pointer:coarse){
  #rcrV2 .tilt{ transform:none !important; }
}

/* focus states */
#rcrV2 :is(a, button, input, textarea){ -webkit-tap-highlight-color: transparent; }
#rcrV2 :is(a, button):focus-visible,
#rcrV2 :is(input, textarea):focus-visible{
  outline:none;
  box-shadow: 0 0 0 4px rgba(255,215,0,.12);
  border-color: rgba(255,215,0,.22);
}

/* accessibility: reduce motion */
@media (prefers-reduced-motion: reduce){
  #rcrV2 > section:not(.hero),
  #rcrV2 main section{
    opacity:1;
    transform:none;
    will-change:auto;
  }
  #rcrV2 *{animation:none !important; transition:none !important;}
  #rcrV2 .hero__left .h1{
    transform:none !important;
    text-shadow:0 2px 18px rgba(0,0,0,.4) !important;
    will-change:auto !important;
  }
}

/* ===============================
   SECTION SPACING — TIGHTER
   =============================== */
#rcrV2 .section{
  padding: 64px 0;
}

@media (max-width: 520px){
  #rcrV2 .section{
    padding: 48px 0;
  }
}

/* ===============================
   DUBROVNIK DAY TRIPS CATALOG
   (interactive cards + modal)
   =============================== */
#rcrV2 .dayTripsCatalogSection__hint{
  max-width: 52ch;
  margin: 0.35rem auto 0;
  text-align: center;
  font-size: 1.02rem;
}

/* Flex + centered wrap: last row with fewer cards stays centered (grid auto-fill left-aligns orphans) */
#rcrV2 .dayTripsCatalog__grid{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
  margin-top: 28px;
}

#rcrV2 .dayTripsCatalog__grid > .dayTripsCatalog__card{
  flex: 1 1 280px;
  max-width: min(100%, 380px);
  min-width: 0;
  box-sizing: border-box;
}

#rcrV2 .dayTripsCatalog__card{
  position: relative;
  border-radius: var(--radius, 18px);
  overflow: hidden;
  cursor: pointer;
  text-align: center;
  border: 1px solid var(--line);
  background:var(--rcr-card);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
  transition: transform 0.28s ease, background 0.28s ease, box-shadow 0.28s ease, border-color 0.25s ease;
}

#rcrV2 .dayTripsCatalog__card:hover{
  transform: translateY(-6px);
  border-color: rgba(255, 215, 0, 0.28);
  background:var(--rcr-card-hover);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 215, 0, 0.12);
}

#rcrV2 .dayTripsCatalog__card:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(255, 215, 0, 0.18);
}

#rcrV2 .dayTripsCatalog__card img{
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

#rcrV2 .dayTripsCatalog__label{
  position: absolute;
  top: 150px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #05080f;
  background: var(--gold, #ffd700);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

#rcrV2 .dayTripsCatalog__body{
  padding: 20px 18px 22px;
}

#rcrV2 .dayTripsCatalog__body h3{
  margin: 0 0 10px;
  font-size: 1.15rem;
  color: var(--text);
}

#rcrV2 .dayTripsCatalog__meta{
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
}

#rcrV2 .dayTripsCatalog__desc{
  margin: 10px 0 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: rgba(205, 213, 228, 0.92);
}

#rcrV2 .dayTripsCatalog__price{
  margin-top: 14px;
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--gold);
}

#rcrV2 .dayTripsCatalog__price span{
  white-space: nowrap;
}

#rcrV2 .dayTripsCatalog__overlay{
  display: none;
  position: fixed;
  inset: 0;
  z-index: 5000;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 16px;
  box-sizing: border-box;
}

#rcrV2 .dayTripsCatalog__overlay.is-open{
  display: flex;
}

#rcrV2 .dayTripsCatalog__overlayBackdrop{
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.52);
  cursor: pointer;
}

#rcrV2 .dayTripsCatalog__overlayPanel{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 700px;
  max-height: min(90vh, 900px);
  overflow: hidden auto;
  margin: auto 0;
  padding: 28px 26px 32px;
  border-radius: var(--radius, 18px);
  border: 1px solid rgba(255, 215, 0, 0.28);
  background:var(--rcr-card-hover);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow:
    0 40px 100px rgba(0, 0, 0, 0.85),
    0 0 0 1px rgba(255, 255, 255, 0.06);
  color: var(--text);
  animation: rcrDayTripPanelIn 0.45s ease forwards;
}

@keyframes rcrDayTripPanelIn{
  from{
    opacity: 0;
    transform: scale(0.96) translateY(8px);
  }
  to{
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

#rcrV2 .dayTripsCatalog__overlayBody{
  display: flow-root;
}

#rcrV2 .dayTripsCatalog__overlayBody h3{
  margin: 0 0 12px;
  color: var(--text);
  font-size: 1.35rem;
}

#rcrV2 .dayTripsCatalog__overlayBody p{
  margin: 0 0 10px;
  line-height: 1.55;
  color: rgba(205, 213, 228, 0.94);
}

#rcrV2 .dayTripsCatalog__overlayBody strong{
  color: var(--gold);
}

#rcrV2 .dayTripsCatalog__close{
  float: right;
  margin: -8px -4px 8px 12px;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 4px 10px;
  border-radius: 10px;
  transition: background 0.2s ease, color 0.2s ease;
}

#rcrV2 .dayTripsCatalog__close:hover{
  background: rgba(255, 215, 0, 0.12);
  color: var(--gold);
}

#rcrV2 .dayTripsCatalog__close:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.25);
}

@media (prefers-reduced-motion: reduce){
  #rcrV2 .dayTripsCatalog__overlayPanel{
    animation: none;
  }
  #rcrV2 .dayTripsCatalog__card{
    transition: none;
  }
  #rcrV2 .dayTripsCatalog__card:hover{
    transform: none;
  }
}

/* =========================================================
   DAY TRIP BOOKING — same glass + gold language as .form / contact
   ========================================================= */
#rcrV2 .dayTripBookSection{
  position: relative;
  z-index: 2;
  overflow: visible;
}
#rcrV2 .dayTripBook{
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(22px, 3.5vw, 40px) clamp(18px, 3vw, 28px);
  border-radius: 24px;
  border: 1px solid rgba(255, 215, 0, 0.22);
  background:var(--rcr-card);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;
  color: #ffffff;
  position: relative;
  overflow: visible;
  color-scheme: dark;
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
  #rcrV2 .dayTripBook{
    background:var(--rcr-card-hover);
  }
}
#rcrV2 .dayTripBook__title{
  margin: 0;
  text-align: center;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: #ffffff;
}
#rcrV2 .dayTripBook__subtitle{
  margin: 12px 0 0;
  text-align: center;
  font-size: 0.98rem;
  color: #ffffff;
  opacity: 0.9;
  line-height: 1.55;
  max-width: 46ch;
  margin-left: auto;
  margin-right: auto;
}
#rcrV2 .dayTripBook__alert{
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(220, 38, 38, 0.22);
  border: 1px solid rgba(248, 113, 113, 0.45);
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 700;
}
#rcrV2 .dayTripBook__form{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px 14px;
  margin-top: 26px;
}
#rcrV2 .dayTripBook__field--full{ grid-column: span 12; }
#rcrV2 .dayTripBook__field--half{ grid-column: span 12; }
#rcrV2 .dayTripBook__field--third{ grid-column: span 12; }
@media (min-width: 700px){
  #rcrV2 .dayTripBook__field--half{ grid-column: span 6; }
  #rcrV2 .dayTripBook__field--third{ grid-column: span 4; }
}
#rcrV2 .dayTripBook__field > .dayTripBook__label,
#rcrV2 .dayTripBook__field > span.dayTripBook__label{
  display: block;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
  opacity: 0.95;
  margin-bottom: 8px;
}
#rcrV2 .dayTripBook__req{
  text-decoration: none;
  color: #ffffff;
  font-weight: 800;
  opacity: 1;
}
#rcrV2 .dayTripBook__input{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  font-size: 1rem;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
#rcrV2 .dayTripBook__dateWrap{
  display:block;
  width:100%;
}
#rcrV2 .dayTripBook__dateWrap .rcrDateDisplay__text{
  inset:0 42px 0 14px;
}
#rcrV2 .dayTripBook__input::placeholder{
  color: rgba(255, 255, 255, 0.5);
}
#rcrV2 .dayTripBook__textarea{
  min-height: 120px;
  resize: vertical;
}
#rcrV2 .dayTripBook__input:focus{
  border-color: rgba(255, 215, 0, 0.28);
  box-shadow: 0 0 0 4px rgba(255, 215, 0, 0.10);
  background: rgba(255, 255, 255, 0.09);
}
#rcrV2 .dayTripBook__input[aria-invalid="true"]{
  border-color: rgba(248, 113, 113, 0.55);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.2);
  background: rgba(60, 20, 24, 0.45);
}
#rcrV2 .dayTripBook__stepper{
  width:100%;
}
#rcrV2 .dayTripBook__stepper .transferCalc__stepperInput{
  font-weight:800;
}
#rcrV2 .dayTripBook__stepper .transferCalc__stepBtn:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px rgba(255,215,0,.18);
}
#rcrV2 .dayTripBook__input option{
  background: rgba(0, 0, 0, 0.92);
  color: #ffffff;
}
#rcrV2 .dayTripBook__phone{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
}
#rcrV2 .dayTripBook__dialCombo{
  position: relative;
  z-index: 5;
  flex: 0 0 auto;
  min-width: min(100%, 158px);
  max-width: 100%;
}
#rcrV2 .dayTripBook__dialTrigger{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  outline: none;
  white-space: nowrap;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
#rcrV2 .dayTripBook__dialTrigger:hover{
  border-color: rgba(255, 215, 0, 0.2);
  background: rgba(255, 255, 255, 0.09);
}
#rcrV2 .dayTripBook__dialTrigger:focus-visible{
  border-color: rgba(255, 215, 0, 0.28);
  box-shadow: 0 0 0 4px rgba(255, 215, 0, 0.1);
}
#rcrV2 .dayTripBook__dialFlag{
  flex: 0 0 auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  line-height: 0;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}
#rcrV2 .dayTripBook__dialFlag img{
  display: block;
  width: 28px;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
#rcrV2 .dayTripBook__dialCode{
  flex: 1 1 auto;
  min-width: 0;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #ffffff;
}
#rcrV2 .dayTripBook__dialChev{
  flex: 0 0 auto;
  width: 0;
  height: 0;
  margin-left: auto;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid rgba(255, 255, 255, 0.75);
  margin-top: 2px;
  transition: transform 0.2s ease;
}
#rcrV2 .dayTripBook__dialTrigger[aria-expanded="true"] .dayTripBook__dialChev{
  transform: rotate(180deg);
}
#rcrV2 .dayTripBook__dialList{
  position: absolute;
  z-index: 200;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  margin: 0;
  padding: 6px;
  list-style: none;
  max-height: min(280px, 52vh);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 14px;
  border: 1px solid rgba(255, 215, 0, 0.28);
  background: var(--rcr-card-hover);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.08) inset;
  -webkit-overflow-scrolling: touch;
}
#rcrV2 .dayTripBook__dialOption{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  margin: 2px 0;
  border-radius: 10px;
  cursor: pointer;
  outline: none;
  font-weight: 600;
  color: #ffffff;
  white-space: nowrap;
  transition: background 0.15s ease;
}
#rcrV2 .dayTripBook__dialOption:hover,
#rcrV2 .dayTripBook__dialOption:focus{
  background: rgba(255, 215, 0, 0.1);
}
#rcrV2 .dayTripBook__dialOption:focus-visible{
  box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.35);
}
#rcrV2 .dayTripBook__dialOption[aria-selected="true"]{
  background: rgba(255, 215, 0, 0.14);
}
#rcrV2 .dayTripBook__dialOptionFlag{
  flex: 0 0 auto;
  display: flex;
  line-height: 0;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1);
}
#rcrV2 .dayTripBook__dialOptionFlag img{
  display: block;
  width: 28px;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
#rcrV2 .dayTripBook__dialOptionCode{
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  color: #ffffff;
}
#rcrV2 .dayTripBook__national{
  flex: 1 1 180px;
  min-width: 0;
}
#rcrV2 .dayTripBook__visuallyHidden{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#rcrV2 .dayTripBook__honeypot{
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
#rcrV2 .dayTripBook__err{
  display: block;
  margin-top: 6px;
  min-height: 1.1em;
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
  opacity: 0.95;
}
#rcrV2 .dayTripBook__submit.btn{
  grid-column: span 12;
  margin-top: 8px;
  width: 100%;
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: 0.02em;
  cursor: pointer;
  color: #ffffff;
  border-color: rgba(255, 215, 0, 0.22);
  background:
    radial-gradient(900px 360px at 30% 0%, rgba(255, 215, 0, 0.22), transparent 58%),
    radial-gradient(800px 360px at 80% 10%, rgba(255, 255, 255, 0.08), transparent 62%),
    linear-gradient(180deg, rgba(22, 28, 38, 0.95), rgba(8, 12, 20, 0.75));
}
#rcrV2 .dayTripBook__submit.btn:hover{
  border-color:rgba(255, 215, 0, 0.32);
  box-shadow:
    0 24px 48px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(255, 215, 0, 0.1) inset;
}
#rcrV2 .dayTripBook__submit.btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.28);
}
/* Shared CTA font sync — lighter like header section links */
#rcrV2 .btn,
#rcrV2 .miniBtn,
#rcrV2 .nav__a--cta,
#rcrV2 .mnav__cta,
#rcrV2 .city__btn,
#rcrV2 .heroCity .city__btn,
#rcrV2 .transferCalc__bookBtn,
#rcrV2 .transferCalc__stripePay,
#rcrV2 .transferCalc__bookWa,
#rcrV2 .transferCalc__bookEmail,
#rcrV2 .dayTripBook__submit.btn,
#rcrV2 .dayTripBook__bookWa,
#rcrV2 .dayTripBook__bookEmail,
#rcrV2 .navCityPick__trigger.nav__a--cta,
#waFloat{
  font-weight:600;
  letter-spacing:.015em;
}
@media (prefers-reduced-motion: reduce){
  #rcrV2 .dayTripBook__input{
    transition: none;
  }
}
#rcrV2 .dayTripBook__recaptcha{
  grid-column: span 12;
  margin: 0;
  padding: 0 4px;
  text-align: center;
  font-size: 0.76rem;
  line-height: 1.55;
  color: #ffffff;
  opacity: 0.88;
}
#rcrV2 .dayTripBook__recaptcha a{
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: 1;
}
#rcrV2 .dayTripBook__recaptcha a:hover{
  color: #ffffff;
  opacity: 0.85;
}
#rcrV2 .dayTripBook__bookBlock{
  margin-top: 22px;
  padding: 22px 18px 18px;
  border-radius: 20px;
  border: 1px solid rgba(255, 215, 0, 0.18);
  background:
    radial-gradient(100% 80% at 50% 0%, rgba(255, 215, 0, 0.07), transparent 55%),
    rgba(0, 0, 0, 0.32);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
  text-align: center;
}
#rcrV2 .dayTripBook__bookHead{
  margin-bottom: 16px;
}
#rcrV2 .dayTripBook__bookTitle{
  margin: 0 0 8px;
  font-size: clamp(1.15rem, 2.6vw, 1.4rem);
  font-weight: 900;
  letter-spacing: 0.02em;
  color: rgba(245, 247, 252, 0.96);
}
#rcrV2 .dayTripBook__bookSub{
  margin: 0 auto;
  max-width: 40rem;
  font-size: 0.9rem;
  line-height: 1.5;
}
#rcrV2 .dayTripBook__bookActions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
}
#rcrV2 .dayTripBook__bookWa,
#rcrV2 .dayTripBook__bookEmail{
  min-width: min(100%, 240px);
  justify-content: center;
}
#rcrV2 .dayTripBook__bookFine{
  margin: 14px 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}
#rcrV2 .dayTripBook__toast{
  margin-top: 16px;
  padding: 12px 14px;
  text-align: center;
  border-radius: 14px;
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(74, 222, 128, 0.35);
  color: #ffffff;
  font-weight: 700;
  font-size: 0.92rem;
}
#rcrV2 .dayTripBook__toast.is-visible{
  box-shadow: 0 0 0 1px rgba(74, 222, 128, 0.15);
}
