:root {
  --site-red: #f51f45;
  --site-red-dark: #b90f2f;
  --site-black: #15151f;
  --site-black-soft: #211821;
  --site-ink: #171827;
  --site-muted: #6f7280;
  --site-border: #ebe1e4;
  --site-surface: #ffffff;
  --site-bg: #fbf7f8;
  --site-shadow: 0 18px 45px rgba(34, 14, 23, .10);
}

body.site-red-black {
  background: var(--site-bg);
  color: var(--site-ink);
  font-family: "Roboto", Arial, sans-serif;
}

body.site-red-black .header-top,
body.site-red-black .bg-theme-color-2 {
  background: linear-gradient(105deg, #14141d 0%, #261821 48%, #8f122d 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.site-red-black .header-nav-wrapper,
body.site-red-black .menuzord {
  background: rgba(255,255,255,.98) !important;
}

body.site-red-black .header-nav-wrapper {
  border-bottom: 1px solid #eee3e6;
  box-shadow: 0 8px 26px rgba(28,14,20,.08);
}

body.site-red-black .menuzord-menu > li > a {
  color: #191923 !important;
  font-weight: 700;
  letter-spacing: .1px;
}

body.site-red-black .menuzord-menu > li.active > a,
body.site-red-black .menuzord-menu > li:hover > a {
  color: var(--site-red) !important;
}

body.site-red-black .menuzord-menu ul.dropdown {
  border: 1px solid #eee1e5;
  border-top: 3px solid var(--site-red);
  border-radius: 0 0 12px 12px;
  box-shadow: var(--site-shadow);
  overflow: hidden;
}

body.site-red-black .menuzord-menu ul.dropdown li a:hover {
  background: #fff2f5 !important;
  color: var(--site-red-dark) !important;
}

body.site-red-black marquee {
  background: linear-gradient(90deg, #11121a, #451522, #a71434) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.site-red-black .inner-header,
body.site-red-black .layer-overlay.overlay-dark-5::before {
  background-color: rgba(17,17,25,.82) !important;
}

body.site-red-black .inner-header {
  border-bottom: 4px solid var(--site-red);
}

body.site-red-black .inner-header .title {
  font-weight: 800;
  letter-spacing: -.4px;
  text-shadow: 0 5px 20px rgba(0,0,0,.28);
}

body.site-red-black .breadcrumb {
  background: rgba(255,255,255,.92);
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  padding: 7px 15px;
}

body.site-red-black .contact-form-area,
body.site-red-black .section-padding {
  position: relative;
}

body.site-red-black .contact-form-area form:not(.sv-form):not(#QRform),
body.site-red-black form.booking-form,
body.site-red-black form.form-modern {
  background: var(--site-surface);
  border: 1px solid var(--site-border);
  border-top: 4px solid var(--site-red);
  border-radius: 18px;
  box-shadow: var(--site-shadow);
  padding: 28px !important;
}

body.site-red-black label,
body.site-red-black .form-label {
  color: #292731;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 7px;
}

body.site-red-black .form-control,
body.site-red-black select.form-control,
body.site-red-black textarea.form-control,
body.site-red-black input[type="text"],
body.site-red-black input[type="email"],
body.site-red-black input[type="tel"],
body.site-red-black input[type="number"],
body.site-red-black input[type="date"],
body.site-red-black input[type="password"],
body.site-red-black select,
body.site-red-black textarea {
  background-color: #fffafb;
  border: 1px solid #e4d9dd;
  border-radius: 10px;
  box-shadow: none;
  color: #1b1b24;
  min-height: 46px;
  padding: 10px 13px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

body.site-red-black textarea,
body.site-red-black textarea.form-control { min-height: 110px; }

body.site-red-black .form-control:focus,
body.site-red-black input:focus,
body.site-red-black select:focus,
body.site-red-black textarea:focus {
  background: #fff;
  border-color: var(--site-red) !important;
  box-shadow: 0 0 0 4px rgba(245,31,69,.11) !important;
  outline: 0;
}

body.site-red-black input[type="file"] {
  width: 100%;
  min-height: 52px;
  padding: 7px;
  color: var(--site-muted);
  background: #fffafb;
  border: 1.5px dashed #d9bfc7;
  border-radius: 11px;
}

body.site-red-black input[type="file"]::file-selector-button {
  margin-right: 12px;
  padding: 9px 14px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, #1a1a24, var(--site-red));
  font-weight: 700;
  cursor: pointer;
}

body.site-red-black .btn,
body.site-red-black button[type="submit"],
body.site-red-black input[type="submit"] {
  border: 0 !important;
  border-radius: 10px !important;
  font-weight: 700;
  min-height: 42px;
  transition: transform .2s ease, box-shadow .2s ease;
}

body.site-red-black .btn-primary,
body.site-red-black .btn-theme-colored,
body.site-red-black button[type="submit"],
body.site-red-black input[type="submit"] {
  color: #fff !important;
  background: linear-gradient(135deg, #171720 0%, var(--site-red) 100%) !important;
  box-shadow: 0 10px 24px rgba(245,31,69,.22);
}

body.site-red-black .btn:hover,
body.site-red-black button[type="submit"]:hover,
body.site-red-black input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 13px 28px rgba(245,31,69,.28);
}

body.site-red-black .panel,
body.site-red-black .card,
body.site-red-black .well {
  border: 1px solid var(--site-border);
  border-radius: 14px;
  box-shadow: 0 12px 35px rgba(34,14,23,.08);
}

body.site-red-black .table {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}

body.site-red-black .table > thead > tr > th {
  background: #191922;
  color: #fff;
  border-color: #2d2d38;
}

body.site-red-black footer#footer {
  background: linear-gradient(125deg, #11121a 0%, #251820 55%, #721329 100%) !important;
}

body.site-red-black .notice-bar {
  background: linear-gradient(90deg, #15151e, #b41234, #15151e) !important;
}

@media (max-width: 767px) {
  body.site-red-black .contact-form-area form:not(.sv-form):not(#QRform),
  body.site-red-black form.booking-form,
  body.site-red-black form.form-modern { padding: 18px !important; border-radius: 14px; }
  body.site-red-black .menuzord-responsive .menuzord-menu > li > a { color: #20202a !important; }
}
