/* ============================================================
   Luna Marina — Override Stylesheet
   Colour + Type fixes | append after theme styles
   ============================================================ */

:root{
  --gold:#B8895A;
  --terra:#A8593A;
  --terra-deep:#8f4a30;
  --ink:#1F1B14;
  --cream:#F4EFE6;
  --line:#C9BFA8;
}

/* ------------------------------------------------------------
   1. TYPOGRAPHY SCALE — fluid, elegant, no hero collisions
   ------------------------------------------------------------ */
h1,
.hero h1,
.hero-title,
.entry-title,
.wp-block-post-title{
  font-family:"Instrument Serif","Cormorant Garamond",Georgia,serif;
  font-size:clamp(44px, 6.5vw, 76px);
  line-height:1.05;
  letter-spacing:-0.02em;
  text-wrap:balance;
}

h2,
.section-title,
.wp-block-heading h2,
section h2{
  font-family:"Instrument Serif","Cormorant Garamond",Georgia,serif;
  font-size:clamp(30px, 4vw, 46px);
  line-height:1.12;
  letter-spacing:-0.015em;
  text-wrap:balance;
}

/* ------------------------------------------------------------
   5. VERTICAL RHYTHM
   ------------------------------------------------------------ */
body,
p,
.entry-content p,
.wp-block-paragraph{
  line-height:1.65;
}

section,
.section,
.wp-block-group.has-background,
.hero,
.site-section{
  padding-top:clamp(64px, 9vw, 120px);
  padding-bottom:clamp(64px, 9vw, 120px);
}

/* ------------------------------------------------------------
   2 + 6. ONE ACCENT — unify all CTAs to terracotta
   ------------------------------------------------------------ */

/* Primary buttons — kill stray blues & competing terracottas */
.btn,
.button,
a.button,
button[type="submit"],
input[type="submit"],
[class*="btn-primary"],
[class*="button-primary"],
.wp-block-button__link,
.wp-element-button,
.cta,
a.cta,
.hero .btn,
[class*="btn"]:not([class*="outline"]):not([class*="secondary"]):not([class*="ghost"]){
  background-color:var(--terra) !important;
  background-image:none !important;
  color:var(--cream) !important;
  border:1px solid var(--terra) !important;
  padding:14px 30px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-family:"DM Sans",system-ui,sans-serif;
  font-weight:600;
  border-radius:2px;
  text-decoration:none;
  transition:background-color .25s ease, border-color .25s ease, color .25s ease;
}

.btn:hover, .btn:focus-visible,
.button:hover, a.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
[class*="btn-primary"]:hover,
[class*="button-primary"]:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
.cta:hover, a.cta:hover,
[class*="btn"]:not([class*="outline"]):not([class*="secondary"]):not([class*="ghost"]):hover{
  background-color:var(--terra-deep) !important;
  border-color:var(--terra-deep) !important;
  color:var(--cream) !important;
}

/* Secondary / outline buttons */
.btn-secondary,
.btn-outline,
.button-secondary,
[class*="btn-outline"],
[class*="btn-ghost"],
[class*="btn-secondary"],
.is-style-outline .wp-block-button__link{
  background-color:transparent !important;
  background-image:none !important;
  border:1px solid rgba(168,89,58,.55) !important;
  color:inherit !important;
  padding:14px 30px;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-radius:2px;
  transition:background-color .25s ease, border-color .25s ease;
}

.btn-secondary:hover,
.btn-outline:hover,
.button-secondary:hover,
[class*="btn-outline"]:hover,
[class*="btn-ghost"]:hover,
[class*="btn-secondary"]:hover,
.is-style-outline .wp-block-button__link:hover{
  background-color:rgba(168,89,58,.10) !important;
  border-color:var(--terra) !important;
}

/* Accent links in body copy */
.entry-content a:not(.btn):not(.button):not([class*="btn"]),
main p a:not([class*="btn"]){
  color:var(--terra);
  text-decoration-color:rgba(168,89,58,.4);
  transition:color .25s ease;
}
.entry-content a:not(.btn):not(.button):not([class*="btn"]):hover,
main p a:not([class*="btn"]):hover{
  color:var(--terra-deep);
}

