/* ==========================================================================
   SIBERIA CLUB - THEME SKIN FOR BOOTSTRAP 4 PAGE CONTENT
   Restyles the older Bootstrap markup (events, points, login, register,
   profile, ...) in the new theme without touching those views' structure.
   Loaded by _SiteLayout after Bootstrap + theme.css; everything is scoped to
   .site-main so the top bar and footer are never affected.
   ========================================================================== */

[data-theme="dark"] { color-scheme: dark; }

.site-main { color: var(--color-ink); }
.site-main h1, .site-main h2, .site-main h3, .site-main h4, .site-main h5, .site-main h6 { color: var(--color-ink); }
.site-main h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); }
.site-main p { color: inherit; }
.site-main a:not(.btn) { color: var(--color-accent); }
.site-main a:not(.btn):hover { color: var(--color-accent); text-decoration: underline; }
.site-main hr { border-color: var(--color-border); }
.site-main .text-muted { color: var(--color-muted) !important; }
.site-main .text-info { color: var(--color-accent) !important; }
.site-main .bg-white { background: var(--color-surface) !important; }

/* ---------- Buttons ---------- */
.site-main .btn { border-radius: 0; text-transform: uppercase; letter-spacing: 1.5px; font-size: 0.8rem; font-weight: 600; padding: 13px 30px; transition: var(--transition); box-shadow: none !important; }
.site-main .btn-lg { padding: 15px 34px; font-size: 0.82rem; }
.site-main .btn-sm { padding: 8px 18px; font-size: 0.72rem; }
.site-main .btn-primary { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-bg); }
.site-main .btn-primary:hover, .site-main .btn-primary:focus,
.site-main .btn-primary:not(:disabled):not(.disabled):active { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.site-main .btn-secondary, .site-main .btn-outline-secondary, .site-main .btn-outline-primary { background: transparent; border: 1px solid var(--color-ink); color: var(--color-ink); }
.site-main .btn-secondary:hover, .site-main .btn-outline-secondary:hover, .site-main .btn-outline-primary:hover { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-bg); }
.site-main .btn-danger { background: var(--color-danger); border-color: var(--color-danger); color: #fff; }
.site-main .btn-danger:hover { opacity: 0.85; background: var(--color-danger); border-color: var(--color-danger); }
.site-main .btn-link { color: var(--color-accent); text-decoration: none; }
.site-main .btn-link:hover { color: var(--color-accent); text-decoration: underline; }
.site-main .btn:disabled, .site-main .btn.disabled { opacity: 0.5; }
.site-main .book-seat-btn { border: 1px solid var(--color-accent); padding: 9px 22px !important; color: var(--color-accent); text-decoration: none; }
.site-main .book-seat-btn:hover { background: var(--color-accent); color: #fff; text-decoration: none; }

/* ---------- Forms ---------- */
.site-main label { font-size: 0.74rem; letter-spacing: 0.8px; text-transform: uppercase; color: var(--color-muted); font-weight: 600; margin-bottom: 6px; }
.site-main .form-control, .site-main .custom-select { height: auto; padding: 12px 14px; background-color: var(--color-surface); color: var(--color-ink); border: 1px solid var(--color-border); border-radius: 0; font-size: 0.95rem; }
.site-main .form-control:focus, .site-main .custom-select:focus { background-color: var(--color-surface); color: var(--color-ink); border-color: var(--color-accent); box-shadow: none; }
.site-main .form-control:disabled, .site-main .form-control[readonly] { background-color: var(--color-bg); opacity: 0.75; }
.site-main .form-control::placeholder { color: var(--color-muted); opacity: 0.6; }
.site-main .form-check-label { text-transform: none; letter-spacing: 0; font-size: 0.9rem; font-weight: 400; }
.site-main .text-danger { color: var(--color-danger) !important; font-size: 0.85rem; }
.site-main .alert { border-radius: 0; border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-ink); }
.site-main .alert-success { border-left: 3px solid #5a8f5a; }
.site-main .alert-danger { border-left: 3px solid var(--color-danger); }
.site-main .alert-info, .site-main .alert-warning { border-left: 3px solid var(--color-accent); }

/* ---------- Cards (events + points) ---------- */
.site-main .card { background: var(--color-surface); color: var(--color-ink); border: 1px solid var(--color-border); border-radius: 3px; overflow: hidden; height: 100%; }
.site-main .card-img { width: 100%; height: auto; border-radius: 0; }
.site-main .card-img-overlay { position: static; padding: 26px 24px; background: none; color: var(--color-ink); }
.site-main .card-img-overlay h4 { font-size: 1.6rem; margin-bottom: 8px; }
.site-main .card-img-overlay p { color: var(--color-muted); font-size: 0.92rem; }
.site-main .reservation-controls { margin-top: 10px; }

/* page heading block used by events / points */
.site-main section .container.d-flex { background: transparent !important; max-width: var(--container-width); }
.site-main section h2.font-weight-bold { font-weight: 600 !important; }
.site-main section .row.mb-5 p { color: var(--color-muted); }
.site-main .unused-offer-item { color: var(--color-accent) !important; }

/* ---------- Modals ---------- */
.modal-content { background: var(--color-surface); color: var(--color-ink); border: 1px solid var(--color-border); border-radius: 0; }
.modal-header, .modal-footer { border-color: var(--color-border); }
.modal-title { font-family: var(--font-display); font-size: 1.5rem; }
.modal .close { color: var(--color-ink); text-shadow: none; opacity: 0.6; }
.modal .btn { border-radius: 0; text-transform: uppercase; letter-spacing: 1.5px; font-size: 0.78rem; font-weight: 600; }
.modal .btn-primary { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-bg); }
.modal .btn-primary:hover { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.modal .btn-secondary { background: transparent; border: 1px solid var(--color-ink); color: var(--color-ink); }
.modal .form-control { background: var(--color-bg); color: var(--color-ink); border-color: var(--color-border); border-radius: 0; }

/* ---------- Account pages (login, register, profile, ...) ----------
   The old split-screen layout becomes a single centred card. */
.site-main .container-fluid { max-width: var(--container-width); padding: 0 24px; }
.site-main .mh-100vh { min-height: 0; margin: 0; justify-content: center; }
.site-main #bg-block { display: none !important; }
.site-main #login-block { flex: 0 0 100%; max-width: 620px; margin: 0 auto !important; padding: 44px 40px !important; background: var(--color-surface) !important; border: 1px solid var(--color-border); border-radius: 3px !important; box-shadow: 0 18px 50px rgba(0, 0, 0, 0.07); opacity: 1; }
.site-main #login-block > div { width: 100%; font-size: 1rem !important; }
.site-main #login-block h2 { font-weight: 600 !important; margin-bottom: 1.6rem !important; }
.site-main #login-block .btn.w-100 { margin-top: 6px; }
.site-main #login-block p { margin-top: 14px; font-size: 0.9rem; }
.site-main #login-block .google-btn { background: #fff; color: #3c4043; }

@media (max-width: 560px) {
  .site-main #login-block { padding: 30px 22px !important; }
}
