/*
  Minimal hospitality theme, inspired by Elysium Crete.
  Cream page, espresso type, gold accents, serif titles, no shadows.
  Loaded after the legacy CSS so these rules win on the public site.
*/

:root {
  --ec-cream: #f7f4ee;
  --ec-espresso: #2c2822;
  --ec-espresso-mid: #3a342c;
  --ec-espresso-deep: #1a1510;
  --ec-gold: #8b7355;
  --ec-gold-light: #c8b89a;
  --ec-gold-pale: #ede8df;
  --ec-gold-border: #d9d2c5;
  --ec-text-dark: #1a1a18;
  --ec-text-mid: #5a4e3e;
  --ec-text-muted: #6b6459;
  --ec-font-serif: "Cormorant Garamond", Georgia, serif;
  --ec-font-sans: "Jost", sans-serif;
}

html {
  background-color: var(--ec-cream);
}

body {
  background-color: var(--ec-cream) !important;
  color: var(--ec-text-dark) !important;
  font-family: var(--ec-font-sans) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
  font-family: var(--ec-font-serif) !important;
  font-weight: 400 !important;
  color: var(--ec-espresso) !important;
  letter-spacing: 0;
}

h1 em, h2 em, h3 em {
  font-style: italic;
  color: var(--ec-gold) !important;
}

a {
  text-decoration: none;
}

/* Quiet surfaces. Drop the old card lift and glow. */
.shadow-lg, .shadow-xl, .shadow-2xl, .hover\:shadow-xl,
.hover\:shadow-2xl, .drop-shadow-2xl, .drop-shadow-lg {
  box-shadow: none !important;
  filter: none !important;
}

/* Shared chrome */
.site-topbar {
  background: var(--ec-espresso);
  color: var(--ec-gold-light);
  font-size: 12px;
  letter-spacing: 0.12em;
  padding: 8px 24px;
}

.site-topbar a {
  color: var(--ec-gold-light);
}

.site-topbar a:hover {
  color: var(--ec-cream);
}

.site-header {
  background: rgba(247, 244, 238, 0.97);
  border-bottom: 0.5px solid var(--ec-gold-border);
  position: sticky;
  top: 0;
  z-index: 50;
}

.site-logo {
  font-family: var(--ec-font-serif);
  font-size: 20px;
  letter-spacing: 0.18em;
  color: var(--ec-espresso);
  line-height: 1.1;
  text-transform: uppercase;
}

.site-logo span {
  display: block;
  font-family: var(--ec-font-sans);
  font-size: 10px;
  letter-spacing: 0.38em;
  color: var(--ec-gold);
  margin-top: 2px;
}

.site-nav a {
  font-family: var(--ec-font-sans);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ec-espresso);
  opacity: 0.65;
}

.site-nav a:hover,
.site-nav a.is-active {
  opacity: 1;
  color: var(--ec-espresso);
}

.site-hero {
  position: relative;
  background: linear-gradient(160deg, #4a3f30 0%, #2c2822 55%, #1a1510 100%);
  overflow: visible;
}

.site-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.05;
  background-image: repeating-linear-gradient(-45deg, var(--ec-gold-light) 0, var(--ec-gold-light) 1px, transparent 1px, transparent 40px);
  pointer-events: none;
}

.hero-tag,
.section-label {
  font-family: var(--ec-font-sans);
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--ec-gold);
  display: flex;
  align-items: center;
  gap: 10px;
}

.hero-tag {
  color: var(--ec-gold-light);
}

.hero-tag::before,
.section-label::before {
  content: "";
  display: block;
  width: 24px;
  height: 0.5px;
  background: currentColor;
}

.site-hero h1,
.site-hero h1 span {
  font-family: var(--ec-font-serif) !important;
  font-weight: 300 !important;
  color: var(--ec-cream) !important;
  line-height: 1.12;
}

.site-hero h1 em {
  font-style: italic;
  color: var(--ec-gold-light) !important;
}

