/* KIBERNETIKA cyber redesign overrides */
:root{
  --cy-bg:#02030a;
  --cy-bg-2:#070612;
  --cy-panel:rgba(8,10,22,.78);
  --cy-panel-2:rgba(16,9,27,.72);
  --cy-border:rgba(255,209,92,.48);
  --cy-border-cold:rgba(18,247,255,.36);
  --cy-yellow:#ffd15c;
  --cy-yellow-2:#ffb300;
  --cy-red:#ff1744;
  --cy-red-2:#8f001f;
  --cy-cyan:#12f7ff;
  --cy-violet:#a855f7;
  --cy-text:#f6f7ff;
  --cy-muted:#aab1d6;
  --cy-shadow:0 28px 80px rgba(0,0,0,.58), 0 0 48px rgba(255,23,68,.14);
}

html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 10% 12%, rgba(255,23,68,.22), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(18,247,255,.18), transparent 30%),
    radial-gradient(circle at 48% 92%, rgba(168,85,247,.18), transparent 38%),
    linear-gradient(180deg, #02030a 0%, #090415 48%, #02030a 100%) !important;
  color:var(--cy-text);
  font-family:"kiberoom","Roboto Condensed",system-ui,-apple-system,"Segoe UI",Arial,sans-serif !important;
  overflow-x:hidden;
  min-height:100vh;
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
}
body::before{
  opacity:.22;
  background-image:
    linear-gradient(rgba(18,247,255,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,209,92,.09) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom, transparent 0, #000 12%, #000 82%, transparent 100%);
}
body::after{
  opacity:.14;
  background:
    repeating-linear-gradient(115deg, transparent 0 22px, rgba(255,23,68,.23) 23px, transparent 24px 88px),
    repeating-linear-gradient(180deg, transparent 0 5px, rgba(255,255,255,.08) 6px, transparent 7px);
  mix-blend-mode:screen;
}
body > header,
body > section,
body > footer{position:relative; z-index:1;}
#particles-js{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:.32;
  z-index:0;
  pointer-events:none;
}
::selection{background:rgba(255,209,92,.32); color:#fff;}

/* Header */
.kh-header{
  position:sticky;
  top:0;
  z-index:80;
  background:
    linear-gradient(90deg, rgba(2,3,10,.92), rgba(16,4,20,.88), rgba(2,3,10,.92)),
    url("/images/head.png") center/cover no-repeat !important;
  box-shadow:0 12px 50px rgba(0,0,0,.42), inset 0 -1px 0 rgba(255,209,92,.18);
  backdrop-filter: blur(16px);
}
.kh-header::before{
  height:2px !important;
  background:linear-gradient(90deg, transparent, var(--cy-cyan), var(--cy-yellow), var(--cy-red), transparent) !important;
  box-shadow:0 0 18px rgba(18,247,255,.5), 0 0 26px rgba(255,23,68,.45);
}
.kh-header::after{
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(255,209,92,.56), rgba(18,247,255,.46), transparent) !important;
}
.kh-container{max-width:1280px !important;}
.kh-nav-main{padding:12px 0 !important; border-bottom:1px solid rgba(255,255,255,.07) !important;}
.kh-nav-main .kh-container{gap:24px !important;}
.kh-nav-left{gap:28px !important;}
.kh-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff !important;
  text-decoration:none !important;
  min-width:228px;
}
.kh-brand-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid var(--cy-border);
  color:#05050a;
  font-size:24px;
  font-weight:900;
  letter-spacing:-.06em;
  background:linear-gradient(135deg, var(--cy-yellow), #fff0aa 46%, var(--cy-red));
  box-shadow:0 0 30px rgba(255,209,92,.25), inset 0 0 14px rgba(255,255,255,.28);
  clip-path:polygon(14% 0,100% 0,100% 78%,82% 100%,0 100%,0 18%);
}
.kh-brand-copy{display:flex; flex-direction:column; line-height:1; text-align:left;}
.kh-brand-title{
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  font-size:18px;
  text-shadow:0 0 18px rgba(255,209,92,.28);
}
.kh-brand-subtitle{
  margin-top:6px;
  color:var(--cy-cyan);
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.kh-nav{gap:24px !important;}
.kh-nav-item{
  color:rgba(246,247,255,.9) !important;
  font-size:16px !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:800 !important;
  padding:11px 2px !important;
}
.kh-nav-item::after{
  height:1px !important;
  background:linear-gradient(90deg, var(--cy-cyan), var(--cy-yellow), var(--cy-red)) !important;
  box-shadow:0 0 12px rgba(255,209,92,.75);
}
.kh-nav-item:hover{color:var(--cy-yellow) !important; text-shadow:0 0 18px rgba(255,209,92,.38);}
.kh-nav-right{gap:14px !important;}
.kh-social-link,
.kh-auth-btn,
.kh-user-btn,
.kh-phone{
  border-radius:15px !important;
  border:1px solid rgba(255,209,92,.28) !important;
  background:rgba(255,255,255,.05) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
  color:var(--cy-text) !important;
}
.kh-social-link{width:42px !important; height:42px !important;}
.kh-social-link:hover,
.kh-auth-btn:hover,
.kh-user-btn:hover,
.kh-phone:hover{
  border-color:rgba(18,247,255,.55) !important;
  background:rgba(18,247,255,.08) !important;
  box-shadow:0 0 0 1px rgba(18,247,255,.15), 0 14px 38px rgba(18,247,255,.12) !important;
  transform:translateY(-2px);
}
.kh-phone{color:var(--cy-yellow) !important; font-size:15px !important;}
.kh-auth-btn{
  background:linear-gradient(135deg, rgba(255,23,68,.92), rgba(143,0,31,.82)) !important;
  border-color:rgba(255,23,68,.45) !important;
  font-weight:900 !important;
  text-transform:uppercase;
}
.kh-cabinet-banner{
  padding:12px 0 !important;
  background:linear-gradient(90deg, rgba(255,23,68,.13), rgba(255,209,92,.1), rgba(18,247,255,.09)) !important;
  border-top:1px solid rgba(255,255,255,.06);
}
.kh-banner-text{font-size:16px !important; color:var(--cy-yellow) !important;}
.kh-banner-btn{
  border:1px solid var(--cy-yellow) !important;
  color:var(--cy-yellow) !important;
  background:rgba(0,0,0,.18) !important;
  border-radius:14px !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.kh-banner-btn:hover{background:var(--cy-yellow) !important; color:#09060b !important;}

/* Common elements */
.u-text-body-alt-color,
.u-text-white{color:var(--cy-text) !important;}
.u-text-custom-color-3,
.text-warning{color:var(--cy-yellow) !important;}
a.text-warning:hover,
a.u-text-custom-color-3:hover{color:#fff3b0 !important; text-shadow:0 0 12px rgba(255,209,92,.45);}
.u-line{
  border-color:transparent !important;
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(18,247,255,.35), rgba(255,209,92,.78), rgba(255,23,68,.45), transparent) !important;
  box-shadow:0 0 18px rgba(255,209,92,.18);
}
.btn,
.cyber-btn{
  border-radius:14px !important;
  font-weight:900 !important;
  letter-spacing:.035em;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.btn:hover,
.cyber-btn:hover{transform:translateY(-2px);}
.btn-danger,
.cyber-btn-primary{
  color:#fff !important;
  border:1px solid rgba(255,23,68,.65) !important;
  background:linear-gradient(135deg, #ff1744 0%, #ab0028 52%, #5b0017 100%) !important;
  box-shadow:0 12px 30px rgba(255,23,68,.28), inset 0 1px 0 rgba(255,255,255,.2) !important;
}
.btn-danger:hover,
.cyber-btn-primary:hover{
  color:#fff !important;
  box-shadow:0 16px 42px rgba(255,23,68,.38), 0 0 24px rgba(255,209,92,.18) !important;
}
.btn-outline-warning,
.cyber-btn-ghost{
  color:var(--cy-yellow) !important;
  border:1px solid rgba(255,209,92,.55) !important;
  background:rgba(255,209,92,.05) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.btn-outline-warning:hover,
.cyber-btn-ghost:hover{
  color:#05050a !important;
  background:linear-gradient(135deg, var(--cy-yellow), #fff0a0) !important;
  box-shadow:0 12px 32px rgba(255,209,92,.22) !important;
}
.fix-btn{min-height:43px;}

/* Main page hero */
.cyber-home.u-section-1{
  background:transparent !important;
  padding:36px 0 70px;
}
.cyber-home .u-sheet-1{
  max-width:1280px !important;
  min-height:auto !important;
}
.cyber-hero-panel{
  position:relative;
  overflow:hidden;
  padding:42px 42px 34px;
  margin:0 auto 34px;
  max-width:1120px;
  border:1px solid rgba(255,209,92,.34);
  border-radius:28px;
  background:
    linear-gradient(135deg, rgba(8,10,22,.88), rgba(22,8,29,.75)),
    radial-gradient(circle at 20% 0, rgba(255,23,68,.18), transparent 36%),
    radial-gradient(circle at 84% 12%, rgba(18,247,255,.16), transparent 30%);
  box-shadow:var(--cy-shadow);
  backdrop-filter:blur(12px);
  text-align:center;
}
.cyber-hero-panel::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    linear-gradient(90deg, transparent 0 4%, rgba(18,247,255,.12) 4.4%, transparent 5%),
    repeating-linear-gradient(90deg, transparent 0 42px, rgba(255,255,255,.05) 43px, transparent 44px);
  opacity:.32;
  pointer-events:none;
}
.cyber-hero-panel::after{
  content:"SYSTEM ONLINE";
  position:absolute;
  right:24px;
  top:20px;
  color:rgba(18,247,255,.55);
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.cyber-eyebrow{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--cy-cyan);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:13px;
  font-weight:800;
  margin-bottom:4px;
  z-index:1;
}
.cyber-eyebrow span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--cy-red);
  box-shadow:0 0 16px var(--cy-red), 0 0 32px var(--cy-red);
  animation:cyPulse 1.5s ease-in-out infinite;
}
@keyframes cyPulse{50%{opacity:.35; transform:scale(.72)}}
.u-section-1 .cyber-logo{
  position:relative;
  z-index:1;
  width:min(760px,92%) !important;
  height:auto !important;
  margin:0 auto -8px !important;
  filter:drop-shadow(0 0 22px rgba(255,209,92,.22));
}
.cyber-home .u-text-1{
  position:relative;
  z-index:1;
  margin:0 auto !important;
  max-width:900px;
  font-size:clamp(26px,3.5vw,54px) !important;
  line-height:1.02 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase;
  color:#fff !important;
  text-shadow:0 0 24px rgba(255,23,68,.18), 0 0 36px rgba(255,209,92,.14);
}
.cyber-hero-lead{
  position:relative;
  z-index:1;
  max-width:780px;
  margin:18px auto 0;
  color:var(--cy-muted);
  font-size:18px;
  line-height:1.55;
}
.cyber-hero-actions{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:26px;
}
.cyber-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  text-decoration:none !important;
  text-transform:uppercase;
}
.cyber-metrics{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:28px auto 0;
  max-width:820px;
}
.cyber-metrics div{
  padding:15px 14px;
  border:1px solid rgba(18,247,255,.22);
  background:rgba(255,255,255,.045);
  border-radius:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.cyber-metrics b{
  display:block;
  color:var(--cy-yellow);
  font-size:20px;
  letter-spacing:.08em;
}
.cyber-metrics span{
  display:block;
  margin-top:4px;
  color:var(--cy-muted);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cyber-section-line{margin:32px auto 22px !important; width:min(100%,980px) !important;}
.cyber-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:0 auto 22px;
  width:min(100%,1040px);
}
.cyber-section-head span{
  color:var(--cy-cyan);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.2em;
}
.cyber-section-head strong{
  color:#fff;
  font-size:clamp(22px,3vw,34px);
  text-transform:uppercase;
  letter-spacing:.05em;
  text-align:right;
}
.cyber-home .u-repeater-1{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr)) !important;
  gap:34px !important;
  min-height:0 !important;
  grid-auto-columns:auto !important;
}
.cyber-home .u-list-1{margin-top:0 !important; margin-bottom:28px !important;}
.cyber-quest-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,209,92,.36);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(12,13,28,.86), rgba(10,4,16,.92));
  box-shadow:0 20px 60px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.04) inset;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.cyber-quest-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0, rgba(255,23,68,.24), transparent 42%);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
  z-index:1;
}
.cyber-quest-card:hover{
  transform:translateY(-8px);
  border-color:rgba(18,247,255,.64);
  box-shadow:0 30px 80px rgba(0,0,0,.52), 0 0 42px rgba(18,247,255,.13), 0 0 36px rgba(255,23,68,.12);
}
.cyber-quest-card:hover::before{opacity:1;}
.cyber-card-scanline{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent, rgba(18,247,255,.18), transparent);
  height:28%;
  transform:translateY(-120%);
  opacity:.55;
  z-index:2;
  pointer-events:none;
}
.cyber-quest-card:hover .cyber-card-scanline{animation:cyScan 1.15s ease-out;}
@keyframes cyScan{to{transform:translateY(420%);}}
.cyber-home .u-container-layout-1{padding:12px 12px 18px !important; position:relative;}
.cyber-home .u-image-2{
  height:520px !important;
  width:100% !important;
  object-fit:cover;
  border-radius:18px !important;
  border:1px solid rgba(255,209,92,.55) !important;
  transition:filter .28s ease, transform .28s ease;
}
.cyber-quest-card:hover .u-image-2{filter:contrast(1.1) saturate(1.1); transform:scale(1.015);}
.cyber-home .u-image-3{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:58px !important;
  height:58px !important;
  margin:0 !important;
  z-index:4;
  filter:drop-shadow(0 0 14px rgba(255,255,255,.35));
}
.cyber-home .u-text-2{
  color:#fff !important;
  font-size:22px !important;
  font-weight:900 !important;
  letter-spacing:.04em;
  margin:18px 8px 8px !important;
  text-shadow:0 0 18px rgba(255,23,68,.18);
}
.cyber-home .cyber-quest-card h3{
  min-height:34px;
  color:var(--cy-yellow) !important;
  font-size:12px !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 10px 12px !important;
}
.cyber-home .cyber-quest-card .btn-danger{
  width:100%;
  height:48px;
  margin-top:6px;
}

/* Reviews */
.cyber-feedback-title{margin-top:0 !important;}
#feedbackindex{padding:0 !important; margin:0 auto !important; width:100%;}
.row-review{
  height:100%;
  margin:0 0 24px !important;
  padding:18px 16px 14px;
  border:1px solid rgba(18,247,255,.24);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(12,13,28,.76), rgba(9,5,16,.86));
  box-shadow:0 18px 44px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06);
}
.row-review img.avatar,
.row-review i.avatar{
  width:68px !important;
  height:68px !important;
  border:1px solid rgba(255,209,92,.45);
  box-shadow:0 0 22px rgba(255,209,92,.13);
}
.row-review .review-text{
  margin-top:14px !important;
  padding:14px 16px !important;
  border:1px solid rgba(255,209,92,.18);
  background:rgba(255,209,92,.06) !important;
  border-radius:16px !important;
  line-height:1.45;
}
.row-review .fa-star.text-danger{color:var(--cy-red) !important; text-shadow:0 0 12px rgba(255,23,68,.4);}
.cyber-load-more{max-width:360px; margin:12px auto 0;}

/* Quest detail page */
.cyber-quest-page.u-section-2,
.u-section-1.u-custom-color-4,
.cyber-booking-section,
.cyber-location-section{
  background:transparent !important;
}
.cyber-quest-page .u-sheet-1,
.cyber-booking-section .u-sheet-1,
.cyber-location-section .u-sheet-1{
  max-width:1280px !important;
}
.cyber-quest-page .u-layout-wrap-1{
  padding:28px;
  border:1px solid rgba(255,209,92,.28);
  border-radius:28px;
  background:linear-gradient(135deg, rgba(9,11,24,.82), rgba(18,7,26,.72));
  box-shadow:var(--cy-shadow);
  backdrop-filter:blur(10px);
}
.sticky{top:118px;}
.cyber-quest-page .u-image-1,
.u-section-1.u-custom-color-4 .u-image-1{
  object-fit:cover;
  border-radius:22px !important;
  border:1px solid rgba(255,209,92,.48) !important;
  box-shadow:0 20px 58px rgba(0,0,0,.45), 0 0 36px rgba(255,23,68,.12);
}
.cyber-quest-page .u-image-2,
.u-section-1.u-custom-color-4 .u-image-2{
  filter:drop-shadow(0 0 18px rgba(255,255,255,.24));
}
.cyber-quest-page .u-text-1{
  color:#fff !important;
  font-size:clamp(34px,5vw,72px) !important;
  line-height:.96 !important;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-shadow:0 0 28px rgba(255,23,68,.22), 0 0 30px rgba(255,209,92,.14);
}
.cyber-quest-page .u-text-2{
  color:var(--cy-yellow) !important;
  font-size:14px !important;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cyber-detail-chips{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:18px 0 22px;
}
.cyber-detail-chips span{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 15px;
  border:1px solid rgba(18,247,255,.24);
  border-radius:18px;
  color:var(--cy-muted);
  background:rgba(255,255,255,.045);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:12px;
}
.cyber-detail-chips b{color:var(--cy-yellow); font-size:20px; letter-spacing:.06em;}
.cyber-quest-page .u-text-3,
.cyber-quest-page .u-text-5,
.cyber-quest-page .u-text-8,
.cyber-quest-page .u-text-10{
  color:rgba(246,247,255,.86) !important;
  font-size:17px !important;
  line-height:1.62 !important;
}
.cyber-quest-page .u-text-4,
.cyber-quest-page .u-text-6,
.cyber-quest-page .u-text-7,
.cyber-quest-page .u-text-9{
  color:var(--cy-yellow) !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900 !important;
}
.cyber-quest-page .u-gallery-item .u-back-slide,
.photo-wrap .u-back-slide{
  border:1px solid rgba(18,247,255,.25);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}
#player,
#modal-video-player{
  border:1px solid rgba(18,247,255,.3);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 54px rgba(0,0,0,.38);
}

/* Booking timetable */
.cyber-booking-section{
  padding:44px 0 54px;
}
.cyber-booking-section .u-sheet-1{
  padding:28px !important;
  border:1px solid rgba(18,247,255,.22);
  border-radius:28px;
  background:linear-gradient(135deg, rgba(9,11,24,.78), rgba(18,7,26,.70));
  box-shadow:var(--cy-shadow);
}
.cyber-booking-section .u-text-1{
  color:#fff !important;
  font-size:clamp(30px,4vw,54px) !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.rows-date{
  padding:18px 12px 12px;
  margin:18px 0 !important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}
.slotsdate{
  color:var(--cy-cyan) !important;
  font-size:20px !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.slots{
  display:inline-flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  width:108px !important;
  min-height:94px;
  margin:8px 7px !important;
  padding:8px;
  border-radius:18px;
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,209,92,.12);
}
.slots .btn{
  width:92px !important;
  height:48px !important;
  border-radius:14px !important;
}
.slotprice{font-size:13px; color:var(--cy-muted); line-height:1.15;}
.badge-sale{border-radius:999px; background:var(--cy-yellow) !important; color:#09060b !important;}
.sale-shadow{color:#fff !important; text-shadow:0 0 16px rgba(255,23,68,.75) !important; background:none !important;}
.sale-text{color:rgba(255,255,255,.45) !important;}

/* Location and footer */
.cyber-location-section{
  padding:34px 0 62px;
}
.cyber-location-section .u-layout-wrap-1{
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(255,209,92,.25);
  background:linear-gradient(135deg, rgba(9,11,24,.80), rgba(15,5,22,.78));
  box-shadow:var(--cy-shadow);
}
.cyber-location-section .u-map,
.cyber-location-section iframe{
  border-radius:22px !important;
  overflow:hidden;
  border:1px solid rgba(18,247,255,.28);
}
.cyber-footer{
  background:linear-gradient(180deg, rgba(2,3,10,.92), #02030a) !important;
  border-top:1px solid rgba(255,209,92,.26);
  box-shadow:0 -20px 70px rgba(0,0,0,.36);
  padding-top:26px;
}
.cyber-footer .u-sheet-1{max-width:1280px !important; min-height:auto !important;}
.cyber-footer-intro{
  margin:0 auto 18px !important;
  max-width:980px;
  padding:22px;
  border:1px solid rgba(18,247,255,.18);
  border-radius:24px;
  background:rgba(255,255,255,.035);
}
.cyber-footer-intro h4{color:rgba(246,247,255,.82) !important; line-height:1.55 !important;}
.cyber-footer-kicker{
  display:inline-block;
  margin-bottom:10px;
  color:var(--cy-cyan);
  letter-spacing:.18em;
  font-weight:900;
}
.cyber-footer a{color:var(--cy-yellow) !important;}
.cyber-footer .u-repeater-1{gap:18px !important;}

/* Modals and forms */
.modal-content{
  border-radius:24px !important;
  background:linear-gradient(180deg, rgba(9,10,22,.98), rgba(11,4,16,.98)) !important;
  border:1px solid rgba(255,209,92,.32) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.62), 0 0 38px rgba(255,23,68,.12) !important;
  color:var(--cy-text);
}
.modal-header,
.modal-footer{
  background:rgba(255,255,255,.035) !important;
  border-color:rgba(255,209,92,.22) !important;
}
.form-control,
.input-group-text{
  color:#fff !important;
  border-color:rgba(18,247,255,.20) !important;
  background:rgba(3,5,12,.82) !important;
  border-radius:14px !important;
}
.form-control:focus{
  border-color:var(--cy-cyan) !important;
  box-shadow:0 0 0 .2rem rgba(18,247,255,.16) !important;
}
.close{color:#fff !important; text-shadow:none !important; opacity:.9 !important;}

/* Responsive */
@media (max-width: 1120px){
  .kh-brand{min-width:auto;}
  .kh-brand-copy{display:none;}
  .kh-nav{gap:18px !important;}
}
@media (max-width: 991px){
  .kh-header{position:relative;}
  .kh-nav-main .kh-container{flex-direction:column;}
  .kh-nav-left{width:100%; justify-content:center; flex-wrap:wrap; gap:14px !important;}
  .kh-nav-right{width:100%; justify-content:center !important; flex-wrap:wrap !important;}
  .kh-brand-copy{display:flex;}
  .cyber-hero-panel{padding:34px 22px 28px;}
  .cyber-metrics{grid-template-columns:1fr;}
  .cyber-section-head{align-items:flex-start; flex-direction:column;}
  .cyber-section-head strong{text-align:left;}
  .cyber-home .u-repeater-1{grid-template-columns:repeat(auto-fit,minmax(250px,1fr)) !important;}
  .cyber-detail-chips{grid-template-columns:1fr;}
  .cyber-quest-page .u-layout-wrap-1,
  .cyber-booking-section .u-sheet-1,
  .cyber-location-section .u-layout-wrap-1{padding:18px !important; border-radius:22px;}
}
@media (max-width: 575px){
  .kh-banner-text{font-size:14px !important;}
  .kh-brand-title{font-size:16px;}
  .kh-brand-subtitle{font-size:10px;}
  .kh-nav{gap:16px !important;}
  .kh-nav-item{font-size:13px !important;}
  .kh-phone{font-size:13px !important;}
  .cyber-home.u-section-1{padding:22px 0 44px;}
  .cyber-hero-panel{border-radius:20px; margin-left:8px; margin-right:8px;}
  .cyber-hero-panel::after{display:none;}
  .cyber-hero-lead{font-size:16px;}
  .cyber-btn{width:100%;}
  .cyber-home .u-image-2{height:440px !important;}
  .cyber-home .u-repeater-1{grid-template-columns:1fr !important; gap:24px !important;}
  .slots{width:96px !important; margin:7px 4px !important;}
  .slots .btn{width:82px !important; font-size:13px;}
}


/* ===== KIBERNETIKA v2: fixes, speed, stronger cyber style ===== */
html{
  background:#02030a !important;
}
body{
  background:
    radial-gradient(ellipse at 12% 8%, rgba(255,23,68,.20) 0%, rgba(255,23,68,.09) 22%, transparent 52%),
    radial-gradient(ellipse at 92% 10%, rgba(18,247,255,.14) 0%, rgba(18,247,255,.06) 24%, transparent 54%),
    radial-gradient(ellipse at 50% 74%, rgba(168,85,247,.12) 0%, rgba(168,85,247,.045) 28%, transparent 64%),
    linear-gradient(180deg, #02030a 0%, #080411 34%, #090313 62%, #02030a 100%) !important;
  background-attachment:fixed !important;
}
#particles-js{
  background:transparent !important;
  opacity:.26 !important;
  contain:strict;
}
#particles-js canvas{
  opacity:.9;
}
body::before{
  opacity:.17;
  background-image:
    linear-gradient(rgba(18,247,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,209,92,.06) 1px, transparent 1px),
    linear-gradient(135deg, transparent 0 49%, rgba(255,23,68,.10) 50%, transparent 51%);
  background-size:72px 72px,72px 72px,180px 180px;
}
body::after{
  opacity:.10;
}
.cyber-home.u-section-1,
.cyber-quest-page.u-section-2,
.u-section-1.u-custom-color-4,
.cyber-booking-section,
.cyber-location-section,
.cyber-footer{
  background:transparent !important;
  background-image:none !important;
}
.cyber-home::before,
.cyber-quest-page::before,
.cyber-booking-section::before,
.cyber-location-section::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(1180px,92vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(18,247,255,.25), rgba(255,209,92,.42), rgba(255,23,68,.24), transparent);
  pointer-events:none;
}

/* FontAwesome fallback without font files. Fixes FA4 + several FA5 class names used in templates. */
.fa,
.fas{
  font-family:Arial, "Roboto Condensed", system-ui, sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
  line-height:1 !important;
  display:inline-block;
  min-width:1em;
  text-align:center;
}
.fa::before,
.fas::before{font-family:inherit !important;}
.fa-star::before{content:"★" !important;}
.fa-user::before{content:"◉" !important; font-size:.95em;}
.fa-user-circle::before{content:"◉" !important;}
.fa-times::before{content:"×" !important;}
.fa-edit::before{content:"✎" !important;}
.fa-check::before{content:"✓" !important;}
.fa-check-circle::before{content:"✓" !important;}
.fa-phone::before{content:"☎" !important;}
.fa-envelope::before{content:"✉" !important;}
.fa-calendar-check-o::before{content:"▣" !important;}
.fa-wallet::before{content:"₽" !important;}
.fa-vk::before{content:"VK" !important; font-size:.72em; letter-spacing:.02em;}
.fa-sign-out::before{content:"↪" !important;}
.fa-percent::before{content:"%" !important;}
.fa-gift::before{content:"✦" !important;}
.fa-film::before{content:"▤" !important;}
.fa-coins::before{content:"₽" !important;}
.fa-refresh::before{content:"↻" !important;}
.fa-map-marker-alt::before,
.fa-map-marker::before{content:"⌖" !important;}
.fa-lock::before{content:"◆" !important;}
.fa-link::before{content:"↗" !important;}
.fa-heart::before{content:"♥" !important;}
.fa-graduation-cap::before{content:"▰" !important;}
.fa-eye::before{content:"◉" !important;}
.fa-clock-o::before{content:"◷" !important;}
.fa-camera::before{content:"▣" !important;}
.fa-birthday-cake::before{content:"✦" !important;}
.fa-ban::before{content:"⊘" !important;}
.fa-arrow-right::before{content:"→" !important;}
.fas.fa-shipping-fast::before{content:"⇢" !important;}

/* Header with the real logo */
.kh-header{
  background:
    linear-gradient(90deg, rgba(2,3,10,.94), rgba(15,4,22,.90), rgba(2,3,10,.94)),
    radial-gradient(circle at 20% 0, rgba(255,23,68,.18), transparent 36%),
    radial-gradient(circle at 86% 0, rgba(18,247,255,.12), transparent 34%) !important;
}
.kh-brand{
  min-width:260px !important;
  width:260px;
  height:52px;
  padding:7px 12px;
  border:1px solid rgba(255,209,92,.26);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 34px rgba(0,0,0,.26);
  clip-path:polygon(0 0, 94% 0, 100% 28%, 100% 100%, 6% 100%, 0 72%);
}
.kh-brand:hover{
  border-color:rgba(18,247,255,.45);
  box-shadow:0 0 28px rgba(18,247,255,.10), inset 0 1px 0 rgba(255,255,255,.10);
}
.kh-brand-logo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(255,209,92,.24));
}
.kh-brand-mark,
.kh-brand-copy{display:none !important;}
.kh-nav-main{padding:10px 0 !important;}
.kh-nav-item{
  position:relative;
  padding:12px 4px !important;
}
.kh-phone-icon{filter:drop-shadow(0 0 8px rgba(255,209,92,.35));}
.kh-cabinet-banner{
  background:
    linear-gradient(90deg, rgba(255,23,68,.10), rgba(255,209,92,.08), rgba(18,247,255,.08)),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent) !important;
}