/* ------------------------------------------------------------
   3. HERO LEGIBILITY — scrim + cream text
   ------------------------------------------------------------ */
.hero,
.hero-section,
[class*="hero"],
.wp-block-cover{
  position:relative;
}

.hero::after,
.hero-section::after,
[class*="hero-banner"]::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(31,27,20,.62) 0%,
    rgba(31,27,20,.34) 45%,
    rgba(31,27,20,.18) 100%
  );
  pointer-events:none;
  z-index:1;
}

.hero > *,
.hero-section > *,
[class*="hero-banner"] > *{
  position:relative;
  z-index:2;
}

.hero h1,
.hero-section h1,
[class*="hero"] h1{
  color:var(--cream);
  text-shadow:0 2px 24px rgba(31,27,20,.45);
}

.hero p,
.hero-section p,
[class*="hero"] p{
  color:rgba(244,239,230,.92);
  text-shadow:0 1px 12px rgba(31,27,20,.5);
}

/* Emphasised word in hero heading */
.hero h1 em,
.hero h1 span,
.hero h1 .accent,
[class*="hero"] h1 em,
[class*="hero"] h1 .accent{
  color:var(--gold);
  font-style:italic;
}

/* ------------------------------------------------------------
   4. FOOTER CONTRAST
   ------------------------------------------------------------ */
footer a,
.site-footer a,
footer .menu a,
footer .widget a,
[class*="footer"] a:not([class*="btn"]):not(.button){
  color:rgba(244,239,230,.75) !important;
  text-decoration:none;
  transition:color .25s ease;
}

footer a:hover,
.site-footer a:hover,
footer .menu a:hover,
footer .widget a:hover,
[class*="footer"] a:not([class*="btn"]):not(.button):hover{
  color:var(--gold) !important;
}

footer h2, footer h3, footer h4, footer h5,
.site-footer h2, .site-footer h3, .site-footer h4,
footer .widget-title,
[class*="footer"] [class*="title"],
[class*="footer"] [class*="heading"]{
  color:var(--gold) !important;
}

footer,
.site-footer{
  color:rgba(244,239,230,.6);
}

/* ------------------------------------------------------------
   7. IMAGE FALLBACKS — graceful missing-photo panels
   ------------------------------------------------------------ */
img{
  background:linear-gradient(135deg,#EAE3D6,#D9CFBC);
}

.entry-content img,
main article img,
.room-card img,
[class*="card"] img,
[class*="gallery"] img{
  object-fit:cover;
  width:100%;
  height:100%;
}

figure,
.room-card,
[class*="card"] figure,
[class*="image-wrap"],
[class*="thumb"],
.wp-block-image{
  background:linear-gradient(135deg,#EAE3D6,#D9CFBC);
}

/* ------------------------------------------------------------
   REDUCED MOTION
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    transition:none !important;
    animation:none !important;
  }
}
/* ============================================================
   HERO OVERLAY FIX — background image behind text (was stacking)
   ============================================================ */
#hero{
  position:relative !important;
  min-height:88vh;
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  overflow:hidden;
  padding:0 !important;              /* undo generic section padding that broke layout */
}
#hero .hero-bg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  z-index:0 !important;
}
#hero .hero-bg img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
/* dark scrim for legibility over the photo */
#hero .hero-bg::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,16,12,.55) 0%, rgba(20,16,12,.35) 45%, rgba(20,16,12,.65) 100%);
  z-index:1;
}
#hero .hero-content{
  position:relative !important;
  z-index:2 !important;
  max-width:760px;
  margin:0;
  padding:clamp(80px,10vw,120px) clamp(20px,6vw,80px);
  color:#F4EFE6;
}
#hero .hero-content .hero-eyebrow{color:#E6D2A8;}
#hero .hero-content .hero-h1,
#hero .hero-content .hero-body,
#hero .hero-content .hero-trust{color:#F4EFE6; text-shadow:0 1px 20px rgba(0,0,0,.35);}
#hero .hero-content .italic-emph{color:#D8B978;}
/* the directional-sign decoration stays above scrim too */
#hero .hero-sign, #hero [class*="sign"]{position:relative; z-index:2;}
