/* Lincoln Farm Park lightweight homepage theme inspired by Wayback snapshot */
:root{
  --lfp-green:#127462;
  --lfp-green-dark:#0e5c4e;
  --lfp-blue:#1c5c73;
  --lfp-gold:#b1ac7b; /* leaf motif color */
  --lfp-text:#263238;
  --lfp-muted:#5f6b6b;
  --lfp-card:#ffffff;
  --lfp-bg:#f6f9f8;
  color-scheme: light;
}

/* Base */
html,body{height:100%}
body{
  margin:0;
  color:var(--lfp-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  line-height:1.65;
  background-color:#fff;
  background-image:url('/20250420155433im_/https-/lincolnfarmpark.co.uk/wp-content/uploads/2018/07/FFP-WebsiteBG-10pc-t300.png');
  background-size: 900px auto;
  background-repeat: repeat;
  background-attachment: fixed;
}

.container{max-width:1280px;margin:0 auto;padding:0 16px}

/* Top accent bar like original */
.topbar{height:8px;background:var(--lfp-green);}

/* Header */
.site-header{background:#fff;border-bottom:1px solid #e6ecea;position:sticky;top:0;z-index:10}
.site-header .brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--lfp-green);text-decoration:none}
.site-header .brand img{height:100px;width:auto}
.site-header nav a{color:#253b37;text-decoration:none;padding:.75rem .5rem;font-size:1.1rem}
.site-header nav a:hover{color:var(--lfp-green)}
.site-header .btn{background:var(--lfp-green);color:#fff;padding:.55rem .85rem;border-radius:6px;border:1px solid var(--lfp-green-dark)}
.site-header .btn:hover{filter:brightness(1.05)}

/* Generic button style for consistent CTAs */
.btn{background:var(--lfp-green);color:#fff;padding:.55rem .9rem;border-radius:6px;text-decoration:none;border:1px solid var(--lfp-green-dark);display:inline-block}
.btn:hover{filter:brightness(1.05)}

/* Hero (legacy simple) */
.hero{padding:28px 0 10px;text-align:center}
.hero .logo{display:block;margin:10px auto 12px;max-width:280px;height:auto}
.hero .strap{background:rgba(18,116,98,.1);border-top:3px solid var(--lfp-green);border-bottom:3px solid var(--lfp-green);display:inline-block;padding:.5rem 1rem;border-radius:6px;color:#23443e;font-weight:600}
.hero .cta{margin-top:10px}
.hero .cta .btn{background:var(--lfp-green);color:#fff;padding:.6rem 1rem;border-radius:7px;text-decoration:none;display:inline-block}

/* New full-bleed hero slider */
.hero-slider{position:relative;background:#000}
.hero-slider .slides{position:relative;height:clamp(480px,70vh,860px)}
.hero-slider .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s ease}
.hero-slider .slide.is-active{opacity:1}
.hero-slider .overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 16px;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.35))}
.hero-slider .overlay .logo{display:block;margin:0 auto 10px;max-width:340px;width:60%;min-width:220px;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.hero-slider .overlay .strap{background:rgba(255,255,255,.9);border-top:3px solid var(--lfp-green);border-bottom:3px solid var(--lfp-green);display:inline-block;padding:.5rem .9rem;border-radius:8px;color:#23443e;font-weight:700}
.hero-slider .overlay .cta{margin-top:12px}
.hero-slider .overlay .btn{box-shadow:0 4px 14px rgba(0,0,0,.2)}
.hero-slider .overlay h1{color:#fff;font-weight:800;font-size:clamp(2rem,5vw,3.2rem);text-shadow:0 2px 12px rgba(0,0,0,.4);margin:0}
.hero-slider .nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(0,0,0,.35);color:#fff;border:0;border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.hero-slider .nav:hover{background:rgba(0,0,0,.5)}
.hero-slider .nav.prev{left:10px}
.hero-slider .nav.next{right:10px}
.hero-slider .dots{position:absolute;left:0;right:0;bottom:12px;display:flex;gap:8px;align-items:center;justify-content:center;z-index:2}
.hero-slider .dot{width:12px;height:12px;display:inline-block;box-sizing:content-box;flex:0 0 auto;aspect-ratio:1/1;border-radius:50%;border:2px solid #fff;background:transparent;opacity:.8;cursor:pointer}
.hero-slider .dot.active{background:#fff;opacity:1}

/* Sections */
.section{margin:28px 0}
.section-title{font-size:1.9rem;margin:0 0 .75rem;color:#25443e;text-align:left}
.card{background:var(--lfp-card);border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.05);border-top:4px solid var(--lfp-green)}
.card .pad{padding:28px}
.muted{color:var(--lfp-muted)}

/* Feature grid similar to Stay With Us area */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.tile{background:#fff;border-radius:10px;box-shadow:0 6px 16px rgba(0,0,0,.06);overflow:hidden;border:1px solid #e7eeec}
.tile img{width:100%;height:305px;object-fit:cover;display:block;cursor:zoom-in}
.tile .tile-body{padding:14px 16px}
.tile .tile-title{font-weight:700;color:#243b37;margin:0 0 .25rem}
.tile p{margin:0;color:#546a68;font-size:.95rem}

/* Contact band */
.contact-band{background:#f2f7f6;border:1px solid #e1eae7}
.contact-band a{color:#1565c0;text-decoration:none}
.contact-band .btn{background:var(--lfp-green);color:#fff;text-decoration:none;border-radius:6px;padding:.55rem .9rem;display:inline-block}

/* Awards strip */
.awards-strip{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px}
.awards-strip img{height:56px;width:auto;filter:none}

/* Reviews */
.reviews-card iframe{width:100%;height:520px;border:1px solid #e7eeec;border-radius:10px;background:#fff}

/* TripAdvisor Widget - Make it fill the box */
.TA_selfserveprop {
  width: 100% !important;
  height: 520px !important;
}
.TA_selfserveprop iframe {
  width: 100% !important;
  height: 100% !important;
  border: 1px solid #e7eeec !important;
  border-radius: 10px !important;
  background: #fff !important;
}

/* Enhanced CampStead Reviews Widget Styling */
#WidgetContainer {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  line-height: 1.5 !important;
  color: var(--lfp-text) !important;
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

#WidgetHeader {
  background: linear-gradient(135deg, var(--lfp-green), var(--lfp-green-dark)) !important;
  padding: 16px !important;
  text-align: center !important;
  border-bottom: none !important;
}

#WidgetHeader .WidgetLogo {
  max-height: 40px !important;
  width: auto !important;
  filter: brightness(0) invert(1) !important;
}

#WidgetBody {
  background: #fff !important;
  padding: 0 !important;
}

#WidgetBodyPadding {
  padding: 24px !important;
}

#ReviewCampsiteHeader {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 24px !important;
  padding-bottom: 16px !important;
  border-bottom: 2px solid #f0f4f3 !important;
}

#ReviewCampsiteTitle h1 {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--lfp-green) !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
}

#ReviewCampsiteTitle h2 {
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--lfp-muted) !important;
  margin: 0 !important;
}

#ReviewCampsiteRating {
  text-align: right !important;
  flex-shrink: 0 !important;
  margin-left: 16px !important;
}

#ReviewCampsiteRating .WidgetStars {
  display: block !important;
  margin-bottom: 6px !important;
  max-height: 24px !important;
  width: auto !important;
}

#ReviewCampsiteRating p {
  font-size: 0.9rem !important;
  color: var(--lfp-muted) !important;
  margin: 0 !important;
  font-weight: 600 !important;
}

#ReviewCampsiteOverall {
  background: linear-gradient(135deg, #f8fffe, #f0f7f5) !important;
  border: 1px solid #e1f0eb !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin-bottom: 24px !important;
}

#ReviewCampsiteOverall p {
  margin: 0 0 8px 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
}

#ReviewCampsiteOverall p:last-child {
  margin-bottom: 0 !important;
}

#ReviewCampsiteOverall b {
  color: var(--lfp-green) !important;
  font-weight: 700 !important;
}