/* Hero */
.cyber-hero-panel{
  padding:46px 46px 38px;
  border-color:rgba(255,209,92,.30);
  background:
    linear-gradient(145deg, rgba(7,9,20,.90), rgba(17,5,24,.82) 54%, rgba(4,13,19,.78)),
    radial-gradient(circle at 12% 8%, rgba(255,23,68,.18), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(18,247,255,.13), transparent 34%) !important;
  box-shadow:0 34px 95px rgba(0,0,0,.56), 0 0 0 1px rgba(255,255,255,.035) inset, 0 0 46px rgba(255,23,68,.10);
}
.cyber-hero-panel::after{
  content:"СИСТЕМА АКТИВНА";
  color:rgba(18,247,255,.50);
}
.cyber-eyebrow{
  color:#ffe79a;
  text-shadow:0 0 12px rgba(255,209,92,.18);
}
.u-section-1 .cyber-logo{
  max-height:148px;
  margin-top:6px !important;
  margin-bottom:4px !important;
  filter:drop-shadow(0 0 26px rgba(255,209,92,.30)) drop-shadow(0 0 34px rgba(255,23,68,.10));
}
.cyber-hero-lead{
  color:rgba(246,247,255,.80);
}
.cyber-metrics div{
  border-color:rgba(255,209,92,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.cyber-metrics b{
  color:#fff3b0;
  text-shadow:0 0 14px rgba(255,209,92,.18);
}

/* Quest cards: keep the effect, make the frame deeper */
.cyber-quest-card{
  isolation:isolate;
  content-visibility:auto;
  contain-intrinsic-size: 680px;
  border-color:rgba(255,209,92,.32);
  background:
    linear-gradient(180deg, rgba(12,13,28,.88), rgba(6,3,11,.96)),
    radial-gradient(circle at 50% 0, rgba(255,209,92,.09), transparent 42%) !important;
  box-shadow:0 22px 68px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.035) inset;
}
.cyber-quest-card::after{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,209,92,.16);
  border-radius:18px;
  pointer-events:none;
  z-index:3;
  clip-path:polygon(0 0, 38% 0, 38% 1px, 0 1px, 0 100%, 1px 100%, 1px 0, 100% 0, 100% 38%, calc(100% - 1px) 38%, calc(100% - 1px) 1px, 62% 1px, 62% 0, 100% 0, 100% 100%, 0 100%);
}
.cyber-quest-card:hover{
  transform:translateY(-9px) scale(1.008);
  border-color:rgba(18,247,255,.62);
  box-shadow:0 34px 92px rgba(0,0,0,.58), 0 0 44px rgba(18,247,255,.14), 0 0 40px rgba(255,23,68,.13);
}
.cyber-home .u-image-2{
  height:530px !important;
  background:#05050a;
  will-change:transform, filter;
}
.cyber-home .u-text-2{
  color:#fff !important;
  text-shadow:0 0 18px rgba(255,209,92,.12), 0 0 18px rgba(255,23,68,.18);
}
.cyber-home .cyber-quest-card h3{
  color:#ffd15c !important;
  min-height:40px;
}
.cyber-home .cyber-quest-card .btn-danger{
  position:relative;
  overflow:hidden;
}
.cyber-home .cyber-quest-card .btn-danger::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:42%;
  left:-55%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform:skewX(-18deg);
  transition:left .42s ease;
}
.cyber-home .cyber-quest-card:hover .btn-danger::before{left:112%;}

/* Reviews and footer */
.row-review{
  backdrop-filter:blur(8px);
}
.cyber-footer-intro{
  background:linear-gradient(135deg, rgba(255,255,255,.045), rgba(18,247,255,.025));
}
.cyber-footer-kicker{
  color:#fff3b0;
  text-shadow:0 0 16px rgba(255,209,92,.22);
}

/* Bootstrap modals were broken by global section layering. Force correct viewport behavior. */
.modal{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:100% !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  z-index:1050 !important;
  padding:0 !important;
  outline:0 !important;
}
.modal.fade .modal-dialog{
  transform:translate(0,-18px) scale(.985);
  transition:transform .18s ease-out, opacity .18s ease-out;
}
.modal.show .modal-dialog{
  transform:none !important;
}
.modal-dialog{
  margin:1.75rem auto !important;
  pointer-events:none;
}
.modal-dialog-centered{
  display:flex !important;
  align-items:center !important;
  min-height:calc(100% - 3.5rem) !important;
}
.modal-content{
  pointer-events:auto;
  max-height:calc(100vh - 3.5rem);
  overflow:hidden;
}
.modal-body{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.modal-backdrop{
  z-index:1040 !important;
  background:#02030a !important;
}
.modal-backdrop.show{opacity:.82 !important;}
#exampleModal .modal-dialog,
#personalAccountModal .modal-dialog{max-width:min(560px, calc(100vw - 24px)) !important;}
#exampleModal2 .modal-dialog{max-width:min(640px, calc(100vw - 24px)) !important;}
#videoModal .modal-dialog{max-width:min(900px, calc(100vw - 24px)) !important;}
#cert-3d-wrapper{max-width:100%;}

/* Form polish */
.modal-title{
  color:#fff3b0 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.form-control,
.input-group-text,
select.form-control,
textarea.form-control{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}

@media (max-width: 1120px){
  .kh-brand{width:230px; min-width:230px !important;}
}
@media (max-width: 991px){
  .kh-header{position:relative !important;}
  .kh-brand{width:min(320px, 86vw); min-width:0 !important;}
  .kh-nav-main .kh-container{gap:12px !important;}
  .modal-dialog{margin:1rem auto !important;}
  .modal-dialog-centered{min-height:calc(100% - 2rem) !important;}
  .modal-content{max-height:calc(100vh - 2rem);}
}
@media (max-width: 575px){
  .kh-brand{height:48px;}
  .cyber-hero-panel{padding:30px 18px 24px;}
  .u-section-1 .cyber-logo{max-height:116px;}
  .cyber-home .u-image-2{height:455px !important;}
  .modal-dialog{width:calc(100% - 16px) !important; margin:.75rem auto !important;}
  .modal-dialog-centered{min-height:calc(100% - 1.5rem) !important;}
  .modal-content{max-height:calc(100vh - 1.5rem); border-radius:18px !important;}
}

/* ===== KIBERNETIKA v3: requested cleanup + compact timetable + modal overflow fix ===== */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}
body{
  background:
    radial-gradient(ellipse at 8% 12%, rgba(255,23,68,.18) 0%, rgba(255,23,68,.075) 24%, transparent 58%),
    radial-gradient(ellipse at 94% 10%, rgba(18,247,255,.13) 0%, rgba(18,247,255,.055) 26%, transparent 58%),
    radial-gradient(ellipse at 48% 88%, rgba(168,85,247,.10) 0%, rgba(168,85,247,.04) 30%, transparent 70%),
    linear-gradient(180deg, #02030a 0%, #060311 46%, #090313 72%, #02030a 100%) !important;
}
body::before{
  opacity:.12 !important;
  background-size:96px 96px,96px 96px,220px 220px !important;
}
#particles-js{opacity:.18 !important;}

/* Header without the logo. The logo remains only in the home hero. */
.kh-brand,
.kh-brand-logo,
.kh-brand-mark,
.kh-brand-copy{
  display:none !important;
}
.kh-nav-main{padding:8px 0 !important;}
.kh-nav-main .kh-container{
  justify-content:space-between !important;
  gap:18px !important;
}
.kh-nav-left{
  flex:1 1 auto;
  min-width:0;
  gap:0 !important;
}
.kh-nav{
  gap:30px !important;
  flex-wrap:wrap;
}
.kh-nav-item{
  padding:10px 0 !important;
}
.kh-nav-right{
  flex:0 0 auto;
}
.kh-cabinet-banner{padding:9px 0 !important;}
.kh-banner-text{font-size:15px !important;}

/* Home: cleaner hero and single section labels. */
.cyber-hero-panel{
  padding:42px 46px 34px !important;
  border-radius:30px !important;
  border-color:rgba(255,209,92,.26) !important;
}
.cyber-metrics{display:none !important;}
.cyber-section-head-simple{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  margin:28px 0 24px !important;
}
.cyber-section-head-simple span{display:none !important;}
.cyber-section-head-simple strong{
  text-align:left !important;
  font-size:clamp(36px,5vw,68px) !important;
  line-height:.95 !important;
  letter-spacing:.09em !important;
  color:#fff !important;
  text-shadow:0 0 22px rgba(18,247,255,.16), 0 0 28px rgba(255,23,68,.18) !important;
}
.cyber-section-head-simple strong::before{
  content:"";
  display:block;
  width:88px;
  height:3px;
  margin:0 0 14px;
  background:linear-gradient(90deg, var(--cy-yellow), var(--cy-red), transparent);
  box-shadow:0 0 18px rgba(255,209,92,.22);
}
.cyber-feedback-title-simple{
  justify-content:flex-start !important;
  margin:26px 0 20px !important;
}
.cyber-feedback-title-simple span{
  display:block !important;
  color:var(--cy-yellow) !important;
  font-size:24px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-align:left !important;
  text-transform:uppercase !important;
}
.cyber-feedback-title-simple span::before{
  content:"";
  display:inline-block;
  width:46px;
  height:2px;
  margin:0 12px 7px 0;
  background:linear-gradient(90deg, var(--cy-red), var(--cy-yellow));
  box-shadow:0 0 14px rgba(255,23,68,.28);
}

/* Reviews: add vertical breathing room between cards. */
#feedbackindex{
  row-gap:28px !important;
  column-gap:0 !important;
  align-items:stretch !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
#feedbackindex > [class*="col-"]{
  display:flex !important;
  padding-left:12px !important;
  padding-right:12px !important;
  margin-bottom:4px !important;
}
#feedbackindex .row-review{
  width:100% !important;
  min-height:100% !important;
  margin:0 !important;
  padding:20px 18px 16px !important;
}
#feedbackindex .row-review .review-text{
  margin-top:16px !important;
  margin-bottom:0 !important;
}

/* Quest page: after removing stat chips, tighten the first text block. */
.cyber-quest-page .u-text-2{
  margin-bottom:20px !important;
}
.cyber-quest-page .u-text-3{
  display:block;
  padding:18px 20px;
  border:1px solid rgba(18,247,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.032);
}

/* Timetable: compact rows instead of huge vertical cards. */
.cyber-booking-section{
  padding:30px 0 42px !important;
}
.cyber-booking-section .u-sheet-1{
  padding:22px 24px !important;
  border-radius:24px !important;
  background:linear-gradient(135deg, rgba(8,9,20,.72), rgba(15,6,23,.64)) !important;
}
.cyber-booking-section .u-sheet-1 > .u-text-1{
  margin:14px 0 12px !important;
  font-size:clamp(30px,3.2vw,46px) !important;
  line-height:1 !important;
  letter-spacing:.09em !important;
}
.cyber-booking-section #spoiler-click{
  max-width:920px;
  margin:0 auto 18px !important;
  font-size:15px !important;
  line-height:1.45 !important;
}
.cyber-booking-section .container{
  max-width:100% !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.cyber-booking-section .rows-date{
  display:grid !important;
  grid-template-columns:220px repeat(auto-fit, minmax(92px, 1fr));
  align-items:center;
  gap:9px;
  min-height:0 !important;
  padding:14px 16px !important;
  margin:12px 0 !important;
  border-radius:18px !important;
  border-color:rgba(255,255,255,.07) !important;
  background:linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.018)) !important;
  box-shadow:0 12px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.cyber-booking-section .slotsdate{
  grid-column:auto !important;
  width:auto !important;
  max-width:none !important;
  min-height:72px;
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  margin:0 !important;
  padding:0 14px 0 0 !important;
  border-right:1px solid rgba(255,209,92,.18);
  color:#fff !important;
  font-size:22px !important;
  line-height:1.04 !important;
  letter-spacing:.09em !important;
  text-align:left !important;
  text-shadow:0 0 18px rgba(255,23,68,.18) !important;
}
.cyber-booking-section .slots{
  position:relative;
  width:100% !important;
  min-width:0 !important;
  min-height:74px !important;
  height:auto !important;
  margin:0 !important;
  padding:6px 6px 7px !important;
  gap:4px !important;
  border-radius:14px !important;
  background:rgba(0,0,0,.18) !important;
  border-color:rgba(255,209,92,.10) !important;
}
.cyber-booking-section .slots .btn{
  width:100% !important;
  max-width:94px;
  height:38px !important;
  margin:0 auto !important;
  padding:0 8px !important;
  border-radius:12px !important;
  font-size:14px !important;
  line-height:38px !important;
}
.cyber-booking-section .slotprice{
  font-size:12px !important;
  line-height:1.1 !important;
}
.cyber-booking-section .badge-sale{
  position:absolute;
  top:-9px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  white-space:nowrap;
  font-size:10px !important;
  line-height:1 !important;
  padding:4px 7px !important;
}
.cyber-booking-section .sale-shadow{
  display:inline-block;
  font-size:12px !important;
}
.cyber-booking-section .sale-text{
  display:inline-block;
  font-size:11px !important;
}
.cyber-booking-section .slots .btn-outline-dark[disabled]{
  opacity:.28 !important;
}

/* Modals: remove horizontal scrolling and make inner widgets respect viewport. */
.modal,
.modal-open,
.modal-open body{
  overflow-x:hidden !important;
}
.modal-dialog,
.modal-content,
.modal-header,
.modal-body,
.modal-footer{
  max-width:100vw !important;
  overflow-x:hidden !important;
}
.modal-content{
  width:100% !important;
}
.modal-body{
  padding:18px !important;
}
.modal img,
.modal iframe,
.modal video,
.modal canvas,
.modal table{
  max-width:100% !important;
}
.modal .row{
  margin-left:0 !important;
  margin-right:0 !important;
}
.modal [class^="col-"],
.modal [class*=" col-"]{
  min-width:0 !important;
}
.modal .d-flex{
  min-width:0 !important;
}
#exampleModal #cert-3d-wrapper{
  width:min(400px, 100%) !important;
  max-width:100% !important;
}
#exampleModal #cert-3d-container{
  max-width:100% !important;
}
#exampleModal .cert-type-selector{
  flex-wrap:wrap !important;
  gap:8px !important;
}
#exampleModal .cert-type-selector > div{
  min-width:160px;
}
#modal-video-player{
  max-width:100% !important;
}

/* Smaller screens */
@media (max-width: 991px){
  .kh-nav-main .kh-container{
    flex-direction:column !important;
    align-items:center !important;
  }
  .kh-nav-left,
  .kh-nav-right{
    width:100% !important;
    justify-content:center !important;
  }
  .kh-nav{justify-content:center !important;}
  .cyber-booking-section .rows-date{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:8px;
  }
  .cyber-booking-section .slotsdate{
    grid-column:1 / -1 !important;
    min-height:0;
    padding:0 0 9px !important;
    border-right:0;
    border-bottom:1px solid rgba(255,209,92,.18);
    font-size:20px !important;
    justify-content:center;
    text-align:center !important;
  }
}
@media (max-width: 575px){
  .kh-nav{gap:18px !important;}
  .kh-cabinet-banner{display:none !important;}
  .cyber-section-head-simple strong{font-size:38px !important;}
  .cyber-feedback-title-simple span{font-size:20px !important;}
  .cyber-booking-section .u-sheet-1{padding:16px 12px !important;}
  .cyber-booking-section .rows-date{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    padding:12px !important;
  }
  .cyber-booking-section .slots{min-height:70px !important;}
  .cyber-booking-section .slots .btn{max-width:none; font-size:13px !important;}
  .modal-body{padding:14px !important;}
  #exampleModal .cert-type-selector > div{min-width:100%;}
}


/* ===== KIBERNETIKA v4: cyber background, stability, fixed quest side panel ===== */
html,
body{
  overflow-x:hidden !important;
}
body{
  background:
    radial-gradient(ellipse at 8% 10%, rgba(255,23,68,.24) 0%, rgba(255,23,68,.08) 28%, transparent 58%),
    radial-gradient(ellipse at 93% 12%, rgba(18,247,255,.22) 0%, rgba(18,247,255,.08) 30%, transparent 62%),
    radial-gradient(ellipse at 45% 92%, rgba(168,85,247,.16) 0%, rgba(168,85,247,.05) 36%, transparent 72%),
    linear-gradient(180deg, #02030a 0%, #080313 44%, #040917 72%, #02030a 100%) !important;
}
body::before{
  opacity:.30 !important;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,209,92,.72) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 22%, rgba(18,247,255,.56) 0 2px, transparent 3px),
    radial-gradient(circle at 35% 68%, rgba(255,23,68,.58) 0 2px, transparent 3px),
    linear-gradient(90deg, transparent 0 32px, rgba(18,247,255,.16) 33px, transparent 34px 92px),
    linear-gradient(0deg, transparent 0 38px, rgba(255,23,68,.12) 39px, transparent 40px 112px),
    repeating-linear-gradient(135deg, transparent 0 46px, rgba(255,209,92,.10) 47px, transparent 48px 130px) !important;
  background-size:260px 260px, 310px 310px, 340px 340px, 184px 184px, 224px 224px, 420px 420px !important;
  background-position:0 0, 80px 40px, 30px 120px, 0 0, 0 0, 0 0 !important;
  mask-image:linear-gradient(to bottom, transparent 0, #000 5%, #000 92%, transparent 100%) !important;
}
body::after{
  opacity:.20 !important;
  background:
    linear-gradient(90deg, transparent 8%, rgba(255,23,68,.20) 8.15%, transparent 8.3%, transparent 47%, rgba(18,247,255,.18) 47.1%, transparent 47.25%, transparent 82%, rgba(255,209,92,.14) 82.1%, transparent 82.25%),
    linear-gradient(180deg, transparent 14%, rgba(18,247,255,.14) 14.1%, transparent 14.25%, transparent 58%, rgba(255,23,68,.14) 58.1%, transparent 58.25%, transparent 86%, rgba(255,209,92,.12) 86.1%, transparent 86.25%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0 1px, transparent 1px 7px) !important;
  mix-blend-mode:screen;
}
#particles-js{opacity:.24 !important; filter:drop-shadow(0 0 8px rgba(255,23,68,.24));}
.cyber-home .u-sheet-1,
.cyber-quest-page .u-sheet-1,
.cyber-booking-section .u-sheet-1,
.cyber-location-section .u-sheet-1{
  position:relative;
}
.cyber-home .u-sheet-1::before,
.cyber-quest-page .u-sheet-1::before,
.cyber-booking-section .u-sheet-1::before{
  content:"";
  position:absolute;
  inset:0 auto auto 50%;
  width:min(1180px, 96vw);
  height:100%;
  transform:translateX(-50%);
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(18,247,255,.45) 18% calc(18% + 1px), transparent calc(18% + 1px) 100%),
    linear-gradient(90deg, transparent 0 64%, rgba(255,23,68,.42) 64% calc(64% + 1px), transparent calc(64% + 1px) 100%),
    linear-gradient(180deg, transparent 0 22%, rgba(255,209,92,.36) 22% calc(22% + 1px), transparent calc(22% + 1px) 100%),
    linear-gradient(180deg, transparent 0 76%, rgba(18,247,255,.30) 76% calc(76% + 1px), transparent calc(76% + 1px) 100%);
  border-left:1px solid rgba(18,247,255,.18);
  border-right:1px solid rgba(255,23,68,.16);
  z-index:-1;
}

/* Clean hero: no technical captions/status text. */
.cyber-eyebrow{display:none !important;}
.cyber-hero-panel::after{content:"" !important; display:none !important;}

/* Section labels: make “Квесты” same visual scale as reviews. */
.cyber-section-head-simple{
  margin:22px 0 24px !important;
}
.cyber-section-head-simple strong{
  color:var(--cy-yellow) !important;
  font-size:24px !important;
  line-height:1.05 !important;
  letter-spacing:.08em !important;
  text-align:left !important;
  text-shadow:0 0 14px rgba(255,209,92,.18) !important;
}
.cyber-section-head-simple strong::before{
  display:inline-block !important;
  width:46px !important;
  height:2px !important;
  margin:0 12px 7px 0 !important;
  vertical-align:middle;
  background:linear-gradient(90deg, var(--cy-red), var(--cy-yellow)) !important;
}

/* Quest page spacing + sticky poster/actions block. */
.cyber-quest-page.u-section-2{
  padding-top:34px !important;
}
.cyber-quest-page .u-layout-wrap-1{
  margin-top:0 !important;
}
.cyber-quest-page .u-layout-cell-1,
.cyber-quest-page .u-container-layout-1{
  overflow:visible !important;
}
.cyber-quest-page .sticky{
  position:-webkit-sticky !important;
  position:sticky !important;
  top:118px !important;
  z-index:5;
  padding-bottom:18px !important;
}
.cyber-quest-page .u-image-1,
.u-section-1.u-custom-color-4 .u-image-1{
  background:#05050a;
}

/* Stop scroll pop-in/jumps from content-visibility on cards. */
.cyber-quest-card{
  content-visibility:visible !important;
  contain-intrinsic-size:auto !important;
  will-change:auto !important;
}
.cyber-home .u-image-2{
  transform:translateZ(0);
}

/* Header login icon without broken FontAwesome glyphs. */
.kh-auth-btn .fa-user{display:none !important;}
.kh-auth-icon{
  position:relative;
  display:inline-block;
  width:16px;
  height:16px;
  margin-right:7px;
  flex:0 0 16px;
}
.kh-auth-icon::before,
.kh-auth-icon::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  border:2px solid currentColor;
  box-sizing:border-box;
}
.kh-auth-icon::before{
  top:0;
  width:8px;
  height:8px;
  border-radius:50%;
}
.kh-auth-icon::after{
  bottom:0;
  width:15px;
  height:8px;
  border-radius:8px 8px 4px 4px;
  border-top-width:2px;
}
.fa-lock::before{content:"🔒" !important; font-size:.92em; line-height:1;}
.cyber-booking-section .slots .btn-outline-dark[disabled]{
  opacity:.42 !important;
  color:rgba(246,247,255,.72) !important;
  border-color:rgba(255,209,92,.16) !important;
}
.cyber-booking-section .slots .btn-outline-dark[disabled] .fa-lock{
  filter:drop-shadow(0 0 7px rgba(255,209,92,.20));
}

