/* Kalendarz rezerwacji — spójny z motywem głównej strony */
:root{
  --forest:#2f4a3c;
  --forest-dark:#1f332a;
  --wood:#a9713f;
  --wood-dark:#7c522c;
  --cream:#f7f3ea;
}
body.booking-body{font-family:'Jost',sans-serif;background:var(--cream);color:#3a3a36;}
.booking-h1{font-family:'Playfair Display',serif;color:var(--forest-dark);}

/* Pasek z flagami (jak na reszcie strony) */
#topbar{background:var(--forest-dark);}
.lang-flags{display:flex;align-items:center;gap:.45rem;}
.lang-flags a{
  display:block;line-height:0;border-radius:3px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.25);
  opacity:.6;filter:grayscale(.4);transition:opacity .2s, filter .2s, transform .2s, box-shadow .2s;
}
.lang-flags a img{display:block;width:20px;height:15px;object-fit:cover;}
.lang-flags a:hover{opacity:1;filter:grayscale(0);transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.6);}
.lang-flags a.lang-active{opacity:1;filter:grayscale(0);box-shadow:0 0 0 2px var(--wood);}

/* Hero */
.booking-hero{position:relative;height:34vh;min-height:230px;isolation:isolate;overflow:hidden;}
.booking-hero img{width:100%;height:100%;object-fit:cover;filter:brightness(.5);}
.booking-hero-content{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:1rem;
}
.booking-h1{color:#fff !important;}

/* ---------- Kroki rezerwacji (karty 1-2-3) ----------
   Strona prowadzi teraz gościa po kolei: apartament → termin → dane.
   Każdy krok to osobna, biała karta z numerem, dzięki czemu wiadomo,
   co jest czym i gdzie się właśnie jest. */
.booking-step{
  background:#fff;
  border:1px solid rgba(31,51,42,.07);
  border-radius:1.25rem;
  padding:1.5rem;
  box-shadow:0 14px 34px -26px rgba(31,51,42,.5);
}
.step-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.15rem;}
.step-num{
  flex:0 0 auto;width:2rem;height:2rem;border-radius:50%;
  background:var(--forest);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-weight:700;font-size:.95rem;
}
.step-title{
  font-family:'Playfair Display',serif;font-size:1.15rem;line-height:1.3;
  color:var(--forest-dark);margin:0;
}
.step-hint{font-size:.82rem;color:#8b8577;}
.step-hint-strong{color:var(--forest-dark);font-weight:600;}

/* Udogodnienia wybranego apartamentu — pod kafelkami, jako spokojne pigułki */
.amenity-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;}
.amenity-chip{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.3rem .7rem;border-radius:50px;
  background:#f5f2e9;border:1px solid #e8e2d3;
  color:#5f5a4e;font-size:.78rem;line-height:1.4;
}
.amenity-chip i{color:var(--wood);}

