
.lrr-map{
  --wine:#7f1029;
  --rouge:#c51e40;
  --gold:#b78b3f;
  --gold2:#e1c47d;
  --green:#11633f;
  --green2:#45c283;
  --amber:#8d6b14;
  --amber2:#d7b84e;
  --red:#7c1d31;
  --red2:#a94a5d;
  margin:70px auto 40px;
  color:#f4ece7;
}
.lrr-map__head{max-width:760px;margin:0 auto 24px}
.lrr-map__head>span{font:700 8px Arial,sans-serif;letter-spacing:.28em;color:var(--rouge)}
.lrr-map__head h2{margin:14px 0 11px;font:400 clamp(44px,5vw,72px)/.94 Georgia,"Times New Roman",serif}
.lrr-map__head h2 em{display:block;color:var(--rouge);font-weight:400}
.lrr-map__head p{max-width:610px;margin:0;color:rgba(255,255,255,.58);font-size:14px;line-height:1.65}

.lrr-map__legend{max-width:760px;margin:19px auto 18px;display:flex;flex-wrap:wrap;gap:15px 20px}
.lrr-map__legend b{display:flex;align-items:center;gap:7px;font:600 8px Arial,sans-serif;letter-spacing:.12em;color:rgba(255,255,255,.55)}
.lrr-map__legend i{display:block;width:12px;height:12px;border-radius:50%}
.lrr-map__legend .free{background:#0d5133;border:1px solid #4ec58a}
.lrr-map__legend .selected{background:#a51435;border:1px solid #f0a1b3}
.lrr-map__legend .held{background:#7a5a10;border:1px solid #d5b34b}
.lrr-map__legend .unavailable{background:#65162a;border:1px solid #a74a5d}
.lrr-map__legend .vip{background:#164b36;border:2px solid var(--gold2);box-shadow:0 0 0 2px rgba(225,196,125,.12)}

.lrr-map__frame{
  position:relative;
  max-width:760px;
  margin:0 auto;
  padding:8px;
  background:
    linear-gradient(#15080c,#15080c) padding-box,
    linear-gradient(135deg,rgba(225,196,125,.85),rgba(112,52,65,.42),rgba(225,196,125,.7)) border-box;
  border:1px solid transparent;
  box-shadow:0 20px 60px rgba(0,0,0,.36);
}
.lrr-map__stage{
  position:relative;
  width:100%;
  aspect-ratio:1202/1308;
  overflow:hidden;
  background:#f8f2e7;
}
.lrr-map__plan{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  display:block;
  user-select:none;
  pointer-events:none;
}
.lrr-map__shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 55% 72%,rgba(113,15,42,.09),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(61,20,29,.035));
  z-index:1;
}
.lrr-map [data-lrr-seats]{position:absolute;inset:0;z-index:4}

.lrr-seat{
  position:absolute;
  transform:translate(-50%,-50%);
  width:30px;height:30px;
  border-radius:50%;
  z-index:5;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  font:700 10px Arial,sans-serif;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.lrr-seat.status-available{
  background:linear-gradient(145deg,#126a43,#0d4b32);
  border:1px solid #5bd199;
  color:#f3fff8;
  box-shadow:0 2px 7px rgba(10,55,37,.2);
}
.lrr-seat.status-available:hover{
  transform:translate(-50%,-50%) scale(1.14);
  box-shadow:0 0 0 4px rgba(72,192,132,.12),0 5px 15px rgba(14,93,59,.25);
}
.lrr-seat.status-available.selected{
  background:linear-gradient(145deg,#c52046,#8f102f);
  border-color:#f3a5b7;
  box-shadow:0 0 0 4px rgba(197,30,64,.14),0 0 20px rgba(197,30,64,.34);
}
.lrr-seat.status-held{
  background:linear-gradient(145deg,#9b7718,#6f5210);
  border:1px solid #e0c35c;
  color:#fff5c8;
  cursor:not-allowed;
}
.lrr-seat.status-unavailable{
  background:linear-gradient(145deg,#8b2038,#5c1325);
  border:1px solid #b85b6e;
  color:#e0aab5;
  cursor:not-allowed;
}
.lrr-seat.vip{
  width:32px;height:32px;
  border-width:2px!important;
  border-color:#e1c47d!important;
  font-family:Georgia,serif;
  font-size:10px;
}
.lrr-seat.vip::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:1px solid rgba(183,139,63,.75);
  box-shadow:0 0 12px rgba(183,139,63,.18);
  pointer-events:none;
}

.lrr-seat-card{
  position:relative;
  max-width:760px;
  margin:18px auto 0;
  padding:24px;
  border:1px solid rgba(183,139,63,.28);
  background:
    radial-gradient(circle at 80% 0,rgba(136,17,49,.18),transparent 38%),
    linear-gradient(145deg,#160a0e,#0c0809 72%);
  box-shadow:0 20px 50px rgba(0,0,0,.34);
}
.lrr-seat-card[hidden]{display:none!important}
.lrr-seat-card__close{
  position:absolute;right:16px;top:14px;
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font-size:27px;line-height:1;cursor:pointer
}
.lrr-seat-card__eyebrow{
  display:block;margin-bottom:18px;font:700 8px Arial,sans-serif;letter-spacing:.23em;color:#c7445f
}
.lrr-seat-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 34px;margin-right:45px}
.lrr-seat-card__grid small{display:block;margin-bottom:6px;font:600 7px Arial,sans-serif;letter-spacing:.18em;color:rgba(255,255,255,.38)}
.lrr-seat-card__grid strong{font:400 24px Georgia,serif;color:#f4ece7}
.lrr-seat-card__status{color:#62c98f!important}
.lrr-seat-card__choose{
  margin-top:24px;width:100%;min-height:54px;padding:0 20px;
  display:flex;align-items:center;justify-content:space-between;
  border:1px solid #bf1d42;
  background:linear-gradient(90deg,#ad1739,#ca2248);
  color:#fff;cursor:pointer;
  font:700 9px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase
}
.lrr-seat-card__choose i{font-style:normal;font-size:20px}

.lrr-map__summary{
  max-width:760px;
  margin:0 auto;
  padding:22px 0;
  display:grid;
  grid-template-columns:1fr 170px 180px;
  gap:20px;
  align-items:end;
  border-top:1px solid rgba(255,255,255,.08);
}
.lrr-map__summary span{display:block;margin-bottom:7px;font:600 7px Arial,sans-serif;letter-spacing:.17em;color:rgba(255,255,255,.38)}
.lrr-map__summary strong{font:400 19px Georgia,serif;color:#f3ece7}
.lrr-map__summary button{
  min-height:48px;border:1px solid #b71b3b;background:#b71b3b;color:#fff;
  font:700 8px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;cursor:pointer
}
.lrr-map__summary button:disabled{opacity:.35;cursor:not-allowed}
.lrr-map__message{max-width:760px;margin:0 auto;min-height:24px;color:rgba(255,255,255,.62);font-size:12px}

@media(max-width:767px){
  .lrr-map{margin-top:48px}
  .lrr-map__head,.lrr-map__legend,.lrr-map__frame,.lrr-seat-card,.lrr-map__summary,.lrr-map__message{max-width:100%}
  .lrr-map__head h2{font-size:42px}
  .lrr-map__frame{padding:5px}
  .lrr-seat{width:25px;height:25px;font-size:8px}
  .lrr-seat.vip{width:27px;height:27px;font-size:9px}
  .lrr-seat.vip::after{inset:-3px}
  .lrr-seat-card{padding:20px 18px}
  .lrr-seat-card__grid{gap:18px 14px;margin-right:34px}
  .lrr-seat-card__grid strong{font-size:21px}
  .lrr-map__summary{grid-template-columns:1fr 1fr;gap:15px;padding-top:20px}
  .lrr-map__summary button{grid-column:1/-1;width:100%}
}


/* =========================================================
   v1.3 — карточка места как настоящий modal overlay
   ========================================================= */

body.lrr-seat-modal-open{
  overflow:hidden;
}

.lrr-seat-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(4,2,3,.78) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.lrr-seat-overlay[hidden]{
  display:none !important;
}

.lrr-seat-overlay .lrr-seat-card{
  position:relative !important;
  width:min(520px,calc(100vw - 32px)) !important;
  max-width:520px !important;
  margin:0 !important;
  padding:28px !important;
  border:1px solid rgba(208,157,77,.42) !important;
  background:
    radial-gradient(circle at 82% 0,rgba(143,19,53,.24),transparent 42%),
    linear-gradient(145deg,#190b10,#0b0708 74%) !important;
  box-shadow:
    0 30px 100px rgba(0,0,0,.72),
    0 0 0 1px rgba(255,255,255,.025) inset !important;
  animation:lrrSeatCardIn .18s ease-out both;
}

@keyframes lrrSeatCardIn{
  from{
    opacity:0;
    transform:translateY(14px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.lrr-seat-overlay .lrr-seat-card__eyebrow{
  display:block !important;
  margin:0 44px 22px 0 !important;
  color:#c74360 !important;
  font:700 8px Arial,sans-serif !important;
  letter-spacing:.23em !important;
}

.lrr-seat-overlay .lrr-seat-card__grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:24px 28px !important;
  margin:0 !important;
}

.lrr-seat-overlay .lrr-seat-card__grid small{
  display:block !important;
  margin-bottom:7px !important;
  color:rgba(255,255,255,.40) !important;
  font:600 7px Arial,sans-serif !important;
  letter-spacing:.18em !important;
}

.lrr-seat-overlay .lrr-seat-card__grid strong{
  display:block !important;
  color:#f5ede8 !important;
  font:400 25px/1.18 Georgia,"Times New Roman",serif !important;
}

.lrr-seat-overlay .lrr-seat-card__status{
  color:#6dd39a !important;
}

.lrr-seat-overlay .lrr-seat-card__close{
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  width:36px !important;
  height:36px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:rgba(255,255,255,.02) !important;
  color:#fff !important;
  font:300 29px/1 Arial,sans-serif !important;
  cursor:pointer !important;
}

.lrr-seat-overlay .lrr-seat-card__choose{
  width:100% !important;
  min-height:56px !important;
  margin-top:28px !important;
  padding:0 22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border:1px solid #c22147 !important;
  background:linear-gradient(90deg,#a91436,#cf244b) !important;
  color:#fff !important;
  cursor:pointer !important;
  font:700 9px Arial,sans-serif !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
}

.lrr-seat.is-preview{
  transform:translate(-50%,-50%) scale(1.16) !important;
  box-shadow:
    0 0 0 4px rgba(197,30,64,.16),
    0 0 22px rgba(197,30,64,.38) !important;
  border-color:#f2a1b4 !important;
}

@media(max-width:767px){
  .lrr-seat-overlay{
    align-items:flex-end !important;
    padding:12px !important;
  }

  .lrr-seat-overlay .lrr-seat-card{
    width:100% !important;
    max-width:none !important;
    padding:22px 18px 20px !important;
    border-radius:0 !important;
  }

  .lrr-seat-overlay .lrr-seat-card__grid{
    gap:20px 14px !important;
  }

  .lrr-seat-overlay .lrr-seat-card__grid strong{
    font-size:22px !important;
  }

  .lrr-seat-overlay .lrr-seat-card__choose{
    min-height:54px !important;
    margin-top:24px !important;
  }
}


/* =========================================================
   v1.6 — полноценная премиальная страница «Билеты»
   ========================================================= */

.lrr-tickets-page{
  width:100vw;
  margin-left:calc(50% - 50vw);
  padding:54px 5vw 76px;
  background:
    radial-gradient(circle at 72% 18%,rgba(106,9,34,.23),transparent 28%),
    linear-gradient(180deg,#070506 0%,#11070a 42%,#050405 100%);
  color:#f4ece7;
  box-sizing:border-box;
}

.lrr-tickets-page *{
  box-sizing:border-box;
}

.lrr-tickets-page__hero{
  width:min(1180px,100%);
  margin:0 auto 24px;
}

.lrr-tickets-page__eyebrow{
  display:block;
  margin-bottom:14px;
  font:700 8px Arial,sans-serif;
  letter-spacing:.27em;
  color:#cc244a;
}

.lrr-tickets-page__hero h1{
  margin:0;
  font:400 clamp(48px,5.2vw,78px)/.96 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
  color:#f5ede8;
}

.lrr-tickets-page__hero p{
  max-width:650px;
  margin:18px 0 0;
  font-size:15px;
  line-height:1.65;
  color:rgba(255,255,255,.58);
}

.lrr-tickets-page__prices{
  display:grid;
  grid-template-columns:minmax(190px,1fr) 1px minmax(190px,1fr) minmax(240px,1.2fr);
  gap:24px;
  align-items:center;
  margin-top:28px;
  padding:20px 24px;
  border:1px solid rgba(214,181,106,.2);
  background:linear-gradient(90deg,rgba(67,10,24,.24),rgba(13,8,9,.66));
}

.lrr-tickets-page__prices>div{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:
    "label price"
    "note note";
  gap:4px 18px;
  align-items:end;
}

.lrr-tickets-page__prices span{
  grid-area:label;
  font:700 8px Arial,sans-serif;
  letter-spacing:.18em;
  color:rgba(255,255,255,.48);
}

.lrr-tickets-page__prices strong{
  grid-area:price;
  justify-self:end;
  font:400 26px Georgia,serif;
  color:#f3ebe6;
}

.lrr-tickets-page__prices small{
  grid-area:note;
  margin-top:2px;
  font-size:11px;
  color:rgba(255,255,255,.38);
}

.lrr-tickets-page__prices .is-rouge strong{
  color:#d43a5b;
}

.lrr-tickets-page__prices>i{
  height:46px;
  background:rgba(255,255,255,.09);
}

.lrr-tickets-page__hint{
  padding-left:6px;
}

/* Убираем второй заголовок внутри карты — основной уже сверху */
.lrr-tickets-page .lrr-map{
  width:min(1180px,100%);
  margin:28px auto 0;
}

.lrr-tickets-page .lrr-map__head{
  display:none;
}

.lrr-tickets-page .lrr-map__legend{
  max-width:760px;
  margin:0 auto 18px;
}

/* Убираем лишние вертикальные расстояния вокруг схемы */
.lrr-tickets-page .lrr-map__frame{
  margin-top:0;
}

.lrr-tickets-page .lrr-map__summary{
  padding-bottom:10px;
}

/* Booking */
.lrr-booking--premium{
  width:min(1180px,100%);
  margin:34px auto 0;
  padding:28px 0 0;
  border-top:1px solid rgba(255,255,255,.08);
}

.lrr-booking__intro{
  display:grid;
  grid-template-columns:130px minmax(220px,.8fr) 1.4fr;
  gap:26px;
  align-items:start;
}

.lrr-booking__intro>span{
  padding-top:8px;
  font:700 7px Arial,sans-serif;
  letter-spacing:.21em;
  color:#c82b4d;
}

.lrr-booking__intro h2{
  margin:0;
  font:400 38px/1 Georgia,serif;
  color:#f4ece7;
}

.lrr-booking__intro p{
  margin:2px 0 0;
  max-width:620px;
  color:rgba(255,255,255,.5);
  font-size:13px;
  line-height:1.65;
}

.lrr-booking__wrap{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(0,1.7fr);
  gap:1px;
  margin-top:24px;
  border:1px solid rgba(214,181,106,.2);
  background:rgba(214,181,106,.13);
}

.lrr-booking__summary{
  padding:28px;
  background:
    radial-gradient(circle at 80% 20%,rgba(137,16,46,.2),transparent 45%),
    #13080b;
}

.lrr-booking__summary small,
.lrr-booking__form-head span,
.lrr-booking__fields label>span{
  display:block;
  margin-bottom:8px;
  font:700 7px Arial,sans-serif;
  letter-spacing:.18em;
  color:rgba(255,255,255,.38);
}

.lrr-booking__summary strong{
  display:block;
  margin-top:12px;
  font:400 27px/1.25 Georgia,serif;
  color:#f4ece7;
}

.lrr-booking__form{
  padding:26px 28px 28px;
  background:#0d0709;
}

.lrr-booking__form-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.lrr-booking__form-head strong{
  max-width:55%;
  text-align:right;
  font:400 16px Georgia,serif;
  color:#d03a5b;
}

.lrr-booking__fields{
  display:grid;
  grid-template-columns:1.3fr 1fr 1.2fr .65fr;
  gap:18px;
  margin-top:20px;
}

.lrr-booking__fields label{
  display:block;
}

.lrr-booking__fields input,
.lrr-booking__fields select{
  width:100%;
  height:44px;
  padding:0 2px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.18);
  border-radius:0;
  outline:0;
  background:transparent;
  color:#f4ece7;
  font-size:14px;
}

.lrr-booking__fields select option{
  color:#111;
}

.lrr-booking__fields input:focus,
.lrr-booking__fields select:focus{
  border-color:#c92a4d;
}

.lrr-booking__consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:22px;
  color:rgba(255,255,255,.48);
  font-size:11px;
  line-height:1.5;
}

.lrr-booking__consent input{
  width:15px;
  height:15px;
  margin-top:1px;
  accent-color:#c82045;
}

.lrr-booking__submit{
  width:100%;
  min-height:54px;
  margin-top:22px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid #c52349;
  background:linear-gradient(90deg,#a91436,#cc244a);
  color:#fff;
  cursor:pointer;
  font:700 9px Arial,sans-serif;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.lrr-booking__submit:disabled{
  opacity:.52;
  cursor:wait;
}

.lrr-booking__submit i{
  font-style:normal;
  font-size:19px;
}

.lrr-booking__empty{
  margin-top:22px;
  padding:18px 22px;
  border:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.35);
  font:600 8px Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Когда форма показана — пустую подсказку убираем */
.lrr-booking__wrap:not([hidden]) + .lrr-booking__empty{
  display:none;
}

@media(max-width:900px){
  .lrr-tickets-page__prices{
    grid-template-columns:1fr 1fr;
  }
  .lrr-tickets-page__prices>i{
    display:none;
  }
  .lrr-tickets-page__hint{
    grid-column:1/-1;
    padding:12px 0 0;
    border-top:1px solid rgba(255,255,255,.07);
  }
  .lrr-booking__intro{
    grid-template-columns:1fr;
    gap:10px;
  }
  .lrr-booking__wrap{
    grid-template-columns:1fr;
  }
  .lrr-booking__fields{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .lrr-tickets-page{
    padding:34px 14px 54px;
  }
  .lrr-tickets-page__hero h1{
    font-size:44px;
  }
  .lrr-tickets-page__hero p{
    font-size:13px;
  }
  .lrr-tickets-page__prices{
    grid-template-columns:1fr;
    gap:14px;
    padding:16px;
  }
  .lrr-tickets-page__prices>div{
    grid-template-columns:auto 1fr;
  }
  .lrr-tickets-page__hint{
    grid-column:auto;
  }
  .lrr-booking__summary{
    padding:22px 18px;
  }
  .lrr-booking__form{
    padding:22px 18px;
  }
  .lrr-booking__fields{
    grid-template-columns:1fr;
  }
  .lrr-booking__form-head{
    display:block;
  }
  .lrr-booking__form-head strong{
    display:block;
    max-width:none;
    margin-top:8px;
    text-align:left;
  }
}


/* =========================================================
   v1.7 — финальная компоновка страницы «Билеты»
   Убираем белое поле темы и делаем страницу компактнее.
   ========================================================= */

body.lrr-tickets-live-page,
body.lrr-tickets-live-page #main-container,
body.lrr-tickets-live-page #main,
body.lrr-tickets-live-page .site,
body.lrr-tickets-live-page .site-content,
body.lrr-tickets-live-page .content-area,
body.lrr-tickets-live-page .site-main,
body.lrr-tickets-live-page main,
body.lrr-tickets-live-page article,
body.lrr-tickets-live-page .entry-content,
body.lrr-tickets-live-page .ct-container,
body.lrr-tickets-live-page .ct-container-full,
body.lrr-tickets-live-page .ct-container-narrow{
  background:#070506 !important;
}

/* Стандартный заголовок WordPress "Билеты" больше не нужен */
body.lrr-tickets-live-page .entry-header,
body.lrr-tickets-live-page .page-header,
body.lrr-tickets-live-page .hero-section,
body.lrr-tickets-live-page .page-title,
body.lrr-tickets-live-page .entry-title{
  display:none !important;
}

/* Убираем внешние белые поля/отступы Blocksy */
body.lrr-tickets-live-page .site-main,
body.lrr-tickets-live-page .content-area,
body.lrr-tickets-live-page .entry-content,
body.lrr-tickets-live-page article{
  margin-top:0 !important;
  padding-top:0 !important;
}

body.lrr-tickets-live-page .ct-container,
body.lrr-tickets-live-page .ct-container-full,
body.lrr-tickets-live-page .ct-container-narrow{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Верх страницы плотнее */
.lrr-tickets-page{
  padding-top:38px !important;
  padding-bottom:58px !important;
}

.lrr-tickets-page__hero{
  margin-bottom:18px !important;
}

.lrr-tickets-page__hero h1{
  font-size:clamp(46px,4.7vw,72px) !important;
}

.lrr-tickets-page__hero p{
  margin-top:12px !important;
}

.lrr-tickets-page__prices{
  margin-top:20px !important;
  padding-top:17px !important;
  padding-bottom:17px !important;
}

/* Схема немного компактнее на десктопе, но остаётся читаемой */
@media(min-width:901px){
  .lrr-tickets-page .lrr-map__frame{
    max-width:690px !important;
  }

  .lrr-tickets-page .lrr-map__legend{
    max-width:690px !important;
  }

  .lrr-tickets-page .lrr-map__summary,
  .lrr-tickets-page .lrr-map__message{
    max-width:690px !important;
  }
}

/* Блок оформления: без гигантского переноса слова */
.lrr-booking--premium{
  margin-top:24px !important;
  padding-top:24px !important;
}

.lrr-booking__intro{
  grid-template-columns:110px minmax(280px,.8fr) 1.35fr !important;
  gap:22px !important;
  align-items:start !important;
}

.lrr-booking__intro h2{
  font-size:clamp(38px,3.2vw,52px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.lrr-booking__intro p{
  max-width:560px !important;
  font-size:14px !important;
  line-height:1.6 !important;
}

.lrr-booking__wrap{
  margin-top:18px !important;
}

.lrr-booking__empty{
  margin-top:16px !important;
}

/* На планшете/мобиле заголовок снова адаптивный */
@media(max-width:900px){
  .lrr-booking__intro{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .lrr-booking__intro h2{
    white-space:normal !important;
    font-size:42px !important;
  }
}

@media(max-width:600px){
  .lrr-tickets-page{
    padding-top:26px !important;
  }

  .lrr-tickets-page__hero h1{
    font-size:40px !important;
  }

  .lrr-booking__intro h2{
    font-size:38px !important;
  }
}


/* =========================================================
   v1.8 — облегчённая премиальная компоновка
   ========================================================= */

/* Общая ширина и ритм страницы */
.lrr-tickets-page{
  padding-top:30px !important;
  padding-bottom:46px !important;
}

.lrr-tickets-page__hero{
  width:min(1080px,100%) !important;
  margin-bottom:14px !important;
}

.lrr-tickets-page__hero h1{
  font-size:clamp(40px,4.1vw,62px) !important;
  line-height:1 !important;
}

.lrr-tickets-page__hero p{
  max-width:560px !important;
  margin-top:10px !important;
  font-size:13px !important;
}

/* Строка цен становится тоньше и легче */
.lrr-tickets-page__prices{
  width:min(1080px,100%) !important;
  margin:16px auto 0 !important;
  padding:14px 18px !important;
  gap:16px !important;
  border-color:rgba(214,181,106,.14) !important;
  background:linear-gradient(90deg,rgba(62,8,22,.16),rgba(10,7,8,.46)) !important;
}

.lrr-tickets-page__prices strong{
  font-size:22px !important;
}

.lrr-tickets-page__prices small{
  font-size:10px !important;
}

/* Карта чуть компактнее и визуально легче */
.lrr-tickets-page .lrr-map{
  width:min(1080px,100%) !important;
  margin-top:20px !important;
}

@media(min-width:901px){
  .lrr-tickets-page .lrr-map__frame,
  .lrr-tickets-page .lrr-map__legend,
  .lrr-tickets-page .lrr-map__summary,
  .lrr-tickets-page .lrr-map__message{
    max-width:640px !important;
  }
}

/* Компактное оформление */
.lrr-booking--premium{
  width:min(1080px,100%) !important;
  margin-top:18px !important;
  padding-top:18px !important;
}

.lrr-booking__intro{
  grid-template-columns:90px 260px 1fr !important;
  gap:16px !important;
  align-items:center !important;
}

.lrr-booking__intro>span{
  padding-top:0 !important;
}

.lrr-booking__intro h2{
  font-size:34px !important;
  line-height:1 !important;
}

.lrr-booking__intro p{
  margin:0 !important;
  max-width:500px !important;
  font-size:12px !important;
  line-height:1.5 !important;
  color:rgba(255,255,255,.46) !important;
}

/* Главный блок формы — меньше высоты и меньше визуального веса */
.lrr-booking__wrap{
  grid-template-columns:230px 1fr !important;
  margin-top:14px !important;
  border-color:rgba(214,181,106,.14) !important;
  background:rgba(214,181,106,.08) !important;
}

.lrr-booking__summary{
  padding:20px !important;
  background:
    radial-gradient(circle at 80% 10%,rgba(135,16,44,.13),transparent 48%),
    #100709 !important;
}

.lrr-booking__summary small{
  margin-bottom:10px !important;
}

.lrr-booking__summary strong{
  margin-top:0 !important;
  font-size:22px !important;
  line-height:1.25 !important;
}

/* Убираем повтор выбранного места справа */
.lrr-booking__form-head{
  padding-bottom:10px !important;
  border-bottom-color:rgba(255,255,255,.055) !important;
}

.lrr-booking__form-head strong{
  display:none !important;
}

.lrr-booking__form{
  padding:18px 20px 20px !important;
  background:#0b0708 !important;
}

/* Поля — обычные, аккуратные, без огромной типографики темы */
.lrr-booking__fields{
  grid-template-columns:1.25fr 1fr 1.25fr .7fr !important;
  gap:14px !important;
  margin-top:14px !important;
}

.lrr-booking__fields label>span{
  margin-bottom:5px !important;
  font-size:6.5px !important;
}

.lrr-booking__fields input,
.lrr-booking__fields select{
  height:38px !important;
  padding:0 0 4px !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#f4ece7 !important;
  font-family:Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
}

.lrr-booking__fields input::placeholder{
  color:rgba(255,255,255,.24) !important;
}

.lrr-booking__consent{
  margin-top:16px !important;
  gap:8px !important;
  font-size:10px !important;
  line-height:1.4 !important;
  letter-spacing:.04em !important;
}

.lrr-booking__consent input{
  flex:0 0 auto !important;
  width:14px !important;
  height:14px !important;
}

/* Кнопка меньше и легче */
.lrr-booking__submit{
  min-height:46px !important;
  margin-top:16px !important;
  padding:0 18px !important;
  font-size:8px !important;
  letter-spacing:.13em !important;
  background:linear-gradient(90deg,#a81436,#c62147) !important;
  box-shadow:none !important;
}

.lrr-booking__empty{
  margin-top:12px !important;
  padding:13px 16px !important;
  font-size:7px !important;
  border-color:rgba(255,255,255,.05) !important;
}

/* На планшете и телефоне сохраняем компактность */
@media(max-width:900px){
  .lrr-booking__intro{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  .lrr-booking__intro h2{
    font-size:34px !important;
  }

  .lrr-booking__wrap{
    grid-template-columns:1fr !important;
  }

  .lrr-booking__summary{
    padding:16px 18px !important;
  }

  .lrr-booking__fields{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:600px){
  .lrr-tickets-page{
    padding-top:22px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .lrr-tickets-page__hero h1{
    font-size:38px !important;
  }

  .lrr-tickets-page__prices{
    padding:12px 14px !important;
  }

  .lrr-booking__intro h2{
    font-size:32px !important;
  }

  .lrr-booking__form{
    padding:16px !important;
  }

  .lrr-booking__fields{
    grid-template-columns:1fr !important;
    gap:11px !important;
  }

  .lrr-booking__fields input,
  .lrr-booking__fields select{
    height:36px !important;
    font-size:14px !important;
  }
}


/* =========================================================
   v1.9 — два обязательных согласия
   ========================================================= */

.lrr-booking__consents{
  display:grid;
  gap:9px;
  margin-top:16px;
}

.lrr-booking__consents .lrr-booking__consent{
  margin-top:0 !important;
}

.lrr-booking__consents .lrr-booking__consent span{
  color:rgba(255,255,255,.50);
}

@media(max-width:600px){
  .lrr-booking__consents{
    gap:10px;
  }
}


/* =========================================================
   v1.10 — ссылки внутри обязательных согласий
   ========================================================= */

.lrr-booking__consents .lrr-booking__consent a{
  color:#d6b56a !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(214,181,106,.45);
  transition:color .18s ease,border-color .18s ease;
}

.lrr-booking__consents .lrr-booking__consent a:hover{
  color:#f3dfaa !important;
  border-bottom-color:#f3dfaa;
}

.lrr-booking__consents .lrr-booking__consent a:focus-visible{
  outline:1px solid #d6b56a;
  outline-offset:3px;
}


/* =========================================================
   v1.13 — светлые премиальные блоки оформления
   ========================================================= */

/* Ваш выбор / сумма под схемой */
.lrr-tickets-page .lrr-map__summary{
  margin-top:18px !important;
  padding:18px 20px !important;
  border:1px solid rgba(185,147,91,.48) !important;
  background:
    radial-gradient(circle at 92% 12%,rgba(157,23,53,.055),transparent 38%),
    linear-gradient(135deg,#fbf7ef,#f3eadc) !important;
  box-shadow:0 20px 55px rgba(0,0,0,.20) !important;
}

.lrr-tickets-page .lrr-map__summary span{
  color:#806b64 !important;
  font-size:7px !important;
  font-weight:700 !important;
}

.lrr-tickets-page .lrr-map__summary strong{
  color:#2c1a1d !important;
  font-size:20px !important;
}

.lrr-tickets-page .lrr-map__summary button{
  min-height:50px !important;
  border:1px solid #a71839 !important;
  background:linear-gradient(135deg,#b51d40,#931431) !important;
  box-shadow:0 10px 25px rgba(106,10,34,.18) !important;
}

.lrr-tickets-page .lrr-map__summary button:disabled{
  opacity:.42 !important;
}

/* Вся зона оформления становится светлой карточкой */
.lrr-booking--premium{
  padding:26px !important;
  border:1px solid rgba(185,147,91,.48) !important;
  background:
    radial-gradient(circle at 96% 4%,rgba(157,23,53,.06),transparent 38%),
    linear-gradient(135deg,#fbf7ef,#f2e8da) !important;
  box-shadow:0 28px 75px rgba(0,0,0,.25) !important;
}

.lrr-booking__intro{
  padding-bottom:20px !important;
  border-bottom:1px solid rgba(87,59,50,.13) !important;
}

.lrr-booking__intro>span{
  color:#a81738 !important;
}

.lrr-booking__intro h2{
  color:#2b191c !important;
}

.lrr-booking__intro p{
  color:#6f5e59 !important;
  font-size:13px !important;
}

/* Выбранное место и форма */
.lrr-booking__wrap{
  gap:0 !important;
  margin-top:20px !important;
  overflow:hidden !important;
  border:1px solid rgba(185,147,91,.45) !important;
  background:#fffaf3 !important;
  box-shadow:0 16px 42px rgba(87,51,41,.10) !important;
}

.lrr-booking__summary{
  position:relative !important;
  padding:25px !important;
  border-right:1px solid rgba(185,147,91,.32) !important;
  background:
    radial-gradient(circle at 85% 15%,rgba(157,23,53,.08),transparent 44%),
    linear-gradient(145deg,#f8efe4,#eee0d0) !important;
}

.lrr-booking__summary::after{
  content:"";
  position:absolute;
  left:25px;
  right:25px;
  bottom:22px;
  height:1px;
  background:linear-gradient(90deg,rgba(168,23,56,.52),transparent);
}

.lrr-booking__summary small,
.lrr-booking__form-head span,
.lrr-booking__fields label>span{
  color:#806b64 !important;
  font-size:7px !important;
  font-weight:700 !important;
}

.lrr-booking__summary strong{
  color:#2b191c !important;
  font-size:24px !important;
}

.lrr-booking__form{
  padding:24px 26px 26px !important;
  background:#fffaf3 !important;
}

.lrr-booking__form-head{
  padding-bottom:13px !important;
  border-bottom:1px solid rgba(87,59,50,.12) !important;
}

.lrr-booking__fields{
  gap:16px !important;
  margin-top:18px !important;
}

/* Светлые контрастные поля */
.lrr-booking__fields input,
.lrr-booking__fields select{
  height:44px !important;
  padding:0 12px !important;
  border:1px solid rgba(132,101,70,.34) !important;
  border-radius:2px !important;
  outline:0 !important;
  background:#fffdf8 !important;
  color:#29191b !important;
  font-size:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.lrr-booking__fields input::placeholder{
  color:#a18e87 !important;
}

.lrr-booking__fields input:focus,
.lrr-booking__fields select:focus{
  border-color:#a81738 !important;
  box-shadow:0 0 0 2px rgba(168,23,56,.09) !important;
}

.lrr-booking__fields input:-webkit-autofill,
.lrr-booking__fields input:-webkit-autofill:hover,
.lrr-booking__fields input:-webkit-autofill:focus{
  -webkit-text-fill-color:#29191b !important;
  -webkit-box-shadow:0 0 0 1000px #fffdf8 inset !important;
  transition:background-color 9999s ease-out 0s;
}

.lrr-booking__fields select option{
  color:#29191b !important;
  background:#fffdf8 !important;
}

/* Согласия — тёмный читаемый текст и бордовые ссылки */
.lrr-booking__consents{
  gap:11px !important;
  margin-top:20px !important;
  padding:16px 17px !important;
  border:1px solid rgba(132,101,70,.22) !important;
  background:#f8f0e5 !important;
}

.lrr-booking__consent{
  color:#5e4c48 !important;
  font-size:11px !important;
  line-height:1.55 !important;
}

.lrr-booking__consents .lrr-booking__consent span{
  color:#5e4c48 !important;
}

.lrr-booking__consent input{
  width:16px !important;
  height:16px !important;
  margin-top:1px !important;
  accent-color:#a81738 !important;
}

.lrr-booking__consents .lrr-booking__consent a{
  color:#8f1532 !important;
  border-bottom-color:rgba(143,21,50,.35) !important;
  font-weight:700 !important;
}

.lrr-booking__consents .lrr-booking__consent a:hover{
  color:#b11c40 !important;
  border-bottom-color:#b11c40 !important;
}

.lrr-booking__submit{
  min-height:52px !important;
  margin-top:18px !important;
  border:1px solid #a71839 !important;
  background:linear-gradient(135deg,#bc2145,#941430) !important;
  box-shadow:0 13px 30px rgba(106,10,34,.18) !important;
}

.lrr-booking__empty{
  margin-top:18px !important;
  padding:17px 20px !important;
  border:1px solid rgba(185,147,91,.36) !important;
  background:#fffaf3 !important;
  color:#735e57 !important;
  font-size:8px !important;
  box-shadow:0 12px 32px rgba(87,51,41,.08) !important;
}

#lrr-booking-success:not([hidden]){
  padding:22px !important;
  color:#2b191c !important;
  background:#edf7ef !important;
  border:1px solid rgba(67,137,85,.28) !important;
}

@media(max-width:900px){
  .lrr-booking--premium{
    padding:22px !important;
  }

  .lrr-booking__summary{
    border-right:0 !important;
    border-bottom:1px solid rgba(185,147,91,.32) !important;
  }
}

@media(max-width:600px){
  .lrr-tickets-page .lrr-map__summary{
    padding:16px !important;
  }

  .lrr-booking--premium{
    padding:18px 14px !important;
  }

  .lrr-booking__intro{
    padding-bottom:16px !important;
  }

  .lrr-booking__form{
    padding:20px 16px !important;
  }

  .lrr-booking__fields input,
  .lrr-booking__fields select{
    height:44px !important;
    font-size:15px !important;
  }

  .lrr-booking__consents{
    padding:14px !important;
  }
}


/* =========================================================
   v1.16.2 — модальное окно ЮKassa: мобильная компоновка.
   Окно закреплено у верхней части экрана; после загрузки формы
   пользователь сразу видит начало выбора способа оплаты.
   ========================================================= */
body.lrr-yoo-open{
  overflow:hidden !important;
}
.lrr-yoo-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  padding:14px 12px 28px !important;
  background:rgba(7,4,5,.88) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.lrr-yoo-shell{
  position:relative !important;
  width:min(520px,100%) !important;
  min-width:288px !important;
  margin:0 auto !important;
  padding:18px 14px 14px !important;
  border:1px solid rgba(196,157,91,.46) !important;
  border-radius:22px !important;
  background:#fffaf4 !important;
  box-shadow:0 28px 90px rgba(0,0,0,.55) !important;
  overflow:visible !important;
}
.lrr-yoo-close{
  position:absolute !important;
  top:10px !important;
  right:12px !important;
  z-index:3 !important;
  width:38px !important;
  height:38px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:rgba(35,22,25,.08) !important;
  color:#2b191c !important;
  font:300 30px/36px Arial,sans-serif !important;
  cursor:pointer !important;
}
.lrr-yoo-head{
  padding:2px 46px 12px 4px !important;
  border-bottom:1px solid rgba(81,51,45,.12) !important;
}
.lrr-yoo-head span{
  display:block !important;
  margin-bottom:4px !important;
  color:#a71938 !important;
  font:700 10px/1.2 Arial,sans-serif !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}
.lrr-yoo-head strong{
  display:block !important;
  color:#24171a !important;
  font:500 22px/1.25 Georgia,serif !important;
}
.lrr-yoo-head small{
  display:block !important;
  margin-top:6px !important;
  color:#7a6661 !important;
  font:12px/1.35 Arial,sans-serif !important;
}
.lrr-yoo-loading{
  padding:22px 10px !important;
  text-align:center !important;
  color:#75615d !important;
  font:14px/1.5 Arial,sans-serif !important;
}
.lrr-yoo-loading.is-error{color:#991c35 !important;}
.lrr-yoo-form{
  width:100% !important;
  min-width:288px !important;
  min-height:360px !important;
  padding-top:6px !important;
}
.lrr-yoo-form iframe{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}
@media(max-width:600px){
  .lrr-yoo-overlay{
    padding:4px 4px 16px !important;
  }
  .lrr-yoo-shell{
    width:100% !important;
    margin:0 auto !important;
    padding:12px 6px 8px !important;
    border-radius:15px !important;
  }
  .lrr-yoo-head{
    padding:3px 46px 10px 8px !important;
  }
  .lrr-yoo-head strong{
    font-size:20px !important;
  }
  .lrr-yoo-head small{
    font-size:12px !important;
  }
  .lrr-yoo-form{
    min-height:420px !important;
    padding-top:2px !important;
  }
}

/* =========================================================
   v1.19.1 — PROMO CODE
   ========================================================= */
.lrr-promo-entry{
  margin:22px 0 4px;
  padding:18px 20px;
  border:1px solid rgba(92,45,55,.16);
  border-radius:16px;
  background:rgba(255,255,255,.48);
}
.lrr-promo-entry>label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#5f3b43;
}
.lrr-promo-entry__row{
  display:flex;
  gap:10px;
  align-items:stretch;
}
.lrr-promo-entry__row input{
  min-width:0;
  flex:1 1 auto;
  height:48px;
  padding:0 14px;
  border:1px solid rgba(89,55,63,.22);
  border-radius:10px;
  background:#fffaf6;
  color:#281a1d;
  font:600 14px/1.2 Manrope,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
  outline:none;
}
.lrr-promo-entry__row input:focus{
  border-color:#9e2942;
  box-shadow:0 0 0 3px rgba(158,41,66,.08);
}
.lrr-promo-entry__row button{
  min-width:132px;
  padding:0 18px;
  border:1px solid #8f243b;
  border-radius:10px;
  background:#8f243b;
  color:#fff;
  font:700 10px/1 Manrope,Arial,sans-serif;
  letter-spacing:.12em;
  cursor:pointer;
}
.lrr-promo-entry__row button:disabled{opacity:.55;cursor:wait}
.lrr-promo-entry__message{
  min-height:20px;
  margin-top:9px;
  font-size:12px;
  line-height:1.45;
  color:#6b5b60;
}
.lrr-promo-entry__message.is-success{color:#17643a}
.lrr-promo-entry__message.is-error{color:#a3263f}
.lrr-promo-entry__totals{
  display:flex;
  justify-content:flex-end;
  gap:24px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(92,45,55,.10);
  font-size:12px;
  color:#6b555b;
}
.lrr-promo-entry__totals strong{
  margin-left:6px;
  color:#7f1f35;
  font-size:14px;
}
@media(max-width:640px){
  .lrr-promo-entry{padding:16px 14px}
  .lrr-promo-entry__row{flex-direction:column}
  .lrr-promo-entry__row button{min-height:46px;width:100%}
  .lrr-promo-entry__totals{flex-direction:column;gap:5px;align-items:flex-start}
}
\n\n/* =========================================================\n   v1.19.2 — PROMO CONTRAST\n   ========================================================= */\n.lrr-promo-entry__row input#lrr-promo-code{\n  background:#fff8f2 !important;\n  border-color:rgba(112,52,66,.36) !important;\n  color:#4f1726 !important;\n  -webkit-text-fill-color:#4f1726 !important;\n  caret-color:#8f243b !important;\n  opacity:1 !important;\n  font-weight:800 !important;\n  letter-spacing:.055em !important;\n}\n.lrr-promo-entry__row input#lrr-promo-code::placeholder{\n  color:#8b6a72 !important;\n  -webkit-text-fill-color:#8b6a72 !important;\n  opacity:1 !important;\n  font-weight:600 !important;\n}\n.lrr-promo-entry__row input#lrr-promo-code:-webkit-autofill,\n.lrr-promo-entry__row input#lrr-promo-code:-webkit-autofill:hover,\n.lrr-promo-entry__row input#lrr-promo-code:-webkit-autofill:focus{\n  -webkit-text-fill-color:#4f1726 !important;\n  box-shadow:0 0 0 1000px #fff8f2 inset !important;\n}\n