/* More compact, stable timetable. */
.cyber-booking-section .rows-date{
  grid-template-columns:190px repeat(auto-fit, minmax(88px, 1fr)) !important;
  padding:12px 14px !important;
  gap:8px !important;
}
.cyber-booking-section .slotsdate{
  min-height:62px !important;
  font-size:20px !important;
}
.cyber-booking-section .slots{
  min-height:66px !important;
  padding:5px 5px 6px !important;
}
.cyber-booking-section .slots .btn{
  height:34px !important;
  line-height:34px !important;
  font-size:13px !important;
}

/* Gallery: native image loading instead of JS-delayed blank previews. */
.quest-photo-frame,
.photo-wrap .u-back-slide{
  position:relative;
  overflow:hidden;
  border-radius:14px !important;
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(18,247,255,.05));
  aspect-ratio:4 / 3;
}
.quest-gallery-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  opacity:1 !important;
  transition:transform .28s ease, filter .28s ease !important;
}
.photo-wrap:hover .quest-gallery-img{
  transform:scale(1.035);
  filter:contrast(1.06) saturate(1.08);
}
.photo-placeholder{display:none !important;}
.lazy-img{opacity:1 !important;}
#player{
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,209,92,.28);
  background:#05050a;
  box-shadow:0 18px 54px rgba(0,0,0,.35);
}

/* Modal overflow hardening. */
.modal *{box-sizing:border-box;}
.modal-dialog{max-width:calc(100vw - 24px) !important;}
.modal-content{overflow:hidden !important;}
.modal-body{max-width:100% !important;}
#modal-video-player{height:min(400px, 56vw) !important;}

@media (max-width: 991px){
  .cyber-quest-page.u-section-2{padding-top:22px !important;}
  .cyber-booking-section .rows-date{grid-template-columns:repeat(4, minmax(0,1fr)) !important;}
  .cyber-booking-section .slotsdate{grid-column:1 / -1 !important;}
}
@media (max-width: 575px){
  .cyber-section-head-simple strong{font-size:21px !important;}
  .cyber-feedback-title-simple span{font-size:21px !important;}
  .cyber-booking-section .rows-date{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
  .cyber-booking-section .slots .btn{max-width:none !important;}
}

/* ===== KIBERNETIKA v5: quest sticky, JivoSite restore, timetable/mobile fixes ===== */
.cyber-hero-lead{display:none !important;}


.cyber-footer-intro{
  padding:24px 26px !important;
  text-align:left !important;
}
.cyber-footer-copy{
  max-width:1040px;
  margin:0 auto;
  color:rgba(246,247,255,.84);
  font-size:17px;
  line-height:1.55;
  text-align:left;
}
.cyber-footer-copy p{
  margin:0 0 12px !important;
}
.cyber-footer-copy p:last-child{margin-bottom:0 !important;}

/* Discount badge: compact pill that does not jump over the time button. */
.cyber-booking-section .slots{
  position:relative !important;
}
.cyber-booking-section .badge-sale{
  position:absolute !important;
  top:-8px !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:18px !important;
  min-width:70px !important;
  max-width:92px !important;
  padding:0 8px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.58) !important;
  background:linear-gradient(180deg, #fff07c 0%, #ffd15c 100%) !important;
  color:#18020a !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  box-shadow:0 4px 14px rgba(255,209,92,.24) !important;
}
.cyber-booking-section .badge-sale + .btn{
  margin-top:5px !important;
}
.cyber-booking-section .sale-shadow{
  font-weight:800 !important;
  color:#fff3b0 !important;
}
.cyber-booking-section .sale-text{
  color:rgba(246,247,255,.48) !important;
}

/* Mobile gallery/video: video starts only after the photo grid. */
@media (max-width: 767px){
  .cyber-footer-intro{padding:20px 16px !important;}
  .cyber-footer-copy{font-size:15px; line-height:1.48;}

  .cyber-quest-page .u-gallery-1{
    height:auto !important;
    min-height:0 !important;
    display:block !important;
    margin-bottom:16px !important;
    overflow:visible !important;
  }
  .cyber-quest-page .u-gallery-inner-1{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
    position:static !important;
    height:auto !important;
    transform:none !important;
  }
  .cyber-quest-page .u-gallery-item,
  .cyber-quest-page .photo-wrap{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    transform:none !important;
  }
  .cyber-quest-page .quest-photo-frame,
  .cyber-quest-page .photo-wrap .u-back-slide{
    aspect-ratio:4 / 3 !important;
    height:auto !important;
    min-height:0 !important;
  }
  #player{
    clear:both !important;
    display:block !important;
    width:100% !important;
    height:260px !important;
    min-height:220px !important;
    margin:18px 0 0 !important;
    position:relative !important;
    z-index:1 !important;
  }
}
@media (max-width: 420px){
  .cyber-quest-page .u-gallery-inner-1{
    grid-template-columns:1fr !important;
  }
  #player{height:220px !important;}
}




/* ===== KIBERNETIKA v7: stable quest sidebar, Jivo restore, discounts modal fix ===== */

/* Не трогаем JivoSite стилями редизайна: виджет сам выставляет position/z-index. */

@media (min-width: 992px){
  .cyber-quest-page .u-layout-wrap-1,
  .cyber-quest-page .u-layout,
  .cyber-quest-page .u-layout-row,
  .cyber-quest-page .u-layout-cell-1,
  .cyber-quest-page .u-container-layout-1{
    overflow:visible !important;
    transform:none !important;
    contain:none !important;
  }

  .cyber-quest-page .u-layout-row{
    display:flex !important;
    align-items:stretch !important;
  }

  .cyber-quest-page .u-layout-cell-1,
  .cyber-quest-page .u-container-layout-1{
    position:relative !important;
    min-height:100% !important;
    height:auto !important;
  }

  .cyber-quest-page .cyber-quest-sticky{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:396px !important;
    margin:30px 0 0 !important;
    z-index:22 !important;
    transform:none !important;
    will-change:auto !important;
  }

  .cyber-quest-page .cyber-quest-sticky .u-image-1{
    height:min(560px, calc(100vh - 230px)) !important;
    min-height:390px !important;
    width:100% !important;
    max-width:100% !important;
    object-fit:cover !important;
  }

  .cyber-quest-page .cyber-quest-sticky.is-kb-fixed{
    position:fixed !important;
    top:15px !important;
    right:auto !important;
    bottom:auto !important;
    margin:0 !important;
    max-width:none !important;
  }

  .cyber-quest-page .cyber-quest-sticky.is-kb-bottom{
    position:absolute !important;
    right:auto !important;
    bottom:auto !important;
    margin:0 !important;
    max-width:none !important;
  }

  .kb-sticky-placeholder{
    display:none;
    width:100%;
    max-width:396px;
    margin:30px 0 0;
    pointer-events:none;
  }

  .kb-sticky-placeholder.is-active{
    display:block;
  }
}

@media (max-width: 991px){
  .cyber-quest-page .cyber-quest-sticky{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
}

/* Модалка скидок больше не разворачивается на весь экран. */
#exampleModal3 .modal-dialog{
  width:calc(100% - 32px) !important;
  max-width:540px !important;
  margin:1.75rem auto !important;
}
#exampleModal3 .modal-content{
  width:100% !important;
  max-height:calc(100vh - 56px) !important;
  border-radius:22px !important;
}
#exampleModal3 .modal-body{
  overflow-y:auto !important;
}
@media (max-width: 575px){
  #exampleModal3 .modal-dialog{
    width:calc(100% - 18px) !important;
    margin:.75rem auto !important;
  }
  #exampleModal3 .modal-content{
    max-height:calc(100vh - 24px) !important;
  }
}

/* ===== KIBERNETIKA v8: normal fixed poster via CSS grid + sticky, no JS teleport ===== */
@media (min-width: 992px){
  .cyber-quest-page .u-layout-wrap-1,
  .cyber-quest-page .u-layout,
  .cyber-quest-page .u-layout-row,
  .cyber-quest-page .u-layout-cell-1,
  .cyber-quest-page .u-layout-cell-2,
  .cyber-quest-page .u-container-layout-1,
  .cyber-quest-page .u-container-layout-2{
    overflow:visible !important;
    transform:none !important;
    contain:none !important;
  }

  .cyber-quest-page .u-layout-wrap-1{
    width:100% !important;
    max-width:100% !important;
  }

  .cyber-quest-page .u-layout-row{
    display:grid !important;
    grid-template-columns:minmax(300px, 400px) minmax(0, 1fr) !important;
    column-gap:42px !important;
    align-items:stretch !important;
    width:100% !important;
    min-height:0 !important;
  }

  .cyber-quest-page .u-layout-cell-1,
  .cyber-quest-page .u-layout-cell-2{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    flex:none !important;
    flex-basis:auto !important;
    height:auto !important;
  }

  .cyber-quest-page .u-layout-cell-1{
    grid-column:1 !important;
    align-self:stretch !important;
  }

  .cyber-quest-page .u-layout-cell-2{
    grid-column:2 !important;
  }

  .cyber-quest-page .u-container-layout-1{
    position:relative !important;
    height:100% !important;
    min-height:100% !important;
    padding:0 !important;
  }

  .cyber-quest-page .u-container-layout-2{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky.is-kb-fixed,
  .cyber-quest-page .cyber-quest-sticky.is-kb-bottom,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-bottom{
    position:-webkit-sticky !important;
    position:sticky !important;
    top:18px !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    display:block !important;
    width:100% !important;
    max-width:400px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 0 18px !important;
    z-index:20 !important;
    transform:none !important;
    will-change:auto !important;
  }

  .cyber-quest-page .cyber-quest-sticky.u-expanded-width,
  .cyber-quest-page .cyber-quest-sticky.u-group-elements,
  .cyber-quest-page .cyber-quest-sticky[style]{
    width:100% !important;
    max-width:400px !important;
    left:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .cyber-quest-page .cyber-quest-sticky .u-image-1{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:calc(100vh - 255px) !important;
    min-height:360px !important;
    object-fit:cover !important;
    object-position:center top !important;
    margin:0 0 12px !important;
  }

  .cyber-quest-page .cyber-quest-sticky .u-image-2{
    right:16px !important;
    bottom:calc(190px + 16px) !important;
  }

  .cyber-quest-page .cyber-quest-sticky .fix-btn{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .kb-sticky-placeholder,
  .kb-sticky-placeholder.is-active{
    display:none !important;
    height:0 !important;
  }
}

@media (min-width: 992px) and (max-height: 760px){
  .cyber-quest-page .cyber-quest-sticky .u-image-1{
    max-height:calc(100vh - 285px) !important;
    min-height:300px !important;
  }
}

@media (max-width: 991px){
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style]{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
  }
}

/* ===== KIBERNETIKA v9: stable isolated quest sidebar ===== */
/*
  Важно: desktop-постер на странице квеста теперь НЕ использует Nicepage-классы
  u-expanded-width/u-group-elements. Именно они пересчитывали ширину при скролле
  и растягивали блок на весь экран.
*/
@media (min-width: 992px){
  .cyber-quest-page .u-layout-wrap-1,
  .cyber-quest-page .u-layout,
  .cyber-quest-page .u-layout-row,
  .cyber-quest-page .u-layout-cell-1,
  .cyber-quest-page .u-layout-cell-2,
  .cyber-quest-page .u-container-layout-1,
  .cyber-quest-page .u-container-layout-2{
    overflow:visible !important;
    transform:none !important;
    contain:none !important;
  }

  .cyber-quest-page .u-layout-row{
    display:grid !important;
    grid-template-columns:396px minmax(0, 1fr) !important;
    column-gap:42px !important;
    align-items:stretch !important;
    width:100% !important;
  }

  .cyber-quest-page .u-layout-cell-1,
  .cyber-quest-page .u-layout-cell-2{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    flex:none !important;
    flex-basis:auto !important;
    height:auto !important;
  }

  .cyber-quest-page .u-layout-cell-1{grid-column:1 !important; align-self:stretch !important;}
  .cyber-quest-page .u-layout-cell-2{grid-column:2 !important;}
  .cyber-quest-page .u-container-layout-1{padding:0 !important; height:100% !important; min-height:100% !important;}
  .cyber-quest-page .u-container-layout-2{padding-left:0 !important; padding-right:0 !important;}

  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style],
  .cyber-quest-page .cyber-quest-sticky.is-kb-fixed,
  .cyber-quest-page .cyber-quest-sticky.is-kb-bottom,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-bottom{
    --cy-poster-height:min(560px, calc(100vh - 235px));
    position:-webkit-sticky !important;
    position:sticky !important;
    top:15px !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    display:block !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 0 18px !important;
    z-index:20 !important;
    transform:none !important;
    will-change:auto !important;
    box-sizing:border-box !important;
  }

  .cyber-quest-page .cyber-quest-poster{
    display:block !important;
    width:396px !important;
    max-width:396px !important;
    height:var(--cy-poster-height) !important;
    min-height:360px !important;
    max-height:560px !important;
    object-fit:cover !important;
    object-position:center top !important;
    margin:0 0 12px !important;
    border-radius:22px !important;
    border:1px solid rgba(255,209,92,.48) !important;
    background:#05050a !important;
    box-shadow:0 20px 58px rgba(0,0,0,.45), 0 0 36px rgba(255,23,68,.12) !important;
    box-sizing:border-box !important;
  }

  .cyber-quest-page .cyber-age-badge{
    position:absolute !important;
    right:14px !important;
    top:calc(var(--cy-poster-height) - 72px) !important;
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
    z-index:4 !important;
    filter:drop-shadow(0 0 18px rgba(255,255,255,.24));
    pointer-events:none !important;
  }

  .cyber-quest-page .cyber-quest-sticky .fix-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    height:42px !important;
    margin:10px 0 0 !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
  }
}

@media (min-width: 992px) and (max-height: 760px){
  .cyber-quest-page .cyber-quest-sticky{--cy-poster-height:min(460px, calc(100vh - 250px));}
  .cyber-quest-page .cyber-quest-poster{min-height:300px !important;}
}

@media (min-width: 992px) and (max-width: 1180px){
  .cyber-quest-page .u-layout-row{
    grid-template-columns:340px minmax(0, 1fr) !important;
    column-gap:28px !important;
  }
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-poster,
  .cyber-quest-page .cyber-quest-sticky .fix-btn{
    width:340px !important;
    max-width:340px !important;
  }
}

@media (max-width: 991px){
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style]{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
  }
}


/* ===== KIBERNETIKA v10: clean quest layout, sticky without Nicepage wrappers ===== */
.cyber-quest-page .cyber-quest-layout{
  display:block;
  width:100%;
  max-width:1140px;
  margin:0 auto;
}

@media (min-width: 992px){
  .cyber-quest-page .u-sheet-1,
  .cyber-quest-page .cyber-quest-layout,
  .cyber-quest-page .cyber-quest-aside,
  .cyber-quest-page .cyber-quest-main{
    overflow:visible !important;
    transform:none !important;
    contain:none !important;
    filter:none !important;
    perspective:none !important;
  }

  .cyber-quest-page .cyber-quest-layout{
    display:grid !important;
    grid-template-columns:396px minmax(0, 1fr) !important;
    gap:42px !important;
    align-items:stretch !important;
  }

  .cyber-quest-page .cyber-quest-aside{
    position:relative !important;
    display:block !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    align-self:stretch !important;
    grid-column:1 !important;
  }

  .cyber-quest-page .cyber-quest-main{
    position:relative !important;
    display:block !important;
    grid-column:2 !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }

  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style],
  .cyber-quest-page .cyber-quest-sticky.is-kb-fixed,
  .cyber-quest-page .cyber-quest-sticky.is-kb-bottom,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-bottom{
    --cy-poster-height:min(560px, calc(100vh - 235px));
    position:sticky !important;
    top:18px !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    display:block !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 0 18px !important;
    z-index:20 !important;
    transform:none !important;
    will-change:auto !important;
    box-sizing:border-box !important;
  }

  .cyber-quest-page .cyber-quest-poster{
    display:block !important;
    width:396px !important;
    max-width:396px !important;
    height:var(--cy-poster-height) !important;
    min-height:360px !important;
    max-height:560px !important;
    object-fit:cover !important;
    object-position:center top !important;
    margin:0 0 12px !important;
    border-radius:22px !important;
    border:1px solid rgba(255,209,92,.48) !important;
    background:#05050a !important;
    box-shadow:0 20px 58px rgba(0,0,0,.45), 0 0 36px rgba(255,23,68,.12) !important;
    box-sizing:border-box !important;
  }

  .cyber-quest-page .cyber-age-badge{
    position:absolute !important;
    right:14px !important;
    top:calc(var(--cy-poster-height) - 72px) !important;
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
    z-index:4 !important;
    filter:drop-shadow(0 0 18px rgba(255,255,255,.24));
    pointer-events:none !important;
  }

  .cyber-quest-page .cyber-quest-sticky .fix-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    height:42px !important;
    margin:10px 0 0 !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
  }
}

@media (min-width: 992px) and (max-width: 1180px){
  .cyber-quest-page .cyber-quest-layout{
    grid-template-columns:340px minmax(0, 1fr) !important;
    gap:28px !important;
  }
  .cyber-quest-page .cyber-quest-aside,
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-poster,
  .cyber-quest-page .cyber-quest-sticky .fix-btn{
    width:340px !important;
    max-width:340px !important;
  }
}

@media (min-width: 992px) and (max-height: 760px){
  .cyber-quest-page .cyber-quest-sticky{--cy-poster-height:min(460px, calc(100vh - 250px));}
  .cyber-quest-page .cyber-quest-poster{min-height:300px !important;}
}

@media (max-width: 991px){
  .cyber-quest-page .cyber-quest-layout{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }
  .cyber-quest-page .cyber-quest-main{
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
  }
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style]{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
  }
}


/* ===== KIBERNETIKA v11: reliable quest sidebar, Jivo and discount modal fix ===== */
@media (min-width: 992px){
  .cyber-quest-page,
  .cyber-quest-page .u-sheet-1,
  .cyber-quest-page .cyber-quest-layout,
  .cyber-quest-page .cyber-quest-aside,
  .cyber-quest-page .cyber-quest-main{
    overflow:visible !important;
    transform:none !important;
    contain:none !important;
    filter:none !important;
    perspective:none !important;
  }

  .cyber-quest-page .cyber-quest-layout{
    display:grid !important;
    grid-template-columns:396px minmax(0, 1fr) !important;
    gap:42px !important;
    align-items:start !important;
    width:100% !important;
    max-width:1140px !important;
    margin:0 auto !important;
  }

  .cyber-quest-page .cyber-quest-aside{
    position:relative !important;
    display:block !important;
    grid-column:1 !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    min-height:1px !important;
    overflow:visible !important;
  }

  .cyber-quest-page .cyber-quest-main{
    grid-column:2 !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style],
  .cyber-quest-page .cyber-quest-sticky.is-kb-fixed,
  .cyber-quest-page .cyber-quest-sticky.is-kb-bottom,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-bottom{
    --cy-poster-height:clamp(330px, calc(100vh - 330px), 520px);
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    display:block !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 0 16px !important;
    z-index:30 !important;
    transform:none !important;
    will-change:auto !important;
    box-sizing:border-box !important;
  }

  .cyber-quest-page .cyber-quest-sticky.kb-js-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-js-fixed[style]{
    position:fixed !important;
    top:18px !important;
    left:var(--kb-sticky-left) !important;
    right:auto !important;
    bottom:auto !important;
    width:var(--kb-sticky-width) !important;
    max-width:var(--kb-sticky-width) !important;
    margin:0 !important;
    z-index:40 !important;
  }

  .cyber-quest-page .cyber-quest-sticky.kb-js-bottom,
  .cyber-quest-page .cyber-quest-sticky.kb-js-bottom[style]{
    position:absolute !important;
    top:var(--kb-sticky-stop) !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:var(--kb-sticky-width) !important;
    max-width:var(--kb-sticky-width) !important;
    margin:0 !important;
    z-index:35 !important;
  }

  .cyber-quest-page .cyber-quest-poster{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:var(--cy-poster-height) !important;
    min-height:330px !important;
    max-height:520px !important;
    object-fit:cover !important;
    object-position:center top !important;
    margin:0 0 10px !important;
    border-radius:22px !important;
    border:1px solid rgba(255,209,92,.48) !important;
    background:#05050a !important;
    box-shadow:0 20px 58px rgba(0,0,0,.45), 0 0 36px rgba(255,23,68,.12) !important;
    box-sizing:border-box !important;
  }

  .cyber-quest-page .cyber-age-badge{
    position:absolute !important;
    right:14px !important;
    top:calc(var(--cy-poster-height) - 70px) !important;
    width:56px !important;
    height:56px !important;
    max-width:56px !important;
    max-height:56px !important;
    object-fit:contain !important;
    z-index:4 !important;
    filter:drop-shadow(0 0 18px rgba(255,255,255,.24));
    pointer-events:none !important;
  }

  .cyber-quest-page .cyber-quest-sticky .fix-btn{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:40px !important;
    margin:8px 0 0 !important;
    padding:0 18px !important;
    box-sizing:border-box !important;
  }
}

@media (min-width: 992px) and (max-width: 1180px){
  .cyber-quest-page .cyber-quest-layout{
    grid-template-columns:340px minmax(0, 1fr) !important;
    gap:28px !important;
  }
  .cyber-quest-page .cyber-quest-aside,
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style],
  .cyber-quest-page .cyber-quest-sticky.kb-js-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-js-bottom{
    width:340px !important;
    max-width:340px !important;
  }
}

@media (max-width: 991px){
  .cyber-quest-page .cyber-quest-layout{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }
  .cyber-quest-page .cyber-quest-aside,
  .cyber-quest-page .cyber-quest-main,
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style]{
    display:block !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    transform:none !important;
  }
}


/* Скидки: нормальная модалка, не full-screen. */
#exampleModal3 .modal-dialog{
  width:min(560px, calc(100vw - 32px)) !important;
  max-width:560px !important;
  height:auto !important;
  min-height:0 !important;
  margin:28px auto !important;
}
#exampleModal3 .modal-content{
  width:100% !important;
  max-width:100% !important;
  min-height:0 !important;
  max-height:calc(100vh - 56px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}


/* ===== KIBERNETIKA v12: clickable moving quest panel =====
   Блок больше не переводится в position:fixed. Он остаётся в своей колонке и
   двигается transform-ом, поэтому визуальная позиция и область клика совпадают. */
@media (min-width: 992px){
  .cyber-quest-page .cyber-quest-aside{
    overflow:visible !important;
    isolation:isolate !important;
    z-index:20 !important;
  }

  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style],
  .cyber-quest-page .cyber-quest-sticky.kb-js-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-js-fixed[style],
  .cyber-quest-page .cyber-quest-sticky.kb-js-bottom,
  .cyber-quest-page .cyber-quest-sticky.kb-js-bottom[style],
  .cyber-quest-page .cyber-quest-sticky.is-kb-fixed,
  .cyber-quest-page .cyber-quest-sticky.is-kb-bottom,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-sticky-bottom{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:396px !important;
    max-width:396px !important;
    min-width:0 !important;
    margin:0 !important;
    transform:translate3d(0, var(--kb-sticky-y, 0px), 0) !important;
    will-change:transform !important;
    z-index:120 !important;
    pointer-events:auto !important;
    touch-action:auto !important;
  }

  .cyber-quest-page .cyber-quest-sticky *,
  .cyber-quest-page .cyber-quest-sticky .fix-btn,
  .cyber-quest-page .cyber-quest-sticky button,
  .cyber-quest-page .cyber-quest-sticky a{
    pointer-events:auto !important;
  }

  .cyber-quest-page .cyber-quest-sticky .fix-btn,
  .cyber-quest-page .cyber-quest-sticky button{
    position:relative !important;
    z-index:130 !important;
    cursor:pointer !important;
  }

  .cyber-quest-page .cyber-quest-poster,
  .cyber-quest-page .cyber-age-badge{
    pointer-events:none !important;
  }
}

@media (max-width: 991px){
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style]{
    transform:none !important;
    pointer-events:auto !important;
  }
}


/* ===== KIBERNETIKA v14: JivoSite не трогаем стилями =====
   Виджет JivoSite сам управляет своими слоями, видимостью и кликами.
   Принудительные pointer-events/opacity/visibility для jdiv удалены, потому что
   они либо перекрывали сайт, либо ломали отображение самого виджета. */

.cyber-quest-page button,
.cyber-quest-page a,
.kh-header button,
.kh-header a,
.modal button,
.modal a{
  pointer-events:auto !important;
}

.cyber-quest-page .cyber-quest-sticky .fix-btn{
  position:relative !important;
  z-index:160 !important;
}

/* ===== v15: booking modal + discount slots fixes ===== */
.booking-modal .quest-icon{
  display:none !important;
}
#bookingSubmitBtn{
  position:relative;
  pointer-events:auto !important;
}
#bookingSubmitBtn[disabled],
#bookingSubmitBtn.is-loading{
  opacity:.72 !important;
  cursor:not-allowed !important;
  filter:saturate(.85);
}
.booking-spinner{
  display:inline-block;
  width:1em;
  height:1em;
  margin-right:.55rem;
  vertical-align:-.16em;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  border-radius:50%;
  animation:kbSpin .75s linear infinite;
}
@keyframes kbSpin{to{transform:rotate(360deg)}}
.booking-success-message{
  border:1px solid rgba(38,255,162,.35) !important;
  background:rgba(15,95,58,.18) !important;
  color:#eafff4 !important;
  font-weight:800;
  line-height:1.5;
}