/* Pasek nawigacji miesięcy nad kalendarzem */
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.cal-toolbar-hint{font-size:.82rem;color:#8b8577;text-align:center;}

/* Liczba osób — wydzielona linią od kalendarza, etykieta obok liczników */
.guest-row{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  margin-top:1.35rem;padding-top:1.25rem;
  border-top:1px dashed #e4dfd2;
}
.guest-row-label{font-size:.95rem;font-weight:500;color:var(--forest-dark);}
.guest-fields{display:flex;gap:1.75rem;}

/* Prawa kolumna jedzie z gościem, gdy przewija kalendarz */
@media (min-width: 992px){
  .booking-side{position:sticky;top:1.25rem;}
}

/* Wybór apartamentu — karty ze zdjęciem */
.apt-choice{
  position:relative;display:block;height:150px;padding:0;border:none;border-radius:1rem;
  overflow:hidden;cursor:pointer;box-shadow:0 10px 26px -16px rgba(0,0,0,.35);
  outline:3px solid transparent;outline-offset:-3px;
  transition:outline-color .2s, transform .2s, box-shadow .2s, opacity .2s, filter .2s;
}
.apt-choice:hover{transform:translateY(-2px);}
.apt-choice.active{
  outline:4px solid var(--wood);
  box-shadow:0 14px 32px -12px rgba(169,113,63,.55);
  transform:scale(1.03);
}
#aptTabs.has-selection .apt-choice:not(.active){opacity:.55;filter:grayscale(.35);}
#aptTabs.has-selection .apt-choice:not(.active):hover{opacity:.85;filter:grayscale(.1);}
.apt-choice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.apt-choice-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,51,42,.15) 0%,rgba(31,51,42,.85) 100%);}
.apt-choice-body{position:absolute;left:0;right:0;bottom:0;padding:.85rem 1rem;text-align:left;color:#fff;}
.apt-choice-name{display:block;font-family:'Playfair Display',serif;font-weight:600;font-size:1.05rem;line-height:1.2;}
.apt-choice-meta{display:block;font-size:.78rem;color:#e2ded0;margin-top:.15rem;}
.apt-choice-badge{
  position:absolute;top:.6rem;left:.6rem;background:#000;color:#fff;
  font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:.25rem .6rem;border-radius:50px;
  opacity:0;transform:translateY(-4px);transition:opacity .2s, transform .2s;
}
.apt-choice.active .apt-choice-badge{opacity:1;transform:translateY(0);}
.apt-choice-check{
  position:absolute;top:.6rem;right:.6rem;
  width:26px;height:26px;border-radius:50%;background:#000;color:#fff;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.5);transition:opacity .2s, transform .2s;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.apt-choice.active .apt-choice-check{opacity:1;transform:scale(1);}

/* Nagłówek nad kalendarzem pokazujący, dla którego apartamentu jest dostępność */
.cal-apartment-heading{
  display:flex;align-items:center;gap:.6rem;
  background:#fff;border-left:4px solid var(--wood);
  border-radius:.6rem;padding:.7rem 1rem;margin-bottom:1.25rem;
  box-shadow:0 8px 20px -14px rgba(0,0,0,.3);
}
.cal-apartment-heading i{color:var(--wood);font-size:1.2rem;}
.cal-apartment-heading .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9a958c;display:block;}
.cal-apartment-heading .name{font-family:'Playfair Display',serif;font-weight:600;color:var(--forest-dark);font-size:1.1rem;}

.cal-legend{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:.82rem;color:#6b675e;}
.cal-legend .legend-dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:.4rem;vertical-align:middle;}
.legend-available{background:#eef1ec;border:1px solid #d8e0d9;}
.legend-unavailable{background:#f3ece2;border:1px solid #e4dccd;}
.legend-selected{background:var(--wood);}

/* Formularz siedzi wewnątrz karty kroku 3, więc sam nie rysuje już tła —
   inaczej biel nakładałaby się na biel i sekcja wyglądała jak goła płachta. */
.booking-form-card{background:transparent;border-radius:0;padding:0;box-shadow:none;}

/* Notki w prawej kolumnie (doba hotelowa, anulacja, dane do przelewu).
   Ikona ma tę samą wysokość wiersza co tekst — dzięki temu stoi równo
   z pierwszą linią, także gdy notka zawija się na kilka linijek. */
.side-note{
  display:flex;gap:.55rem;
  padding:.7rem .85rem;
  background:#f5f2e9;
  border:1px solid #eae4d5;
  border-radius:.75rem;
  font-size:.83rem;line-height:1.55;color:#5f5a4e;
}
.side-note i{flex:0 0 auto;color:var(--wood);font-size:.95rem;line-height:1.55;}
.side-note strong{color:var(--forest-dark);}
.side-note-account{word-break:break-all;}

.booking-footer{background:var(--forest-dark);color:#c9cfc9;}
.booking-footer a{color:#e7e2d6;}

.cal-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
@media (max-width:767.98px){.cal-wrap{grid-template-columns:1fr;}}

.cal-month{background:#fff;border-radius:1rem;box-shadow:0 12px 30px -18px rgba(0,0,0,.25);padding:1.25rem;}
/* wewnątrz karty kroku kalendarz nie potrzebuje własnego cienia — zamiast
   pudełka w pudełku wystarczy delikatna ramka */
.booking-step .cal-month{box-shadow:none;border:1px solid #efe9dc;padding:1rem;}
.booking-step .cal-wrap{gap:1rem;}
.cal-month-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;color:var(--forest-dark);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;}
.cal-dow{font-size:.72rem;color:#9a958c;text-transform:uppercase;letter-spacing:.04em;padding:4px 0;}
.cal-day{
  position:relative;
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  border-radius:.4rem;
  font-size:.85rem;
  cursor:pointer;
  user-select:none;
  transition:background .15s, color .15s;
}
.cal-day.empty{visibility:hidden;}
.cal-day.past,.cal-day.unavailable{
  color:#c7c2b8;
  text-decoration:line-through;
  cursor:not-allowed;
}
.cal-day.unavailable{background:#f3ece2;}
.cal-day.available:hover{background:#eef1ec;}
/* Dni wymiany gości — pół wolne, pół zajęte.
   half-start: przyjeżdża inny gość (noc zajęta, rano można się wymeldować) —
   klikalny tylko jako wyjazd, czyli dopiero z klasą checkout-only.
   half-end: inny gość wyjeżdża rano, od popołudnia wolne — zwykły wolny dzień. */
/* Połówki rysuje jeden gradient po skosie: --am to rano (lewy górny róg),
   --pm to popołudnie i noc (prawy dolny). Wybrany przyjazd zajmuje popołudnie,
   wybrany wyjazd — rano; druga połowa zostaje taka, jaka była (wolna albo zajęta). */
.cal-day.half-start,.cal-day.half-end,.cal-day.checkin,.cal-day.checkout,
.cal-day.half-end:hover,.cal-day.checkin:hover,.cal-day.checkout:hover{
  --am:transparent;--pm:transparent;
  background:linear-gradient(135deg,var(--am) 50%,var(--pm) 50%);
}
.cal-day.half-start{--pm:#f3ece2;cursor:not-allowed;}
.cal-day.half-start.checkout-only{cursor:pointer;}
.cal-day.half-start.checkout-only:hover{--am:#eef1ec;}
.cal-day.half-end,.cal-day.half-end:hover{--am:#f3ece2;}
.cal-day.half-end:not(.checkin):hover{--pm:#eef1ec;}
.cal-day.checkin,.cal-day.checkin:hover{--pm:var(--wood);}
.cal-day.checkout,.cal-day.checkout:hover{--am:var(--wood);}
.cal-day.checkin,.cal-day.checkout{
  color:var(--forest-dark);font-weight:700;text-decoration:none;cursor:pointer;
  /* cyfra leży na granicy połówek — jasna poświata trzyma ją czytelną na brązie */
  text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 6px #fff;
}
.cal-day.in-range,.cal-day.in-range:hover{background:#e9d3bd;}

.nav-btn{background:none;border:1px solid #e2ded4;border-radius:50%;width:32px;height:32px;color:var(--forest-dark);}
.nav-btn:hover{background:var(--forest);color:#fff;border-color:var(--forest);}
.nav-btn:disabled{opacity:.3;cursor:not-allowed;}

.guest-counter{display:flex;align-items:center;gap:.75rem;}
.guest-counter button{width:34px;height:34px;border-radius:50%;border:1px solid #d8d2c5;background:#fff;font-size:1.1rem;line-height:1;}
.guest-counter button:hover{background:var(--forest);color:#fff;border-color:var(--forest);}

.price-box{
  background-color:var(--forest);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.03' stroke-width='1.1'%3E%3Cpath d='M-50,70 C100,30 200,110 350,60 C450,30 550,80 650,50'/%3E%3Cpath d='M-50,140 C120,100 220,180 380,130 C480,100 560,150 650,120'/%3E%3Cpath d='M-50,220 C90,180 210,250 340,210 C460,180 560,230 650,200'/%3E%3Cpath d='M-50,300 C110,260 230,330 360,290 C470,260 570,310 650,280'/%3E%3Cpath d='M-50,380 C100,340 220,410 350,370 C460,340 560,390 650,360'/%3E%3Cpath d='M-50,460 C120,420 230,490 370,450 C470,420 570,470 650,440'/%3E%3Cpath d='M-50,540 C90,510 210,570 340,530 C460,500 560,550 650,520'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:600px 600px;
  color:#fff;border-radius:1rem;padding:1.5rem;
}
.price-box .row-line{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px dashed rgba(255,255,255,.2);font-size:.92rem;}
.price-box .row-line:last-child{border-bottom:none;}
.price-box .total{font-size:1.4rem;font-weight:700;color:#f0e6cf;}
.price-box .price-hint{color:#dfe6df;}
/* Przełącznik waluty nad kafelkiem z ceną — dyskretny, wyrównany do prawej */
.currency-switch{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;}
.currency-switch label{font-size:.8rem;color:#7d7768;margin:0;}
.currency-switch select{width:auto;min-width:5.5rem;border-radius:.55rem;border-color:#e0d9c6;font-size:.85rem;}

/* Przelicznik na drugą walutę dostaje z JS bootstrapową klasę .text-muted
   (ciemny szary #6c757d) — na zielonym tle był nieczytelny. Dajemy jasną
   szałwię: czytelna, ale o pół tonu niżej niż kwota w złotówkach. */
.price-box .text-muted{color:#b9cbbd!important;}

/* Oferty do wyboru (Panel → Oferty) — kafelki z radiem nad podsumowaniem ceny.
   Zaznaczenie stoi na :has(), żeby kafelek reagował od razu po kliknięciu,
   a nie dopiero gdy wróci przeliczona wycena; .is-selected to to samo
   dla przeglądarek bez :has(). */
.rate-plans{display:flex;flex-direction:column;gap:.5rem;}
.rate-plans-title{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7d7768;}
.rate-plan{
  display:flex;gap:.6rem;align-items:flex-start;
  padding:.7rem .85rem;margin:0;
  background:#fff;border:1px solid #e0d9c6;border-radius:.75rem;
  cursor:pointer;transition:border-color .15s,box-shadow .15s;
}
.rate-plan:hover{border-color:var(--wood);}
.rate-plan.is-selected,.rate-plan:has(input:checked){border-color:var(--wood);box-shadow:0 0 0 1px var(--wood);}
.rate-plan input{flex:0 0 auto;margin-top:.3rem;accent-color:var(--wood);}
/* jedyna oferta nie jest wyborem — pokazujemy same warunki, bez radia */
.rate-plan.is-single{cursor:default;}
.rate-plan.is-single input{display:none;}
.rate-plan-body{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 auto;}
.rate-plan-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;}
.rate-plan-name{font-weight:600;color:var(--forest-dark);}
.rate-plan-price{font-weight:600;color:var(--wood-dark);white-space:nowrap;}
.rate-plan-terms{font-size:.83rem;line-height:1.5;color:#5f5a4e;}
.rate-plan-desc{font-size:.8rem;line-height:1.5;color:#8b8577;white-space:pre-line;}

.btn-wood{background:var(--wood);border-color:var(--wood);color:#fff;}
.btn-wood:hover{background:var(--wood-dark);border-color:var(--wood-dark);color:#fff;}
.btn-wood:disabled{opacity:.5;}

/* Przełącznik obiektów — kafelki: nazwa przełącza rezerwację, pod nią adres strony obiektu */
.property-switch{max-width:880px;margin-inline:auto;}
.property-switch-label{
  text-align:center;margin-bottom:.8rem;
  font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8b8577;
}
.property-switch-grid{display:grid;grid-template-columns:repeat(var(--ps-cols,4),minmax(0,1fr));gap:.75rem;}
.property-switch-card{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;
  padding:.75rem .6rem .65rem;border-radius:14px;text-align:center;
  background:#fffdf8;border:1px solid rgba(47,74,60,.12);
  transition:background .2s, border-color .2s;
}
.property-switch-card:hover{border-color:rgba(47,74,60,.3);}
.property-switch-btn{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;color:var(--forest-dark);
}
.property-switch-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;}
.property-switch-btn:hover{color:var(--forest);}
.property-switch-btn i{font-size:.95em;opacity:.75;}
.property-switch-www{
  position:relative;z-index:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:.8rem;color:var(--wood-dark);text-decoration:none;
}
.property-switch-www:hover{text-decoration:underline;}
.property-switch-card.is-active{background:var(--wood);border-color:var(--wood);}
.property-switch-card.is-active .property-switch-btn,
.property-switch-card.is-active .property-switch-www{color:#fff;}
.property-switch-card.is-active .property-switch-btn i{opacity:1;}
@media (max-width:767.98px){
  .property-switch-grid{grid-template-columns:repeat(var(--ps-cols-sm,2),minmax(0,1fr));}
}

/* ---------- Ogólna strona rezerwacji (bez pliku ../rezerwacja-strona.php) ----------
   Wygląd jak strony obiektów (Pod Skocznią): biały nagłówek, zdjęcie z napisem,
   przyciski w kolorze „latte”, jasna stopka. Bez nazwy jednego obiektu, bo ta
   strona obsługuje wszystkie obiekty z panelu. */
.booking-plain{
  --accent:#c9a26b;
  --accent-text:#9a7343;
  --sand:#f1ebdf;
  --latte:#d3b591;
  --latte-dark:#c2a079;
  --latte-text:#3a2718;
  --bp-header-h:84px;
  font-size:1.08rem;line-height:1.65;
}
.bp-header{
  position:sticky;top:0;z-index:1040;background:#fff;color:var(--forest-dark);
  border-bottom:1px solid #eee7da;box-shadow:0 2px 14px rgba(0,0,0,.05);
}
.bp-header-inner{display:flex;align-items:center;gap:1rem;min-height:var(--bp-header-h);}
.bp-brand{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;min-width:0;}
.bp-brand:hover{color:inherit;}
.bp-brand-icon{
  flex:0 0 auto;width:48px;height:48px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #e3d6c1;color:var(--accent-text);font-size:1.35rem;
}
.bp-brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0;}
.bp-brand-small{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:var(--accent-text);}
.bp-brand-big{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bp-header-right{margin-left:auto;display:flex;align-items:center;gap:1.4rem;font-size:.98rem;}
.bp-header-right .bp-contact{color:inherit;text-decoration:none;opacity:.9;white-space:nowrap;}
.bp-header-right .bp-contact:hover{opacity:1;text-decoration:underline;}
.bp-header-right .bp-contact i{margin-right:.35rem;color:var(--accent-text);}
.bp-header-right .lang-flags{padding-left:1.2rem;border-left:1px solid #e6dece;gap:.5rem;}
.booking-plain .lang-flags a{opacity:.7;filter:none;box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.booking-plain .lang-flags a img{width:28px;height:19px;}
.booking-plain .lang-flags a:hover{opacity:1;box-shadow:0 0 0 1px rgba(0,0,0,.25);}
.booking-plain .lang-flags a.lang-active{opacity:1;box-shadow:0 0 0 2px var(--accent);}
@media (max-width:991.98px){
  .bp-header-right .bp-contact{display:none;}
  .bp-header-right .lang-flags{padding-left:0;border-left:0;}
}
@media (max-width:575.98px){
  .booking-plain{--bp-header-h:68px;}
  .bp-brand-icon{width:40px;height:40px;font-size:1.15rem;}
  .bp-brand-big{font-size:1.15rem;}
  .bp-brand-small{font-size:.6rem;letter-spacing:.22em;}
  .booking-plain .lang-flags{gap:.35rem;}
  .booking-plain .lang-flags a img{width:24px;height:16px;}
}

.bp-intro{background:var(--sand);border-bottom:1px solid #e6dece;padding:2.6rem 0 2.4rem;text-align:center;}
.bp-intro .bp-eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;font-weight:600;color:var(--accent-text);margin-bottom:.4rem;}
.bp-intro h1{font-family:'Playfair Display',serif;font-weight:700;color:var(--forest-dark);font-size:clamp(1.8rem,4vw,2.6rem);margin:0;}
.bp-intro p{max-width:620px;margin:.6rem auto 0;color:#6b665c;}

.booking-plain .booking-side{top:calc(var(--bp-header-h) + 1rem);}
.booking-plain .step-title{font-size:1.35rem;}
.booking-plain .step-hint,.booking-plain .cal-toolbar-hint,.booking-plain .cal-legend{font-size:1rem;}
.booking-plain .amenity-chip{font-size:.92rem;}
.booking-plain .apt-choice-name{font-size:1.2rem;}
.booking-plain .apt-choice-meta{font-size:.9rem;}
.booking-plain .cal-dow{font-size:.82rem;}
.booking-plain .side-note{font-size:1rem;}
.booking-plain .form-label.small,.booking-plain .form-check-label.small{font-size:1rem !important;}
.booking-plain .price-box .row-line{font-size:1.02rem;}
.booking-plain .btn-wood{background:var(--latte);border-color:var(--latte);color:var(--latte-text);font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.booking-plain .btn-wood:hover,.booking-plain .btn-wood:focus{background:var(--latte-dark);border-color:var(--latte-dark);color:var(--latte-text);}
.booking-plain .property-switch-card.is-active{background:var(--latte);border-color:var(--latte);}
.booking-plain .property-switch-card.is-active .property-switch-btn{color:var(--latte-text);}
.booking-plain .property-switch-card.is-active .property-switch-www{color:var(--latte-text);opacity:.8;}
.booking-plain .property-switch-label{font-size:.85rem;color:var(--accent-text);}
.booking-plain .property-switch-www{color:var(--accent-text);}
.booking-plain .property-switch-btn{font-size:1.02rem;}

.bp-footer{background:var(--sand);color:#4b4740;border-top:1px solid #e6dece;font-size:1rem;}
.bp-footer a{color:var(--forest-dark);}
.bp-footer-bottom{padding:1.1rem 0;font-size:.92rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1.4rem;}
.bp-footer-link{text-decoration:none;}
.bp-footer-link:hover{text-decoration:underline;}
.bp-footer-link i{color:var(--accent-text);margin-right:.4rem;}
.bp-kwm{
  display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .85rem .25rem .3rem;
  border:1px solid #d9cfbd;border-radius:50px;background:#fff;font-size:.9rem;text-decoration:none;
}
.bp-kwm strong{font-family:'Playfair Display',serif;font-weight:600;color:var(--forest-dark);}
.bp-kwm-mark{
  flex:0 0 auto;width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--latte);font-family:'Playfair Display',serif;font-weight:700;font-size:.9rem;line-height:1;color:var(--latte-text);
}

.booking-plain .apt-choice{height:200px;}
.booking-plain .apt-choice-body{padding:2.6rem 1rem .85rem;}
.booking-plain .step-num{background:var(--latte);color:var(--latte-text);}
.booking-plain .nav-btn:hover,.booking-plain .guest-counter button:hover{background:var(--latte);border-color:var(--latte);color:var(--latte-text);}
.booking-plain .price-box{background:var(--sand);background-image:none;border:1px solid #e3d6c1;color:#3a3a36;}
.booking-plain .price-box .price-hint{color:#5f5a4e;}
.booking-plain .price-box .price-hint i{color:var(--accent-text);}
.booking-plain .price-box .row-line{border-bottom-color:#ddd0ba;}
.booking-plain .price-box .total{color:var(--forest-dark);}
.booking-plain .price-box .text-muted{color:#8b8577 !important;}
.booking-plain .apt-choice.active{outline-color:var(--latte);box-shadow:0 14px 32px -12px rgba(160,120,70,.45);}

.bp-maint-page{min-height:100vh;display:flex;flex-direction:column;background:var(--sand);}
.bp-maint{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 16px;}
.bp-maint-card{
  width:100%;max-width:560px;background:#fff;border:1px solid #e3d6c1;border-radius:1rem;
  padding:2.6rem 2rem;text-align:center;
}
.bp-maint-icon{
  width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:var(--sand);border:1px solid #e3d6c1;color:var(--accent-text);font-size:1.7rem;
}
.bp-maint-card h1{font-family:'Playfair Display',serif;font-weight:700;color:var(--forest-dark);font-size:clamp(1.6rem,4vw,2.1rem);margin:1rem 0 .5rem;}
.bp-maint-text{color:#6b665c;margin:0 auto 1rem;max-width:420px;}
.bp-maint-extra{color:#3a3a36;margin:0 auto 1rem;max-width:440px;}
.bp-maint-chip{
  display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .95rem;border-radius:50px;
  background:var(--sand);border:1px solid #e3d6c1;color:var(--accent-text);font-weight:500;font-size:.98rem;
}
.bp-maint-contact{color:#6b665c;font-size:.98rem;margin:1.6rem auto .9rem;padding-top:1.4rem;border-top:1px solid #eee7da;}
.bp-maint-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;}
.bp-maint-btn-outline{border:1px solid #d9cfbd;color:var(--latte-text);background:#fff;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.bp-maint-btn-outline:hover{background:var(--sand);border-color:var(--latte);color:var(--latte-text);}
@media (max-width:575.98px){.bp-maint-card{padding:2rem 1.2rem;}}
.bp-maint-admin{display:flex;align-items:flex-start;gap:.6rem;background:#fff6e5;border:1px solid #f0d9a8;color:#6b4a12;border-radius:.6rem;padding:.75rem 1rem;margin-bottom:1.2rem;}
.bp-maint-admin a{color:#6b4a12;font-weight:600;}
