/* «Вогульский крокодил», второй вариант — онлайн-бронь: календарь, ночёвка, сетка бани и чанов, еда, оплата.
   Общая для главной (#bron), отдельной страницы bron.html, статуса брони и тестовой оплаты.
   Цвета и шрифты — из stil.css (:root). Префикс классов — br-. */

.razdel-bron { background: var(--pesok-2); color: var(--chernila); }
.razdel-bron .hrebet path { fill: var(--pesok-2); }
.razdel-bron .lid { color: var(--chernila-2); }

/* ---------- каркас ---------- */
.br { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; margin-top: 40px; }
.br-glav { display: grid; gap: 18px; min-width: 0; }
.br-shag { background: #FBFAF7; padding: 26px 28px 28px; animation: br-vplyv .35s ease both; min-width: 0; }
.br-shag[hidden], .br [hidden] { display: none !important; }
.br-shag-zag { display: flex; align-items: center; gap: 12px; font: 700 26px/1.05 var(--zag); font-stretch: 84%; margin: 0 0 18px; }
.br-shag-zag i { flex: none; width: 34px; height: 34px; display: grid; place-items: center; background: var(--chernila); color: var(--salat); font: 800 17px/1 var(--zag); font-style: normal; }
.br-shag-zag small { margin-left: auto; font: 500 14px/1.3 var(--tekst); color: var(--chernila-2); text-align: right; }
.br-pod { margin: -8px 0 18px; font-size: 15px; color: var(--chernila-2); }
@keyframes br-vplyv { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* кнопка-контур на светлом (в stil.css она для тёмного фона) */
.br-shag .knopka-kontur { background: transparent; color: var(--chernila); box-shadow: inset 0 0 0 2px var(--chernila); }
.br-shag .knopka-kontur:hover { background: var(--pesok-2); }
.br-shag .br-sob-p .knopka-kontur { color: var(--pesok); box-shadow: inset 0 0 0 2px rgba(244, 241, 234, .55); }
.br-shag .br-sob-p .knopka-kontur:hover { background: rgba(244, 241, 234, .15); }

/* ---------- режим: с ночёвкой / на день ---------- */
.br-rezhim { display: inline-flex; background: var(--pesok-2); padding: 5px; gap: 4px; margin-bottom: 18px; max-width: 100%; }
.br-rezhim button { border: 0; background: transparent; padding: 12px 16px; font: 700 15px/1.15 var(--zag); letter-spacing: .02em; color: var(--chernila-2); text-align: left; }
.br-rezhim button small { display: block; font: 500 12.5px/1.2 var(--tekst); letter-spacing: 0; opacity: .8; margin-top: 3px; }
.br-rezhim button.on { background: var(--chernila); color: var(--salat); }
.br-rezhim button.on small { color: var(--pesok); }

/* ---------- календарь ---------- */
.kal { user-select: none; -webkit-user-select: none; }
.kal-shapka { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.kal-shapka button { width: 42px; height: 42px; border: 2px solid var(--pesok-3); background: transparent; color: inherit; font: 700 20px/1 var(--zag); display: grid; place-items: center; }
.kal-shapka button:disabled { opacity: .3; cursor: default; }
.kal-shapka button:not(:disabled):hover { border-color: currentColor; }
.kal-mesyacy { display: grid; grid-template-columns: repeat(var(--m, 2), minmax(0, 1fr)); gap: 26px; }
.kal-mes h4 { margin: 0 0 8px; font: 700 17px/1 var(--zag); letter-spacing: .06em; text-transform: uppercase; text-align: center; }
.kal-setka { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.kal-dn { font: 600 12px/1 var(--zag); letter-spacing: .08em; text-transform: uppercase; text-align: center; padding: 4px 0 6px; color: var(--chernila-2); }
.kal-dn.v { color: var(--zakat); }
.kal-d { position: relative; min-height: 50px; border: 0; background: #F2EEE6; color: var(--chernila); padding: 6px 2px 5px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 3px; font: 700 16px/1 var(--zag); transition: background .12s; }
.kal-d small { font: 500 10.5px/1 var(--tekst); color: var(--chernila-2); white-space: nowrap; }
.kal-d.vyh { color: #B0492B; }
.kal-d.pust { background: transparent; pointer-events: none; }
.kal-d:disabled { background: transparent; color: rgba(62, 80, 104, .35); cursor: default; }
.kal-d:disabled small { visibility: hidden; }
.kal-d.net small { color: #B03A2E; }
.kal-d:not(:disabled):hover { background: var(--pesok-2); }
.kal-d.segodnya { box-shadow: inset 0 0 0 2px var(--pesok-3); }
.kal-d.v-dia { background: rgba(211, 154, 106, .45); }
.kal-d.nach, .kal-d.kon, .kal-d.odin { background: var(--chernila); color: var(--salat); }
.kal-d.nach small, .kal-d.kon small, .kal-d.odin small { color: var(--pesok); }
.kal-d .sob { position: absolute; top: 4px; right: 4px; width: 7px; height: 7px; border-radius: 50%; background: var(--girlyanda); box-shadow: 0 0 6px var(--girlyanda); }
.kal-d .sob.akc { background: var(--salat-temn); box-shadow: none; }
.kal-legenda { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 0; font-size: 13px; color: var(--chernila-2); }
.kal-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.kal-legenda i { width: 9px; height: 9px; border-radius: 50%; background: var(--girlyanda); display: inline-block; }
.kal-legenda i.akc { background: var(--salat-temn); }
.kal-legenda i.cena { width: auto; height: auto; border-radius: 0; background: none; font: 500 12px/1 var(--tekst); font-style: normal; }

/* тёмный вариант (афиша на тёмном) */
.kal-temn .kal-shapka button { border-color: rgba(163, 155, 143, .35); }
.kal-temn .kal-dn { color: var(--gory); }
.kal-temn .kal-d { background: var(--voda-2); color: var(--pesok); }
.kal-temn .kal-d small { color: var(--gory); }
.kal-temn .kal-d.vyh { color: var(--zakat); }
.kal-temn .kal-d:disabled { background: transparent; color: rgba(163, 155, 143, .35); }
.kal-temn .kal-d:not(:disabled):hover { background: var(--voda-3); }
.kal-temn .kal-d.segodnya { box-shadow: inset 0 0 0 2px rgba(163, 155, 143, .5); }
.kal-temn .kal-d.v-dia { background: rgba(211, 154, 106, .22); }
.kal-temn .kal-d.nach, .kal-temn .kal-d.kon, .kal-temn .kal-d.odin { background: var(--salat); color: var(--voda); }
.kal-temn .kal-d.nach small, .kal-temn .kal-d.kon small, .kal-temn .kal-d.odin small { color: var(--voda); }
.kal-temn .kal-legenda { color: var(--gory); }

/* ---------- даты и гости ---------- */
.br-daty { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 16px 0 0; padding: 14px 16px; background: var(--pesok); font-size: 15.5px; }
.br-daty b { font: 700 18px/1.2 var(--zag); font-stretch: 88%; }
.br-daty .br-nochey { margin-left: auto; font: 700 15px/1 var(--zag); background: var(--salat); padding: 7px 10px; }
.br-daty-pusto { color: var(--chernila-2); }
.br-gosti { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0 0; }
.br-sch { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 2px solid var(--pesok-3); background: #FFFFFF; min-width: 0; }
.br-sch > span { flex: 1; min-width: 0; font: 700 16px/1.15 var(--zag); font-stretch: 90%; }
.br-sch > span small { display: block; font: 500 12.5px/1.25 var(--tekst); color: var(--chernila-2); }
.plmn { display: inline-flex; align-items: center; flex: none; }
.plmn button { width: 36px; height: 36px; border: 0; background: var(--pesok-2); color: var(--chernila); font: 700 20px/1 var(--zag); display: grid; place-items: center; }
.plmn button:not(:disabled):hover { background: var(--salat); }
.plmn button:disabled { opacity: .35; cursor: default; }
.plmn b { min-width: 30px; text-align: center; font: 700 18px/1 var(--zag); }
.br-deystviya { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 20px; }
.br-deystviya .knopka[disabled] { opacity: .5; cursor: default; }
.br-oshibka { margin: 12px 0 0; padding: 10px 14px; background: #FBE3DD; color: #8E2A1E; font-weight: 600; font-size: 15px; }
.br-oshibka:empty { display: none; }
.br-zhdite { color: var(--chernila-2); font-size: 15px; }

/* ---------- события в эти дни ---------- */
.br-sob { display: grid; gap: 8px; margin: 0 0 18px; }
.br-sob-p { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 12px 10px 10px; background: var(--chernila); color: var(--pesok); }
.br-sob-p .dt { text-align: center; font: 800 26px/.9 var(--zag); color: var(--girlyanda); }
.br-sob-p .dt small { display: block; font: 600 11px/1.1 var(--zag); letter-spacing: .08em; text-transform: uppercase; color: var(--gory); margin-top: 3px; }
.br-sob-p b { display: block; font: 700 17px/1.2 var(--zag); font-stretch: 90%; }
.br-sob-p span { display: block; font-size: 13.5px; line-height: 1.35; color: var(--gory); }
.br-sob-p .knopka { min-height: 40px; padding: 0 14px; font-size: 14px; }
.br-sob-p .v { font: 700 14px/1.2 var(--zag); color: var(--salat); text-align: right; white-space: nowrap; }

/* ---------- ночёвка ---------- */
.br-kat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.br-k { display: grid; grid-template-rows: auto 1fr; background: #FFFFFF; border: 2px solid var(--pesok-2); transition: border-color .15s; min-width: 0; }
.br-k.vybran { border-color: var(--chernila); box-shadow: 0 0 0 1px var(--chernila); }
.br-k.net { opacity: .62; }
.br-k-foto { position: relative; height: 150px; background: var(--pesok-2); overflow: hidden; }
.br-k-foto img { width: 100%; height: 100%; object-fit: cover; }
.br-k-foto .svob { position: absolute; left: 10px; top: 10px; background: var(--chernila); color: var(--salat); font: 700 13px/1 var(--zag); letter-spacing: .03em; padding: 6px 8px; }
.br-k.net .br-k-foto .svob { background: #7A2E24; color: #FFE3DC; }
.br-k-foto .svob.malo { background: var(--girlyanda); color: var(--chernila); }
.br-k-telo { display: flex; flex-direction: column; gap: 6px; padding: 14px 14px 14px; min-width: 0; }
.br-k-telo h4 { margin: 0; font: 700 19px/1.1 var(--zag); font-stretch: 88%; }
.br-k-telo .kto { font-size: 13.5px; color: var(--chernila-2); line-height: 1.35; }
.br-k-niz { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 8px; }
.br-k-cena b { display: block; font: 800 24px/1 var(--zag); font-stretch: 84%; }
.br-k-cena small { display: block; font-size: 12.5px; color: var(--chernila-2); margin-top: 3px; line-height: 1.3; }
.br-k .prichina { font-size: 13.5px; font-weight: 600; color: #8E2A1E; }
.br-k .knopka { min-height: 42px; padding: 0 16px; font-size: 14px; }
.br-mesta { margin: 14px 0 0; padding: 12px 14px; font-size: 15px; background: var(--pesok); }
.br-mesta.ok { background: rgba(211, 154, 106, .35); }
.br-mesta.malo { background: #FBE3DD; color: #8E2A1E; font-weight: 600; }

/* ---------- подсказка: свободно на ваши даты ---------- */
.br-upsell { position: relative; background: var(--chernila); color: var(--pesok); padding: 24px 26px 26px; overflow: hidden; animation: br-vplyv .35s ease both; }
.br-upsell::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: repeating-linear-gradient(90deg, var(--girlyanda) 0 6px, transparent 6px 22px); opacity: .9; }
.br-upsell h3 { font: 700 26px/1.05 var(--zag); font-stretch: 84%; margin: 0; display: flex; align-items: center; gap: 12px; }
.br-upsell h3 .lampa { width: 12px; height: 12px; border-radius: 50%; background: var(--girlyanda); box-shadow: 0 0 10px 2px rgba(233, 184, 114, .8); animation: br-migaet 2.4s ease-in-out infinite; flex: none; }
.br-upsell > p { margin: 6px 0 16px; color: var(--gory); font-size: 15px; }
.br-up-spisok { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.br-up { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; background: var(--voda-2); padding: 12px; align-items: start; min-width: 0; }
.br-up img, .br-up .bez { width: 76px; height: 76px; object-fit: cover; background: var(--voda-3); }
.br-up b { display: block; font: 700 17px/1.15 var(--zag); font-stretch: 90%; }
.br-up .kogda { display: block; font-size: 13.5px; color: var(--salat); margin-top: 3px; }
.br-up .skolko { display: block; font-size: 12.5px; color: var(--gory); margin-top: 2px; }
.br-up .cena { display: flex; align-items: baseline; gap: 8px; margin-top: 6px; }
.br-up .cena s { color: var(--gory); font-size: 14px; }
.br-up .cena b { color: var(--girlyanda); font-size: 20px; }
.br-up .knopka { grid-column: 1 / -1; min-height: 42px; justify-content: center; font-size: 14px; }
@keyframes br-migaet { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }

/* ---------- доп. услуги ---------- */
.br-vkladki { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.br-vkladki button { border: 2px solid var(--pesok-3); background: transparent; padding: 9px 14px; font: 700 14px/1 var(--zag); letter-spacing: .03em; color: var(--chernila-2); }
.br-vkladki button.on { background: var(--chernila); border-color: var(--chernila); color: var(--salat); }
.br-vkladki button em { font-style: normal; background: var(--salat); color: var(--voda); padding: 2px 6px; margin-left: 6px; }
.br-usl-spisok { display: grid; gap: 10px; }
.br-u { border: 2px solid var(--pesok-2); background: #FFFFFF; min-width: 0; }
.br-u.vybran { border-color: var(--chernila); }
.br-u-verh { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 12px 10px 10px; }
.br-u-verh img, .br-u-verh .bez { width: 64px; height: 64px; object-fit: cover; background: var(--pesok-2); display: grid; place-items: center; }
.br-u-verh .bez svg { width: 30px; height: 30px; stroke: var(--chernila-2); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.br-u-verh b { display: block; font: 700 18px/1.15 var(--zag); font-stretch: 88%; }
.br-u-verh .op { display: block; font-size: 13.5px; line-height: 1.35; color: var(--chernila-2); margin-top: 2px; }
.br-u-verh .c { display: block; font: 700 15px/1.2 var(--zag); margin-top: 4px; }
.br-u-verh .c em { font-style: normal; background: var(--salat); padding: 1px 5px; margin-left: 6px; font-size: 13px; }
.br-u-verh .knopka { min-height: 40px; padding: 0 14px; font-size: 14px; }
.br-u-verh .v { display: inline-flex; align-items: center; gap: 6px; font: 700 14px/1 var(--zag); color: var(--salat-temn); }
.br-u-red { border-top: 1px dashed var(--pesok-3); padding: 14px 14px 16px; display: grid; gap: 14px; }
.br-u-ryad { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.br-u-ryad > span { font: 700 12px/1 var(--zag); letter-spacing: .12em; text-transform: uppercase; color: var(--chernila-2); min-width: 92px; }
.br-chipy { display: flex; flex-wrap: wrap; gap: 6px; }
.br-chipy button { border: 2px solid var(--pesok-3); background: transparent; padding: 8px 11px; font: 700 14px/1 var(--zag); color: var(--chernila); }
.br-chipy button.on { background: var(--chernila); border-color: var(--chernila); color: var(--salat); }
.br-chipy button:disabled { opacity: .35; text-decoration: line-through; cursor: default; }
.br-setka { overflow-x: auto; padding-bottom: 4px; }
.br-setka table { border-collapse: separate; border-spacing: 2px; font-size: 12px; }
.br-setka th { font: 600 11px/1 var(--zag); color: var(--chernila-2); padding: 0 0 4px; text-align: left; white-space: nowrap; }
.br-setka th.ch { text-align: center; min-width: 30px; }
.br-setka td { height: 26px; min-width: 30px; background: rgba(211, 154, 106, .5); }
.br-setka td.z { background: repeating-linear-gradient(135deg, var(--pesok-3) 0 4px, #D2C8B6 4px 8px); }
.br-setka td.p { background: transparent; box-shadow: inset 0 0 0 1px var(--pesok-3); }
.br-setka td.m { background: var(--chernila); }
.br-setka td.imya { background: transparent; min-width: 0; padding-right: 8px; font: 600 12.5px/1.1 var(--zag); white-space: nowrap; }
.br-setka-leg { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--chernila-2); margin-top: 6px; }
.br-setka-leg i { display: inline-block; width: 14px; height: 10px; margin-right: 5px; vertical-align: -1px; }
.br-setka-leg .s { background: rgba(211, 154, 106, .5); }
.br-setka-leg .z { background: repeating-linear-gradient(135deg, var(--pesok-3) 0 3px, #D2C8B6 3px 6px); }
.br-setka-leg .m { background: var(--chernila); }
.br-u-itog { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px solid var(--pesok-2); }
.br-u-itog b { font: 800 22px/1 var(--zag); font-stretch: 86%; }
.br-u-itog b s { font-weight: 600; font-size: 16px; color: var(--chernila-2); margin-right: 8px; }
.br-u-itog .knopka { min-height: 42px; padding: 0 16px; font-size: 14px; }
.br-u-itog .ubrat { border: 0; background: none; padding: 6px 0; font: 600 14px/1 var(--tekst); color: #8E2A1E; text-decoration: underline; text-underline-offset: 3px; }
.br-u-osh { font-size: 14px; font-weight: 600; color: #8E2A1E; }
.br-u-osh:empty { display: none; }

/* ---------- еда ---------- */
.br-eda-obrazec { margin: 0 0 14px; padding: 12px 14px; background: var(--girlyanda); color: var(--voda); font-weight: 600; font-size: 14.5px; line-height: 1.45; }
.br-eda-kat { margin: 16px 0 6px; font: 700 13px/1 var(--zag); letter-spacing: .12em; text-transform: uppercase; color: var(--derevo); }
.br-eda-kat:first-child { margin-top: 0; }
.br-eda-p { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--pesok-2); }
.br-eda-p b { font: 600 16px/1.25 var(--tekst); }
.br-eda-p small { display: block; font-size: 13px; color: var(--chernila-2); }
.br-eda-p .c { font: 700 17px/1 var(--zag); white-space: nowrap; }
.br-eda-kogda { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr); gap: 10px; margin-top: 16px; }
.br-eda-kogda label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.br-eda-kogda span { font: 700 12px/1 var(--zag); letter-spacing: .12em; text-transform: uppercase; color: var(--chernila-2); }
.br-eda-kogda select, .br-eda-kogda input, .br-pole input, .br-pole textarea { width: 100%; min-width: 0; border: 2px solid var(--pesok-3); background: #FFFFFF; color: var(--chernila); padding: 12px 13px; font: 500 16px/1.3 var(--tekst); border-radius: 0; -webkit-appearance: none; appearance: none; }
.br-eda-kogda select { background-image: linear-gradient(45deg, transparent 50%, var(--chernila) 50%), linear-gradient(135deg, var(--chernila) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 32px; }
.br-eda-kogda select:focus, .br-eda-kogda input:focus, .br-pole input:focus, .br-pole textarea:focus { outline: 0; border-color: var(--chernila); }
.br-eda-otkryt { width: 100%; justify-content: center; }

/* ---------- контакты и оплата ---------- */
.br-forma { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 16px; }
.br-pole { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.br-pole > span { font: 700 12px/1 var(--zag); letter-spacing: .12em; text-transform: uppercase; color: var(--chernila-2); }
.br-pole.shir { grid-column: 1 / -1; }
.br-pole input.oshibka { border-color: #C0392B; }
.br-oplata { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.br-oplata label { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 2px solid var(--pesok-3); background: #FFFFFF; cursor: pointer; }
.br-oplata label:has(input:checked) { border-color: var(--chernila); background: rgba(211, 154, 106, .3); }
.br-oplata input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--chernila); flex: none; }
.br-oplata b { display: block; font: 700 17px/1.2 var(--zag); }
.br-oplata small { display: block; font-size: 13.5px; color: var(--chernila-2); margin-top: 3px; line-height: 1.35; }
.br-soglasie { grid-column: 1 / -1; display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--chernila-2); cursor: pointer; }
.br-soglasie input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--chernila); flex: none; }
.br-soglasie a { color: var(--chernila); }
.br-soglasie.oshibka { color: #8E2A1E; }
.br-pravila { grid-column: 1 / -1; background: var(--pesok); padding: 12px 14px; font-size: 14px; line-height: 1.5; }
.br-pravila summary { font: 700 14px/1.3 var(--zag); letter-spacing: .04em; cursor: pointer; }
.br-pravila ul { margin: 8px 0 0; padding-left: 18px; }
.br-pravila p { margin: 8px 0 0; }
.br-lovushka { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.br-oplata .br-zayavka { grid-column: 1 / -1; display: block; padding: 16px 18px; border: 1px solid var(--med-svet); border-radius: 18px; background: rgba(211, 154, 106, .16); }
.br-zayavka b { display: block; font: 400 22px/1.15 var(--serif); letter-spacing: -.01em; }
.br-zayavka span { display: block; font-size: 14.5px; color: var(--chernila-2); margin-top: 5px; line-height: 1.45; }
.br-kontur { margin: 12px 0 0; font-size: 13.5px; }
.br-test { grid-column: 1 / -1; margin: 0; padding: 10px 14px; background: rgba(233, 184, 114, .35); font-size: 14px; font-weight: 600; }
.br-oplatit { grid-column: 1 / -1; justify-self: start; }

/* ---------- итог справа ---------- */
.br-itog { position: sticky; top: 90px; background: var(--chernila); color: var(--pesok); padding: 24px 24px 22px; min-width: 0; }
.br-itog h3 { font: 700 24px/1 var(--zag); font-stretch: 84%; margin: 0 0 4px; }
.br-itog .kogda { margin: 0 0 14px; font-size: 14px; color: var(--gory); line-height: 1.45; }
.br-itog ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.br-itog li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 9px 0; border-bottom: 1px dashed rgba(163, 155, 143, .3); font-size: 14.5px; line-height: 1.35; }
.br-itog li b { font-weight: 600; }
.br-itog li small { grid-column: 1; font-size: 12.5px; color: var(--gory); }
.br-itog li .c { grid-column: 2; grid-row: 1 / span 2; font: 700 16px/1.2 var(--zag); white-space: nowrap; text-align: right; }
.br-itog li .c s { display: block; font-weight: 500; font-size: 12.5px; color: var(--gory); }
.br-itog li.sk .c { color: var(--salat); }
.br-itog li button { grid-column: 1; justify-self: start; border: 0; background: none; padding: 2px 0 0; color: var(--gory); font-size: 12.5px; text-decoration: underline; text-underline-offset: 2px; }
.br-itog .vsego { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 16px 0 0; }
.br-itog .vsego span { font: 700 14px/1 var(--zag); letter-spacing: .1em; text-transform: uppercase; color: var(--gory); }
.br-itog .vsego b { font: 800 40px/.9 var(--zag); font-stretch: 78%; color: var(--salat); }
.br-itog .pred { margin: 8px 0 0; font-size: 14px; color: var(--pesok); line-height: 1.45; }
.br-itog .pred b { color: var(--girlyanda); }
.br-itog .pusto { margin: 0; color: var(--gory); font-size: 15px; line-height: 1.5; }
.br-itog .knopka { width: 100%; justify-content: center; margin-top: 16px; }
.br-itog .tel { display: block; margin-top: 14px; font-size: 13.5px; color: var(--gory); text-align: center; }
.br-itog .tel a { color: var(--pesok); }
.br-itog .zhdem { opacity: .55; transition: opacity .2s; }

/* ---------- нижняя плашка на телефоне ---------- */
.br-niz { display: none; }

/* ---------- страница статуса и тестовая оплата ---------- */
.stranica-bron { background: var(--pesok-2); color: var(--chernila); min-height: 100vh; }
.br-str-shapka { background: var(--voda); color: var(--pesok); }
.br-str-shapka .obertka { display: flex; align-items: center; gap: 16px; min-height: 64px; }
.br-str-shapka .logo { margin-right: auto; }
.br-str-shapka .logo { min-width: 0; }
.br-str-shapka .tel { display: flex; align-items: center; gap: 8px; font: 600 15px/1 var(--zag); text-decoration: none; color: var(--pesok); white-space: nowrap; flex: none; }
.br-str-shapka .tel svg { width: 18px; height: 18px; fill: none; stroke: var(--salat); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }
@media (max-width: 560px) {
  .br-str-shapka .tel span { display: none; }
  .br-str-shapka .tel { width: 44px; height: 44px; justify-content: center; box-shadow: inset 0 0 0 2px rgba(244, 241, 234, .28); }
}
.br-str { padding: 44px 0 90px; }
.br-str h1 { font: 800 clamp(38px, 5vw, 60px)/.95 var(--zag); font-stretch: 78%; margin: 0; }
.br-str .lid { margin-top: 12px; }
.br-status { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 8px 12px; font: 700 14px/1 var(--zag); letter-spacing: .06em; text-transform: uppercase; background: var(--chernila); color: var(--salat); }
.br-status.st-ozhidaet { background: var(--girlyanda); color: var(--voda); }
.br-status.st-istekla, .br-status.st-otmenena, .br-status.st-konflikt { background: #7A2E24; color: #FFE3DC; }
.br-status.st-novaya { background: var(--voda-3); color: var(--pesok); }
.br-str-setka { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; margin-top: 30px; }
.br-str-karta { background: #FBFAF7; padding: 24px 26px; }
.br-str-karta h3 { font: 700 22px/1.1 var(--zag); margin: 0 0 12px; }
.br-str-karta dl { margin: 0; display: grid; gap: 10px; }
.br-str-karta dl div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; }
.br-str-karta dt { font: 700 12px/1.6 var(--zag); letter-spacing: .12em; text-transform: uppercase; color: var(--chernila-2); }
.br-str-karta dd { margin: 0; font-size: 16px; }
.br-str-karta + .br-str-karta { margin-top: 16px; }
.br-str-knopki { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.br-tajmer { font: 800 34px/1 var(--zag); color: var(--chernila); }
/* напоминания в Telegram / MAX и дорога (19.09) */
.br-napom { border-top: 4px solid var(--salat-temn); }
.br-napom > p { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--chernila-2); }
.br-napom .br-str-knopki { margin-top: 16px; }
.br-napom .knopka { min-height: 48px; padding: 0 22px; }
.br-napom .knopka-est { background: #EFD9C4; color: #5A3418; }
.br-napom .knopka-est:hover { background: #E8CCB2; }
.br-napom > .br-napom-est { margin-top: 12px; font-size: 14px; color: #7A4A26; }
.br-napom-kod { margin-top: 14px; font-size: 14px; color: var(--chernila-2); }
.br-napom-kod summary { cursor: pointer; font: 700 12px/1.8 var(--zag); letter-spacing: .12em; text-transform: uppercase; }
.br-napom-kod summary::-webkit-details-marker { margin-right: 6px; }
.br-napom-kod p { margin: 8px 0 0; }
.br-napom-kod code { display: inline-block; font: 600 15px/1.2 ui-monospace, Menlo, Consolas, monospace; background: var(--pesok); color: var(--chernila); padding: 7px 9px; word-break: break-all; }
.br-kod-kn { border: 0; background: none; padding: 6px 4px; color: var(--chernila); font: 600 14px/1 var(--tekst); text-decoration: underline; text-underline-offset: 3px; }
.br-napom > .br-napom-mel { margin-top: 12px; font-size: 13px; line-height: 1.45; }
.br-doroga { margin: 0 0 4px; font-size: 15.5px; line-height: 1.5; color: var(--chernila-2); white-space: pre-line; }
.br-tochka { margin: 14px 0 0; font-size: 13px; color: var(--chernila-2); }
.br-oplata-test { max-width: 560px; margin: 50px auto; background: #FFFFFF; color: #1D2733; padding: 30px 30px 26px; border-radius: 16px; box-shadow: 0 20px 60px rgba(23, 21, 19, .18); font-family: Arial, sans-serif; }
.br-oplata-test h1 { font: 700 24px/1.2 Arial, sans-serif; margin: 0 0 6px; }
.br-oplata-test .plashka { margin: 0 0 18px; padding: 10px 12px; border-radius: 10px; background: #FFF3CD; color: #6B4E00; font-size: 14px; line-height: 1.45; }
.br-oplata-test .summa { font: 700 40px/1 Arial, sans-serif; margin: 18px 0 4px; }
.br-oplata-test .za { color: #5B6776; font-size: 15px; line-height: 1.45; margin: 0 0 20px; }
.br-oplata-test .karta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.br-oplata-test .karta div { grid-column: 1 / -1; padding: 12px 14px; border: 1px solid #D5DCE4; border-radius: 10px; color: #8A96A3; font-size: 15px; }
.br-oplata-test .karta div + div { grid-column: auto; }
.br-oplata-test button { width: 100%; min-height: 52px; border: 0; border-radius: 12px; font: 700 17px/1 Arial, sans-serif; cursor: pointer; }
.br-oplata-test .da { background: #1F7A4D; color: #FFFFFF; }
.br-oplata-test .net { margin-top: 10px; background: #EEF1F4; color: #1D2733; }

/* ---------- встраивание в чужой сайт / ВК (bron.html?vstroit=1) ---------- */
.vstroit .br-str-shapka, .vstroit .br-str-niz { display: none; }
.vstroit .br-str { padding-top: 16px; }

/* ================= планшет ================= */
@media (max-width: 1100px) {
  .br { grid-template-columns: minmax(0, 1fr); }
  .br-itog { position: static; }
  .br-str-setka { grid-template-columns: minmax(0, 1fr); }
}

/* ================= телефон ================= */
@media (max-width: 700px) {
  .br { margin-top: 26px; gap: 14px; }
  .br-shag { padding: 20px 16px 22px; }
  .br-shag-zag { font-size: 22px; flex-wrap: wrap; }
  .br-shag-zag small { margin-left: 46px; text-align: left; width: 100%; }
  .br-rezhim { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .br-rezhim button { padding: 10px 10px; font-size: 14px; }
  .kal-mesyacy { --m: 1 !important; }
  .kal-d { min-height: 46px; font-size: 15px; }
  .kal-d small { font-size: 12px; letter-spacing: -.04em; }
  .br-gosti { grid-template-columns: minmax(0, 1fr); }
  .br-daty .br-nochey { margin-left: 0; }
  .br-kat, .br-up-spisok { grid-template-columns: minmax(0, 1fr); }
  .br-k-foto { height: 170px; }
  .br-upsell { padding: 20px 16px 22px; }
  .br-u-verh { grid-template-columns: 52px minmax(0, 1fr); }
  .br-u-verh img, .br-u-verh .bez { width: 52px; height: 52px; }
  .br-u-verh > :last-child { grid-column: 1 / -1; justify-self: stretch; }
  .br-u-verh .knopka { width: 100%; justify-content: center; }
  .br-u-ryad > span { min-width: 0; width: 100%; }
  .br-sob-p { grid-template-columns: 50px minmax(0, 1fr); }
  .br-sob-p > :last-child { grid-column: 1 / -1; justify-self: stretch; justify-content: center; }
  .br-eda-kogda { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .br-eda-kogda label:last-child { grid-column: 1 / -1; }
  .br-forma, .br-oplata { grid-template-columns: minmax(0, 1fr); }
  .br-oplatit { justify-self: stretch; justify-content: center; }
  .br-itog { padding: 20px 16px; }
  .br-niz { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; align-items: center; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(23, 21, 19, .97); color: var(--pesok); box-shadow: 0 -8px 24px rgba(0, 0, 0, .25); transform: translateY(110%); transition: transform .25s; }
  .br-niz.vidno { transform: none; }
  .br-niz div { flex: 1; min-width: 0; }
  .br-niz b { display: block; font: 800 24px/1 var(--zag); color: var(--salat); }
  .br-niz small { display: block; font-size: 12.5px; color: var(--gory); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .br-niz .knopka { min-height: 46px; padding: 0 18px; font-size: 15px; }
  .br-str-karta { padding: 20px 16px; }
  .br-str-karta dl div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .br-oplata-test { margin: 16px; padding: 22px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .br-shag, .br-upsell { animation: none; }
  .br-upsell h3 .lampa { animation: none; }
}

/* ================= второй вариант: мягкие формы, медь, антиква в крупном ================= */
.razdel-bron .zag-blok { max-width: 820px; }
.br-shag, .br-upsell, .br-itog, .br-str-karta { border-radius: 26px; }
.br-shag { background: var(--karta); box-shadow: 0 1px 0 rgba(28, 27, 25, .04), 0 26px 50px -40px rgba(28, 27, 25, .4); }
.br-shag-zag { font: 400 28px/1.1 var(--serif); letter-spacing: -.01em; }
.br-shag-zag i { border-radius: 50%; background: var(--ugol); color: var(--med-svet); font: 500 15px/1 var(--sans); }
.br-upsell h3, .br-itog h3 { font: 400 29px/1.08 var(--serif); letter-spacing: -.01em; }
.br-upsell::before { height: 1px; background: linear-gradient(90deg, transparent, var(--med-svet), transparent); opacity: .7; }
.br-upsell h3 .lampa { background: var(--med-svet); box-shadow: 0 0 12px 2px rgba(211, 154, 106, .7); }
.br-rezhim { border-radius: 999px; }
.br-rezhim button { border-radius: 999px; }
.br-rezhim button.on { background: var(--ugol); color: var(--len); }
.br-rezhim button.on small { color: var(--med-svet); }
.kal-shapka button { border-radius: 50%; border-width: 1px; }
.kal-mes h4 { font: 400 21px/1 var(--serif); letter-spacing: 0; text-transform: none; }
.kal-d { border-radius: 12px; font-weight: 500; }
.kal-d.nach, .kal-d.kon, .kal-d.odin { background: var(--ugol); color: var(--len); }
.kal-d.nach small, .kal-d.kon small, .kal-d.odin small { color: var(--med-svet); }
.kal-temn .kal-d.nach, .kal-temn .kal-d.kon, .kal-temn .kal-d.odin { background: var(--med-svet); color: var(--ugol); }
.br-daty, .br-sch, .br-mesta, .br-oshibka, .br-test, .br-pravila, .br-eda-obrazec, .br-up, .br-u, .br-k, .br-oplata label, .br-sob-p { border-radius: 18px; }
.br-k, .br-u { overflow: hidden; border-width: 1px; }
.br-sch, .br-oplata label { border-width: 1px; }
.br-daty .br-nochey, .br-k-foto .svob, .br-status, .br-vkladki button, .br-chipy button, .br-vkladki button em, .br-u-verh .c em { border-radius: 999px; }
.br-vkladki button, .br-chipy button { border-width: 1px; }
.br-vkladki button.on, .br-chipy button.on { background: var(--ugol); border-color: var(--ugol); color: var(--len); }
.plmn button { border-radius: 50%; }
.br-up img, .br-up .bez, .br-u-verh img, .br-u-verh .bez { border-radius: 12px; }
.br-k-telo h4, .br-u-verh b, .br-up b, .br-sob-p b { font: 400 21px/1.15 var(--serif); }
.br-k-cena b, .br-u-itog b { font: 400 28px/1 var(--serif); letter-spacing: -.01em; font-variant-numeric: lining-nums; }
.br-itog .vsego b, .br-niz b { font: 300 46px/.9 var(--serif); letter-spacing: -.02em; color: var(--med-svet); font-variant-numeric: lining-nums; }
.br-niz b { font-size: 30px; }
.br-str h1 { font: 300 clamp(40px, 5vw, 66px)/1 var(--serif); letter-spacing: -.02em; }
.br-str-karta h3 { font: 400 24px/1.15 var(--serif); }
.br-tajmer { font: 300 40px/1 var(--serif); }
.br-eda-kogda select, .br-eda-kogda input, .br-pole input, .br-pole textarea { border-radius: 14px; border-width: 1px; }
.br-setka td { border-radius: 4px; }
.br-eda-kat { color: var(--med); }
.br-eda-n { display: flex; align-items: center; gap: 12px; min-width: 0; }
.br-eda-n span { min-width: 0; }
.br-eda-f { width: 56px; height: 56px; flex: none; object-fit: cover; border-radius: 12px; cursor: zoom-in; }
.br-napom { border-top-color: var(--med); }
.br-itog { box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .55); }