.ReviewOverallText {
  font-size: 1.1rem !important;
  color: var(--lfp-text) !important;
}

/* Review Breakdown Styling */
#ReviewBreakdown {
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

#ReviewBreakdownLeft,
#ReviewBreakdownMiddle,
#ReviewBreakdownRight {
  display: table-cell !important;
  vertical-align: middle !important;
  padding: 12px 0 !important;
}

#ReviewBreakdownLeft {
  width: 80px !important;
  text-align: left !important;
  padding-right: 12px !important;
}

#ReviewBreakdownLeft p {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--lfp-text) !important;
  margin: 0 !important;
}

#ReviewBreakdownMiddle {
  width: auto !important;
  padding: 0 16px !important;
  position: relative !important;
}

#ReviewBreakdownMiddle::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 16px !important;
  right: 16px !important;
  height: 8px !important;
  background: #f0f4f3 !important;
  border-radius: 4px !important;
  transform: translateY(-50%) !important;
}

#ReviewBreakdownPercentage {
  position: relative !important;
  height: 8px !important;
  background: linear-gradient(90deg, var(--lfp-green), var(--lfp-green-dark)) !important;
  border-radius: 4px !important;
  z-index: 1 !important;
  transition: width 0.3s ease !important;
}

#ReviewBreakdownRight {
  width: 50px !important;
  text-align: right !important;
  padding-left: 12px !important;
}

#ReviewBreakdownRight p {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--lfp-muted) !important;
  margin: 0 !important;
}

.ClearRowHeight {
  height: 4px !important;
}

.ReviewBreakdownGap {
  height: 16px !important;
}