.cyber-booking-section .slots{
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
}
.cyber-booking-section .slots .btn{
  width:100% !important;
  max-width:96px !important;
  height:38px !important;
  min-height:38px !important;
  line-height:36px !important;
  margin:0 auto !important;
  padding:0 8px !important;
  white-space:nowrap !important;
}
.cyber-booking-section .slots .badge-sale{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:54px !important;
  max-width:90px !important;
  height:18px !important;
  margin:0 auto -1px !important;
  padding:0 8px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.65) !important;
  background:linear-gradient(180deg,#fff27d 0%,#ffd15c 100%) !important;
  color:#17020a !important;
  box-shadow:0 4px 14px rgba(255,209,92,.28) !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.cyber-booking-section .slots-sale{
  min-height:88px !important;
  padding:6px 6px 8px !important;
  border-color:rgba(255,209,92,.32) !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,209,92,.18), transparent 52%),
    rgba(32,7,15,.46) !important;
}
.cyber-booking-section .slots-sale .btn{
  border-color:#ffd15c !important;
  background:linear-gradient(180deg, rgba(116,0,20,.96), rgba(54,0,12,.96)) !important;
  color:#fff !important;
  box-shadow:0 0 0 1px rgba(255,209,92,.18), 0 8px 18px rgba(255,23,68,.12) !important;
}
.cyber-booking-section .slotprice{
  display:block !important;
  min-height:24px !important;
  color:rgba(236,238,255,.72) !important;
  text-align:center !important;
  font-weight:800 !important;
}
.cyber-booking-section .slot-price-sale{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1px !important;
  line-height:1.05 !important;
}
.cyber-booking-section .slot-price-new,
.cyber-booking-section .sale-shadow{
  display:block !important;
  color:#fff3b0 !important;
  font-size:13px !important;
  font-weight:950 !important;
  text-shadow:0 0 10px rgba(255,209,92,.22) !important;
}
.cyber-booking-section .slot-price-old,
.cyber-booking-section .sale-text{
  display:block !important;
  color:rgba(246,247,255,.48) !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-decoration:line-through !important;
}
.cyber-booking-section .slots-locked .btn{
  opacity:.35 !important;
}
.cyber-booking-section .slots-locked .fa-lock::before{
  content:"🔒" !important;
}
@media (max-width: 575px){
  .cyber-booking-section .slots-sale{min-height:92px !important;}
  .cyber-booking-section .slots .badge-sale{font-size:9px !important; min-width:48px !important; padding:0 6px !important;}
  .cyber-booking-section .slot-price-new{font-size:12px !important;}
  .cyber-booking-section .slot-price-old{font-size:10px !important;}
}


/* ===== KIBERNETIKA v16: stable sidebar limits, gallery/video grid, mobile duplicate poster fix ===== */

/* Фото должны формировать реальную сетку по высоте страницы, чтобы блок видео не налезал на фотографии. */
.cyber-quest-page .u-gallery-1{
  height:auto !important;
  min-height:0 !important;
  display:block !important;
  margin:0 0 22px !important;
  overflow:visible !important;
  clear:both !important;
}
.cyber-quest-page .u-gallery-inner-1{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:12px !important;
  position:static !important;
  height:auto !important;
  min-height:0 !important;
  width:100% !important;
  transform:none !important;
}
.cyber-quest-page .u-gallery-item,
.cyber-quest-page .photo-wrap{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  transform:none !important;
  float:none !important;
}
.cyber-quest-page .quest-photo-frame,
.cyber-quest-page .photo-wrap .u-back-slide{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
}
.cyber-quest-page .quest-gallery-img,
.cyber-quest-page .u-back-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.cyber-quest-page #player{
  clear:both !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:380px !important;
  min-height:320px !important;
  margin:24px 0 34px !important;
  position:relative !important;
  z-index:1 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  border:1px solid rgba(255,209,92,.42) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.32) !important;
}

/* Десктопный движущийся блок: после раскрытия длинного текста границы пересчитываются JS-ом.
   CSS ниже только держит кликабельность и не даёт старым классам менять способ позиционирования. */
@media (min-width: 992px){
  .cyber-quest-page .cyber-quest-sticky,
  .cyber-quest-page .cyber-quest-sticky[style],
  .cyber-quest-page .cyber-quest-sticky.kb-js-fixed,
  .cyber-quest-page .cyber-quest-sticky.kb-js-bottom{
    position:relative !important;
    transform:translate3d(0, var(--kb-sticky-y, 0px), 0) !important;
    pointer-events:auto !important;
  }
  .cyber-quest-page .cyber-quest-main{
    position:relative !important;
    z-index:1 !important;
  }
  .cyber-quest-page .cyber-quest-aside{
    position:relative !important;
    z-index:3 !important;
  }
}

/* Мобильная версия: оставляем только верхний мобильный постер, а десктопный aside скрываем полностью. */
@media (max-width: 991px){
  .cyber-quest-page .cyber-quest-aside,
  .cyber-quest-page .cyber-quest-aside.u-hidden-sm,
  .cyber-quest-page .cyber-quest-aside.u-hidden-xs,
  .cyber-quest-page .cyber-quest-aside.u-hidden-sm.u-hidden-xs{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .cyber-quest-page .cyber-quest-layout{
    display:block !important;
    width:100% !important;
    max-width:none !important;
  }
  .cyber-quest-page .cyber-quest-main{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    padding:0 !important;
  }
  .cyber-quest-page .u-gallery-inner-1{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:9px !important;
  }
  .cyber-quest-page .u-gallery-1{
    margin-bottom:18px !important;
  }
  .cyber-quest-page #player{
    height:260px !important;
    min-height:220px !important;
    margin-top:18px !important;
  }
}

@media (max-width: 420px){
  .cyber-quest-page .u-gallery-inner-1{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }
  .cyber-quest-page #player{
    height:225px !important;
    min-height:205px !important;
  }
}

/* ===== KIBERNETIKA v17: premium quest cards + modal/Jivo layering + modal scroll lock ===== */
.cyber-home .u-repeater-1{
  align-items:stretch !important;
}
.cyber-quest-card{
  content-visibility:visible !important;
  contain:none !important;
  min-height:0 !important;
  border-radius:26px !important;
  border:1px solid rgba(255,209,92,.34) !important;
  background:
    linear-gradient(180deg, rgba(15,17,33,.84), rgba(8,4,14,.96)) !important;
  box-shadow:
    0 28px 84px rgba(0,0,0,.54),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 34px rgba(255,23,68,.08) !important;
  isolation:isolate !important;
}
.cyber-quest-card::before{
  background:
    radial-gradient(circle at 50% 18%, rgba(18,247,255,.18), transparent 42%),
    radial-gradient(circle at 12% 8%, rgba(255,23,68,.28), transparent 38%),
    linear-gradient(125deg, transparent 0 35%, rgba(255,209,92,.12) 42%, transparent 52%) !important;
  opacity:.28 !important;
}
.cyber-quest-card:hover::before{opacity:.62 !important;}
.cyber-quest-card::after{
  inset:10px !important;
  border-radius:21px !important;
  border-color:rgba(255,209,92,.18) !important;
}
.cyber-quest-card:hover{
  transform:translateY(-10px) scale(1.01) !important;
  border-color:rgba(18,247,255,.72) !important;
  box-shadow:
    0 34px 96px rgba(0,0,0,.62),
    0 0 54px rgba(18,247,255,.16),
    0 0 48px rgba(255,23,68,.16),
    0 0 0 1px rgba(18,247,255,.18) inset !important;
}
.cyber-home .u-container-layout-1{
  display:flex !important;
  flex-direction:column !important;
  min-height:100% !important;
  padding:12px 12px 16px !important;
}
.cyber-card-media{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:20px !important;
  border:1px solid rgba(255,209,92,.46) !important;
  background:#05050a !important;
  cursor:pointer !important;
  box-shadow:
    0 18px 40px rgba(0,0,0,.38),
    inset 0 0 0 1px rgba(255,255,255,.035) !important;
}
.cyber-card-media:focus{
  outline:2px solid rgba(18,247,255,.75) !important;
  outline-offset:3px !important;
}
.cyber-card-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.38;
  background:
    linear-gradient(180deg, rgba(2,3,10,.04), transparent 36%, rgba(2,3,10,.68)),
    repeating-linear-gradient(180deg, transparent 0 4px, rgba(255,255,255,.045) 5px, transparent 6px);
  mix-blend-mode:screen;
  transition:opacity .25s ease;
}
.cyber-card-media::after{
  content:"";
  position:absolute;
  left:-42%;
  top:-25%;
  width:38%;
  height:150%;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(18,247,255,.16), rgba(255,255,255,.32), transparent);
  transform:skewX(-18deg);
  opacity:0;
}
.cyber-quest-card:hover .cyber-card-media::before{opacity:.55;}
.cyber-quest-card:hover .cyber-card-media::after{
  opacity:1;
  animation:cyCardFlash .72s ease-out forwards;
}
@keyframes cyCardFlash{to{left:118%;}}
.cyber-card-image-fade{
  position:absolute;
  inset:auto 0 0 0;
  height:44%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg, transparent, rgba(4,2,8,.72) 62%, rgba(4,2,8,.96));
}
.cyber-card-topline{
  position:absolute;
  left:16px;
  right:16px;
  top:14px;
  height:1px;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(255,209,92,.84), rgba(18,247,255,.62), transparent);
  box-shadow:0 0 16px rgba(255,209,92,.35);
  opacity:.62;
}
.cyber-card-corners{
  position:absolute;
  inset:8px;
  z-index:6;
  pointer-events:none;
  border-radius:21px;
  background:
    linear-gradient(90deg, var(--cy-red), var(--cy-yellow)) left top / 86px 2px no-repeat,
    linear-gradient(180deg, var(--cy-red), var(--cy-yellow)) left top / 2px 86px no-repeat,
    linear-gradient(270deg, var(--cy-cyan), var(--cy-yellow)) right bottom / 86px 2px no-repeat,
    linear-gradient(0deg, var(--cy-cyan), var(--cy-yellow)) right bottom / 2px 86px no-repeat;
  opacity:.58;
  filter:drop-shadow(0 0 10px rgba(255,209,92,.18));
  transition:opacity .25s ease, filter .25s ease;
}
.cyber-quest-card:hover .cyber-card-corners{
  opacity:.95;
  filter:drop-shadow(0 0 14px rgba(18,247,255,.28));
}
.cyber-home .u-image-2{
  display:block !important;
  height:520px !important;
  width:100% !important;
  border:0 !important;
  border-radius:0 !important;
  margin:0 !important;
  object-fit:cover !important;
  transform:scale(1.002) !important;
  transition:transform .36s ease, filter .36s ease !important;
}
.cyber-quest-card:hover .u-image-2{
  transform:scale(1.055) !important;
  filter:contrast(1.13) saturate(1.16) brightness(.96) !important;
}
.cyber-home .u-image-3.cyber-age-badge,
.cyber-home .u-image-3{
  top:auto !important;
  right:14px !important;
  bottom:14px !important;
  width:54px !important;
  height:54px !important;
  z-index:7 !important;
  filter:drop-shadow(0 0 14px rgba(255,255,255,.42)) drop-shadow(0 0 12px rgba(0,0,0,.65)) !important;
}
.cyber-card-info{
  position:relative !important;
  z-index:8 !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  padding:16px 4px 0 !important;
}
.cyber-card-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:max-content !important;
  max-width:calc(100% - 16px) !important;
  margin:0 auto 8px !important;
  padding:5px 12px !important;
  border:1px solid rgba(18,247,255,.28) !important;
  border-radius:999px !important;
  background:rgba(18,247,255,.06) !important;
  color:rgba(246,247,255,.76) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}
.cyber-card-label span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cy-red);
  box-shadow:0 0 10px rgba(255,23,68,.8);
}
.cyber-home .u-text-2{
  margin:0 6px 8px !important;
  color:#fff !important;
  font-size:23px !important;
  line-height:1.1 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  text-shadow:0 0 18px rgba(255,209,92,.18), 0 0 18px rgba(255,23,68,.20) !important;
}
.cyber-home .cyber-card-tags,
.cyber-home .cyber-quest-card h3.cyber-card-tags{
  min-height:42px !important;
  margin:0 8px 14px !important;
  color:#ffd15c !important;
  font-size:12px !important;
  line-height:1.24 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.cyber-card-book{
  margin-top:auto !important;
  height:52px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:linear-gradient(135deg, #ff1744 0%, #c00032 48%, #680015 100%) !important;
  box-shadow:0 14px 30px rgba(255,23,68,.22), inset 0 1px 0 rgba(255,255,255,.20) !important;
  letter-spacing:.04em !important;
}
.cyber-card-book::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform:translateX(-120%) skewX(-18deg);
  transition:transform .38s ease;
}
.cyber-quest-card:hover .cyber-card-book::after{
  transform:translateX(120%) skewX(-18deg);
}

/* Модалка должна быть выше JivoSite, а Jivo временно убирать только пока открыта модалка. */
.modal-backdrop{
  z-index:2147483000 !important;
}
.modal{
  z-index:2147483010 !important;
  overscroll-behavior:contain !important;
}
.modal-dialog{
  z-index:2147483020 !important;
}
body.kb-modal-active,
html.kb-modal-active,
body.modal-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
body.kb-jivo-under-modal jdiv,
body.kb-jivo-under-modal iframe[src*="jivosite"],
body.kb-jivo-under-modal iframe[src*="jivo"],
body.kb-jivo-under-modal [id^="jivo"],
body.kb-jivo-under-modal [id*="jivo"],
body.kb-jivo-under-modal [class^="jivo"],
body.kb-jivo-under-modal [class*=" jivo"],
body.kb-jivo-under-modal [class*="jivo_"]{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.modal-content{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-height:calc(100dvh - 32px) !important;
  overscroll-behavior:contain !important;
}
.modal-header,
.modal-footer{
  flex:0 0 auto !important;
}
.modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
}
.modal-dialog-centered{
  min-height:calc(100dvh - 32px) !important;
}
.modal.show{
  display:block !important;
}
@media (max-width: 575px){
  .cyber-home .u-image-2{
    height:430px !important;
  }
  .cyber-card-info{
    padding-top:14px !important;
  }
  .cyber-home .u-text-2{
    font-size:20px !important;
  }
  .cyber-card-label{
    font-size:10px !important;
  }
  .modal,
  .modal-dialog,
  .modal-content{
    max-width:100% !important;
  }
  .modal-dialog{
    margin:8px auto !important;
  }
  .modal-content{
    max-height:calc(100dvh - 16px) !important;
  }
  .modal-dialog-centered{
    min-height:calc(100dvh - 16px) !important;
  }
}

/* ===== KIBERNETIKA v18: cards cleanup, review redesign, modal scroll hardening, loading optimizations ===== */
.cyber-card-label{display:none !important;}
.cyber-card-info{padding-top:20px !important;}
.cyber-home .u-text-2{margin-top:0 !important;}
.cyber-quest-card{will-change:transform !important;}
.cyber-card-media,
.cyber-card-media img,
.cyber-quest-poster,
.cyber-quest-page .u-section-1 img,
.quest-gallery-img{
  -webkit-user-drag:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
.cyber-card-media > img.u-image-2,
.cyber-quest-poster,
.cyber-quest-page .u-section-1 img.u-image-1,
.quest-gallery-img{
  pointer-events:none !important;
}
.cyber-card-media::selection,
.cyber-quest-poster::selection,
.quest-gallery-img::selection{background:transparent !important;}

/* Modals: no page scroll behind any modal; modal body owns scrolling. */
html.kb-modal-active,
body.kb-modal-active,
body.modal-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
  touch-action:none !important;
}
body.kb-modal-active .modal,
body.modal-open .modal{
  overflow:hidden !important;
}
.modal{
  z-index:2147483010 !important;
  padding-right:0 !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
.modal-backdrop{z-index:2147483000 !important;}
.modal-dialog{
  z-index:2147483020 !important;
  margin:16px auto !important;
  pointer-events:none !important;
}
.modal-content{
  pointer-events:auto !important;
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100dvh - 32px) !important;
  overflow:hidden !important;
  overscroll-behavior:contain !important;
}
.modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
}
.modal-header,.modal-footer{flex:0 0 auto !important;}
body.kb-jivo-under-modal jdiv,
body.kb-jivo-under-modal iframe[src*="jivosite"],
body.kb-jivo-under-modal iframe[src*="jivo"],
body.kb-jivo-under-modal [id^="jivo"],
body.kb-jivo-under-modal [id*="jivo"],
body.kb-jivo-under-modal [class^="jivo"],
body.kb-jivo-under-modal [class*=" jivo"],
body.kb-jivo-under-modal [class*="jivo_"]{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
@media (max-width:575px){
  .modal-dialog{width:calc(100% - 16px) !important; margin:8px auto !important;}
  .modal-content{max-height:calc(100dvh - 16px) !important;}
}

/* Reviews: premium cyber cards without touching PHP. */
#feedbackindex.cyber-feedback-grid,
#feedbackindex{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:22px !important;
  padding:0 !important;
  margin:0 !important;
  width:100% !important;
}
#feedbackindex::before,
#feedbackindex::after{display:none !important; content:none !important;}
#feedbackindex > [class*="col-"]{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  flex:none !important;
  padding:0 !important;
  margin:0 !important;
}
.row-review{
  position:relative !important;
  display:grid !important;
  grid-template-columns:72px minmax(0, 1fr) !important;
  gap:14px 16px !important;
  min-height:100% !important;
  width:100% !important;
  margin:0 !important;
  padding:20px !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:1px solid rgba(18,247,255,.28) !important;
  background:
    radial-gradient(circle at 18% 10%, rgba(18,247,255,.10), transparent 36%),
    radial-gradient(circle at 88% 22%, rgba(255,23,68,.12), transparent 38%),
    linear-gradient(180deg, rgba(14,16,31,.86), rgba(8,4,14,.96)) !important;
  box-shadow:0 18px 54px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.row-review:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(255,209,92,.46) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.52), 0 0 32px rgba(18,247,255,.10) !important;
}
.row-review::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:repeating-linear-gradient(180deg, transparent 0 6px, rgba(255,255,255,.035) 7px, transparent 8px);
}
.row-review::after{
  content:"ОТЗЫВ";
  position:absolute;
  right:14px;
  top:12px;
  color:rgba(255,209,92,.22);
  font-size:10px;
  font-weight:900;
  letter-spacing:.20em;
}
.row-review > .col-auto{
  grid-column:1 !important;
  grid-row:1 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:0 !important;
  max-width:none !important;
}
.row-review .avatar{
  width:64px !important;
  height:64px !important;
  object-fit:cover !important;
  border-radius:50% !important;
  border:2px solid rgba(255,209,92,.64) !important;
  box-shadow:0 0 0 5px rgba(255,209,92,.07), 0 0 24px rgba(255,23,68,.16) !important;
}
.row-review > .col.pl-0{
  grid-column:2 !important;
  grid-row:1 !important;
  padding:0 !important;
  max-width:none !important;
  min-width:0 !important;
}
.row-review > .col-12{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  padding:0 !important;
  max-width:none !important;
}
.row-review p{
  position:relative !important;
  z-index:1 !important;
  color:rgba(246,247,255,.88) !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
.row-review .col.pl-0 p:first-child{
  margin:0 72px 6px 0 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
}
.row-review .fa-star{
  position:relative !important;
  z-index:1 !important;
  margin-right:3px !important;
  color:#ff1744 !important;
  text-shadow:0 0 10px rgba(255,23,68,.45) !important;
}
.row-review .text-secondary.fa-star{color:rgba(255,255,255,.18) !important; text-shadow:none !important;}
.row-review a.text-warning{
  color:#ffd15c !important;
  font-weight:900 !important;
  text-decoration:none !important;
  border-bottom:1px dashed rgba(255,209,92,.45) !important;
}
.row-review .review-text{
  margin:14px 0 0 !important;
  padding:16px 16px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,209,92,.18) !important;
  background:rgba(0,0,0,.20) !important;
}
.row-review .review-text .text-warning,
.row-review span.text-warning{
  display:inline-block !important;
  margin-top:8px !important;
  color:#ffd15c !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}
.cyber-load-more{
  max-width:420px !important;
  margin:28px auto 0 !important;
  border-radius:14px !important;
  background:rgba(255,209,92,.08) !important;
}
.cyber-quest-page .row:not(.date),
.cyber-quest-page .cyber-quest-main > .row{
  row-gap:22px !important;
}
.cyber-quest-page .row-review{height:100% !important;}

/* Less layout work while loading below-the-fold content. */
.cyber-home #feedbackindex,
.cyber-booking-section,
.cyber-quest-page .u-gallery-1{
  content-visibility:auto;
  contain-intrinsic-size:1px 600px;
}
@media (max-width:991px){
  #feedbackindex.cyber-feedback-grid,
  #feedbackindex{grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:16px !important;}
}
@media (max-width:575px){
  #feedbackindex.cyber-feedback-grid,
  #feedbackindex{grid-template-columns:1fr !important; gap:14px !important;}
  .row-review{grid-template-columns:58px minmax(0, 1fr) !important; padding:16px !important; border-radius:18px !important;}
  .row-review .avatar{width:52px !important; height:52px !important;}
  .row-review .col.pl-0 p:first-child{margin-right:58px !important; font-size:15px !important;}
  .row-review p{font-size:14px !important;}
}


/* ===== KIBERNETIKA v19: modal scroll fix + cleaner review cards ===== */
html.kb-modal-active,
body.kb-modal-active,
body.modal-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
body.kb-modal-active{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  width:auto !important;
}
.modal{overflow:hidden !important;}
.modal-dialog{max-height:calc(100dvh - 32px) !important;}
.modal-content{max-height:calc(100dvh - 32px) !important;}
.modal-body{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
}
.row-review{
  overflow:visible !important;
  isolation:isolate !important;
}
.row-review:hover{transform:translateY(-2px) !important;}
#feedbackindex{padding-top:8px !important;}
.row-review::before{
  border-radius:inherit !important;
  overflow:hidden !important;
  z-index:0 !important;
}
.row-review::after{
  content:none !important;
  display:none !important;
}
.row-review > *{
  position:relative !important;
  z-index:1 !important;
}
.row-review .cyber-review-source-line,
.row-review p:has(> a.cyber-source-badge){
  margin:9px 0 5px !important;
  line-height:1 !important;
}
.row-review a.cyber-source-badge,
.row-review a.text-warning[href*="yandex"],
.row-review a.text-warning[href*="2gis"],
.row-review a.text-warning[href*="2gis.ru"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  padding:7px 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,209,92,.46) !important;
  background:linear-gradient(135deg, rgba(255,209,92,.18), rgba(255,23,68,.09)) !important;
  color:#ffd15c !important;
  text-decoration:none !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  box-shadow:0 0 18px rgba(255,209,92,.10), inset 0 0 0 1px rgba(255,255,255,.04) !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.row-review a.cyber-source-badge::before,
.row-review a.text-warning[href*="yandex"]::before,
.row-review a.text-warning[href*="2gis"]::before,
.row-review a.text-warning[href*="2gis.ru"]::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:50%;
  background:#ffd15c;
  box-shadow:0 0 10px rgba(255,209,92,.75);
}
.row-review a.text-warning[href*="2gis"]::before,
.row-review a.text-warning[href*="2gis.ru"]::before{
  background:#22e36f;
  box-shadow:0 0 10px rgba(34,227,111,.75);
}
.row-review a.cyber-source-badge:hover,
.row-review a.text-warning[href*="yandex"]:hover,
.row-review a.text-warning[href*="2gis"]:hover,
.row-review a.text-warning[href*="2gis.ru"]:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(18,247,255,.62) !important;
  box-shadow:0 0 24px rgba(18,247,255,.16), inset 0 0 0 1px rgba(255,255,255,.07) !important;
}
.row-review .review-text{overflow:visible !important;}
.row-review .cyber-review-toggle,
.row-review .review-text .text-warning,
.row-review span.text-warning{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  margin-top:12px !important;
  padding:9px 13px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,209,92,.42) !important;
  background:linear-gradient(135deg, rgba(255,23,68,.18), rgba(255,209,92,.10)) !important;
  color:#ffd15c !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-decoration:none !important;
  cursor:pointer !important;
  user-select:none !important;
  box-shadow:0 0 18px rgba(255,23,68,.12) !important;
}
.row-review .cyber-review-toggle:hover,
.row-review .review-text .text-warning:hover,
.row-review span.text-warning:hover{
  border-color:rgba(18,247,255,.55) !important;
  box-shadow:0 0 22px rgba(18,247,255,.14) !important;
  transform:translateY(-1px) !important;
}
@media (max-width:575px){
  .modal-dialog{max-height:calc(100dvh - 16px) !important;}
  .modal-content{max-height:calc(100dvh - 16px) !important;}
  #feedbackindex{padding-top:6px !important;}
}