.site-hero p {
  color: rgba(247, 244, 238, 0.7);
}

.btn-primary,
button.btn-primary,
a.btn-primary,
#search_submit,
.booking-form button[type="submit"] {
  background: var(--ec-gold) !important;
  color: var(--ec-cream) !important;
  border: none !important;
  padding: 12px 28px !important;
  font-family: var(--ec-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.btn-primary:hover,
#search_submit:hover,
.booking-form button[type="submit"]:hover {
  background: #7a6347 !important;
}

.btn-outline {
  background: transparent;
  color: var(--ec-cream);
  border: 0.5px solid rgba(247, 244, 238, 0.4);
  padding: 12px 28px;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.section-title {
  font-family: var(--ec-font-serif) !important;
  font-weight: 300 !important;
  font-size: 2.4rem !important;
  line-height: 1.2 !important;
  color: var(--ec-espresso) !important;
}

.section-desc {
  font-size: 15px;
  line-height: 1.85;
  color: var(--ec-text-muted);
  max-width: 40rem;
}

.site-card,
.site-form {
  background: #fff;
  border: 0.5px solid var(--ec-gold-border);
  border-radius: 0;
  box-shadow: none !important;
}

.site-form input,
.site-form select,
.booking-form input,
.booking-form select,
#search_form input {
  border-radius: 0 !important;
  border-color: var(--ec-gold-border) !important;
  font-family: var(--ec-font-sans);
}

.site-form input:focus,
.booking-form input:focus,
#search_form input:focus {
  border-color: var(--ec-gold) !important;
  box-shadow: none !important;
  outline: none;
}

.site-footer {
  background: var(--ec-espresso);
  color: rgba(247, 244, 238, 0.7);
}

.site-footer h3,
.site-footer h4,
.site-footer h3 span,
.site-footer h4 span {
  font-family: var(--ec-font-serif) !important;
  color: var(--ec-cream) !important;
  font-weight: 400 !important;
}

.site-footer a {
  color: var(--ec-gold-light);
  font-size: 13px;
  letter-spacing: 0.04em;
}

.site-footer a:hover {
  color: var(--ec-cream);
}

.route-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 0.5px solid var(--ec-gold-border);
  color: var(--ec-espresso);
}

.route-row:hover {
  color: var(--ec-gold);
}

.quote-block {
  border-left: 1px solid var(--ec-gold);
  padding: 0 0 0 1.5rem;
}

.quote-block p {
  font-family: var(--ec-font-serif);
  font-size: 1.25rem;
  font-style: italic;
  color: var(--ec-espresso);
  line-height: 1.5;
}

/* Remap leftover navy/pink utilities so older pages follow the new palette. */
[class*="bg-[#1d2432]"],
[class*="from-[#1d2432]"],
[class*="via-[#1d2432]"],
[class*="to-[#1d2432]"],
[class*="from-gray-900"] {
  background-color: var(--ec-espresso) !important;
  background-image: none !important;
}

[class*="text-[#ea0458]"],
[class*="hover:text-[#ea0458]"] {
  color: var(--ec-gold) !important;
}

[class*="bg-[#ea0458]"],
[class*="from-[#ea0458]"],
[class*="to-[#d1044f]"],
[class*="hover:bg-[#d1044f]"],
[class*="hover:bg-[#ea0458]"] {
  background-color: var(--ec-gold) !important;
  background-image: none !important;
}

[class*="border-[#ea0458]"] {
  border-color: var(--ec-gold) !important;
}

[class*="ring-[#ea0458]"] {
  --tw-ring-color: rgba(139, 115, 85, 0.35);
}

.rounded-3xl, .rounded-2xl, .rounded-xl {
  border-radius: 0 !important;
}

#book-transfer {
  background: #fff;
  border: 0.5px solid var(--ec-gold-border);
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .section-title {
    font-size: 1.85rem !important;
  }

  .site-hero h1 {
    font-size: 2.1rem !important;
  }
}