/* Mobile responsiveness for reviews widget */
@media (max-width: 640px) {
  #ReviewCampsiteHeader {
    flex-direction: column !important;
    text-align: center !important;
  }

  #ReviewCampsiteRating {
    text-align: center !important;
    margin: 16px 0 0 0 !important;
  }

  #ReviewCampsiteTitle h1 {
    font-size: 1.5rem !important;
  }

  #WidgetBodyPadding {
    padding: 16px !important;
  }

  #ReviewBreakdownLeft {
    width: 70px !important;
  }

  #ReviewBreakdownRight {
    width: 45px !important;
  }
}

.dots {display: none !important}
.toggle-autoplay {
    display: none !important;
}

/* Footer (site) */
.site-footer{background: var(--lfp-green);color:#FFF;border-top:4px solid var(--lfp-green);margin-top:28px}
.site-footer .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:22px;padding:72px 0}
.site-footer .brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:700}
.site-footer .brand img{height:80px;width:auto}
.site-footer h4{color:#fff;margin:.2rem 0 .6rem;font-size:1rem}
.site-footer p{margin:.25rem 0}
.site-footer a{color:#FFF;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.2rem 0}
.site-footer .footer-bottom{border-top:1px solid #FFF;margin-top:10px;padding:26px 0;font-size:.9rem;display:flex;gap:10px;align-items:center;justify-content:space-between}
.site-footer .btn {background: #FFF; color: var(--lfp-green);}

/* Old simple footer kept for non-updated pages */
.simple-footer{margin:32px 0 16px;text-align:center;color:#667;font-size:.9rem}

@media (max-width:900px){
  .site-footer .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .hero .logo{max-width:220px}
  .tile img{height:140px}
  .site-footer .footer-grid{grid-template-columns:1fr}
}

@media (min-width:1600px){
  .container{max-width:1440px}
}


/* Header layout (moved from inline) */
.site-header .header-inner{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.8rem 0;flex-wrap:wrap}
.site-header nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.site-header nav a.is-active{color:var(--lfp-green);border-bottom:2px solid var(--lfp-green)}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:10px;top:10px;width:auto;height:auto;padding:.6rem .9rem;background:#000;color:#fff;z-index:1000;border-radius:6px;outline:2px solid #fff}

/* Focus styles */
a:focus-visible, button:focus-visible, .btn:focus-visible{outline:3px solid var(--lfp-green);outline-offset:2px;border-radius:6px}

/* Anchor offset for sticky header */
.section{scroll-margin-top:72px}


/* Mobile nav toggle and responsive menu */
.menu-toggle{display:none;background:#fff;border:1px solid #e0e6e4;color:#253b37;padding:.45rem .6rem;border-radius:6px;cursor:pointer;font-weight:600}
.menu-toggle .menu-icon{font-size:1.05rem;line-height:1}
@media (max-width:900px){
  .menu-toggle{display:inline-flex;align-items:center;gap:.4rem}
  .site-header .primary-nav{display:none;width:100%;flex-direction:column;gap:.5rem;padding:.5rem 0}
  .site-header .primary-nav.is-open{display:flex}
}

/* Hero slider: pause/play control */
.hero-slider .toggle-autoplay{position:absolute;right:56px;bottom:12px;z-index:2;background:rgba(0,0,0,.35);color:#fff;border:0;border-radius:20px;padding:.3rem .7rem;cursor:pointer}
.hero-slider .toggle-autoplay:hover{background:rgba(0,0,0,.5)}


/* Hero slider: use dynamic viewport units on supported browsers */
@supports (height: 1dvh) {
  .hero-slider .slides{ height: clamp(480px, 70dvh, 860px); }
}


/* Hero big title */
.hero .title{font-size:clamp(2rem,4.8vw,3.2rem);font-weight:800;color:var(--lfp-green);margin:.5rem 0 .75rem}

/* Image modal */
.image-modal{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px}
.image-modal.is-open{display:flex}
.image-modal img{max-width:90vw;max-height:85vh;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.image-modal .close{position:absolute;top:12px;right:14px;color:#fff;font-size:2rem;cursor:pointer;line-height:1}

/* Home three-up layout */
.three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.three-up{grid-template-columns:1fr}}

/* Page hero */
.page-hero{position:relative;min-height:280px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;border-bottom:1px solid #e6ecea}
.page-hero .page-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.35))}
.page-hero h1{position:relative;color:#fff;font-weight:800;font-size:clamp(2rem,5vw,3rem);text-shadow:0 2px 12px rgba(0,0,0,.4);margin:0;z-index:1}

/* Facilities layout overrides */
#facilities .intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
@media (max-width:900px){#facilities .intro-grid{grid-template-columns:1fr}}
#facilities .grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){#facilities .grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){#facilities .grid{grid-template-columns:1fr}}

#facilities .old-hours, #facilities .old-hours + ul { display: none; }
