/* =====================================================================
   THE TOLLWOOD RETREAT - "Woodland Luxe" theme override
   Load AFTER style.css. Remove the <link> to this file to roll back.
   Palette: forest #2F4A3C | cream #FAF6F0 | sage #DDE5DA | gold #B8975A
            charcoal #333333 | deep gold (text) #8A6D32
   Fonts:   Cormorant Garamond (headings) + Lato (body)
   ===================================================================== */

:root{
  --primary:#2F4A3C;
  --light:#FAF6F0;
  --dark:#2F4A3C;
}

/* ---------- Base ---------- */
body{
  font-family:'Lato',sans-serif;
  font-size:1.0625rem;          /* 17px */
  line-height:1.65;
  color:#333333;
  background-color:#FAF6F0;
}
p{color:#333333}

a{color:#2F4A3C}
a:hover{color:#1F3329;text-decoration:underline}
p a{
  text-decoration:underline;
  text-decoration-color:#B8975A;
  text-underline-offset:3px;
}

/* ---------- Headings ---------- */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.display-3,.display-4{
  font-family:'Cormorant Garamond',serif;
  color:#2F4A3C;
  letter-spacing:.01em;
  line-height:1.15;
}
/* beat the template's !important weights and .font-weight-normal */
h1,h2,h3,h4,h5,h6,
h1.font-weight-normal,h2.font-weight-normal,h3.font-weight-normal,h4.font-weight-normal,
.display-3,.display-4{font-weight:600 !important}
/* beat .text-muted on headings */
h1.text-muted,h2.text-muted,h3.text-muted,h4.text-muted{color:#2F4A3C !important}

h1,.h1{font-size:clamp(2rem,5vw,2.9rem)}
h2,.h2{font-size:clamp(1.8rem,4.5vw,2.4rem)}
h3,.h3{font-size:clamp(1.5rem,3.5vw,2rem)}
h4,.h4{font-size:clamp(1.35rem,3vw,1.7rem)}
.display-3{font-size:clamp(2rem,5vw,3.2rem)}
.display-4{font-size:clamp(1.9rem,5vw,2.8rem)}

/* ---------- Utility colours (replace coral) ---------- */
.text-primary{color:#2F4A3C !important}
a.text-primary:hover,a.text-primary:focus{color:#1F3329 !important}
.bg-primary{background-color:#2F4A3C !important}
.border-primary{border-color:#B8975A !important}     /* fine gold lines */
.bg-light{background-color:#E9EEE6 !important}        /* top bar */
.bg-dark{background-color:#2F4A3C !important}         /* footer */
.text-dark{color:#333333 !important}

/* the inline coral labels (Step 1, Thursday closed, | separators) */
span[style*="coral"]{color:#8A6D32 !important;font-weight:700}

/* ---------- Header / navigation ---------- */
.navbar.bg-white{background-color:#FAF6F0 !important}
.navbar-light .navbar-nav .nav-link{
  color:#2F4A3C;
  font-family:'Lato',sans-serif;
  font-weight:700;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active{color:#8A6D32}
.navbar-brand h2{font-size:1.6rem}
.dropdown-item.active,.dropdown-item:active{background-color:#2F4A3C;color:#FAF6F0}

/* ---------- Buttons ---------- */
.btn{font-family:'Lato',sans-serif;font-weight:700}
.btn-primary{background-color:#2F4A3C;border-color:#2F4A3C}
.btn.btn-primary{color:#FAF6F0 !important}
.btn-primary:hover,.btn-primary:focus{background-color:#1F3329;border-color:#1F3329}
.btn-outline-primary{color:#2F4A3C;border-color:#2F4A3C}
.btn-outline-primary:hover{background-color:#2F4A3C;border-color:#2F4A3C;color:#FAF6F0}

/* ---------- Forms ---------- */
.form-control:focus{
  border-color:#2F4A3C;
  box-shadow:0 0 0 .2rem rgba(47,74,60,.25);
}

/* ---------- Footer ---------- */
.footer p,.footer a,.footer i{color:#EDE6DA !important}
.footer h5{color:#FAF6F0 !important}
.footer .btn-primary{background-color:transparent;border-color:#B8975A}
.footer .btn-primary i{color:#FAF6F0 !important}
.footer .btn-primary:hover{background-color:#B8975A;border-color:#B8975A}
.footer .btn-primary:hover i{color:#2F4A3C !important}

/* ---------- Testimonial dots (if used on other pages) ---------- */
.testimonial-carousel .owl-dot{background:#E9EEE6;border:1px solid #2F4A3C}
.testimonial-carousel .owl-dot.active{background:#2F4A3C}

/* ---------- Sticky WhatsApp button ---------- */
a.sticky-whatsapp-btn{
  background-color:#2F4A3C !important;
  color:#FAF6F0 !important;
  border:1px solid #B8975A;
  font-family:'Lato',sans-serif;
  font-weight:700;
}
a.sticky-whatsapp-btn:hover,a.sticky-whatsapp-btn:active{
  background-color:#1F3329 !important;
  color:#FAF6F0 !important;
}

/* ---------- Trust strip (new, sits under the hero image) ---------- */
.trust-strip{
  background:#DDE5DA;
  border-top:1px solid #B8975A;
  border-bottom:1px solid #B8975A;
  padding:14px 0;
  margin-bottom:1.5rem;
}
.trust-strip ul{
  margin:0;padding:0;list-style:none;
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px 12px;text-align:center;
}
.trust-strip li{color:#2F4A3C;font-weight:700;font-size:.85rem;line-height:1.35}
@media (min-width:992px){
  .trust-strip{margin-bottom:3rem;padding:18px 0}
  .trust-strip ul{display:flex;justify-content:center;gap:3rem}
  .trust-strip li{font-size:.95rem;letter-spacing:.03em}
}

/* ---------- Green hero panel (sits directly under the hero photo) ---------- */
.hero-panel{background:#2F4A3C;padding:32px 0 36px}
.hero-panel h1{color:#FAF6F0 !important;font-size:clamp(2rem,6vw,3rem);margin-bottom:.75rem}
.hero-panel .hero-tagline{
  font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:clamp(1.5rem,4vw,2rem);color:#FAF6F0;margin-bottom:1rem;
}
.hero-panel .hero-sub{color:#EDE6DA;max-width:640px}
.hero-btn{
  display:flex;align-items:center;justify-content:center;
  height:54px;border-radius:999px;
  background:#FAF6F0;color:#2F4A3C;
  font-weight:700;font-size:1.05rem;text-decoration:none;
  margin:1.25rem 0 .75rem;
}
.hero-btn:hover{background:#FFFFFF;color:#1F3329;text-decoration:none}
.hero-link{
  display:block;text-align:center;color:#FAF6F0 !important;
  text-decoration:underline;text-decoration-color:#B8975A;text-underline-offset:3px;
}
@media (min-width:992px){
  .hero-panel{padding:56px 0 60px}
  .hero-panel h1{max-width:900px}
  .hero-btn{display:inline-flex;padding:0 2.25rem;margin:1.25rem 1.5rem 0 0}
  .hero-link{display:inline-block}


@media (min-width: 992px) {
  /* Fix 1: Stop Emily's photo from cropping her face */
  .portrait-wrap {
    min-height: auto !important;
    height: auto !important;
    text-align: center;
  }
  .portrait-wrap img {
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 750px !important;
    height: auto !important;
    object-fit: contain !important;
    display: inline-block;
  }

 /* Fix 2: Prevent caption text and carousel indicator buttons overlapping */
@media (min-width: 992px) {
  #woodland-carousel .carousel-indicators {
    bottom: 12px !important;
    margin-bottom: 0 !important;
    z-index: 20 !important;
  }
  
  #woodland-carousel .carousel-caption {
    padding-bottom: 48px !important;
    z-index: 10 !important;
  }

  #woodland-carousel .carousel-caption p {
    margin-bottom: 0 !important;
    color: #ffffff !important;
    font-size: 1.05rem !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
  }
}
.submit-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  text-align: center !important;
}

.submit-btn i {
  font-size: 1.25rem;
  line-height: 1;
  margin: 0 !important;
  position: static !important;
}
