/* Adaptation of the supplied KAZ.HOLIDAY theme to existing public page components.
   Geometry, visibility and application state remain owned by the page styles. */
:root {
  color-scheme: dark;
  --bg: #202227;
  --panel: rgba(32,34,39, 0.82);
  --card: rgba(32,34,39, 0.75);
  --line: rgba(255, 255, 255, 0.1);
  --border: rgba(255, 255, 255, 0.1);
  --muted: #202227;
  --gold: #fbbf24;
  --cyan: #00d2ff;
  --theme-surface: rgba(32,34,39, 0.82);
  --theme-border: rgba(56, 189, 248, 0.22);
}
html body {
  background:
    radial-gradient(ellipse at 85% 0, rgba(32,34,39, 0.07), transparent 45%), #202227 !important;
  color: #f8fafc;
  font-family:
    Inter,
    system-ui,
    -apple-system,
    'Segoe UI',
    sans-serif !important;
}
body :is(h1, h2, h3, h4, h5, h6) {
  font-family: Outfit, Inter, system-ui, sans-serif !important;
  color: #f8fafc;
}
body :is(button, input, select, textarea) {
  font-family: inherit;
}
body :is(.platform-sidebar, .admin-side, aside.side:not(.panel)) {
  background: #202227 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}
body :is(.platform-brand, .admin-brand, .side-brand) {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.08);
}
body :is(.platform-menu, .admin-menu, .menu) a {
  border-radius: 12px;
  color: #94a3b8;
  transition:
    background 0.2s,
    color 0.2s;
}
body :is(.platform-menu, .admin-menu, .menu) a:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
body :is(.platform-menu, .admin-menu, .menu) a.active {
  background: linear-gradient(
    135deg,
    rgba(245, 158, 11, 0.25),
    rgba(212, 175, 55, 0.15)
  ) !important;
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: #fbbf24 !important;
  box-shadow: 0 4px 15px rgba(245, 158, 11, 0.12);
}
body :is(.top, .booking-header) {
  background: rgba(32,34,39, 0.85) !important;
  border-color: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
}
body :is(.premium, .premium-card) {
  background: linear-gradient(135deg, rgba(32,34,39, 0.22), rgba(32,34,39, 0.2)) !important;
  border: 1px solid rgba(139, 92, 246, 0.35);
  border-radius: 20px;
}
/* Shared glass surfaces, including dynamically rendered catalog cards. */
body
  :is(
    .simple-card,
    .hotel-card,
    .tour,
    .info,
    .post,
    .transfer-card,
    .flight-search,
    .trust,
    .rental-card,
    .rental-panel,
    .clinic-card,
    .service-card,
    .shopping-card,
    .club-card,
    .resort-card,
    .hotel-media-stage,
    .hotel-support > section,
    .publication-dialog,
    .event-calendar-panel,
    .resort-weather-card
  ) {
  background: var(--theme-surface) !important;
  border: 1px solid var(--theme-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
body
  .panel:not(#panel-tours):not(#panel-resorts):not(#panel-hotels):not(#panel-flights):not(
    #panel-excursions
  ):not(#panel-rules):not(#panel-fines) {
  background: var(--theme-surface);
  border-color: var(--theme-border);
  border-radius: 20px;
}
body :is(.hotel-card, .tour, .rental-card, .resort-card) {
  overflow: hidden;
  transition:
    border-color 0.22s,
    box-shadow 0.22s,
    transform 0.22s;
}
body :is(.hotel-card, .tour, .rental-card, .resort-card):hover {
  border-color: rgba(56, 189, 248, 0.5) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
}
body :is(.hotel-copy, .tour-body, .rental-card-body) {
  background: transparent !important;
}
body
  :is(.hotel-copy p, .tour p, .info p, .crumb, .search-label, .field label, .resort-weather-date) {
  color: #94a3b8;
}
/* Gold actions and cyan secondary controls from the supplied search system. */
body
  :is(
    .btn,
    .action,
    .hotel-gallery-controls button,
    .weather-slider-arrows button,
    .calendar-arrow
  ) {
  border-radius: 14px;
  border-color: rgba(56, 189, 248, 0.28);
  background: rgba(32,34,39, 0.82);
  color: #e2e8f0;
  transition:
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.2s;
}
body
  :is(
    .btn.primary,
    .search-btn,
    .transfer-btn,
    .comment-form button[type='submit'],
    .comment-form > button,
    .login,
    .follow-btn
  ) {
  background: linear-gradient(135deg, #fbbf24, #f59e0b) !important;
  color: #0f172a !important;
  border: 1px solid #f59e0b !important;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: 0 4px 15px rgba(245, 158, 11, 0.2);
}
body :is(.btn.primary, .search-btn, .transfer-btn):hover {
  box-shadow: 0 5px 20px rgba(245, 158, 11, 0.35);
}
body :is(.tabs, .tour-tabs, .option-list, .departure-options, .weather-country-slider) {
  gap: 8px;
}
body
  :is(
    .tab,
    .tour-tab,
    .choice,
    .departure-choice,
    .hotel-filter,
    .flight-tab,
    .event-tab,
    .event-months button,
    .weather-country-slider button,
    .resort-district-filters button,
    .hotel-media-tabs button
  ) {
  background: rgba(32,34,39, 0.75) !important;
  color: #cbd5e1 !important;
  border: 1px solid rgba(56, 189, 248, 0.22) !important;
  border-radius: 999px !important;
  transition:
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.2s;
}
body
  :is(
    .tab,
    .tour-tab,
    .choice,
    .departure-choice,
    .hotel-filter,
    .flight-tab,
    .event-tab,
    .event-months button,
    .weather-country-slider button,
    .resort-district-filters button,
    .hotel-media-tabs button
  ).active,
body .hotel-media-tabs button[aria-selected='true'] {
  background: rgba(245, 158, 11, 0.14) !important;
  border-color: #f59e0b !important;
  color: #fde68a !important;
  box-shadow: 0 0 18px rgba(245, 158, 11, 0.18);
}
body .choice.blue.active {
  background: linear-gradient(135deg, #202227, #202227) !important;
  color: #0f172a !important;
  border-color: #00d2ff !important;
}
body :is(input:not([type='checkbox']):not([type='radio']):not([type='range']), select, textarea) {
  background: rgba(32,34,39, 0.85) !important;
  color: #f8fafc !important;
  border: 1px solid rgba(56, 189, 248, 0.25) !important;
  border-radius: 12px;
}
body :is(input, textarea)::placeholder {
  color: #94a3b8 !important;
  opacity: 1;
}
body :is(input, select, textarea):focus-visible {
  outline: 2px solid #00d2ff;
  outline-offset: 2px;
}
body input[type='checkbox'],
body input[type='radio'] {
  accent-color: #fbbf24;
}
body :is(a, button):focus-visible {
  outline: 2px solid #00d2ff;
  outline-offset: 3px;
}
/* Search surfaces and departure calendar retain the existing operational layout. */
body .tour-search {
  background:
    radial-gradient(circle at top right, rgba(32,34,39, 0.12), transparent 60%),
    linear-gradient(180deg, rgba(8, 14, 26, 0.92), rgba(10, 17, 32, 0.98)) !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
  border-radius: 28px !important;
  box-shadow:
    0 25px 60px rgba(0, 0, 0, 0.45),
    0 0 40px rgba(14, 165, 233, 0.1);
}
body :is(.search-row, .calendar-panel, .filter-box, .search-column, .counter) {
  background: rgba(32,34,39, 0.82);
  border-color: rgba(56, 189, 248, 0.28);
  border-radius: 14px;
}
body :is(.flight-date, .calendar-day) {
  background: rgba(32,34,39, 0.88);
  border-color: rgba(56, 189, 248, 0.22);
  border-radius: 14px;
  color: #e2e8f0;
}
body :is(.flight-date, .calendar-day).selected,
body .flight-date.in-range {
  background: rgba(245, 158, 11, 0.15) !important;
  border-color: #f59e0b !important;
  color: #fde68a;
}
body .flight-date.none {
  opacity: 0.55;
}
body .event-day.has-event {
  background: rgba(32,34,39, 0.1);
  border-color: rgba(56, 189, 248, 0.4);
}
body .event-date-popover {
  background: #202227;
  border-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5);
}
body :is(.resort-weather-item, .resort-page-weather, .hotel-weather) {
  background: rgba(32,34,39, 0.85);
  border-color: rgba(56, 189, 248, 0.25);
  border-radius: 14px;
}
/* Comments use individual received-message glass bubbles. Avatar order is preserved. */
body .comment-item {
  background: rgba(32,34,39, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
body .comment-avatar {
  background: linear-gradient(135deg, #202227, #202227);
  color: #fff;
}
body .comment-item small {
  color: #94a3b8;
}
body .comment-list,
body .live-comments {
  background: transparent !important;
}
body .comment-form textarea {
  border-radius: 14px;
}
body .post-actions button {
  background: rgba(32,34,39, 0.75);
  border-color: rgba(255, 255, 255, 0.1);
  border-radius: 14px;
}
body .post-actions button:hover {
  border-color: rgba(255, 215, 0, 0.3);
}
body ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
body ::-webkit-scrollbar-track {
  background: #202227;
}
body ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
}
@media (prefers-reduced-motion: reduce) {
  body *,
  body *::before,
  body *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
/* Rental and clinic pages share the same archive palette. */
body .rental-nav {
  background: #202227 !important;
  border-color: rgba(255, 255, 255, 0.08);
}
body .rental-nav > a {
  color: #94a3b8;
  border-radius: 12px;
}
body .rental-nav > a.active {
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.3);
}
body .rental-top {
  background: rgba(32,34,39, 0.85);
  border-color: rgba(255, 255, 255, 0.08);
}
body :is(.rental-filter, .rental-booking, .rental-detail-card, .doctor) {
  background: var(--theme-surface);
  border: 1px solid var(--theme-border);
  border-radius: 20px;
}
body .rental-primary {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #0f172a;
  border: 1px solid #f59e0b;
  border-radius: 14px;
  font-weight: 700;
}
body :is(.rental-mode, .rental-chips) button {
  background: rgba(32,34,39, 0.75);
  color: #cbd5e1;
  border: 1px solid var(--theme-border);
  border-radius: 999px;
}
body :is(.rental-mode, .rental-chips) button.active {
  color: #fde68a;
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.14);
}
body .chips span {
  background: rgba(32,34,39, 0.08);
  color: #cbd5e1;
  border-color: rgba(56, 189, 248, 0.22);
  border-radius: 999px;
}