/* ===== KIBERNETIKA v20: возвращаем фирменный фон шапки и мобильный кешбэк-баннер ===== */
.kh-header{
  background-color:#07030a !important;
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.26), rgba(0,0,0,.42)),
    linear-gradient(90deg, rgba(255,23,68,.08), rgba(255,209,92,.06), rgba(18,247,255,.06)),
    url("/images/head.png") !important;
  background-repeat:no-repeat, no-repeat, repeat-x !important;
  background-position:center, center, center top !important;
  background-size:cover, cover, auto 100% !important;
}
.kh-nav-main{
  background:rgba(0,0,0,.10) !important;
}
.kh-cabinet-banner{
  display:block !important;
  background:
    linear-gradient(90deg, rgba(38,7,13,.94), rgba(18,10,18,.86) 48%, rgba(5,17,21,.82)),
    url("/images/head.png") center/auto 100% repeat-x !important;
  border-top:1px solid rgba(255,209,92,.30) !important;
  border-bottom:1px solid rgba(255,209,92,.54) !important;
}
.kh-banner-content{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.kh-banner-text{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  line-height:1.25 !important;
}
.kh-banner-text span{
  display:inline !important;
}
.kh-banner-btn{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
@media (max-width: 575px){
  .kh-header{
    background-image:
      linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.48)),
      url("/images/head.png") !important;
    background-repeat:no-repeat, repeat-x !important;
    background-position:center, center top !important;
    background-size:cover, auto 100% !important;
  }
  .kh-cabinet-banner{
    display:block !important;
    padding:8px 0 !important;
  }
  .kh-cabinet-banner .kh-container{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .kh-banner-content{
    gap:10px !important;
  }
  .kh-banner-text{
    flex:1 1 auto !important;
    font-size:12px !important;
    letter-spacing:.01em !important;
  }
  .kh-banner-text i{
    flex:0 0 auto !important;
    font-size:13px !important;
  }
  .kh-banner-btn{
    min-height:34px !important;
    padding:7px 10px !important;
    border-radius:13px !important;
    font-size:0 !important;
    width:42px !important;
    min-width:42px !important;
  }
  .kh-banner-btn::before{
    content:"?";
    font-size:15px !important;
    line-height:1 !important;
  }
  .kh-banner-btn i{
    display:none !important;
  }
}
@media (max-width: 390px){
  .kh-banner-text{font-size:11px !important;}
  .kh-banner-text span{
    display:-webkit-box !important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}


/* ===== KIBERNETIKA v21: затемнение фоновых полос шапки и нормальная мобильная иконка "Узнать больше" ===== */
.kh-header{
  background-color:#050307 !important;
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.70), rgba(0,0,0,.78)),
    linear-gradient(90deg, rgba(255,23,68,.16), rgba(0,0,0,.18) 45%, rgba(18,247,255,.12)),
    url("/images/head.png") !important;
  background-repeat:no-repeat, no-repeat, repeat-x !important;
  background-position:center, center, center top !important;
  background-size:cover, cover, auto 100% !important;
}
.kh-nav-main{
  background:linear-gradient(180deg, rgba(0,0,0,.64), rgba(0,0,0,.46)) !important;
  box-shadow:inset 0 -1px 0 rgba(255,209,92,.16) !important;
}
.kh-cabinet-banner{
  background-color:#080306 !important;
  background-image:
    linear-gradient(90deg, rgba(0,0,0,.76), rgba(19,6,12,.78) 42%, rgba(0,0,0,.72)),
    linear-gradient(180deg, rgba(0,0,0,.54), rgba(0,0,0,.70)),
    url("/images/head.png") !important;
  background-repeat:no-repeat, no-repeat, repeat-x !important;
  background-position:center, center, center top !important;
  background-size:cover, cover, auto 100% !important;
}
.kh-header .kh-social-link,
.kh-header .kh-phone,
.kh-header .kh-auth-btn,
.kh-header .kh-banner-btn{
  box-shadow:0 10px 26px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
@media (max-width: 575px){
  .kh-header{
    background-image:
      linear-gradient(180deg, rgba(0,0,0,.74), rgba(0,0,0,.82)),
      linear-gradient(90deg, rgba(255,23,68,.12), rgba(18,247,255,.10)),
      url("/images/head.png") !important;
    background-repeat:no-repeat, no-repeat, repeat-x !important;
    background-position:center, center, center top !important;
    background-size:cover, cover, auto 100% !important;
  }
  .kh-cabinet-banner{
    background-image:
      linear-gradient(90deg, rgba(0,0,0,.78), rgba(31,9,13,.80), rgba(0,0,0,.76)),
      linear-gradient(180deg, rgba(0,0,0,.54), rgba(0,0,0,.72)),
      url("/images/head.png") !important;
    background-repeat:no-repeat, no-repeat, repeat-x !important;
    background-position:center, center, center top !important;
    background-size:cover, cover, auto 100% !important;
  }
  .kh-banner-btn{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    min-width:42px !important;
    height:34px !important;
    padding:0 !important;
    font-size:0 !important;
    overflow:hidden !important;
  }
  .kh-banner-btn::before{
    content:"➜" !important;
    display:block !important;
    font-family:Arial, sans-serif !important;
    font-size:18px !important;
    font-weight:900 !important;
    line-height:1 !important;
    color:var(--cy-yellow) !important;
    transform:translateY(-1px) !important;
  }
  .kh-banner-btn i{
    display:none !important;
  }
}


/* ===== KIBERNETIKA v22: фон head.png используется один раз и растягивается как в старой шапке ===== */
.kh-header{
  background-color:#050307 !important;
  background-image:none !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
  background-size:auto !important;
}
.kh-nav-main{
  background-color:#050307 !important;
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.66)),
    linear-gradient(90deg, rgba(255,23,68,.10), rgba(0,0,0,.12) 45%, rgba(18,247,255,.08)),
    url("/images/head.png") !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-position:center, center, center !important;
  background-size:100% 100%, 100% 100%, 100% 100% !important;
  box-shadow:inset 0 -1px 0 rgba(255,209,92,.16) !important;
}
.kh-cabinet-banner{
  background-color:#10050b !important;
  background-image:
    linear-gradient(90deg, rgba(45,7,15,.92), rgba(28,12,18,.86) 44%, rgba(7,18,22,.84)),
    linear-gradient(180deg, rgba(0,0,0,.32), rgba(0,0,0,.50)) !important;
  background-repeat:no-repeat, no-repeat !important;
  background-position:center, center !important;
  background-size:cover, cover !important;
}
@media (max-width:575px){
  .kh-header{
    background-image:none !important;
  }
  .kh-nav-main{
    background-image:
      linear-gradient(180deg, rgba(0,0,0,.52), rgba(0,0,0,.66)),
      linear-gradient(90deg, rgba(255,23,68,.10), rgba(18,247,255,.08)),
      url("/images/head.png") !important;
    background-repeat:no-repeat, no-repeat, no-repeat !important;
    background-position:center, center, center !important;
    background-size:100% 100%, 100% 100%, 100% 100% !important;
  }
  .kh-cabinet-banner{
    background-image:
      linear-gradient(90deg, rgba(46,8,16,.94), rgba(25,10,16,.88), rgba(5,16,20,.86)),
      linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.54)) !important;
    background-repeat:no-repeat, no-repeat !important;
    background-position:center, center !important;
    background-size:cover, cover !important;
  }
}


/* ===== KIBERNETIKA v23: шапка как в старой версии — один растянутый head.png без повторов ===== */
.kh-header{
  background-color:#050307 !important;
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.68), rgba(0,0,0,.76)),
    linear-gradient(90deg, rgba(255,23,68,.12), rgba(0,0,0,.08) 48%, rgba(18,247,255,.08)),
    url("/images/head.png") !important;
  background-repeat:no-repeat, no-repeat, no-repeat !important;
  background-position:center center, center center, center center !important;
  background-size:100% 100%, 100% 100%, cover !important;
  box-shadow:0 12px 44px rgba(0,0,0,.52), inset 0 -1px 0 rgba(255,209,92,.18) !important;
}
.kh-nav-main{
  background:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.28)) !important;
  background-image:linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.28)) !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  background-position:center !important;
  border-bottom:1px solid rgba(255,209,92,.12) !important;
}
.kh-cabinet-banner{
  background-color:#16050c !important;
  background-image:
    radial-gradient(circle at 18% 0%, rgba(255,209,92,.12), transparent 34%),
    linear-gradient(90deg, rgba(59,8,16,.92), rgba(26,10,17,.90) 46%, rgba(5,17,22,.88)) !important;
  background-repeat:no-repeat, no-repeat !important;
  background-position:center, center !important;
  background-size:cover, cover !important;
  border-top:1px solid rgba(255,209,92,.20) !important;
  border-bottom:2px solid rgba(255,23,68,.92) !important;
}
.kh-cabinet-banner::before,
.kh-cabinet-banner::after{
  display:none !important;
  content:none !important;
}
.kh-banner-btn::before{
  content:none !important;
  display:none !important;
}
.kh-banner-btn i{
  display:inline-block !important;
}
@media (max-width:575px){
  .kh-header{
    background-image:
      linear-gradient(180deg, rgba(0,0,0,.62), rgba(0,0,0,.76)),
      linear-gradient(90deg, rgba(255,23,68,.10), rgba(18,247,255,.08)),
      url("/images/head.png") !important;
    background-repeat:no-repeat, no-repeat, no-repeat !important;
    background-position:center center, center center, center center !important;
    background-size:100% 100%, 100% 100%, cover !important;
  }
  .kh-nav-main{
    background:linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.30)) !important;
    padding:12px 0 10px !important;
  }
  .kh-nav-main .kh-container{
    gap:12px !important;
  }
  .kh-nav-right{
    order:1 !important;
    gap:8px !important;
  }
  .kh-nav-left{
    order:2 !important;
  }
  .kh-nav{
    gap:22px !important;
  }
  .kh-nav-item{
    font-size:14px !important;
    padding:8px 0 9px !important;
  }
  .kh-cabinet-banner{
    padding:13px 0 14px !important;
    background-image:
      radial-gradient(circle at 18% 0%, rgba(255,209,92,.13), transparent 38%),
      linear-gradient(135deg, rgba(70,8,17,.95), rgba(34,9,18,.92) 50%, rgba(5,20,25,.88)) !important;
    border-bottom:2px solid rgba(255,23,68,.95) !important;
  }
  .kh-banner-content{
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
    text-align:center !important;
  }
  .kh-banner-text{
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    font-size:16px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    color:var(--cy-yellow) !important;
  }
  .kh-banner-text span{
    display:block !important;
    max-width:310px !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:initial !important;
  }
  .kh-banner-text i{
    align-self:flex-start !important;
    margin-top:4px !important;
    font-size:14px !important;
  }
  .kh-banner-btn{
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    min-height:38px !important;
    padding:8px 18px !important;
    border-radius:16px !important;
    font-size:14px !important;
    line-height:1 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    overflow:visible !important;
    white-space:nowrap !important;
  }
  .kh-banner-btn i{
    display:inline-block !important;
    font-size:14px !important;
  }
}
@media (max-width:390px){
  .kh-nav{gap:18px !important;}
  .kh-banner-text{font-size:15px !important;}
  .kh-banner-text span{max-width:280px !important;}
  .kh-banner-btn{font-size:13px !important; padding:8px 16px !important;}
}

/* ===== KIBERNETIKA v24: old-style main hero block ===== */
.cyber-home.u-section-1{
  padding-top:28px !important;
}
.cyber-hero-panel{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto 22px !important;
  padding:18px 14px 6px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:visible !important;
}
.cyber-hero-panel::before,
.cyber-hero-panel::after{
  display:none !important;
  content:none !important;
}
.u-section-1 .cyber-logo{
  display:block !important;
  width:min(760px, 72vw) !important;
  max-width:100% !important;
  max-height:none !important;
  height:auto !important;
  margin:0 auto -2px !important;
  filter:drop-shadow(0 0 18px rgba(255,209,92,.22)) drop-shadow(0 0 20px rgba(255,23,68,.10)) !important;
}
.cyber-home .u-text-1{
  display:block !important;
  width:max-content !important;
  max-width:96vw !important;
  margin:0 auto !important;
  padding:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  font-size:clamp(14px, 2.05vw, 25px) !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:.015em !important;
  text-transform:uppercase !important;
  color:#fff !important;
  text-shadow:0 0 12px rgba(255,255,255,.18), 0 0 18px rgba(255,209,92,.16) !important;
}
.cyber-hero-actions{
  display:none !important;
}
.cyber-section-line{
  margin-top:18px !important;
}
@media (max-width: 767px){
  .cyber-home.u-section-1{
    padding-top:20px !important;
  }
  .cyber-hero-panel{
    padding:12px 8px 2px !important;
    margin-bottom:14px !important;
  }
  .u-section-1 .cyber-logo{
    width:min(94vw, 560px) !important;
    margin-bottom:0 !important;
  }
  .cyber-home .u-text-1{
    max-width:99vw !important;
    font-size:clamp(10px, 3.05vw, 14px) !important;
    letter-spacing:.005em !important;
    transform:scaleX(.96);
    transform-origin:center;
  }
  .cyber-section-line{
    margin-top:14px !important;
  }
}
@media (max-width: 390px){
  .cyber-home .u-text-1{
    font-size:10px !important;
    transform:scaleX(.92);
  }
}

/* ===== v25: категория «Прочее» и страницы проектов без расписания ===== */
.cyber-other-title{
  margin-top:42px !important;
}
.cyber-project-grid,
.cyber-project-repeater{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:30px !important;
  width:100% !important;
}
.cyber-project-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:0 !important;
  padding:14px !important;
  border:1px solid rgba(255,210,64,.42) !important;
  border-radius:22px !important;
  background:
    linear-gradient(145deg, rgba(12,8,20,.94), rgba(5,17,27,.9)),
    radial-gradient(circle at 20% 0%, rgba(255,19,73,.2), transparent 42%) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.42), inset 0 0 0 1px rgba(0,224,255,.08) !important;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
.cyber-project-card:hover{
  transform:translateY(-6px) !important;
  border-color:rgba(0,229,255,.82) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.58), 0 0 34px rgba(0,229,255,.14), inset 0 0 0 1px rgba(255,210,64,.12) !important;
}
.cyber-project-media{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  aspect-ratio:16 / 9 !important;
  border-radius:16px !important;
  border:1px solid rgba(0,229,255,.38) !important;
  cursor:pointer !important;
  background:#05060d !important;
}
.cyber-project-poster{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  transform:scale(1.01) !important;
  transition:transform .35s ease, filter .35s ease !important;
}
.cyber-project-card:hover .cyber-project-poster{
  transform:scale(1.06) !important;
  filter:contrast(1.08) saturate(1.08) brightness(.95) !important;
}
.cyber-project-info{
  position:relative !important;
  z-index:2 !important;
  padding:18px 4px 0 !important;
}
.cyber-project-info h2{
  margin:0 0 8px !important;
  font-size:26px !important;
  line-height:1.05 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.cyber-project-description{
  color:rgba(255,255,255,.72) !important;
  font-size:15px !important;
  line-height:1.45 !important;
  margin:14px 0 18px !important;
  min-height:64px !important;
}
.cyber-project-layout{
  display:grid !important;
  grid-template-columns:minmax(320px, 470px) minmax(0, 1fr) !important;
  gap:42px !important;
  align-items:start !important;
  width:100% !important;
  padding:34px 0 !important;
}
.cyber-project-aside{
  position:relative !important;
  min-width:0 !important;
}
.cyber-project-sticky{
  position:sticky !important;
  top:18px !important;
  z-index:3 !important;
  padding:14px !important;
  border:1px solid rgba(255,210,64,.38) !important;
  border-radius:22px !important;
  background:linear-gradient(150deg, rgba(11,8,19,.96), rgba(5,18,27,.92)) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.45), inset 0 0 0 1px rgba(0,229,255,.08) !important;
}
.cyber-project-detail-poster{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  object-fit:cover !important;
  border:1px solid rgba(0,229,255,.4) !important;
  border-radius:16px !important;
  background:#05060d !important;
}
.cyber-project-age{
  position:absolute !important;
  right:22px !important;
  bottom:88px !important;
  width:48px !important;
  height:48px !important;
  z-index:4 !important;
}
.cyber-project-main{
  min-width:0 !important;
}
.cyber-project-kicker{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 14px !important;
  padding:7px 14px !important;
  border:1px solid rgba(255,210,64,.55) !important;
  border-radius:999px !important;
  color:#ffd64d !important;
  background:rgba(255,210,64,.08) !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  font-size:12px !important;
}
.cyber-project-desc{
  margin:16px 0 24px !important;
  padding:22px !important;
  border:1px solid rgba(0,229,255,.28) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg, rgba(12,14,26,.74), rgba(8,20,30,.56)) !important;
}
.cyber-project-gallery-inner{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  height:auto !important;
}
.cyber-project-gallery-inner .u-gallery-item,
.cyber-project-gallery-inner .quest-photo-frame{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
}
.cyber-project-video{
  width:100% !important;
  height:420px !important;
  clear:both !important;
}
.cyber-project-request-section{
  position:relative !important;
  padding:32px 0 66px !important;
  background:transparent !important;
}
.cyber-project-request-panel{
  max-width:980px !important;
  margin:0 auto !important;
  padding:28px !important;
  border:1px solid rgba(255,210,64,.36) !important;
  border-radius:24px !important;
  background:linear-gradient(145deg, rgba(9,8,18,.95), rgba(5,20,29,.9)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.48), inset 0 0 0 1px rgba(0,229,255,.07) !important;
}
.cyber-project-request-lead{
  max-width:760px !important;
  margin:0 auto 22px !important;
  color:rgba(255,255,255,.76) !important;
  line-height:1.55 !important;
  text-align:center !important;
}
.cyber-project-request-form label{
  color:#ffd64d !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  font-size:13px !important;
  letter-spacing:.05em !important;
}
.cyber-project-request-form .form-control{
  background:rgba(3,6,13,.82) !important;
  color:#fff !important;
  border:1px solid rgba(0,229,255,.26) !important;
  border-radius:12px !important;
  min-height:46px !important;
  box-shadow:none !important;
}
.cyber-project-request-form .form-control:focus{
  border-color:rgba(255,210,64,.75) !important;
  box-shadow:0 0 0 .2rem rgba(255,210,64,.11) !important;
}
.cyber-project-request-result .alert{
  border-radius:14px !important;
  margin:10px 0 16px !important;
}
@media (max-width: 991px){
  .cyber-project-grid,
  .cyber-project-repeater{grid-template-columns:1fr !important; gap:22px !important;}
  .cyber-project-layout{grid-template-columns:1fr !important; gap:26px !important; padding:20px 0 !important;}
  .cyber-project-sticky{position:relative !important; top:auto !important;}
  .cyber-project-gallery-inner{grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:10px !important;}
  .cyber-project-video{height:280px !important;}
  .cyber-project-info h2{font-size:22px !important;}
}
@media (max-width: 575px){
  .cyber-project-card{padding:10px !important; border-radius:18px !important;}
  .cyber-project-description{min-height:0 !important;}
  .cyber-project-gallery-inner{grid-template-columns:repeat(2, minmax(0, 1fr)) !important;}
  .cyber-project-request-panel{padding:20px 14px !important; border-radius:18px !important;}
  .cyber-project-page .u-text-1{font-size:38px !important;}
  .cyber-project-age{bottom:82px !important; width:42px !important; height:42px !important;}
}

