/* ============================================================
   Chaika — custom layer for UniBuilder (active theme folder)
   Maps UB tokens + chrome + forms to mockup look
   ============================================================ */
:root{
  --p:var(--ub-primary,#2a6f7a);
  --ph:var(--ub-primary-hover,#0c2a3a);
  --pl:var(--ub-primary-light,#e5f0f2);
  --p50:#f3f8f9;
  --a:var(--ub-accent,#c4a46a);
  --ah:var(--ub-accent-hover,#b08f55);
  --al:var(--ub-accent-light,#f5efe3);
  --gp:linear-gradient(135deg,var(--p),var(--ph));
  --dk:#081e2a;--dc:#0c2a3a;--ds:#163445;
  --gd:linear-gradient(135deg,#081e2a,#0c2a3a,#163445);
  --gh:linear-gradient(160deg,#081e2a 0%,#0c2a3a 55%,#163445 100%);
  --surface:#ffffff;--surface-2:#faf8f4;--surface-3:#f4efe6;
  --n50:#faf8f4;--n100:#f4efe6;--n200:#e2ddd4;--n300:#d0c9bc;
  --n400:#9aa1ad;--n500:#6b7a80;--n600:#4a585e;--n700:#374151;
  --n800:#1a2428;--n900:#0c2a3a;
  --rs:6px;--rm:10px;--rl:16px;--rxl:24px;--rf:9999px;
  --r-btn:9999px;--r-card:16px;--r-input:10px;--bw:1px;
  --sh-sm:0 4px 20px rgba(12,42,58,.06);
  --sh-brand:0 8px 28px rgba(42,111,122,.22);
  --sh-btn:0 8px 24px rgba(42,111,122,.28);
  --sh-btn-hover:0 10px 28px rgba(12,42,58,.28);
  --fh:'Manrope',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fb:'Manrope',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --h1:clamp(2.5rem,6vw,4.25rem);--h2:clamp(1.875rem,3.2vw,2.5rem);
  --h3:clamp(1.25rem,2vw,1.5rem);--h4:1.125rem;
  --heading-weight:700;--heading-tracking:-.02em;--lh-heading:1.15;--lh-body:1.65;
  --heading-gradient:var(--n900);
  --section-py:50px;
  --card-featured-border:1px solid var(--p);--card-featured-accent:transparent;
  --footer-bg:#081e2a;--footer-text:#f5f2eb;--footer-muted:#9aa1ad;
  --footer-heading:#f5f2eb;--footer-link:#cbd0d8;--footer-link-hover:#d4b87e;
  --footer-border:#163445;
  --footer-social-bg:rgba(255,255,255,.1);--footer-social-hover:rgba(255,255,255,.18);
  --header-h:72px;
}

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap');

body{background:var(--surface-2);color:var(--n800);font-family:var(--fb)}
.btn-p,.ub-btn-primary,.ub-form-submit{border-radius:var(--r-btn)!important}

/* ========== Header (mockup parity) ========== */
.ub-header,.site-header{
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(250,248,244,.92)!important;
  border-bottom:1px solid rgba(226,221,212,.65)!important;
  box-shadow:none!important;
  color:var(--n900)!important;
}
.ub-header .container,
.ub-header > div{
  max-width:1200px;
}
.ub-header .flex.items-center.justify-between{
  min-height:var(--header-h);
  padding-top:.65rem!important;
  padding-bottom:.65rem!important;
  gap:1.25rem;
}
.ub-header a.flex-shrink-0{
  display:inline-flex!important;
  align-items:center;
  gap:0;
  text-decoration:none;
  padding:.45rem 0!important;
  line-height:0;
}
.ub-header-logo,.ub-header img.ub-header-logo,.ub-header a.flex-shrink-0 img{
  width:auto!important;
  height:48px!important;
  max-height:48px!important;
  border-radius:0!important;
  object-fit:contain!important;
  background:transparent!important;
  display:block;
}
.ub-footer a[href="/"] img,
.ub-footer .ub-footer-logo,
.ub-footer img.ub-footer-logo{
  width:auto!important;
  height:52px!important;
  max-height:56px!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
  padding:.35rem 0;
}
.ub-header-nav{
  justify-content:center!important;
  gap:clamp(.35rem,1.5vw,1rem)!important;
  flex:1;
}
.ub-menu-link,.ub-header-nav a{
  font-weight:500!important;
  color:var(--n600)!important;
  text-decoration:none!important;
  font-size:.9375rem!important;
  position:relative;
  padding:.35rem .45rem!important;
  transition:color .2s ease;
}
.ub-menu-link::after,.ub-header-nav a::after{
  content:"";
  position:absolute;
  left:.45rem;right:.45rem;bottom:.15rem;
  height:2px;
  background:var(--p);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .32s cubic-bezier(.22,1,.36,1);
}
.ub-menu-link:hover,.ub-header-nav a:hover{
  color:var(--n900)!important;
}
.ub-menu-link:hover::after,.ub-header-nav a:hover::after{
  transform:scaleX(1);
}
.ub-header .flex.items-center.space-x-4,
.ub-header-cta,.ub-header-actions{
  display:flex!important;
  align-items:center;
  gap:.85rem!important;
}
.ub-header a[href^="tel:"],.ub-header-phone,.ck-header-phone{
  color:var(--n900)!important;
  font-weight:600!important;
  text-decoration:none!important;
  white-space:nowrap;
  font-size:.9375rem!important;
}
.ub-header a[href^="tel:"]:hover,.ck-header-phone:hover{color:var(--p)!important}
/* Phones dropdown — ALL numbers inside panel; labels only from CMS settings */
.ub-header:has(.ck-phone-wrap) .ub-phones-dropdown,
.ub-header:has(.ck-phone-wrap) .ub-header-phones:not(.ck-phone-wrap){
  display:none!important;
}
.ck-phone-wrap{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  margin-right:.75rem;
}
.ck-phone-trigger{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.2rem;
  padding:.4rem 1.35rem .4rem .15rem;
  margin:0;
  border:0;
  background:transparent;
  cursor:pointer;
  color:var(--n900)!important;
  font:inherit;
  line-height:1.25;
  text-align:left;
}
.ck-phone-trigger .ck-phone-num{font-weight:600;font-size:.9375rem}
.ck-phone-caret{
  position:absolute;
  right:.15rem;
  top:.55rem;
  font-size:.7rem;
  opacity:.7;
  pointer-events:none;
  line-height:1;
}
.ck-phone-drop{
  position:absolute;
  top:calc(100% + .35rem);
  right:0;
  z-index:120;
  display:none;
  flex-direction:column;
  gap:.65rem;
  min-width:16.5rem;
  padding:1.15rem 1.25rem;
  box-sizing:border-box;
  background:#fff;
  border:1px solid var(--n200,#e2ddd4);
  border-radius:12px;
  box-shadow:0 12px 32px rgba(12,42,58,.16);
}
.ck-phone-drop::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px}
.ck-phone-wrap:hover .ck-phone-drop,
.ck-phone-wrap:focus-within .ck-phone-drop,
.ck-phone-wrap.is-open .ck-phone-drop{display:flex}
.ck-phone-link{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.25rem;
  padding:.45rem .2rem;
  margin:0;
  text-decoration:none!important;
  color:var(--n900)!important;
  box-sizing:border-box;
}
.ck-phone-link:hover{color:var(--p)!important}
.ck-phone-num{font-weight:600;font-size:.95rem;line-height:1.3}
.ck-phone-lab{
  display:block;
  font-size:.75rem;
  font-weight:500;
  color:var(--n500,#6b7a80);
  line-height:1.35;
}
.ck-phone-trigger .ck-phone-lab{padding-right:.15rem}
.ck-phone-list{display:flex;flex-direction:column;gap:.65rem}
.ck-phone-list-footer{margin:.4rem 0 .9rem}
.ck-phone-list-footer .ck-phone-num{color:var(--footer-text,#f5f2eb);font-size:.95rem}
.ck-phone-list-footer .ck-phone-lab{color:var(--footer-muted,#9aa1ad)}
.ck-phone-list-footer .ck-phone-link:hover .ck-phone-num{color:var(--footer-link-hover,#d4b87e)!important}
.ub-header .ub-btn-primary,
.ub-header button[data-modal-open],
.ub-header .ck-header-cta,
.ub-header a.ck-header-cta{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:2.5rem;
  padding:.6rem 1.15rem!important;
  border-radius:999px!important;
  background:var(--p)!important;
  color:#fff!important;
  font-size:.875rem!important;
  font-weight:600!important;
  border:0!important;
  box-shadow:var(--sh-btn);
  text-decoration:none!important;
  cursor:pointer;
  white-space:nowrap;
}
.ub-header .ub-btn-primary:hover,
.ub-header button[data-modal-open]:hover,
.ub-header .ck-header-cta:hover{
  background:var(--ph)!important;
}
/* burger: show on mobile via media query below */
.ub-mobile-nav{
  display:none!important;
}

/* ========== Footer (mockup parity) ========== */
.ub-footer,footer.site-footer,footer.ub-footer{
  background:var(--footer-bg)!important;
  color:rgba(245,242,235,.78)!important;
  padding-top:3.5rem!important;
  padding-bottom:1.75rem!important;
}
.ub-footer .container{max-width:1200px}
.ub-footer .grid{
  display:grid!important;
  grid-template-columns:1.4fr 1fr 1fr!important;
  gap:2.5rem!important;
  margin-bottom:0!important;
}
@media(max-width:768px){
  .ub-footer .grid{grid-template-columns:1fr!important;gap:2rem!important}
}
.ub-footer a,footer a{color:var(--footer-link)!important;text-decoration:none}
.ub-footer a:hover,footer a:hover{color:var(--footer-link-hover)!important}
.ub-footer h3,.ub-footer h4,.ub-footer .footer-title,.ub-footer-heading{
  color:#d4b87e!important;
  font-size:.75rem!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin-bottom:.85rem!important;
}
.ub-footer .ub-footer-brand,.ub-footer .ck-footer-brand{
  font-size:1.35rem;
  font-weight:700;
  color:#f5f2eb;
  letter-spacing:-.02em;
  margin-bottom:.85rem;
}
.ub-footer .ub-footer-muted,.ub-footer small,.ub-footer-copyright{
  color:rgba(245,242,235,.5)!important;
}
.ub-footer-border,.ub-footer .border-t{
  border-color:rgba(255,255,255,.1)!important;
  margin-top:2.75rem!important;
  padding-top:1.35rem!important;
}
.ub-footer-contacts .mb-2{margin-bottom:.55rem!important}
.ub-footer-link{font-size:.9375rem}
.ck-footer-nav{display:flex;flex-direction:column;gap:.55rem;font-size:.9375rem}
.ck-footer-nav a{color:var(--footer-link)!important;text-decoration:none}
.ck-footer-nav a:hover{color:var(--footer-link-hover)!important}

/* Partner logos row */
.ck-partners{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:1.5rem;
  margin-top:1.25rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(255,255,255,.1);
}
.ck-partners a{
  display:inline-flex;
  align-items:center;
  opacity:.88;
  transition:opacity .2s ease,transform .2s ease;
}
.ck-partners a:hover{opacity:1;transform:translateY(-1px)}
.ck-partners img{
  height:36px;
  width:auto;
  max-width:140px;
  object-fit:contain;
  filter:none;
}
.ub-footer-developer,.ub-footer .footer-developer{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:1.25rem;
  flex-wrap:wrap;
}
.ub-footer-developer img,.footer-developer img{
  height:36px!important;
  width:auto!important;
  max-height:40px;
  object-fit:contain;
  filter:none;
  opacity:.88;
}

/* Forms — Chaika polish */
.ub-form-control,.ub-form input,.ub-form textarea,.ub-form select{
  border:1px solid var(--n200)!important;
  border-radius:var(--r-input)!important;
  background:var(--surface-2)!important;
  padding:.85rem 1rem!important;
  transition:border-color .2s,box-shadow .2s;
}
.ub-form-control:focus,.ub-form input:focus,.ub-form textarea:focus{
  border-color:var(--p)!important;
  box-shadow:0 0 0 3px rgba(42,111,122,.15)!important;
  outline:none!important;
}
.ub-form-label{font-size:.875rem;font-weight:500;color:var(--n900)}
.ub-form-submit,.ub-btn-primary{
  background:var(--p)!important;
  border-radius:999px!important;
  box-shadow:var(--sh-btn);
  font-weight:600;
}
.ub-form-submit:hover,.ub-btn-primary:hover{background:var(--ph)!important}

/* Soft reveals — only hide AFTER JS arms html.ck-reveal-on */
.ck-reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  html.ck-reveal-on .ck-reveal:not(.is-in){opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
  html.ck-reveal-on .ck-reveal.is-in{opacity:1;transform:none}
  html.ck-reveal-on .ck-reveal-group .ck-reveal:nth-child(2){transition-delay:.06s}
  html.ck-reveal-on .ck-reveal-group .ck-reveal:nth-child(3){transition-delay:.12s}
  html.ck-reveal-on .ck-reveal-group .ck-reveal:nth-child(4){transition-delay:.18s}
}

/* Room cards hover */
.ck-room-card{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.ck-room-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(12,42,58,.1)}
.ck-room-card__media{overflow:hidden}
.ck-room-card__media img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.ck-room-card:hover .ck-room-card__media img{transform:scale(1.03)}
.ck-arrow{transition:transform .28s}
.ck-room-card:hover .ck-arrow{transform:translateX(5px)}


/* CK_MODAL_FIX: hero slides must not steal clicks; modal show/hide via .is-open only */
.ck-slides,.ck-slide{pointer-events:none!important}
.ck-dots,.ck-dots *{pointer-events:auto!important}
.ub-modal-overlay.is-open{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:200000!important;
  pointer-events:auto!important;
}
@media (max-width:767px){
  .ub-burger,.ub-header .ub-burger{display:inline-flex!important}
}
