/* Base: reset, fonts, variables, typography */

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../../../fonts/CormorantGaramond-VariableFont_wght.ttf")
    format("truetype-variations");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Mabry Mono Pro";
  src: url("../../../fonts/MabryMonoPro-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Monospace 821 BT";
  src: url("../../../fonts/MONOSPACE821BT.TTF") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Neue Helvetica";
  src: url("../../../fonts/HelveticaNeue-LightExt.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Forum";
  src: url("../../../fonts/spa/Forum-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../../../fonts/spa/Gotham-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../../../fonts/spa/Gotham-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-text:
    "Monotype Garamond", "Cormorant Garamond", "Times New Roman", serif;
  --font-heading:
    "Neue Helvetica", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono: "Monospace 821 BT", "Courier New", monospace;

  --font-body: var(--font-text);
  --font-alt: var(--font-heading);

  --color-light: #f8f8f8;
}

body {
  font-family: var(--font-text) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading) !important;
  letter-spacing: 1px;
}

p,
small,
td,
th,
section,
article {
  font-family: var(--font-text);
  letter-spacing: 1px;
}

button,
.btn,
input[type="submit"],
input[type="button"],
.button {
  font-family: var(--font-heading);
  letter-spacing: 1px;
}

label,
input::placeholder,
textarea::placeholder {
  font-family: var(--font-heading);
  letter-spacing: 1px;
}

.entry-title,
.post-title,
.page-title {
  font-family: var(--font-heading) !important;
  letter-spacing: 1px;
}

.entry-content,
.post-content,
.page-content {
  font-family: var(--font-text) !important;
  letter-spacing: 1px;
}

.widget,
.sidebar {
  font-family: var(--font-text);
  letter-spacing: 1px;
}

.widget-title {
  font-family: var(--font-heading) !important;
  letter-spacing: 1px;
}

#site-footer {
  font-family: var(--font-text);
}

p a,
.entry-content a,
.post-content a,
.page-content a {
  font-family: var(--font-text) !important;
}

.text,
.content,
.description,
.excerpt,
.summary {
  font-family: var(--font-text);
}

main,
.main-content,
.content-area {
  font-family: var(--font-text);
}

.title,
.heading,
.header-title,
.section-title,
.main-title {
  font-family: var(--font-heading) !important;
}

.button,
.btn-primary,
.btn-secondary,
.cta,
.call-to-action {
  font-family: var(--font-heading);
}

.form-control,
.form-input,
input,
textarea,
select {
  font-family: var(--font-text);
}

.card,
.section,
.block,
.module {
  font-family: var(--font-text);
}

.card-title,
.section-header,
.block-title {
  font-family: var(--font-heading) !important;
}

.wp-block-heading,
.wp-block-paragraph,
.wp-block-button__link {
  font-family: inherit;
}

.wubook-booking-engine-container,
.booking-form,
.confirmation-form {
  font-family: var(--font-text);
}

.wubook-booking-engine-container h1,
.wubook-booking-engine-container h2,
.wubook-booking-engine-container h3,
.booking-form h1,
.booking-form h2,
.booking-form h3 {
  font-family: var(--font-heading) !important;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(
    --font-text,
    "Monotype Garamond",
    "Cormorant Garamond",
    "Times New Roman",
    serif
  );
}

@media (max-width: 992px) {
  body.mobile-menu-open {
    overflow: hidden;
  }
}

@media (max-width: 991px) {
  body {
    padding-bottom: 30px;
  }

  body.mobile-menu-open .mobile-sticky-buttons {
    display: none;
  }
}

.accommodations-section > * {
  position: relative;
  z-index: 2;
}


/* Inline Lucide / brand SVG icons */
.mb-icon {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  box-sizing: content-box;
}