/* ===== v26: «Прочее» широкими строками + новая страница проекта ===== */
.cyber-project-grid,
.cyber-project-repeater{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:24px !important;
  width:100% !important;
  max-width:100% !important;
}
.cyber-project-card{
  width:100% !important;
  min-height:0 !important;
  padding:0 !important;
  border-radius:26px !important;
  border:1px solid rgba(255,210,64,.44) !important;
  background:
    linear-gradient(135deg, rgba(12,8,20,.96) 0%, rgba(7,18,29,.94) 62%, rgba(9,8,18,.98) 100%) !important;
  box-shadow:0 22px 72px rgba(0,0,0,.48), inset 0 0 0 1px rgba(0,229,255,.08) !important;
}
.cyber-project-card > .u-container-layout{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(310px, 42%) minmax(0, 1fr) !important;
  gap:0 !important;
  align-items:stretch !important;
  padding:14px !important;
  min-height:260px !important;
}
.cyber-project-card .cyber-card-scanline,
.cyber-project-card .cyber-card-corners{
  pointer-events:none !important;
}
.cyber-project-media{
  height:100% !important;
  min-height:232px !important;
  border-radius:20px !important;
  aspect-ratio:16 / 9 !important;
  border-color:rgba(0,229,255,.46) !important;
}
.cyber-project-info{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  padding:22px 28px !important;
  text-align:left !important;
}
.cyber-project-info h2{
  text-align:left !important;
  font-size:clamp(30px, 4vw, 56px) !important;
  line-height:.95 !important;
  letter-spacing:.035em !important;
  margin:0 0 12px !important;
}
.cyber-project-info .cyber-card-tags{
  text-align:left !important;
  margin:0 0 18px !important;
}
.cyber-project-description{
  max-width:680px !important;
  min-height:0 !important;
  margin:0 0 22px !important;
  font-size:17px !important;
  line-height:1.55 !important;
  color:rgba(255,255,255,.78) !important;
}
.cyber-project-card .cyber-card-book{
  width:min(320px, 100%) !important;
  margin-top:auto !important;
}
.cyber-project-card:hover{
  transform:translateY(-4px) !important;
}
.cyber-project-page .u-sheet-1{
  max-width:1240px !important;
}
.cyber-project-page{
  padding-top:26px !important;
}
.cyber-project-showcase{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(420px, 52%) minmax(0, 1fr) !important;
  gap:0 !important;
  overflow:hidden !important;
  margin:0 auto 34px !important;
  border:1px solid rgba(255,210,64,.38) !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(255,19,73,.22), transparent 32%),
    linear-gradient(135deg, rgba(12,8,19,.96), rgba(5,20,30,.93)) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.52), inset 0 0 0 1px rgba(0,229,255,.08) !important;
}
.cyber-project-showcase:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.42;
  mix-blend-mode:screen;
}
.cyber-project-hero-media{
  position:relative !important;
  min-height:410px !important;
  overflow:hidden !important;
  background:#05060d !important;
}
.cyber-project-hero-media:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, transparent 60%, rgba(5,9,17,.72) 100%), linear-gradient(180deg, transparent 65%, rgba(0,0,0,.24));
}
.cyber-project-detail-poster{
  width:100% !important;
  height:100% !important;
  min-height:410px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  border:0 !important;
  border-radius:0 !important;
  display:block !important;
}
.cyber-project-age{
  right:20px !important;
  bottom:18px !important;
  width:54px !important;
  height:54px !important;
}
.cyber-project-hero-info{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:410px !important;
  padding:42px 44px !important;
}
.cyber-project-hero-info .u-text-1{
  font-size:clamp(46px, 5.5vw, 82px) !important;
  line-height:.92 !important;
  letter-spacing:.035em !important;
  margin:0 0 12px !important;
}
.cyber-project-hero-info .u-text-2{
  font-size:16px !important;
  line-height:1.25 !important;
  color:#ffd64d !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
.cyber-project-hero-info .cyber-project-desc{
  margin:18px 0 20px !important;
  padding:20px !important;
  border-color:rgba(0,229,255,.3) !important;
  background:linear-gradient(145deg, rgba(7,10,20,.78), rgba(8,27,38,.55)) !important;
}
.cyber-project-readmore{
  display:inline-flex !important;
  align-items:center !important;
  margin-top:16px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#ffd64d !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  cursor:pointer !important;
}
.cyber-project-readmore:hover{
  color:#fff !important;
  text-shadow:0 0 14px rgba(255,210,64,.55) !important;
}
.cyber-project-actions{
  display:flex !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.cyber-project-actions .btn{
  min-width:210px !important;
  margin:0 !important;
}
.cyber-project-content-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 430px) !important;
  gap:28px !important;
  align-items:start !important;
  margin:0 auto 64px !important;
}
.cyber-project-media-panel,
.cyber-project-request-panel{
  position:relative !important;
  border:1px solid rgba(255,210,64,.32) !important;
  border-radius:26px !important;
  background:linear-gradient(145deg, rgba(9,8,18,.94), rgba(5,20,29,.88)) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.44), inset 0 0 0 1px rgba(0,229,255,.07) !important;
}
.cyber-project-media-panel{
  padding:24px !important;
  overflow:hidden !important;
}
.cyber-project-request-panel{
  margin:0 !important;
  max-width:none !important;
  padding:24px !important;
  position:sticky !important;
  top:18px !important;
}
.cyber-project-subtitle{
  margin-bottom:18px !important;
}
.cyber-project-gallery-inner{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:12px !important;
  height:auto !important;
}
.cyber-project-gallery-inner .u-gallery-item,
.cyber-project-gallery-inner .quest-photo-frame{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  border-radius:16px !important;
  overflow:hidden !important;
}
.cyber-project-gallery-inner .quest-gallery-img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.cyber-project-video{
  width:100% !important;
  height:clamp(320px, 38vw, 520px) !important;
  clear:both !important;
  margin-top:20px !important;
}
.cyber-project-request-lead{
  text-align:left !important;
  margin:0 0 20px !important;
}
.cyber-project-request-form .form-row{
  display:block !important;
}
.cyber-project-request-form .form-row > [class*="col-"]{
  max-width:100% !important;
  flex:0 0 100% !important;
}
@media (max-width: 991px){
  .cyber-project-card > .u-container-layout{
    grid-template-columns:1fr !important;
    min-height:0 !important;
    padding:12px !important;
  }
  .cyber-project-media{min-height:0 !important;}
  .cyber-project-info{padding:18px 8px 4px !important;}
  .cyber-project-info h2{font-size:34px !important;}
  .cyber-project-card .cyber-card-book{width:100% !important;}
  .cyber-project-showcase{
    grid-template-columns:1fr !important;
    border-radius:24px !important;
  }
  .cyber-project-hero-media,
  .cyber-project-detail-poster{
    min-height:0 !important;
    aspect-ratio:16 / 9 !important;
    height:auto !important;
  }
  .cyber-project-hero-media:after{
    background:linear-gradient(180deg, transparent 58%, rgba(5,9,17,.76) 100%);
  }
  .cyber-project-hero-info{
    min-height:0 !important;
    padding:26px 20px !important;
  }
  .cyber-project-hero-info .u-text-1{
    font-size:clamp(38px, 10vw, 64px) !important;
  }
  .cyber-project-content-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .cyber-project-request-panel{
    position:relative !important;
    top:auto !important;
  }
  .cyber-project-gallery-inner{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .cyber-project-video{height:320px !important;}
}
@media (max-width: 575px){
  .cyber-project-card{border-radius:20px !important;}
  .cyber-project-info h2{font-size:28px !important;}
  .cyber-project-description{font-size:15px !important;}
  .cyber-project-page{padding-top:14px !important;}
  .cyber-project-showcase,
  .cyber-project-media-panel,
  .cyber-project-request-panel{border-radius:20px !important;}
  .cyber-project-hero-info{padding:22px 14px !important;}
  .cyber-project-hero-info .u-text-1{font-size:36px !important;}
  .cyber-project-actions .btn{width:100% !important; min-width:0 !important;}
  .cyber-project-media-panel,
  .cyber-project-request-panel{padding:16px 12px !important;}
  .cyber-project-gallery-inner{gap:8px !important;}
  .cyber-project-video{height:240px !important;}
  .cyber-project-age{width:42px !important; height:42px !important; right:12px !important; bottom:12px !important;}
}


/* ===== v27: переработка блока «Прочее» и страницы проекта ===== */
.cyber-project-grid,
.cyber-project-repeater{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:28px !important;
}
.cyber-project-card{
  overflow:hidden !important;
  border-radius:30px !important;
  border:1px solid rgba(255,210,64,.42) !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(0,229,255,.13), transparent 36%),
    radial-gradient(circle at 92% 90%, rgba(255,19,73,.13), transparent 34%),
    linear-gradient(135deg, rgba(8,7,17,.98), rgba(5,16,25,.96) 56%, rgba(8,7,17,.98)) !important;
  box-shadow:0 26px 82px rgba(0,0,0,.50), inset 0 0 0 1px rgba(0,229,255,.08) !important;
}
.cyber-project-card > .u-container-layout{
  display:grid !important;
  grid-template-columns:minmax(340px, 38%) minmax(0, 1fr) !important;
  align-items:center !important;
  gap:28px !important;
  min-height:300px !important;
  padding:18px !important;
}
.cyber-project-card .cyber-project-media{
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16 / 9 !important;
  border-radius:22px !important;
  border:1px solid rgba(0,229,255,.48) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.46), 0 0 24px rgba(0,229,255,.08) !important;
}
.cyber-project-card .cyber-project-media:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(0,0,0,.15), transparent 42%, rgba(0,0,0,.2)), linear-gradient(180deg, transparent 58%, rgba(0,0,0,.28));
}
.cyber-project-card .cyber-project-info{
  min-width:0 !important;
  height:100% !important;
  justify-content:center !important;
  align-items:flex-start !important;
  text-align:left !important;
  padding:10px 24px 10px 0 !important;
}
.cyber-project-card .cyber-project-info:before{
  content:"ПРОЧЕЕ";
  display:inline-flex;
  margin:0 0 14px;
  padding:5px 12px;
  border-radius:999px;
  border:1px solid rgba(255,210,64,.54);
  color:#ffd64d;
  background:rgba(255,210,64,.08);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.cyber-project-card .cyber-project-info h2{
  max-width:100% !important;
  margin:0 0 12px !important;
  font-size:clamp(30px, 4.2vw, 54px) !important;
  line-height:1 !important;
  letter-spacing:.035em !important;
  text-align:left !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.cyber-project-card .cyber-project-info .cyber-card-tags{
  text-align:left !important;
  margin:0 0 16px !important;
}
.cyber-project-card .cyber-project-description{
  max-width:680px !important;
  margin:0 0 22px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:16px !important;
  line-height:1.6 !important;
}
.cyber-project-card .cyber-card-book{
  width:min(260px, 100%) !important;
  margin:0 !important;
  min-height:54px !important;
  box-shadow:0 16px 34px rgba(255,18,72,.24) !important;
}
.cyber-project-card:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(0,229,255,.7) !important;
}

.cyber-project-page .u-sheet-1{
  max-width:1180px !important;
}
.cyber-project-page{
  padding-top:28px !important;
}
.cyber-project-showcase{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:clamp(430px, 48vw, 560px) !important;
  margin:0 auto 34px !important;
  overflow:hidden !important;
  border-radius:32px !important;
  border:1px solid rgba(255,210,64,.44) !important;
  background:#060711 !important;
  box-shadow:0 28px 90px rgba(0,0,0,.56), inset 0 0 0 1px rgba(0,229,255,.08) !important;
}
.cyber-project-showcase:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(110deg, rgba(0,229,255,.08), transparent 28%, rgba(255,19,73,.08) 100%) !important;
  background-size:44px 44px, 44px 44px, auto !important;
  opacity:.78 !important;
  mix-blend-mode:screen !important;
}
.cyber-project-hero-media{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  min-height:0 !important;
  height:100% !important;
  overflow:hidden !important;
}
.cyber-project-hero-media:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(5,5,12,.94) 0%, rgba(7,8,18,.82) 37%, rgba(7,9,18,.28) 72%, rgba(7,9,18,.42) 100%),
    linear-gradient(0deg, rgba(5,5,12,.76) 0%, transparent 48%) !important;
}
.cyber-project-detail-poster{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center !important;
  border:0 !important;
  border-radius:0 !important;
  display:block !important;
  filter:brightness(.72) contrast(1.08) saturate(1.08) !important;
  transform:scale(1.01) !important;
}
.cyber-project-age{
  right:22px !important;
  bottom:20px !important;
  width:54px !important;
  height:54px !important;
  z-index:5 !important;
}
.cyber-project-hero-info{
  position:relative !important;
  z-index:3 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  max-width:680px !important;
  min-height:clamp(430px, 48vw, 560px) !important;
  padding:46px !important;
}
.cyber-project-kicker{
  margin:0 0 14px !important;
  padding:7px 14px !important;
  border-radius:999px !important;
  background:rgba(255,210,64,.09) !important;
  backdrop-filter:blur(10px) !important;
}
.cyber-project-hero-info .u-text-1{
  max-width:100% !important;
  margin:0 0 14px !important;
  font-size:clamp(42px, 5.4vw, 78px) !important;
  line-height:.95 !important;
  letter-spacing:.035em !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-wrap:balance !important;
  text-shadow:0 0 24px rgba(255,255,255,.16), 0 14px 32px rgba(0,0,0,.5) !important;
}
.cyber-project-hero-info .u-text-2{
  margin:0 0 16px !important;
  font-size:15px !important;
  color:#ffd64d !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
.cyber-project-hero-info .cyber-project-desc{
  width:min(620px, 100%) !important;
  margin:0 0 22px !important;
  padding:20px 22px !important;
  border:1px solid rgba(0,229,255,.36) !important;
  border-radius:20px !important;
  background:linear-gradient(145deg, rgba(7,10,20,.82), rgba(6,22,31,.66)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 16px 42px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(10px) !important;
}
.cyber-project-actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}
.cyber-project-actions .btn{
  min-width:220px !important;
  min-height:52px !important;
  margin:0 !important;
}
.cyber-project-content-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(330px, 390px) !important;
  gap:28px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 auto 66px !important;
}
.cyber-project-media-panel,
.cyber-project-request-panel{
  border-radius:28px !important;
  border:1px solid rgba(255,210,64,.34) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,19,73,.10), transparent 36%),
    linear-gradient(145deg, rgba(9,8,18,.95), rgba(5,20,29,.90)) !important;
  box-shadow:0 24px 72px rgba(0,0,0,.45), inset 0 0 0 1px rgba(0,229,255,.08) !important;
}
.cyber-project-media-panel{
  padding:26px !important;
}
.cyber-project-request-panel{
  margin:0 !important;
  max-width:none !important;
  padding:26px !important;
  position:sticky !important;
  top:18px !important;
}
.cyber-project-gallery-inner{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:12px !important;
  height:auto !important;
}
.cyber-project-gallery-inner .u-gallery-item,
.cyber-project-gallery-inner .quest-photo-frame{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  border-radius:16px !important;
  overflow:hidden !important;
}
.cyber-project-video{
  width:100% !important;
  height:clamp(320px, 36vw, 500px) !important;
  margin-top:22px !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.cyber-project-request-lead{
  text-align:left !important;
  color:rgba(255,255,255,.76) !important;
  margin:0 0 20px !important;
}
.cyber-project-request-form .form-row{
  display:block !important;
}
.cyber-project-request-form .form-row > [class*="col-"]{
  max-width:100% !important;
  flex:0 0 100% !important;
}
.cyber-project-request-form .form-control{
  min-height:48px !important;
  border-radius:13px !important;
}
.cyber-project-request-form textarea.form-control{
  min-height:118px !important;
}

@media (max-width: 991px){
  .cyber-project-card > .u-container-layout{
    grid-template-columns:1fr !important;
    gap:0 !important;
    min-height:0 !important;
    padding:12px !important;
  }
  .cyber-project-card .cyber-project-info{
    padding:18px 8px 6px !important;
  }
  .cyber-project-card .cyber-project-info h2{
    font-size:clamp(28px, 8vw, 42px) !important;
  }
  .cyber-project-card .cyber-card-book{
    width:100% !important;
  }
  .cyber-project-showcase{
    min-height:0 !important;
    border-radius:24px !important;
  }
  .cyber-project-hero-media{
    position:relative !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
  }
  .cyber-project-hero-media:after{
    background:linear-gradient(180deg, transparent 44%, rgba(5,5,12,.86) 100%) !important;
  }
  .cyber-project-detail-poster{
    height:100% !important;
    aspect-ratio:16 / 9 !important;
  }
  .cyber-project-hero-info{
    min-height:0 !important;
    max-width:none !important;
    padding:24px 20px 26px !important;
    background:linear-gradient(145deg, rgba(8,7,17,.96), rgba(5,18,27,.94)) !important;
  }
  .cyber-project-hero-info .u-text-1{
    font-size:clamp(34px, 10vw, 56px) !important;
  }
  .cyber-project-content-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .cyber-project-request-panel{
    position:relative !important;
    top:auto !important;
  }
  .cyber-project-gallery-inner{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .cyber-project-video{height:320px !important;}
}
@media (max-width: 575px){
  .cyber-project-page{padding-top:14px !important;}
  .cyber-project-card{border-radius:22px !important;}
  .cyber-project-card .cyber-project-info h2{font-size:30px !important;}
  .cyber-project-card .cyber-project-description{font-size:15px !important;}
  .cyber-project-showcase,
  .cyber-project-media-panel,
  .cyber-project-request-panel{border-radius:22px !important;}
  .cyber-project-hero-info{padding:22px 14px !important;}
  .cyber-project-hero-info .u-text-1{font-size:32px !important;}
  .cyber-project-hero-info .cyber-project-desc{padding:16px !important;}
  .cyber-project-actions .btn{width:100% !important; min-width:0 !important;}
  .cyber-project-media-panel,
  .cyber-project-request-panel{padding:16px 12px !important;}
  .cyber-project-gallery-inner{gap:8px !important;}
  .cyber-project-video{height:240px !important;}
  .cyber-project-age{width:42px !important; height:42px !important; right:12px !important; bottom:12px !important;}
}

/* ===== v28: проекты quest=0 — legend/description/attention по новым правилам ===== */
.cyber-project-card .cyber-project-description{
  max-width:760px !important;
  font-size:17px !important;
  line-height:1.68 !important;
  color:rgba(255,255,255,.82) !important;
}
.cyber-project-hero-info .cyber-project-hero-text{
  width:min(720px, 100%) !important;
  max-height:none !important;
  margin:4px 0 22px !important;
  padding:22px 24px !important;
  border:1px solid rgba(0,229,255,.36) !important;
  border-radius:22px !important;
  background:
    linear-gradient(135deg, rgba(5,8,18,.82), rgba(7,24,34,.64)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 4px) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035), 0 18px 46px rgba(0,0,0,.28) !important;
  backdrop-filter:blur(10px) !important;
}
.cyber-project-hero-info .cyber-project-hero-text span{
  display:block !important;
  color:rgba(255,255,255,.88) !important;
  font-size:17px !important;
  line-height:1.68 !important;
  font-weight:700 !important;
}
.cyber-project-info-block{
  position:relative !important;
  width:100% !important;
  margin:0 auto 28px !important;
  padding:30px 34px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,210,64,.36) !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,19,73,.12), transparent 34%),
    radial-gradient(circle at 92% 100%, rgba(0,229,255,.10), transparent 34%),
    linear-gradient(145deg, rgba(9,8,18,.95), rgba(5,20,29,.90)) !important;
  box-shadow:0 24px 72px rgba(0,0,0,.42), inset 0 0 0 1px rgba(0,229,255,.07) !important;
}
.cyber-project-info-block:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size:42px 42px;
  opacity:.34;
}
.cyber-project-info-block > *{
  position:relative !important;
  z-index:1 !important;
}
.cyber-project-info-text{
  color:rgba(255,255,255,.84) !important;
  font-size:17px !important;
  line-height:1.72 !important;
  font-weight:700 !important;
}
.cyber-project-info-text p,
.cyber-project-info-text div{
  margin-bottom:12px !important;
}
.cyber-project-request-lead{
  padding:16px 18px !important;
  border:1px solid rgba(0,229,255,.24) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg, rgba(7,10,20,.58), rgba(4,18,28,.46)) !important;
  color:rgba(255,255,255,.82) !important;
  line-height:1.62 !important;
  font-weight:700 !important;
}
.cyber-project-readmore{
  display:none !important;
}
@media (max-width: 991px){
  .cyber-project-hero-info .cyber-project-hero-text{
    width:100% !important;
    padding:18px !important;
  }
  .cyber-project-info-block{
    padding:24px 20px !important;
    border-radius:24px !important;
  }
  .cyber-project-info-text,
  .cyber-project-hero-info .cyber-project-hero-text span{
    font-size:16px !important;
    line-height:1.62 !important;
  }
}
@media (max-width: 575px){
  .cyber-project-card .cyber-project-description{
    font-size:15px !important;
  }
  .cyber-project-info-block{
    padding:20px 14px !important;
    margin-bottom:22px !important;
  }
  .cyber-project-request-lead{
    padding:14px !important;
  }
}

/* ===== v29: проекты quest=0 — бейджи из tags, одинарная рамка легенды, улучшение карточек и защита фото ===== */
.cyber-project-card{
  isolation:isolate !important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease !important;
}
.cyber-project-card:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  opacity:.42 !important;
  background:
    linear-gradient(115deg, transparent 0 28%, rgba(0,229,255,.12) 31%, transparent 35% 100%),
    radial-gradient(circle at 24% 0%, rgba(255,210,64,.14), transparent 28%) !important;
  transform:translateX(-18%) !important;
  transition:opacity .25s ease, transform .45s ease !important;
}
.cyber-project-card:hover:before{
  opacity:.74 !important;
  transform:translateX(0) !important;
}
.cyber-project-card:hover{
  transform:translateY(-6px) scale(1.006) !important;
  box-shadow:0 34px 100px rgba(0,0,0,.58), 0 0 0 1px rgba(0,229,255,.30), inset 0 0 0 1px rgba(255,210,64,.10) !important;
}
.cyber-project-card > .u-container-layout{
  position:relative !important;
  z-index:1 !important;
  grid-template-columns:minmax(360px, 45%) minmax(0, 1fr) !important;
  gap:34px !important;
  padding:18px 24px 18px 18px !important;
}
.cyber-project-card .cyber-project-media{
  position:relative !important;
  overflow:hidden !important;
  min-height:320px !important;
}
.cyber-project-card .cyber-project-media:before{
  z-index:2 !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.12), rgba(0,0,0,.02) 42%, rgba(0,0,0,.30)),
    linear-gradient(180deg, rgba(0,0,0,.10), transparent 42%, rgba(0,0,0,.50)) !important;
}
.cyber-project-card .cyber-project-poster{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:scale(1.015) !important;
  transition:transform .45s ease, filter .3s ease !important;
}
.cyber-project-card:hover .cyber-project-poster{
  transform:scale(1.065) !important;
  filter:brightness(.94) contrast(1.09) saturate(1.06) !important;
}
.cyber-project-card-badge,
.cyber-project-kicker{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:min(92%, 520px) !important;
  min-height:34px !important;
  padding:7px 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,210,64,.62) !important;
  background:linear-gradient(135deg, rgba(255,210,64,.14), rgba(0,229,255,.06)) !important;
  color:#ffd64d !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 0 rgba(0,0,0,.52), 0 0 14px rgba(255,210,64,.22) !important;
  backdrop-filter:blur(10px) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.045) !important;
}
.cyber-project-card-badge{
  position:absolute !important;
  left:16px !important;
  top:16px !important;
  z-index:7 !important;
}
.cyber-project-card-badge:empty,
.cyber-project-kicker:empty{
  display:none !important;
}
.cyber-project-card .cyber-project-info:before{
  display:none !important;
  content:none !important;
}
.cyber-project-card .cyber-project-info h2{
  margin-bottom:18px !important;
  text-shadow:0 0 26px rgba(255,255,255,.12), 0 16px 34px rgba(0,0,0,.44) !important;
}
.cyber-project-card .cyber-project-description{
  position:relative !important;
  padding-left:18px !important;
  border-left:2px solid rgba(0,229,255,.44) !important;
}
.cyber-project-card .cyber-card-book{
  position:relative !important;
  overflow:hidden !important;
}
.cyber-project-card .cyber-card-book:after{
  content:"" !important;
  position:absolute !important;
  inset:-80% auto -80% -30% !important;
  width:46% !important;
  transform:rotate(18deg) translateX(-120%) !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent) !important;
  transition:transform .55s ease !important;
}
.cyber-project-card:hover .cyber-card-book:after{
  transform:rotate(18deg) translateX(360%) !important;
}

.cyber-project-hero-info .cyber-project-desc,
.cyber-project-hero-info .cyber-project-hero-text{
  border:1px solid rgba(0,229,255,.42) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.28) !important;
  background:linear-gradient(135deg, rgba(5,8,18,.80), rgba(7,24,34,.62)) !important;
  outline:0 !important;
}
.cyber-project-hero-info .cyber-project-hero-text span{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
}
.cyber-project-kicker{
  margin:0 0 14px !important;
}

/* Снижаем шанс появления браузерных/Яндекс-подсказок на фото: сам img не становится целью курсора, клики ловит обёртка. */
[data-kb-protected-image="1"]{
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  -webkit-user-drag:none !important;
  -webkit-touch-callout:none !important;
}
.cyber-card-media,
.cyber-project-media,
.cyber-project-hero-media,
.quest-photo-frame{
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-touch-callout:none !important;
}
.cyber-card-media:after,
.cyber-project-media:after,
.quest-photo-frame:after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:6 !important;
  display:block !important;
  background:transparent !important;
  pointer-events:auto !important;
}
.cyber-project-hero-media:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  display:block !important;
  background:transparent !important;
  pointer-events:auto !important;
}
.cyber-card-media .cyber-age-badge,
.cyber-project-media .cyber-project-card-badge{
  pointer-events:none !important;
}

@media (max-width: 991px){
  .cyber-project-card > .u-container-layout{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:12px !important;
  }
  .cyber-project-card .cyber-project-media{
    min-height:0 !important;
  }
  .cyber-project-card .cyber-project-info{
    padding:2px 10px 10px !important;
  }
  .cyber-project-card-badge,
  .cyber-project-kicker{
    font-size:11px !important;
    letter-spacing:.06em !important;
  }
}
@media (max-width: 575px){
  .cyber-project-card-badge{
    left:12px !important;
    top:12px !important;
    max-width:calc(100% - 24px) !important;
  }
  .cyber-project-card .cyber-project-description{
    padding-left:14px !important;
  }
}

/* ===== v30: стабилизация карточек «Прочее» и независимая иконка заявки ===== */
.cyber-project-card,
.cyber-project-card *{
  box-sizing:border-box !important;
}
.cyber-project-card{
  isolation:isolate !important;
}
.cyber-project-card > .u-container-layout{
  display:grid !important;
  grid-template-columns:minmax(360px, 520px) minmax(0, 1fr) !important;
  gap:38px !important;
  align-items:center !important;
  min-height:300px !important;
  padding:18px 34px 18px 18px !important;
}
.cyber-project-card .cyber-card-scanline,
.cyber-project-card .cyber-card-corners{
  position:absolute !important;
  pointer-events:none !important;
}
.cyber-project-card .cyber-project-media{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  max-width:520px !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16 / 9 !important;
  align-self:center !important;
  justify-self:stretch !important;
  margin:0 !important;
  transform:none !important;
}
.cyber-project-card .cyber-project-poster{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.cyber-project-card .cyber-project-info{
  grid-column:2 !important;
  grid-row:1 !important;
  position:relative !important;
  z-index:8 !important;
  width:100% !important;
  max-width:720px !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 0 0 18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  text-align:left !important;
  transform:none !important;
}
.cyber-project-card .cyber-project-info:after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  width:2px !important;
  height:82px !important;
  transform:translateY(-50%) !important;
  background:linear-gradient(180deg, transparent, rgba(0,229,255,.9), transparent) !important;
  box-shadow:0 0 18px rgba(0,229,255,.35) !important;
  pointer-events:none !important;
}
.cyber-project-card .cyber-project-info h2{
  width:100% !important;
  max-width:100% !important;
  margin:0 0 16px !important;
  text-align:left !important;
  font-size:clamp(34px, 4.2vw, 56px) !important;
  line-height:1.02 !important;
  letter-spacing:.06em !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.cyber-project-card .cyber-project-description{
  max-width:620px !important;
  margin:0 0 24px !important;
  padding-left:0 !important;
  border-left:0 !important;
  color:rgba(255,255,255,.78) !important;
}
.cyber-project-card .cyber-card-book{
  align-self:flex-start !important;
  width:min(280px, 100%) !important;
  margin:0 !important;
  transform:none !important;
}
.kb-send-icon{
  display:inline-block !important;
  width:15px !important;
  height:15px !important;
  margin-right:9px !important;
  vertical-align:-2px !important;
  background:currentColor !important;
  clip-path:polygon(0 7%, 100% 50%, 0 93%, 16% 56%, 56% 50%, 16% 44%) !important;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.25)) !important;
}
@media (max-width: 991px){
  .cyber-project-card > .u-container-layout{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:12px !important;
  }
  .cyber-project-card .cyber-project-media,
  .cyber-project-card .cyber-project-info{
    grid-column:1 !important;
    grid-row:auto !important;
    max-width:none !important;
  }
  .cyber-project-card .cyber-project-info{
    padding:6px 10px 12px !important;
  }
  .cyber-project-card .cyber-project-info:after{
    display:none !important;
  }
  .cyber-project-card .cyber-project-info h2{
    font-size:clamp(26px, 8vw, 38px) !important;
  }
  .cyber-project-card .cyber-card-book{
    width:100% !important;
  }
}

/* ===== v31: удобный выбор даты и времени для заявок проектов ===== */
.cyber-datetime-picker{
  display:grid !important;
  gap:18px !important;
  margin:4px 0 18px !important;
}
.cyber-picker-group{
  position:relative !important;
  padding:16px !important;
  border:1px solid rgba(0,229,255,.22) !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(0,229,255,.08), transparent 36%),
    linear-gradient(145deg, rgba(3,8,18,.78), rgba(4,19,28,.58)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 16px 34px rgba(0,0,0,.20) !important;
  overflow:hidden !important;
}
.cyber-picker-group:before{
  content:"" !important;
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  top:0 !important;
  height:1px !important;
  background:linear-gradient(90deg, rgba(255,19,73,.9), rgba(255,210,64,.72), transparent) !important;
  pointer-events:none !important;
}
.cyber-picker-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin-bottom:12px !important;
}
.cyber-picker-head span{
  color:#ffd64d !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.cyber-picker-head small{
  color:rgba(255,255,255,.58) !important;
  font-size:12px !important;
  line-height:1.25 !important;
  text-align:right !important;
}
.cyber-date-strip{
  display:grid !important;
  grid-auto-flow:column !important;
  grid-auto-columns:minmax(76px, 1fr) !important;
  gap:8px !important;
  overflow-x:auto !important;
  padding:2px 2px 10px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(255,210,64,.42) rgba(255,255,255,.06) !important;
  -webkit-overflow-scrolling:touch !important;
}
.cyber-date-strip::-webkit-scrollbar{height:6px !important;}
.cyber-date-strip::-webkit-scrollbar-track{background:rgba(255,255,255,.06) !important; border-radius:99px !important;}
.cyber-date-strip::-webkit-scrollbar-thumb{background:rgba(255,210,64,.42) !important; border-radius:99px !important;}
.cyber-date-option,
.cyber-time-option{
  appearance:none !important;
  border:1px solid rgba(255,210,64,.28) !important;
  background:linear-gradient(145deg, rgba(14,10,20,.78), rgba(5,16,26,.66)) !important;
  color:rgba(255,255,255,.86) !important;
  cursor:pointer !important;
  font-family:inherit !important;
  font-weight:900 !important;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease !important;
  user-select:none !important;
}
.cyber-date-option{
  min-height:74px !important;
  border-radius:15px !important;
  padding:8px 8px 7px !important;
  text-align:center !important;
  display:grid !important;
  grid-template-rows:auto 1fr auto !important;
  align-items:center !important;
}
.cyber-date-option span{
  font-size:10px !important;
  line-height:1 !important;
  color:rgba(255,210,64,.86) !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}
