/* ------------------------------------------------------------------
   Minimal, mobile-first base styles.
   Keep this light: Elementor controls most page layout. These rules only
   set typography defaults, links, buttons, and the bottom spacing needed
   so page content never hides behind the floating tab bar.
------------------------------------------------------------------ */

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "EB Garamond", Georgia, "Times New Roman", serif;
  color: var(--w-text-primary);
  background-color: var(--w-ivory);
  font-size: 18px;
  line-height: 1.7;
  font-weight: 400;
  /* Room for the floating tab bar + the iOS home indicator. */
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}

/* When the guest is logged out on the login page the plugin adds this class
   to <body> and the tab bar is suppressed, so we drop the reserved space. */
body.wm-no-tabbar {
  padding-bottom: 0;
}

/* Home page content fades in over 1s on load. Targets Hello Elementor's main
   content wrapper; the footer-rendered tab bar animates separately. */
body.home .site-main {
  animation: wm-home-fade-in 1s ease both;
}
@keyframes wm-home-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body.home .site-main { animation: none; }
}

h1, h2, h3, h4, h5, h6 {
  font-family: "EB Garamond", Georgia, serif;
  color: var(--w-text-primary);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.2px;
}

/* Default theme type scale (Elementor per-element settings still override). */
h1 { font-size: 2.2rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.8rem; }
h4 { font-size: 1.6rem; }
h5 { font-size: 1.4rem; }
p  { color: var(--w-text-primary); font-size: 1.2rem; }

a {
  color: var(--w-link);
  text-decoration: none;
  /* Inherit type from the surrounding text so links never render larger. */
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}
a:hover,
a:focus { color: var(--w-link-hover); }

/* Generic button styling for plugin-rendered forms (Elementor styles its own). */
.wm-btn,
button.wm-btn,
input[type="submit"].wm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.2;
  padding: 14px 26px;
  border: none;
  border-radius: var(--w-radius-pill);
  background-color: var(--w-btn-bg);
  color: var(--w-btn-text);
  cursor: pointer;
  transition: background-color 0.18s ease;
  -webkit-appearance: none;
}
.wm-btn:hover,
.wm-btn:focus { background-color: var(--w-btn-hover); color: var(--w-btn-text); }

.wm-btn--ghost {
  background: transparent;
  color: var(--w-text-secondary);
  border: 1px solid var(--w-linen);
}
.wm-btn--ghost:hover { background: var(--w-porcelain); color: var(--w-text-primary); }