.cyber-date-option strong{
  display:block !important;
  font-size:25px !important;
  line-height:1.1 !important;
  color:#fff !important;
  text-shadow:0 0 14px rgba(255,255,255,.10) !important;
}
.cyber-date-option small{
  display:block !important;
  font-size:10px !important;
  line-height:1 !important;
  color:rgba(255,255,255,.55) !important;
  text-transform:uppercase !important;
}
.cyber-time-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:8px !important;
}
.cyber-time-option{
  min-height:42px !important;
  border-radius:13px !important;
  padding:8px 10px !important;
  font-size:15px !important;
  text-align:center !important;
}
.cyber-date-option:hover,
.cyber-time-option:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(0,229,255,.58) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.28), 0 0 0 1px rgba(0,229,255,.10), 0 0 18px rgba(0,229,255,.10) !important;
}
.cyber-date-option.is-selected,
.cyber-time-option.is-selected{
  color:#fff !important;
  border-color:rgba(255,210,64,.86) !important;
  background:linear-gradient(145deg, rgba(255,19,73,.92), rgba(132,0,34,.90)) !important;
  box-shadow:0 12px 28px rgba(255,19,73,.24), 0 0 0 1px rgba(255,210,64,.20), inset 0 0 0 1px rgba(255,255,255,.08) !important;
}
.cyber-date-option.is-selected span,
.cyber-date-option.is-selected small{
  color:rgba(255,255,255,.88) !important;
}
.cyber-custom-picker{
  display:grid !important;
  grid-template-columns:120px minmax(0, 1fr) !important;
  gap:10px !important;
  align-items:center !important;
  margin:8px 0 0 !important;
}
.cyber-custom-picker span{
  color:rgba(255,210,64,.88) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
.cyber-custom-picker .form-control{
  min-height:42px !important;
  height:42px !important;
  padding:8px 12px !important;
}
.cyber-project-request-form input[type="date"],
.cyber-project-request-form input[type="time"]{
  color-scheme:dark !important;
}
.cyber-project-request-form input[type="date"]::-webkit-calendar-picker-indicator,
.cyber-project-request-form input[type="time"]::-webkit-calendar-picker-indicator{
  filter:invert(1) sepia(1) saturate(3) hue-rotate(340deg) brightness(1.1) !important;
  opacity:.75 !important;
  cursor:pointer !important;
}
@media (max-width: 575px){
  .cyber-picker-group{padding:14px 12px !important; border-radius:18px !important;}
  .cyber-picker-head{align-items:flex-start !important; flex-direction:column !important; gap:4px !important;}
  .cyber-picker-head small{text-align:left !important;}
  .cyber-date-strip{grid-auto-columns:72px !important;}
  .cyber-time-grid{grid-template-columns:repeat(3, minmax(0, 1fr)) !important;}
  .cyber-custom-picker{grid-template-columns:1fr !important; gap:6px !important;}
}

/* ===== v36: личный кабинет в кибер-стиле + аватар в шапке ===== */
.kh-user-btn{
  min-height:44px !important;
  padding:5px 13px 5px 6px !important;
  gap:9px !important;
  display:flex !important;
  align-items:center !important;
  background:linear-gradient(135deg, rgba(9,12,21,.84), rgba(24,18,7,.62)) !important;
}
.kh-user-avatar{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(255,214,77,.78) !important;
  background:
    radial-gradient(circle at 35% 20%, rgba(255,255,255,.25), transparent 34%),
    linear-gradient(145deg, rgba(255,210,64,.82), rgba(84,44,0,.88)) !important;
  box-shadow:0 0 0 2px rgba(255,210,64,.08), 0 0 18px rgba(255,210,64,.18) !important;
}
.kh-user-avatar .fa,
.kh-user-avatar i{display:none !important;}
.kh-user-avatar__img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:50% !important;
  pointer-events:none !important;
  user-select:none !important;
}
.kh-user-avatar__fallback{
  width:14px !important;
  height:14px !important;
  display:block !important;
  color:#13080b !important;
  background:currentColor !important;
  border-radius:50% 50% 42% 42% !important;
  position:relative !important;
  margin-top:-6px !important;
}
.kh-user-avatar__fallback:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:16px !important;
  width:25px !important;
  height:14px !important;
  transform:translateX(-50%) !important;
  border-radius:50% 50% 6px 6px !important;
  background:currentColor !important;
}
.kh-user-info{display:grid !important; gap:0 !important; min-width:0 !important; text-align:left !important;}
.kh-user-name{
  max-width:140px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#fff4c8 !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
}
.kh-user-bonus{
  color:#ffd64d !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}
#personalAccountModal{z-index:2147483600 !important;}
#personalAccountModal + .modal-backdrop,
.modal-backdrop.show{z-index:2147483500 !important;}
#personalAccountModal .modal-dialog{
  max-width:min(920px, calc(100vw - 24px)) !important;
  width:min(920px, calc(100vw - 24px)) !important;
}
#personalAccountModal .modal-content,
#personalAccountModal .lk-modal-content{
  position:relative !important;
  border:1px solid rgba(255,210,64,.46) !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at 6% 0%, rgba(255,23,68,.16), transparent 32%),
    radial-gradient(circle at 95% 10%, rgba(0,229,255,.11), transparent 28%),
    linear-gradient(145deg, rgba(7,9,19,.98), rgba(8,19,29,.96) 54%, rgba(17,5,18,.98)) !important;
  box-shadow:0 26px 90px rgba(0,0,0,.72), 0 0 0 1px rgba(0,229,255,.10), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  overflow:hidden !important;
}
#personalAccountModal .modal-content:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.013) 1px, transparent 1px),
    linear-gradient(115deg, transparent 0 47%, rgba(255,210,64,.08) 48%, transparent 51% 100%) !important;
  background-size:54px 54px,54px 54px,100% 100% !important;
  opacity:.62 !important;
}
#personalAccountModal .modal-header,
#personalAccountModal .lk-modal-header{
  position:relative !important;
  z-index:1 !important;
  min-height:64px !important;
  padding:18px 24px !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,210,64,.26) !important;
  background:linear-gradient(90deg, rgba(255,23,68,.13), rgba(255,210,64,.08), rgba(0,229,255,.06)) !important;
}
#personalAccountModal .modal-title{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#ffe588 !important;
  font-size:19px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  text-shadow:0 0 18px rgba(255,210,64,.18) !important;
}
#personalAccountModal .modal-title:before{
  content:"" !important;
  width:32px !important;
  height:2px !important;
  background:linear-gradient(90deg, #ff1744, #ffd64d) !important;
  box-shadow:0 0 14px rgba(255,23,68,.48) !important;
}
#personalAccountModal .close{
  width:38px !important;
  height:38px !important;
  border:1px solid rgba(255,210,64,.25) !important;
  border-radius:50% !important;
  opacity:1 !important;
  color:#fff4d6 !important;
  background:rgba(255,255,255,.045) !important;
  text-shadow:none !important;
  transition:transform .16s ease, background .16s ease, border-color .16s ease !important;
}
#personalAccountModal .close:hover{
  transform:rotate(90deg) scale(1.03) !important;
  background:rgba(255,23,68,.18) !important;
  border-color:rgba(255,23,68,.54) !important;
}
#personalAccountModal .modal-body,
#personalAccountModal .lk-modal-body{
  position:relative !important;
  z-index:1 !important;
  max-height:calc(100vh - 128px) !important;
  padding:24px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(255,210,64,.55) rgba(255,255,255,.06) !important;
}
#personalAccountModal .modal-body::-webkit-scrollbar{width:8px !important;}
#personalAccountModal .modal-body::-webkit-scrollbar-track{background:rgba(255,255,255,.06) !important; border-radius:99px !important;}
#personalAccountModal .modal-body::-webkit-scrollbar-thumb{background:linear-gradient(#ffd64d,#ff1744) !important; border-radius:99px !important;}
#auth-section{
  padding:24px !important;
  border:1px solid rgba(0,229,255,.22) !important;
  border-radius:22px !important;
  background:linear-gradient(145deg, rgba(2,7,15,.78), rgba(5,18,25,.68)) !important;
}
#auth-section .fa-vk{color:#ffd64d !important; text-shadow:0 0 22px rgba(255,210,64,.22) !important;}
#auth-section h5{color:#fff !important; font-weight:900 !important; text-transform:uppercase !important; letter-spacing:.04em !important;}
.lk-profile-hero{
  position:relative !important;
  padding:20px !important;
  border:1px solid rgba(255,210,64,.30) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,23,68,.18), transparent 38%),
    radial-gradient(circle at 95% 0%, rgba(0,229,255,.12), transparent 35%),
    linear-gradient(145deg, rgba(11,10,24,.86), rgba(4,18,28,.72)) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  overflow:hidden !important;
}
.lk-profile-hero:before{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:0 !important;
  height:1px !important;
  background:linear-gradient(90deg, #ff1744, #ffd64d, transparent) !important;
}
.lk-profile-main{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.lk-profile-left{display:flex !important; align-items:center !important; gap:16px !important; min-width:0 !important;}
.lk-avatar-wrap{
  width:88px !important;
  height:88px !important;
  flex:0 0 88px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  padding:3px !important;
  background:linear-gradient(135deg, rgba(255,210,64,.95), rgba(255,23,68,.62), rgba(0,229,255,.75)) !important;
  box-shadow:0 0 28px rgba(255,210,64,.14) !important;
}
.lk-avatar-image,
.lk-top-avatar{
  width:100% !important;
  height:100% !important;
  border-radius:50% !important;
  object-fit:cover !important;
  display:block !important;
  pointer-events:none !important;
}
.lk-avatar-fallback,
.lk-top-avatar-fallback{
  width:100% !important;
  height:100% !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(145deg, rgba(255,210,64,.9), rgba(95,45,0,.88)) !important;
  color:#12080d !important;
  font-size:32px !important;
}
.lk-profile-text{min-width:0 !important;}
.lk-profile-kicker{
  color:#ffd64d !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-bottom:5px !important;
  opacity:.88 !important;
}
.lk-profile-name{
  color:#fff !important;
  font-size:clamp(26px, 4vw, 42px) !important;
  line-height:.95 !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  text-shadow:0 0 26px rgba(255,255,255,.14) !important;
  overflow-wrap:anywhere !important;
}
.lk-profile-contacts{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:10px !important;
}
.lk-profile-contacts span,
.lk-profile-contact{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:7px 10px !important;
  border:1px solid rgba(0,229,255,.22) !important;
  border-radius:999px !important;
  background:rgba(0,229,255,.045) !important;
  color:rgba(255,255,255,.82) !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.lk-profile-right{display:grid !important; gap:10px !important; min-width:150px !important;}
.lk-balance-card{
  padding:14px 16px !important;
  border:1px solid rgba(255,210,64,.38) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg, rgba(255,210,64,.11), rgba(255,23,68,.07)) !important;
  text-align:center !important;
}
.lk-balance-card__label{color:rgba(255,255,255,.64) !important; font-size:11px !important; font-weight:900 !important; text-transform:uppercase !important; letter-spacing:.08em !important;}
.lk-balance-card__value{color:#ffd64d !important; font-size:24px !important; line-height:1 !important; font-weight:900 !important; margin-top:5px !important; text-shadow:0 0 18px rgba(255,210,64,.18) !important;}
.lk-logout-btn,
.load-more-btn{
  min-height:42px !important;
  border:1px solid rgba(255,23,68,.38) !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, rgba(255,23,68,.88), rgba(132,0,34,.82)) !important;
  color:#fff !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  cursor:pointer !important;
  box-shadow:0 12px 30px rgba(255,23,68,.16) !important;
}
.lk-section{margin-top:22px !important;}
.lk-section-title,
#bookings-container h6{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 14px !important;
  color:#ffd64d !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}
.lk-section-title:before,
#bookings-container h6:before{
  content:"" !important;
  width:32px !important;
  height:2px !important;
  background:linear-gradient(90deg, #ff1744, #ffd64d) !important;
}
.lk-cards-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:12px !important;
}
.lk-card,
.user-info-item,
.lk-promo-card,
.lk-rules-card,
.booking-item{
  border:1px solid rgba(0,229,255,.20) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg, rgba(4,8,18,.78), rgba(8,21,29,.58)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 14px 30px rgba(0,0,0,.23) !important;
}
.lk-info-card{padding:15px !important;}
.lk-info-card__label,
.user-info-label{
  color:#ffd64d !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  margin-bottom:7px !important;
}
.lk-info-card__value,
.user-info-value{
  color:#fff !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  overflow-wrap:anywhere !important;
}
.lk-info-card__value--editable{display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important;}
.lk-icon-btn,
.lk-save-btn,
.lk-cancel-btn,
.name-edit-btn,
.email-edit-btn{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(255,210,64,.42) !important;
  border-radius:50% !important;
  background:rgba(255,210,64,.08) !important;
  color:#ffd64d !important;
  padding:0 !important;
  cursor:pointer !important;
}
.lk-save-btn{border-color:rgba(0,229,255,.48) !important; color:#12f7ff !important; background:rgba(0,229,255,.08) !important;}
.lk-cancel-btn{border-color:rgba(255,23,68,.48) !important; color:#ff6a84 !important; background:rgba(255,23,68,.08) !important;}
.lk-edit-card{padding:15px !important; grid-column:1/-1 !important; flex-direction:column !important; gap:8px !important;}
.lk-edit-card__label{color:#ffd64d !important; font-size:12px !important; font-weight:900 !important; text-transform:uppercase !important;}
.lk-edit-row{display:flex !important; gap:8px !important; align-items:center !important; width:100% !important;}
#personalAccountModal .form-control{
  min-height:44px !important;
  border:1px solid rgba(0,229,255,.32) !important;
  border-radius:12px !important;
  background:rgba(0,3,10,.68) !important;
  color:#fff !important;
  font-weight:700 !important;
}
.lk-error-text{color:#ff6a84 !important; margin-top:8px !important; font-size:13px !important; font-weight:800 !important;}
.lk-link{color:#ffd64d !important; text-decoration:none !important; font-weight:900 !important;}
.lk-muted{color:rgba(255,255,255,.55) !important;}
.lk-field-note{color:rgba(255,255,255,.48) !important; font-size:12px !important; margin-top:6px !important;}
.lk-promo-card{
  position:relative !important;
  padding:18px !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.lk-promo-card:hover{transform:translateY(-2px) !important; border-color:rgba(255,210,64,.48) !important; box-shadow:0 18px 40px rgba(255,210,64,.08) !important;}
.lk-promo-card__title{color:rgba(255,255,255,.62) !important; font-size:12px !important; font-weight:900 !important; text-transform:uppercase !important; letter-spacing:.08em !important; margin-bottom:7px !important;}
.lk-promo-card code,
.promo-code code{
  display:block !important;
  color:#ff3d6e !important;
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:.1em !important;
  background:transparent !important;
  padding:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.copy-tooltip{color:rgba(255,255,255,.52) !important; font-size:12px !important; margin-top:9px !important;}
.lk-rules-card{padding:18px !important; margin-top:12px !important;}
.lk-rules-card__title{color:#fff3bd !important; font-size:15px !important; font-weight:900 !important; margin-bottom:10px !important;}
.lk-rules-list{margin:0 !important; padding-left:18px !important; color:rgba(255,255,255,.82) !important; font-weight:800 !important;}
.lk-rules-list li{margin:7px 0 !important;}
#cashback-history{
  color:rgba(255,255,255,.72) !important;
  font-weight:800 !important;
}
#user-bookings{margin-top:22px !important;}
#bookings-container{display:grid !important; gap:12px !important;}
.booking-item{padding:0 !important; overflow:hidden !important;}
.booking-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:16px 18px !important;
  border-bottom:1px solid rgba(255,210,64,.16) !important;
  background:linear-gradient(90deg, rgba(255,23,68,.10), rgba(255,210,64,.05)) !important;
}
.booking-header strong{color:#fff !important; font-size:16px !important; font-weight:900 !important; text-transform:uppercase !important;}
.booking-details{padding:16px 18px !important; color:rgba(255,255,255,.82) !important; font-weight:800 !important;}
.booking-details p{margin:0 0 9px !important;}
.booking-details strong{color:#ffd64d !important;}
.status-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:30px !important;
  padding:6px 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,210,64,.30) !important;
  background:rgba(255,210,64,.08) !important;
  color:#ffd64d !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.status-cancelled,.status-canceled{border-color:rgba(255,23,68,.38) !important; color:#ff6a84 !important; background:rgba(255,23,68,.08) !important;}
.status-completed{border-color:rgba(0,229,255,.38) !important; color:#12f7ff !important; background:rgba(0,229,255,.08) !important;}
.photo-info,
.video-info,
.staff-info,
.countdown-info,
.tip-info{
  margin-top:10px !important;
  padding:12px !important;
  border:1px solid rgba(0,229,255,.16) !important;
  border-radius:14px !important;
  background:rgba(0,229,255,.035) !important;
}
#personalAccountModal .btn,
.load-more-btn{
  border-radius:14px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}
.user-info-item{
  padding:15px !important;
  margin-bottom:12px !important;
}
.promo-code,
.promo-info{
  border:1px solid rgba(0,229,255,.20) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg, rgba(4,8,18,.78), rgba(8,21,29,.58)) !important;
  padding:18px !important;
  margin-top:12px !important;
}
.promo-info strong{color:#fff3bd !important;}
.promo-info ul{margin:10px 0 0 !important; padding-left:18px !important; color:rgba(255,255,255,.82) !important; font-weight:800 !important;}
#user-greeting:empty{display:none !important;}
@media (max-width: 991px){
  #personalAccountModal .modal-dialog{max-width:calc(100vw - 18px) !important; width:calc(100vw - 18px) !important;}
  #personalAccountModal .modal-body{padding:18px !important; max-height:calc(100vh - 92px) !important;}
  .lk-profile-main{align-items:flex-start !important; flex-direction:column !important;}
  .lk-profile-right{width:100% !important; grid-template-columns:1fr 1fr !important;}
}
@media (max-width: 575px){
  .kh-user-btn{padding:5px 8px 5px 5px !important;}
  .kh-user-avatar{width:32px !important; height:32px !important; flex-basis:32px !important;}
  .kh-user-name{max-width:98px !important; font-size:12px !important;}
  .kh-user-bonus{font-size:11px !important;}
  #personalAccountModal .modal-content{border-radius:20px !important;}
  #personalAccountModal .modal-header{padding:15px 16px !important;}
  #personalAccountModal .modal-title{font-size:16px !important;}
  #personalAccountModal .modal-body{padding:14px !important;}
  .lk-profile-hero{padding:15px !important; border-radius:20px !important;}
  .lk-profile-left{align-items:flex-start !important;}
  .lk-avatar-wrap{width:70px !important; height:70px !important; flex-basis:70px !important;}
  .lk-profile-name{font-size:25px !important; letter-spacing:.025em !important;}
  .lk-profile-contacts{display:grid !important;}
  .lk-profile-right{grid-template-columns:1fr !important;}
  .lk-cards-grid{grid-template-columns:1fr !important;}
  .lk-edit-row{align-items:stretch !important;}
  .booking-header{align-items:flex-start !important; flex-direction:column !important;}
}

/* ===== KIBERNETIKA v37: modal layer repair + personal account close button ===== */
.modal-backdrop,
.modal-backdrop.show{
  z-index:2147483000 !important;
}
.modal,
.modal.show{
  z-index:2147483100 !important;
}
.modal .modal-dialog{
  z-index:1 !important;
  pointer-events:none !important;
}
.modal .modal-content{
  position:relative !important;
  z-index:2 !important;
  pointer-events:auto !important;
}
#personalAccountModal,
#personalAccountModal.modal,
#personalAccountModal.modal.show{
  z-index:2147483200 !important;
}
#personalAccountModal + .modal-backdrop{
  z-index:2147483000 !important;
}

#personalAccountModal .close{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 38px !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
  font-size:0 !important;
  line-height:1 !important;
  overflow:hidden !important;
}
#personalAccountModal .close span{
  display:none !important;
}
#personalAccountModal .close::before,
#personalAccountModal .close::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:16px !important;
  height:2px !important;
  border-radius:99px !important;
  background:#fff4d6 !important;
  box-shadow:0 0 10px rgba(255,210,64,.38) !important;
  transform-origin:center !important;
}
#personalAccountModal .close::before{
  transform:translate(-50%, -50%) rotate(45deg) !important;
}
#personalAccountModal .close::after{
  transform:translate(-50%, -50%) rotate(-45deg) !important;
}
#personalAccountModal .close:hover::before,
#personalAccountModal .close:hover::after{
  background:#ffffff !important;
  box-shadow:0 0 14px rgba(255,23,68,.5) !important;
}


/* ===== KIBERNETIKA v38: auth modal + personal cabinet close fix ===== */
#personalAccountModal .lk-close-btn{
  position:relative !important;
  z-index:5 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 40px !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
  border:1px solid rgba(255,210,64,.34) !important;
  border-radius:14px !important;
  background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,23,68,.10)) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:1 !important;
  opacity:1 !important;
  cursor:pointer !important;
  overflow:hidden !important;
  outline:none !important;
  pointer-events:auto !important;
  transform:none !important;
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
#personalAccountModal .lk-close-btn span{display:none !important;}
#personalAccountModal .lk-close-btn::before,
#personalAccountModal .lk-close-btn::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:18px !important;
  height:2px !important;
  border-radius:99px !important;
  background:#fff4d6 !important;
  box-shadow:0 0 10px rgba(255,210,64,.34) !important;
  transform-origin:center !important;
  pointer-events:none !important;
}
#personalAccountModal .lk-close-btn::before{transform:translate(-50%, -50%) rotate(45deg) !important;}
#personalAccountModal .lk-close-btn::after{transform:translate(-50%, -50%) rotate(-45deg) !important;}
#personalAccountModal .lk-close-btn:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(255,23,68,.72) !important;
  background:linear-gradient(145deg, rgba(255,23,68,.24), rgba(255,210,64,.10)) !important;
  box-shadow:0 14px 30px rgba(255,23,68,.18), 0 0 0 1px rgba(255,23,68,.12) !important;
}
#personalAccountModal .lk-close-btn:hover::before,
#personalAccountModal .lk-close-btn:hover::after{background:#fff !important; box-shadow:0 0 14px rgba(255,23,68,.56) !important;}
#personalAccountModal .lk-close-btn:focus{box-shadow:0 0 0 3px rgba(255,210,64,.16), 0 14px 30px rgba(0,0,0,.25) !important;}

#personalAccountModal.is-auth-mode .modal-dialog{
  width:min(560px, calc(100vw - 28px)) !important;
  max-width:560px !important;
}
#personalAccountModal.is-auth-mode .modal-content,
#personalAccountModal.is-auth-mode .lk-modal-content{
  border:1px solid rgba(255,210,64,.58) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,23,68,.24), transparent 34%),
    radial-gradient(circle at 94% 5%, rgba(255,210,64,.13), transparent 28%),
    linear-gradient(145deg, rgba(19,6,10,.98), rgba(7,8,12,.98) 48%, rgba(15,6,14,.98)) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.74), 0 0 0 1px rgba(255,23,68,.18), 0 0 42px rgba(255,210,64,.08) !important;
}
#personalAccountModal.is-auth-mode .modal-header,
#personalAccountModal.is-auth-mode .lk-modal-header{
  border-bottom:1px solid rgba(255,210,64,.34) !important;
  background:
    linear-gradient(135deg, rgba(255,23,68,.16), rgba(255,210,64,.08)),
    rgba(12,12,14,.96) !important;
}
#personalAccountModal.is-auth-mode .modal-body,
#personalAccountModal.is-auth-mode .lk-modal-body{
  padding:24px !important;
  max-height:calc(100vh - 116px) !important;
}
#personalAccountModal.is-auth-mode #auth-section,
#personalAccountModal.is-auth-mode .lk-auth-panel{
  position:relative !important;
  padding:28px 22px 24px !important;
  border:1px solid rgba(255,210,64,.38) !important;
  border-radius:22px !important;
  background:
    linear-gradient(90deg, rgba(255,210,64,.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,210,64,.035) 1px, transparent 1px),
    radial-gradient(circle at 50% 0%, rgba(255,23,68,.16), transparent 38%),
    rgba(7,7,10,.78) !important;
  background-size:34px 34px,34px 34px,100% 100%,100% 100% !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035), 0 18px 42px rgba(0,0,0,.30) !important;
  overflow:hidden !important;
}
#personalAccountModal.is-auth-mode #auth-section:before,
#personalAccountModal.is-auth-mode .lk-auth-panel:before{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  right:22px !important;
  top:0 !important;
  height:2px !important;
  background:linear-gradient(90deg, #ff1744, #ffd64d, transparent) !important;
  box-shadow:0 0 18px rgba(255,23,68,.45) !important;
}
.lk-auth-head{position:relative !important; z-index:1 !important; display:grid !important; justify-items:center !important; gap:12px !important; margin-bottom:18px !important;}
.lk-auth-emblem{
  width:76px !important;
  height:76px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(255,210,64,.55) !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(255,210,64,.24), rgba(255,23,68,.13) 54%, rgba(0,0,0,.2)) !important;
  color:#ffd64d !important;
  font-size:24px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:0 0 28px rgba(255,210,64,.16), inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
#personalAccountModal.is-auth-mode #auth-section h5,
#personalAccountModal.is-auth-mode .lk-auth-panel h5{
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(24px, 5vw, 36px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
  text-shadow:0 0 22px rgba(255,255,255,.14) !important;
}
#personalAccountModal.is-auth-mode #auth-section p,
#personalAccountModal.is-auth-mode .lk-auth-panel p{
  max-width:380px !important;
  margin:0 auto !important;
  color:rgba(255,255,255,.72) !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
}
.lk-vkid-slot{position:relative !important; z-index:2 !important; display:grid !important; place-items:center !important; margin-top:12px !important;}
#personalAccountModal.is-auth-mode iframe,
#personalAccountModal.is-auth-mode #vkid-login-container iframe{max-width:100% !important;}

/* Убираем старые правила закрытия для новой кнопки, но не трогаем остальные модалки. */
#personalAccountModal .lk-close-btn.close::before,
#personalAccountModal .lk-close-btn.close::after{content:none !important;}

@media (max-width:575px){
  #personalAccountModal.is-auth-mode .modal-body{padding:16px !important;}
  #personalAccountModal.is-auth-mode #auth-section,
  #personalAccountModal.is-auth-mode .lk-auth-panel{padding:24px 14px 18px !important;}
  .lk-auth-emblem{width:64px !important; height:64px !important; font-size:21px !important;}
}

/* ===== KIBERNETIKA v39: unified auth-style modals + mobile cabinet cleanup ===== */
#exampleModal .modal-dialog,
#exampleModal3 .modal-dialog{
  width:min(640px, calc(100vw - 28px)) !important;
  max-width:640px !important;
}
#exampleModal3 .modal-dialog{
  width:min(560px, calc(100vw - 28px)) !important;
  max-width:560px !important;
}
#exampleModal .modal-content,
#exampleModal3 .modal-content{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid rgba(255,210,64,.58) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,23,68,.24), transparent 34%),
    radial-gradient(circle at 94% 5%, rgba(255,210,64,.13), transparent 28%),
    linear-gradient(145deg, rgba(19,6,10,.98), rgba(7,8,12,.98) 48%, rgba(15,6,14,.98)) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.74), 0 0 0 1px rgba(255,23,68,.18), 0 0 42px rgba(255,210,64,.08) !important;
  color:#fff !important;
}
#exampleModal .modal-content:before,
#exampleModal3 .modal-content:before{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  right:22px !important;
  top:0 !important;
  height:2px !important;
  background:linear-gradient(90deg, #ff1744, #ffd64d, transparent) !important;
  box-shadow:0 0 18px rgba(255,23,68,.45) !important;
  z-index:2 !important;
  pointer-events:none !important;
}
#exampleModal .modal-header,
#exampleModal3 .modal-header{
  position:relative !important;
  z-index:3 !important;
  min-height:66px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:18px 22px !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,210,64,.34) !important;
  background:
    linear-gradient(135deg, rgba(255,23,68,.16), rgba(255,210,64,.08)),
    rgba(12,12,14,.96) !important;
}
#exampleModal .modal-title,
#exampleModal3 .modal-title{
  margin:0 !important;
  color:#ffd64d !important;
  font-size:18px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  text-shadow:0 0 18px rgba(255,210,64,.20) !important;
}
#exampleModal .close,
#exampleModal3 .close{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 40px !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
  border:1px solid rgba(255,210,64,.34) !important;
  border-radius:14px !important;
  background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,23,68,.10)) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  color:transparent !important;
  opacity:1 !important;
  font-size:0 !important;
  line-height:1 !important;
  text-shadow:none !important;
  overflow:hidden !important;
  cursor:pointer !important;
  outline:none !important;
}
#exampleModal .close span,
#exampleModal3 .close span{display:none !important;}
#exampleModal .close:before,
#exampleModal .close:after,
#exampleModal3 .close:before,
#exampleModal3 .close:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:18px !important;
  height:2px !important;
  border-radius:99px !important;
  background:#fff4d6 !important;
  box-shadow:0 0 10px rgba(255,210,64,.34) !important;
  transform-origin:center !important;
  pointer-events:none !important;
}
#exampleModal .close:before,
#exampleModal3 .close:before{transform:translate(-50%, -50%) rotate(45deg) !important;}
#exampleModal .close:after,
#exampleModal3 .close:after{transform:translate(-50%, -50%) rotate(-45deg) !important;}
#exampleModal .close:hover,
#exampleModal3 .close:hover{
  border-color:rgba(255,23,68,.72) !important;
  background:linear-gradient(145deg, rgba(255,23,68,.24), rgba(255,210,64,.10)) !important;
  box-shadow:0 14px 30px rgba(255,23,68,.18), 0 0 0 1px rgba(255,23,68,.12) !important;
}
#exampleModal .close:hover:before,
#exampleModal .close:hover:after,
#exampleModal3 .close:hover:before,
#exampleModal3 .close:hover:after{background:#fff !important; box-shadow:0 0 14px rgba(255,23,68,.56) !important;}
#exampleModal .modal-body,
#exampleModal3 .modal-body{
  position:relative !important;
  z-index:2 !important;
  padding:24px !important;
  max-height:calc(100vh - 170px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(255,210,64,.55) rgba(255,255,255,.06) !important;
}
#exampleModal .modal-body:before,
#exampleModal3 .modal-body:before{
  content:"" !important;
  position:absolute !important;
  inset:18px !important;
  border:1px solid rgba(0,229,255,.12) !important;
  border-radius:20px !important;
  background:
    linear-gradient(90deg, rgba(255,210,64,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,210,64,.025) 1px, transparent 1px) !important;
  background-size:34px 34px !important;
  pointer-events:none !important;
  opacity:.65 !important;
}
#exampleModal .modal-footer,
#exampleModal3 .modal-footer{
  position:relative !important;
  z-index:3 !important;
  display:block !important;
  padding:18px 22px !important;
  border:0 !important;
  border-top:1px solid rgba(255,210,64,.22) !important;
  background:rgba(8,8,12,.84) !important;
}
#exampleModal .btn,
#exampleModal3 .btn{
  min-height:48px !important;
  border:1px solid rgba(255,23,68,.65) !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, #ff1744, #a50032) !important;
  color:#fff !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  box-shadow:0 14px 34px rgba(255,23,68,.22) !important;
}
#exampleModal .form-label,
#exampleModal3 .form-label{
  color:#ffd64d !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  font-size:12px !important;
}
#exampleModal .form-control,
#exampleModal select,
#exampleModal textarea,
#exampleModal input{
  min-height:44px !important;
  border:1px solid rgba(0,229,255,.32) !important;
  border-radius:12px !important;
  background:rgba(0,3,10,.72) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
#exampleModal .input-group-text{
  border-color:rgba(0,229,255,.32) !important;
  border-radius:12px !important;
  background:rgba(255,210,64,.08) !important;
  color:#ffd64d !important;
  font-weight:900 !important;
}
#exampleModal #priceDisplay,
#exampleModal #coverageInfo,
#exampleModal .mb-12 > span{
  border:1px solid rgba(0,229,255,.22) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg, rgba(4,8,18,.78), rgba(8,21,29,.58)) !important;
  color:#fff3bd !important;
  font-weight:900 !important;
}
#exampleModal .cert-type-selector{
  border:1px solid rgba(255,210,64,.28) !important;
  border-radius:16px !important;
  background:rgba(0,3,10,.58) !important;
}
#exampleModal .cert-type-label{
  border:1px solid transparent !important;
  border-radius:12px !important;
}
#exampleModal .cert-type-radio:checked + .cert-type-label{
  border-color:rgba(255,210,64,.55) !important;
  background:rgba(255,210,64,.10) !important;
  box-shadow:0 0 20px rgba(255,210,64,.08) !important;
}
#exampleModal3 .discount-item{
  position:relative !important;
  padding:22px 18px !important;
  border:1px solid rgba(0,229,255,.20) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg, rgba(4,8,18,.78), rgba(8,21,29,.58)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 14px 30px rgba(0,0,0,.23) !important;
}
#exampleModal3 .discount-item h5{color:#ffd64d !important; font-weight:900 !important; letter-spacing:.04em !important;}
#exampleModal3 .discount-item p{color:rgba(255,255,255,.82) !important; font-weight:800 !important; line-height:1.55 !important;}
#exampleModal3 .discount-icon i{color:#ffd64d !important; text-shadow:0 0 24px rgba(255,210,64,.18) !important;}
#exampleModal3 .discount-divider{border-top:0 !important; height:1px !important; background:linear-gradient(90deg, transparent, rgba(255,210,64,.44), transparent) !important;}

#personalAccountModal .modal-header,
#personalAccountModal .lk-modal-header{display:flex !important; align-items:center !important; justify-content:space-between !important;}
#personalAccountModal .modal-title{flex:1 1 auto !important; min-width:0 !important;}
#personalAccountModal .lk-close-btn{margin-left:auto !important; margin-right:0 !important; align-self:center !important;}
#personalAccountModal .lk-profile-kicker{display:none !important;}
.lk-promo-card.copied{border-color:rgba(0,229,255,.52) !important; box-shadow:0 18px 42px rgba(0,229,255,.10) !important;}
.lk-promo-card.copied code{color:#12f7ff !important; letter-spacing:.04em !important;}

@media (max-width: 575px){
  #personalAccountModal .modal-dialog{width:calc(100vw - 12px) !important; max-width:calc(100vw - 12px) !important; margin:6px auto !important;}
  #personalAccountModal .modal-body,
  #personalAccountModal .lk-modal-body{padding:12px !important; max-height:calc(100dvh - 82px) !important;}
  .lk-profile-hero{padding:12px !important; border-radius:18px !important;}
  .lk-profile-main{display:grid !important; grid-template-columns:1fr !important; gap:10px !important;}
  .lk-profile-left{display:grid !important; grid-template-columns:58px minmax(0,1fr) !important; align-items:center !important; gap:10px !important; width:100% !important;}
  .lk-avatar-wrap{width:58px !important; height:58px !important; flex:0 0 58px !important; padding:2px !important;}
  .lk-avatar-image,
  .lk-top-avatar{width:100% !important; height:100% !important; aspect-ratio:1/1 !important; object-fit:cover !important; border-radius:50% !important;}
  .lk-profile-name{font-size:18px !important; line-height:1.05 !important; letter-spacing:.025em !important; overflow-wrap:normal !important; word-break:normal !important;}
  .lk-profile-contacts{display:grid !important; gap:5px !important; margin-top:7px !important;}
  .lk-profile-contacts span,
  .lk-profile-contact{width:100% !important; min-height:28px !important; padding:5px 8px !important; font-size:11px !important; border-radius:10px !important;}
  .lk-profile-right{display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; width:100% !important; min-width:0 !important;}
  .lk-balance-card{padding:10px 8px !important; border-radius:14px !important;}
  .lk-balance-card__value{font-size:20px !important; margin-top:3px !important;}
  .lk-logout-btn{min-height:48px !important; border-radius:14px !important;}
  .lk-section{margin-top:14px !important;}
  .lk-section-title{font-size:15px !important; margin-bottom:10px !important;}
  .lk-card,.lk-promo-card,.lk-rules-card{border-radius:15px !important; padding:12px !important;}
  .lk-cards-grid{gap:9px !important;}
  #exampleModal .modal-dialog,
  #exampleModal3 .modal-dialog{width:calc(100vw - 14px) !important; max-width:calc(100vw - 14px) !important;}
  #exampleModal .modal-header,
  #exampleModal3 .modal-header{padding:15px 16px !important;}
  #exampleModal .modal-body,
  #exampleModal3 .modal-body{padding:16px !important; max-height:calc(100dvh - 150px) !important;}
  #exampleModal .modal-footer,
  #exampleModal3 .modal-footer{padding:14px 16px !important;}
}


/* ===== KIBERNETIKA v40: mobile personal cabinet layout polish ===== */
@media (max-width: 575px){
  #personalAccountModal .modal-dialog{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    margin:8px auto !important;
  }
  #personalAccountModal .modal-content,
  #personalAccountModal .lk-modal-content{
    border-radius:22px !important;
  }
  #personalAccountModal .modal-header,
  #personalAccountModal .lk-modal-header{
    min-height:58px !important;
    padding:13px 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
  }
  #personalAccountModal .modal-title{
    flex:1 1 auto !important;
    min-width:0 !important;
    font-size:16px !important;
    line-height:1.1 !important;
    letter-spacing:.045em !important;
  }
  #personalAccountModal .modal-title:before{
    width:25px !important;
    flex:0 0 25px !important;
  }
  #personalAccountModal .lk-close-btn{
    position:relative !important;
    flex:0 0 40px !important;
    width:40px !important;
    height:40px !important;
    margin:0 0 0 auto !important;
  }
  #personalAccountModal .modal-body,
  #personalAccountModal .lk-modal-body{
    padding:12px !important;
    max-height:calc(100dvh - 84px) !important;
  }
  #personalAccountModal #user-profile .text-center.mb-3,
  #personalAccountModal #user-greeting{
    display:none !important;
  }
  .lk-profile-hero{
    padding:14px 12px !important;
    border-radius:20px !important;
  }
  .lk-profile-main{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    justify-content:stretch !important;
    gap:12px !important;
  }
  .lk-profile-left{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:9px !important;
    text-align:center !important;
  }
  .lk-avatar-wrap{
    width:76px !important;
    height:76px !important;
    flex:0 0 76px !important;
    min-width:76px !important;
    max-width:76px !important;
    margin:0 auto !important;
    padding:3px !important;
    overflow:hidden !important;
  }
  .lk-avatar-image,
  .lk-top-avatar{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    aspect-ratio:1/1 !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:50% !important;
  }
  .lk-avatar-fallback,
  .lk-top-avatar-fallback{
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    aspect-ratio:1/1 !important;
    border-radius:50% !important;
    font-size:26px !important;
  }
  .lk-profile-text{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    justify-items:center !important;
    gap:7px !important;
  }
  .lk-profile-name{
    width:100% !important;
    max-width:100% !important;
    font-size:19px !important;
    line-height:1.12 !important;
    letter-spacing:.035em !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    margin:0 !important;
  }
  .lk-profile-contacts{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
    margin:0 !important;
  }
  .lk-profile-contacts span,
  .lk-profile-contact{
    width:100% !important;
    max-width:320px !important;
    min-height:34px !important;
    margin:0 auto !important;
    padding:7px 10px !important;
    border-radius:12px !important;
    justify-content:center !important;
    font-size:12px !important;
    line-height:1.1 !important;
    box-sizing:border-box !important;
  }
  .lk-profile-contact span{
    display:block !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    max-width:100% !important;
  }
  .lk-profile-right{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    align-items:stretch !important;
  }
  .lk-balance-card{
    min-height:58px !important;
    padding:9px 8px !important;
    border-radius:15px !important;
    display:grid !important;
    align-content:center !important;
    justify-items:center !important;
  }
  .lk-balance-card__label{
    font-size:10px !important;
    line-height:1.1 !important;
  }
  .lk-balance-card__value{
    font-size:21px !important;
    margin-top:4px !important;
  }
  .lk-logout-btn{
    min-height:58px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    font-size:13px !important;
    line-height:1 !important;
  }
  .lk-section{margin-top:13px !important;}
  .lk-section-title,
  #bookings-container h6{
    font-size:15px !important;
    margin-bottom:10px !important;
  }
  .lk-cards-grid{gap:9px !important;}
  .lk-card,
  .lk-promo-card,
  .lk-rules-card,
  .booking-item{
    border-radius:16px !important;
    padding:12px !important;
  }
}

@media (max-width: 380px){
  .lk-profile-hero{padding:12px 10px !important;}
  .lk-avatar-wrap{
    width:68px !important;
    height:68px !important;
    flex-basis:68px !important;
    min-width:68px !important;
    max-width:68px !important;
  }
  .lk-profile-name{font-size:17px !important;}
  .lk-profile-contact{font-size:11px !important; padding-left:8px !important; padding-right:8px !important;}
  .lk-profile-right{gap:7px !important;}
  .lk-balance-card__value{font-size:19px !important;}
  .lk-logout-btn{font-size:12px !important;}
}

/* ===== KIBERNETIKA v41: booking + video modals in VK auth style ===== */
#exampleModal2 .modal-dialog{
  width:min(720px, calc(100vw - 28px)) !important;
  max-width:720px !important;
}
#videoModal .modal-dialog{
  width:min(940px, calc(100vw - 28px)) !important;
  max-width:940px !important;
}
#exampleModal2 .modal-content,
#videoModal .modal-content{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid rgba(255,210,64,.58) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,23,68,.24), transparent 34%),
    radial-gradient(circle at 94% 5%, rgba(255,210,64,.13), transparent 28%),
    linear-gradient(145deg, rgba(19,6,10,.98), rgba(7,8,12,.98) 48%, rgba(15,6,14,.98)) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.74), 0 0 0 1px rgba(255,23,68,.18), 0 0 42px rgba(255,210,64,.08) !important;
  color:#fff !important;
}
#exampleModal2 .modal-content:before,
#videoModal .modal-content:before{
  content:"" !important;
  position:absolute !important;
  left:22px !important;
  right:22px !important;
  top:0 !important;
  height:2px !important;
  background:linear-gradient(90deg, #ff1744, #ffd64d, transparent) !important;
  box-shadow:0 0 18px rgba(255,23,68,.45) !important;
  z-index:2 !important;
  pointer-events:none !important;
}
#exampleModal2 .modal-header,
#videoModal .modal-header{
  position:relative !important;
  z-index:3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:18px 22px !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,210,64,.34) !important;
  background:
    linear-gradient(135deg, rgba(255,23,68,.16), rgba(255,210,64,.08)),
    rgba(12,12,14,.96) !important;
}
#exampleModal2 .modal-title,
#videoModal .modal-title{
  flex:1 1 auto !important;
  margin:0 !important;
  color:#ffd64d !important;
  font-size:18px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  text-shadow:0 0 18px rgba(255,210,64,.20) !important;
}
#exampleModal2 .close,
#videoModal .close{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 40px !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
  border:1px solid rgba(255,210,64,.34) !important;
  border-radius:14px !important;
  background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,23,68,.10)) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.035) !important;
  color:transparent !important;
  opacity:1 !important;
  font-size:0 !important;
  line-height:1 !important;
  text-shadow:none !important;
  overflow:hidden !important;
  cursor:pointer !important;
  outline:none !important;
}
#exampleModal2 .close span,
#videoModal .close span{display:none !important;}
#exampleModal2 .close:before,
#exampleModal2 .close:after,
#videoModal .close:before,
#videoModal .close:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:18px !important;
  height:2px !important;
  border-radius:99px !important;
  background:#fff4d6 !important;
  box-shadow:0 0 10px rgba(255,210,64,.34) !important;
  transform-origin:center !important;
  pointer-events:none !important;
}
#exampleModal2 .close:before,
#videoModal .close:before{transform:translate(-50%, -50%) rotate(45deg) !important;}
#exampleModal2 .close:after,
#videoModal .close:after{transform:translate(-50%, -50%) rotate(-45deg) !important;}
#exampleModal2 .close:hover,
#videoModal .close:hover{
  border-color:rgba(255,23,68,.72) !important;
  background:linear-gradient(145deg, rgba(255,23,68,.24), rgba(255,210,64,.10)) !important;
  box-shadow:0 14px 30px rgba(255,23,68,.18), 0 0 0 1px rgba(255,23,68,.12) !important;
}
#exampleModal2 .close:hover:before,
#exampleModal2 .close:hover:after,
#videoModal .close:hover:before,
#videoModal .close:hover:after{background:#fff !important; box-shadow:0 0 14px rgba(255,23,68,.56) !important;}
#exampleModal2 .modal-body,
#videoModal .modal-body{
  position:relative !important;
  z-index:2 !important;
  padding:24px !important;
  max-height:calc(100vh - 170px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(255,210,64,.55) rgba(255,255,255,.06) !important;
}
#exampleModal2 .modal-body:before,
#videoModal .modal-body:before{
  content:"" !important;
  position:absolute !important;
  inset:18px !important;
  border:1px solid rgba(0,229,255,.12) !important;
  border-radius:20px !important;
  background:
    linear-gradient(90deg, rgba(255,210,64,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,210,64,.025) 1px, transparent 1px) !important;
  background-size:34px 34px !important;
  pointer-events:none !important;
  opacity:.65 !important;
}
#exampleModal2 .modal-body > *,
#videoModal .modal-body > *{
  position:relative !important;
  z-index:2 !important;
}
#exampleModal2 .modal-footer,
#videoModal .modal-footer{
  position:relative !important;
  z-index:3 !important;
  display:block !important;
  padding:18px 22px !important;
  border:0 !important;
  border-top:1px solid rgba(255,210,64,.22) !important;
  background:rgba(8,8,12,.84) !important;
}
#exampleModal2 .btn,
#videoModal .btn{
  min-height:48px !important;
  border:1px solid rgba(255,23,68,.65) !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, #ff1744, #a50032) !important;
  color:#fff !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
  box-shadow:0 14px 34px rgba(255,23,68,.22) !important;
}
#exampleModal2 .btn:hover,
#videoModal .btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 18px 40px rgba(255,23,68,.32), 0 0 0 1px rgba(255,210,64,.12) !important;
}
#exampleModal2 .booking-summary{
  padding:16px !important;
  border:1px solid rgba(0,229,255,.22) !important;
  border-radius:18px !important;
  background:linear-gradient(145deg, rgba(4,8,18,.78), rgba(8,21,29,.58)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 14px 30px rgba(0,0,0,.23) !important;
}
#exampleModal2 .quest-card{
  padding:0 !important;
  background:transparent !important;
}
#exampleModal2 .quest-name{
  color:#fff !important;
  font-size:clamp(22px, 4vw, 32px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.055em !important;
  text-shadow:0 0 22px rgba(255,255,255,.14) !important;
}
#exampleModal2 .booking-datetime{
  margin-top:7px !important;
  color:#ffd64d !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}
#exampleModal2 .price-summary{
  margin-top:14px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(255,210,64,.18) !important;
}
#exampleModal2 .price-label,
#exampleModal2 .price-currency{
  color:rgba(255,255,255,.72) !important;
  font-weight:900 !important;
}
#exampleModal2 .price-amount{
  color:#ffd64d !important;
  font-size:28px !important;
  font-weight:900 !important;
  text-shadow:0 0 18px rgba(255,210,64,.18) !important;
}
#exampleModal2 .savings-info{color:#12f7ff !important; font-weight:900 !important;}
#exampleModal2 .form-label{
  color:#ffd64d !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
  font-size:12px !important;
}
#exampleModal2 .form-control,
#exampleModal2 select,
#exampleModal2 textarea,
#exampleModal2 input{
  min-height:44px !important;
  border:1px solid rgba(0,229,255,.32) !important;
  border-radius:12px !important;
  background:rgba(0,3,10,.72) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
#exampleModal2 .form-control:focus,
#exampleModal2 input:focus,
#exampleModal2 select:focus,
#exampleModal2 textarea:focus{
  border-color:rgba(255,210,64,.62) !important;
  box-shadow:0 0 0 3px rgba(255,210,64,.10) !important;
}
#exampleModal2 .discounts-section{
  padding:14px !important;
  border:1px solid rgba(255,210,64,.22) !important;
  border-radius:18px !important;
  background:rgba(0,3,10,.46) !important;
}
#exampleModal2 .discount-tabs .nav-link{
  border:1px solid rgba(255,210,64,.24) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.035) !important;
  color:#ffd64d !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.035em !important;
}
#exampleModal2 .discount-tabs .nav-link.active{
  border-color:rgba(255,23,68,.70) !important;
  background:linear-gradient(135deg, rgba(255,23,68,.82), rgba(165,0,50,.74)) !important;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(255,23,68,.16) !important;
}
#exampleModal2 .input-group .btn{
  min-height:44px !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
#exampleModal2 #CardBookNew,
#exampleModal2 #CardBookNewInfo{
  border-radius:16px !important;
  overflow:hidden !important;
}
#bookingSubmitBtn{
  min-height:54px !important;
}
#videoModal #modal-video-player{
  width:100% !important;
  height:min(52vh, 480px) !important;
  min-height:260px !important;
  border:1px solid rgba(255,210,64,.36) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#000 !important;
  box-shadow:0 18px 44px rgba(0,0,0,.32), 0 0 0 1px rgba(0,229,255,.08) !important;
}
#videoModal #modal-video-info{
  margin-top:18px !important;
  padding:18px !important;
  border:1px solid rgba(0,229,255,.22) !important;
  border-radius:18px !important;
  background:
    linear-gradient(90deg, rgba(255,210,64,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,210,64,.025) 1px, transparent 1px),
    linear-gradient(145deg, rgba(4,8,18,.78), rgba(8,21,29,.58)) !important;
  background-size:34px 34px,34px 34px,100% 100% !important;
  color:rgba(255,255,255,.84) !important;
  font-weight:800 !important;
  line-height:1.58 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025), 0 14px 30px rgba(0,0,0,.23) !important;
}
@media (max-width:575px){
  #exampleModal2 .modal-dialog,
  #videoModal .modal-dialog{
    width:calc(100vw - 14px) !important;
    max-width:calc(100vw - 14px) !important;
    margin:7px auto !important;
  }
  #exampleModal2 .modal-header,
  #videoModal .modal-header{padding:15px 16px !important;}
  #exampleModal2 .modal-title,
  #videoModal .modal-title{font-size:15px !important; letter-spacing:.045em !important;}
  #exampleModal2 .modal-body,
  #videoModal .modal-body{padding:16px !important; max-height:calc(100dvh - 150px) !important;}
  #exampleModal2 .modal-footer,
  #videoModal .modal-footer{padding:14px 16px !important;}
  #videoModal #modal-video-player{height:260px !important; min-height:220px !important;}
}
