/*
Theme Name: Forest Mill Dynamic v49
Theme URI: https://forestmillholidaycottages.co.uk/
Author: Priyanka
Description: Fully dynamic, lightweight WordPress theme for Forest Mill Holiday Cottages. No page builder required.
Version: 50.0
Text Domain: forest-mill-dynamic
*/

:root{
  --fm-green:#6f7962;
  --fm-green-dark:#485341;
  --fm-cream:#f6f1e8;
  --fm-beige:#ddd0bd;
  --fm-beige-light:#eee6d8;
  --fm-ink:#30352f;
  --fm-white:#fffdf9;
  --fm-border:#d9cfbf;
  --fm-max:1240px;
  --fm-radius:16px;
  --fm-shadow:0 14px 34px rgba(48,53,47,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--fm-ink);background:var(--fm-white);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.fm-wrap{width:min(var(--fm-max),calc(100% - 40px));margin:auto}
.fm-serif{font-family:Georgia,'Times New Roman',serif}
.site-header{position:sticky;top:0;z-index:999;background:rgba(255,253,249,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(72,83,65,.08)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}
.site-branding{display:flex;align-items:center;gap:14px;min-width:260px}
.site-branding .custom-logo{max-height:58px;width:auto}
.brand-fallback{font-family:Georgia,'Times New Roman',serif;color:var(--fm-green-dark);font-size:28px;line-height:1}
.brand-fallback small{font-size:16px}
.main-nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:13px}
.main-nav ul{list-style:none;display:flex;align-items:center;gap:22px;margin:0;padding:0}
.main-nav a{display:block;padding:29px 0;position:relative}
.main-nav a:hover:after,.main-nav .current-menu-item>a:after{content:"";position:absolute;left:0;right:0;bottom:19px;height:2px;background:var(--fm-green)}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;font-size:26px;color:var(--fm-green-dark)}
.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--fm-green);color:#fff;border:1px solid var(--fm-green);padding:13px 20px;border-radius:3px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:.2s}
.fm-btn:hover{background:var(--fm-green-dark);border-color:var(--fm-green-dark);color:#fff}
.fm-btn--outline{background:transparent;color:var(--fm-green-dark)}
.header-book{white-space:nowrap}

.hero{background:var(--fm-cream);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:46% 54%;min-height:640px}
.hero-copy{padding:70px 5.5vw 64px max(24px,calc((100vw - var(--fm-max))/2));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero-copy:after{content:"";position:absolute;right:-105px;top:0;bottom:0;width:210px;background:linear-gradient(90deg,var(--fm-cream),rgba(246,241,232,0));z-index:-1}
.eyebrow{color:var(--fm-green);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;margin-bottom:14px}
.hero h1,.section-heading h2,.area-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--fm-green-dark)}
.hero h1{font-size:clamp(48px,5.2vw,76px);line-height:1.02;margin:0 0 25px;max-width:700px}
.hero h1 em{font-weight:400;color:var(--fm-green);font-style:italic}
.hero-intro{font-size:17px;max-width:610px;margin:0 0 18px}
.hero-location{display:grid;gap:13px;margin:12px 0 28px;max-width:600px}
.location-row{display:flex;gap:12px;align-items:flex-start}
.location-badge{width:33px;height:33px;border-radius:50%;background:#fff;border:1px solid var(--fm-border);display:grid;place-items:center;flex:0 0 33px;font-size:18px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-image{min-height:640px;background:center/cover no-repeat}

.section{padding:78px 0}
.section--cream{background:var(--fm-cream)}
.section--beige{background:var(--fm-beige-light)}
.section-heading{text-align:center;margin-bottom:38px}
.section-heading .eyebrow{margin-bottom:5px}
.section-heading h2{font-size:clamp(36px,4vw,54px);line-height:1.1;margin:0}
.cottage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.cottage-card{background:var(--fm-cream);border:1px solid var(--fm-border);border-radius:var(--fm-radius);overflow:hidden;box-shadow:var(--fm-shadow)}
.cottage-image{aspect-ratio:16/9;background:#d8d3ca center/cover no-repeat;position:relative}
.country-tag{position:absolute;top:16px;left:16px;background:var(--fm-green);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;padding:8px 12px;border-radius:2px}
.cottage-body{text-align:center;padding:27px 30px 31px}
.cottage-body h3{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;color:var(--fm-green-dark);margin:0 0 7px}
.dog-friendly{font-size:13px;font-weight:700;margin-bottom:18px}
.feature-row{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:18px 0 23px}
.mini-feature{font-size:11px}
.mini-feature .icon{font-size:23px;line-height:1;display:block;margin-bottom:6px;color:var(--fm-green)}
.cottage-summary{max-width:560px;margin:0 auto 20px}
.love-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.love-item{text-align:center;padding:16px 18px;border-right:1px solid rgba(72,83,65,.15)}
.love-item:last-child{border-right:0}
.love-icon{font-size:38px;color:var(--fm-green);line-height:1;margin-bottom:10px}
.love-item h4{font-family:Georgia,'Times New Roman',serif;color:var(--fm-green-dark);font-size:19px;font-weight:400;margin:0 0 6px}
.love-item p{font-size:12px;margin:0}
.area-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:52px;align-items:center}
.area-copy h2{font-size:54px;line-height:1.04;margin:0 0 18px}
.area-copy p{max-width:560px}
.area-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0 28px}
.area-highlight{font-size:12px;max-width:150px}.area-highlight-icon{display:block;font-size:24px;color:var(--fm-green);margin-bottom:4px}.area-highlight strong,.area-highlight span{display:block}
.area-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}
.area-photo{min-height:205px;border-radius:12px;background:#d5d0c8 center/cover no-repeat}
.area-photo:first-child{grid-row:auto;min-height:205px}
.cta-bar{margin-top:58px;background:var(--fm-beige);border:1px solid #cabda9;border-radius:12px;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta-bar h3{font-family:Georgia,'Times New Roman',serif;color:var(--fm-green-dark);font-size:31px;font-weight:400;margin:0}
.cta-bar p{margin:2px 0 0}
.page-hero{padding:70px 0;background:var(--fm-cream)}
.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:56px;font-weight:400;color:var(--fm-green-dark);margin:0}
.content-area{padding:60px 0}
.content-area h2,.content-area h3{font-family:Georgia,'Times New Roman',serif;color:var(--fm-green-dark)}
.site-footer{background:var(--fm-cream);border-top:1px solid var(--fm-border)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:42px;padding:54px 0}
.footer-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.footer-links{list-style:none;margin:0;padding:0;font-size:13px}
.footer-links li{margin:6px 0}
.footer-bottom{padding:15px 0;text-align:center;font-size:11px;color:#fff;background:var(--fm-green-dark)}

@media(max-width:1050px){
  .main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--fm-white);padding:18px 24px;border-bottom:1px solid var(--fm-border)}
  .main-nav.is-open{display:block}
  .main-nav ul{display:flex;flex-direction:column;align-items:flex-start}
  .main-nav a{padding:7px 0}
  .menu-toggle{display:block}
  .header-book{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:64px 7vw}
  .hero-copy:after{display:none}
  .hero-image{min-height:480px}
  .love-grid{grid-template-columns:repeat(3,1fr);row-gap:24px}
  .love-item:nth-child(3n){border-right:0}
  .area-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .fm-wrap{width:min(var(--fm-max),calc(100% - 28px))}
  .header-inner{min-height:72px}.site-branding{min-width:0}.site-branding .custom-logo{max-height:46px}.brand-fallback{font-size:21px}
  .hero-copy{padding:50px 20px}.hero h1{font-size:46px}.hero-image{min-height:360px}
  .section{padding:56px 0}.cottage-grid{grid-template-columns:1fr}.feature-row{grid-template-columns:repeat(3,1fr)}
  .love-grid{grid-template-columns:repeat(2,1fr)}.love-item{border-right:0;border-bottom:1px solid rgba(72,83,65,.12)}
  .area-copy h2{font-size:42px}.area-gallery{grid-template-columns:1fr 1fr}.area-photo:first-child{grid-column:auto;grid-row:auto;min-height:170px}.area-photo{min-height:170px}.area-highlights{grid-template-columns:1fr}
  .cta-bar{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}
}

.location-badge img{width:23px;height:23px;object-fit:contain}

/* === V6 HERO — APPROVED MOCKUP MATCH === */
.hero{background:var(--fm-cream);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:44% 56%;min-height:590px;position:relative}
.hero-copy{
  padding:58px 34px 52px max(52px,calc((100vw - var(--fm-max))/2));
  display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:3;background:var(--fm-cream)
}
.hero-copy:after{
  content:"";position:absolute;z-index:-1;top:0;bottom:0;right:-150px;width:190px;
  background:linear-gradient(90deg,var(--fm-cream) 0%,rgba(246,241,232,.86) 42%,rgba(246,241,232,0) 100%);
  pointer-events:none
}
.hero .eyebrow{margin:0 0 13px;font-size:12px;line-height:1.2;letter-spacing:.12em;color:var(--fm-green-dark)}
.hero h1{
  font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,4.3vw,68px);
  line-height:1.02;letter-spacing:-.025em;font-weight:400;color:var(--fm-green-dark);
  max-width:590px;margin:0 0 24px
}
.hero h1 em{display:inline;color:var(--fm-green);font-weight:400;font-style:italic}
.hero-intro{max-width:470px;font-size:16px;line-height:1.55;margin:0 0 18px}
.hero-location{display:grid;gap:13px;max-width:500px;margin:4px 0 26px}
.location-row{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;font-size:14px;line-height:1.45}
.location-badge{
  width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--fm-border);
  display:grid;place-items:center;padding:6px;box-shadow:0 2px 8px rgba(48,53,47,.04)
}
.location-badge img{width:28px;height:28px;object-fit:contain}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-actions .fm-btn{min-height:47px;padding:13px 22px}
.hero-image{
  min-height:590px;background-repeat:no-repeat;background-size:cover;background-position:center center;position:relative
}
.hero-image:before{
  content:"";position:absolute;inset:0 auto 0 0;width:115px;
  background:linear-gradient(90deg,rgba(246,241,232,.9),rgba(246,241,232,0));pointer-events:none
}
@media(max-width:1100px){
  .hero-grid{grid-template-columns:48% 52%;min-height:560px}
  .hero-copy{padding-left:38px}
  .hero h1{font-size:clamp(44px,5vw,60px)}
  .hero-image{min-height:560px}
}
@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:48px 28px 38px}
  .hero-copy:after{display:none}
  .hero h1{font-size:clamp(42px,11vw,58px);max-width:650px}
  .hero-intro,.hero-location{max-width:100%}
  .hero-image{min-height:430px}
  .hero-image:before{
    inset:0 0 auto 0;width:auto;height:90px;
    background:linear-gradient(180deg,var(--fm-cream),rgba(246,241,232,0))
  }
}
@media(max-width:520px){
  .hero-copy{padding:40px 20px 30px}
  .hero h1{font-size:43px;line-height:1.03}
  .location-row{grid-template-columns:38px 1fr;font-size:13px}
  .location-badge{width:38px;height:38px}
  .hero-actions{gap:10px}
  .hero-actions .fm-btn{width:100%}
  .hero-image{min-height:330px}
}


/* === V7 HEADER MATCH === */
.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:#fffdf9;
  border-bottom:1px solid rgba(72,83,65,.08);
  box-shadow:none;
  backdrop-filter:none;
}

.header-inner{
  width:min(1360px,calc(100% - 48px));
  min-height:76px;
  margin:0 auto;
  display:grid;
  grid-template-columns:250px 1fr auto;
  align-items:center;
  gap:26px;
}

.site-branding{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
}

.site-branding .custom-logo-link{
  display:flex;
  align-items:center;
}

.site-branding .custom-logo{
  width:auto;
  max-width:225px;
  max-height:55px;
  object-fit:contain;
}

.brand-fallback{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--fm-green-dark);
  font-size:27px;
  line-height:1.02;
}
.brand-fallback small{
  display:block;
  font-size:14px;
  letter-spacing:.02em;
}

.main-nav{
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.main-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:0;
  padding:0;
  white-space:nowrap;
}

.main-nav li{margin:0;padding:0}

.main-nav a{
  display:block;
  position:relative;
  padding:31px 0 27px;
  font-size:12px;
  line-height:1;
  font-weight:500;
  color:#262b26;
  text-decoration:none;
}

.main-nav a:hover{
  color:var(--fm-green-dark);
}

.main-nav a:hover:after,
.main-nav .current-menu-item>a:after,
.main-nav .current_page_item>a:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:20px;
  height:2px;
  background:var(--fm-green);
}

.header-book{
  min-height:43px;
  padding:0 18px;
  border-radius:2px;
  background:var(--fm-green-dark);
  border-color:var(--fm-green-dark);
  font-size:11px;
  letter-spacing:.02em;
  white-space:nowrap;
}

.header-book:hover{
  background:var(--fm-green);
  border-color:var(--fm-green);
}

.menu-toggle{
  display:none;
  margin-left:auto;
  background:none;
  border:0;
  color:var(--fm-green-dark);
  font-size:27px;
  padding:6px;
}

@media(max-width:1180px){
  .header-inner{
    grid-template-columns:220px 1fr auto;
    gap:18px;
  }
  .main-nav ul{gap:17px}
  .main-nav a{font-size:11px}
  .site-branding .custom-logo{max-width:205px}
}

@media(max-width:980px){
  .header-inner{
    width:min(100% - 30px,1360px);
    min-height:72px;
    grid-template-columns:1fr auto;
  }

  .menu-toggle{display:block}

  .main-nav{
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    background:#fffdf9;
    border-top:1px solid rgba(72,83,65,.08);
    border-bottom:1px solid rgba(72,83,65,.12);
    padding:16px 22px 22px;
  }

  .main-nav.is-open{display:block}

  .main-nav ul{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    white-space:normal;
  }

  .main-nav a{
    width:100%;
    padding:11px 0;
    font-size:13px;
  }

  .main-nav a:after{display:none!important}

  .header-book{display:none}

  .site-branding .custom-logo{
    max-width:210px;
    max-height:48px;
  }
}

@media(max-width:520px){
  .header-inner{
    width:calc(100% - 24px);
    min-height:68px;
  }
  .site-branding .custom-logo{
    max-width:175px;
    max-height:44px;
  }
  .main-nav{top:68px}
}


/* ===== V8 FINAL HEADER FORCE OVERRIDE ===== */
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  background:#fffdf9 !important;
  border-bottom:1px solid #ece7de !important;
}

.site-header .header-inner{
  width:min(1450px,calc(100% - 40px)) !important;
  min-height:92px !important;
  max-height:92px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:28px !important;
}

.site-header .site-branding{
  flex:0 0 300px !important;
  width:300px !important;
  min-width:300px !important;
  max-width:300px !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}

.site-header .custom-logo-link{
  display:flex !important;
  align-items:center !important;
  width:300px !important;
  max-width:300px !important;
  height:72px !important;
  line-height:1 !important;
}

.site-header .custom-logo{
  display:block !important;
  width:300px !important;
  max-width:300px !important;
  height:72px !important;
  max-height:72px !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
}

.site-header .main-nav{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  margin:0 !important;
}

.site-header .main-nav ul{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:22px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  white-space:nowrap !important;
}

.site-header .main-nav li{
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}

.site-header .main-nav a{
  display:block !important;
  padding:37px 0 31px !important;
  margin:0 !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:500 !important;
  color:#2e342e !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  position:relative !important;
}

.site-header .main-nav a:hover:after,
.site-header .main-nav .current-menu-item>a:after,
.site-header .main-nav .current_page_item>a:after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:23px !important;
  height:2px !important;
  background:#6f7962 !important;
}

.site-header .header-book{
  flex:0 0 auto !important;
  min-width:170px !important;
  height:46px !important;
  padding:0 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#6f7962 !important;
  border:1px solid #6f7962 !important;
  border-radius:3px !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}

.site-header .menu-toggle{display:none !important}

@media(max-width:1180px){
  .site-header .header-inner{
    width:calc(100% - 30px) !important;
    min-height:82px !important;
    max-height:82px !important;
    gap:18px !important;
  }
  .site-header .site-branding,
  .site-header .custom-logo-link{
    flex-basis:240px !important;
    width:240px !important;
    min-width:240px !important;
    max-width:240px !important;
  }
  .site-header .custom-logo{
    width:240px !important;
    max-width:240px !important;
    height:60px !important;
    max-height:60px !important;
  }
  .site-header .main-nav ul{gap:15px !important}
  .site-header .main-nav a{font-size:11px !important}
  .site-header .header-book{min-width:150px !important;padding:0 12px !important}
}

@media(max-width:980px){
  .site-header .header-inner{
    min-height:72px !important;
    max-height:none !important;
    position:relative !important;
  }
  .site-header .site-branding,
  .site-header .custom-logo-link{
    flex-basis:auto !important;
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
  }
  .site-header .custom-logo{
    width:210px !important;
    max-width:210px !important;
    height:52px !important;
    max-height:52px !important;
  }
  .site-header .menu-toggle{
    display:block !important;
    margin-left:auto !important;
    background:none !important;
    border:0 !important;
    font-size:26px !important;
  }
  .site-header .header-book{display:none !important}
  .site-header .main-nav{
    display:none !important;
    position:absolute !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    background:#fffdf9 !important;
    border-top:1px solid #ece7de !important;
    border-bottom:1px solid #ddd6cb !important;
    padding:14px 20px 20px !important;
  }
  .site-header .main-nav.is-open{display:block !important}
  .site-header .main-nav ul{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
  }
  .site-header .main-nav a{
    width:100% !important;
    padding:10px 0 !important;
    font-size:13px !important;
  }
  .site-header .main-nav a:after{display:none !important}
}

/* V9 location rows */
.hero-location{display:grid!important;gap:14px!important;margin:12px 0 28px!important;max-width:520px!important}
.hero-location .location-row{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:14px!important;align-items:center!important;color:#30352f!important;font-size:14px!important;line-height:1.48!important;min-height:44px!important}
.hero-location .location-row>div:last-child{display:block!important;color:#30352f!important;opacity:1!important;visibility:visible!important}
.hero-location .location-badge{width:44px!important;height:44px!important;border-radius:50%!important;background:#fff!important;border:1px solid #d9cfbf!important;padding:0!important;overflow:hidden!important;display:grid!important;place-items:center!important}
.hero-location .location-badge img{display:block!important;width:40px!important;height:40px!important;object-fit:contain!important}

/* V10 cottage page */
.cottage-detail-hero{background:var(--fm-cream);overflow:hidden}
.cottage-detail-grid{display:grid;grid-template-columns:43% 57%;min-height:520px}
.cottage-detail-copy{padding:58px 42px 50px max(40px,calc((100vw - var(--fm-max))/2));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.cottage-detail-copy:after{content:"";position:absolute;right:-125px;top:0;bottom:0;width:170px;background:linear-gradient(90deg,var(--fm-cream),rgba(246,241,232,0));z-index:-1}
.cottage-detail-country{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--fm-green-dark);margin-bottom:12px}
.cottage-detail-country img{width:34px;height:34px;object-fit:contain}
.cottage-detail-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:62px;line-height:1.02;font-weight:400;color:var(--fm-green-dark);margin:0 0 20px}
.cottage-detail-copy p{max-width:520px;margin:0 0 22px}
.cottage-detail-image{min-height:520px;background:center/cover no-repeat;position:relative}
.cottage-detail-image:before{content:"";position:absolute;left:0;top:0;bottom:0;width:120px;background:linear-gradient(90deg,rgba(246,241,232,.88),rgba(246,241,232,0))}
.cottage-anchor-nav{background:var(--fm-beige-light);border-top:1px solid var(--fm-border);border-bottom:1px solid var(--fm-border)}
.cottage-anchor-nav .fm-wrap{display:flex;justify-content:center;gap:34px;flex-wrap:wrap}
.cottage-anchor-nav a{padding:18px 0;font-size:12px;font-weight:700;text-transform:uppercase}
.cottage-overview{padding:70px 0}
.cottage-overview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:58px;align-items:start}
.cottage-overview h2{font-family:Georgia,'Times New Roman',serif;font-size:44px;font-weight:400;color:var(--fm-green-dark);margin:0 0 16px}
.cottage-bullets{list-style:none;padding:0;margin:22px 0}
.cottage-bullets li{margin:8px 0;padding-left:22px;position:relative}
.cottage-bullets li:before{content:"❧";position:absolute;left:0;color:var(--fm-green)}
.cottage-details-card{background:linear-gradient(135deg,#f0eadf,#e5eadf);border-radius:12px;padding:30px;border:1px solid var(--fm-border)}
.cottage-details-card h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em;margin:0 0 16px}
.detail-row{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(72,83,65,.14)}
.cottage-gallery{padding:0 0 70px}
.cottage-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cottage-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cottage-gallery-actions{text-align:center;margin-top:24px}
.cottage-cta{margin:0 auto 50px;background:var(--fm-beige-light);border:1px solid var(--fm-border);border-radius:12px;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.cottage-cta h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;color:var(--fm-green-dark);margin:0}
@media(max-width:900px){.cottage-detail-grid{grid-template-columns:1fr}.cottage-detail-copy{padding:50px 28px 38px}.cottage-detail-copy:after{display:none}.cottage-detail-image{min-height:400px}.cottage-overview-grid{grid-template-columns:1fr}.cottage-gallery-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cottage-detail-copy h1{font-size:44px}.cottage-gallery-grid{grid-template-columns:1fr}.cottage-cta{flex-direction:column;align-items:flex-start}}


/* =========================================================
   V12 — COTTAGE DETAIL PAGE MATCHING APPROVED MOCKUP
   ========================================================= */

.fm-cottage-page{background:#fffdf9}
.fm-cottage-hero{
  background:var(--fm-cream);
  overflow:hidden;
}
.fm-cottage-hero-grid{
  display:grid;
  grid-template-columns:42% 58%;
  min-height:560px;
}
.fm-cottage-hero-copy{
  position:relative;
  z-index:2;
  padding:64px 42px 58px max(60px,calc((100vw - var(--fm-max))/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--fm-cream);
}
.fm-cottage-hero-copy:after{
  content:"";
  position:absolute;
  top:0;bottom:0;right:-150px;
  width:190px;
  background:linear-gradient(90deg,var(--fm-cream) 0%,rgba(246,241,232,.92) 40%,rgba(246,241,232,0) 100%);
  z-index:-1;
}
.fm-cottage-country{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  color:var(--fm-green-dark);
  font-weight:700;
  letter-spacing:.04em;
}
.fm-cottage-country img{
  width:36px;height:36px;object-fit:contain
}
.fm-cottage-hero-copy h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(52px,5vw,76px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.025em;
  color:var(--fm-green-dark);
  margin:0 0 20px;
  max-width:540px;
}
.fm-cottage-divider{
  width:90px;
  height:16px;
  margin:0 0 18px;
  position:relative;
}
.fm-cottage-divider:before{
  content:"";
  position:absolute;
  left:0;right:0;top:7px;
  height:1px;background:#afa891;
}
.fm-cottage-divider:after{
  content:"❧";
  position:absolute;
  right:2px;top:-3px;
  padding-left:8px;
  background:var(--fm-cream);
  color:var(--fm-green);
}
.fm-cottage-hero-copy .hero-summary{
  max-width:500px;
  font-size:16px;
  line-height:1.6;
  margin-bottom:24px;
}
.fm-cottage-hero-image{
  min-height:560px;
  background:center/cover no-repeat;
  position:relative;
}
.fm-cottage-hero-image:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:125px;
  background:linear-gradient(90deg,rgba(246,241,232,.9),rgba(246,241,232,0));
}
.fm-cottage-floating-icons{
  position:absolute;
  left:28px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  gap:18px;
  z-index:5;
}
.fm-cottage-floating-icons a{
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--fm-border);
  background:#fff;
  display:grid;place-items:center;
  color:var(--fm-green-dark);
  box-shadow:0 5px 15px rgba(48,53,47,.06);
  font-size:20px;
}
.fm-cottage-floating-icons small{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-top:4px;
  text-align:center;
}
.fm-cottage-facilities{
  margin-top:-1px;
  padding:22px 0;
  background:#fffdf9;
}
.fm-cottage-facility-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border:1px solid var(--fm-border);
  border-radius:12px;
  overflow:hidden;
  background:#fffdf9;
}
.fm-cottage-facility{
  padding:22px 12px;
  text-align:center;
  border-right:1px solid var(--fm-border);
  font-size:12px;
}
.fm-cottage-facility:last-child{border-right:0}
.fm-cottage-facility .ico{
  display:block;
  font-size:28px;
  color:var(--fm-green);
  margin-bottom:6px;
}

.fm-about-section{
  padding:16px 0 72px;
}
.fm-about-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:48px;
  align-items:center;
}
.fm-about-copy h2,
.fm-accommodation h2,
.fm-local-section h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:42px;
  font-weight:400;
  line-height:1.1;
  color:var(--fm-green-dark);
  margin:0 0 18px;
}
.fm-about-copy p{margin:0 0 16px}
.fm-mini-gallery{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  grid-template-rows:1fr 1fr;
  gap:8px;
}
.fm-mini-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:8px;
}
.fm-mini-gallery img:first-child{
  grid-row:1/3;
  min-height:320px;
}

.fm-accommodation{
  padding:0 0 72px;
}
.fm-accommodation-card{
  display:grid;
  grid-template-columns:.72fr .9fr .78fr;
  gap:34px;
  background:linear-gradient(135deg,#f1eadf,#f7f2e9);
  border:1px solid var(--fm-border);
  border-radius:14px;
  padding:28px;
  align-items:stretch;
}
.fm-accommodation-image img{
  width:100%;height:100%;min-height:370px;object-fit:cover;border-radius:10px
}
.fm-accommodation-copy{
  padding:8px 0;
}
.fm-accommodation-copy h3{
  margin:16px 0 4px;
  font-size:16px;
}
.fm-dog-card{
  border:1px solid var(--fm-border);
  border-radius:12px;
  padding:24px;
  background:rgba(255,255,255,.35);
}
.fm-dog-card h3{
  font-family:Georgia,'Times New Roman',serif;
  font-size:31px;
  font-weight:400;
  color:var(--fm-green-dark);
  margin:0 0 12px;
}
.fm-dog-list{
  list-style:none;padding:0;margin:18px 0 0
}
.fm-dog-list li{
  margin:9px 0;padding-left:20px;position:relative
}
.fm-dog-list li:before{
  content:"✓";position:absolute;left:0;color:var(--fm-green);font-weight:700
}

.fm-local-booking{
  padding:0 0 62px;
}
.fm-local-booking-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:stretch;
}
.fm-local-section{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:20px;
  align-items:center;
}
.fm-local-list{
  list-style:none;padding:0;margin:20px 0 0
}
.fm-local-list li{margin:9px 0}
.fm-local-image{
  min-height:350px;
  border-radius:12px;
  background:center/cover no-repeat;
  position:relative;
}
.fm-local-image:before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:90px;
  background:linear-gradient(90deg,#fffdf9,rgba(255,253,249,0));
}
.fm-booking-card{
  border:1px solid var(--fm-border);
  border-radius:12px;
  background:#fff;
  padding:28px;
  text-align:center;
}
.fm-booking-card h3{
  font-family:Georgia,'Times New Roman',serif;
  font-size:34px;
  font-weight:400;
  color:var(--fm-green-dark);
  margin:0 0 8px;
}
.fm-booking-placeholder{
  min-height:260px;
  margin-top:18px;
  border:1px dashed #c9c1b4;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  color:#6b6f67;
  background:#faf8f3;
}
.fm-cottage-cta-bar{
  margin-bottom:0;
  padding:28px 40px;
  background:var(--fm-beige-light);
  border:1px solid var(--fm-border);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.fm-cottage-cta-bar h3{
  font-family:Georgia,'Times New Roman',serif;
  font-size:31px;
  font-weight:400;
  color:var(--fm-green-dark);
  margin:0 0 4px;
}

@media(max-width:1050px){
  .fm-cottage-hero-grid{grid-template-columns:1fr}
  .fm-cottage-hero-copy{padding:54px 40px 42px}
  .fm-cottage-hero-copy:after{display:none}
  .fm-cottage-hero-image{min-height:430px}
  .fm-cottage-floating-icons{display:none}
  .fm-cottage-facility-grid{grid-template-columns:repeat(3,1fr)}
  .fm-cottage-facility:nth-child(3){border-right:0}
  .fm-about-grid,.fm-local-booking-grid,.fm-local-section{grid-template-columns:1fr}
  .fm-accommodation-card{grid-template-columns:1fr 1fr}
  .fm-dog-card{grid-column:1/3}
}
@media(max-width:700px){
  .fm-cottage-hero-copy{padding:42px 20px 32px}
  .fm-cottage-hero-copy h1{font-size:48px}
  .fm-cottage-facility-grid{grid-template-columns:repeat(2,1fr)}
  .fm-cottage-facility:nth-child(n){border-right:1px solid var(--fm-border)}
  .fm-cottage-facility:nth-child(2n){border-right:0}
  .fm-about-grid{gap:28px}
  .fm-mini-gallery{grid-template-columns:1fr 1fr}
  .fm-mini-gallery img:first-child{grid-column:1/3;grid-row:auto;min-height:260px}
  .fm-accommodation-card{grid-template-columns:1fr}
  .fm-dog-card{grid-column:auto}
  .fm-cottage-cta-bar{flex-direction:column;align-items:flex-start}
}


/* =========================================================
   V13 — ABOUT COTTAGE SECTION MATCH
   ========================================================= */
.fm-about-section{
  padding:58px 0 72px !important;
  background:#fffdf9 !important;
}
.fm-about-grid{
  display:grid !important;
  grid-template-columns:40% 60% !important;
  gap:46px !important;
  align-items:center !important;
}
.fm-about-copy{
  max-width:520px !important;
}
.fm-about-copy h2{
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:42px !important;
  line-height:1.08 !important;
  font-weight:400 !important;
  letter-spacing:-.015em !important;
  color:var(--fm-green-dark) !important;
  margin:0 0 22px !important;
}
.fm-about-copy .fm-about-editor p{
  font-size:15px !important;
  line-height:1.72 !important;
  margin:0 0 18px !important;
}
.fm-about-copy .fm-btn{
  margin-top:8px !important;
  min-width:150px !important;
}
.fm-mini-gallery{
  display:grid !important;
  grid-template-columns:1.45fr .72fr .72fr !important;
  grid-template-rows:1fr 1fr !important;
  gap:8px !important;
  min-height:360px !important;
}
.fm-mini-gallery .gallery-slot{
  overflow:hidden !important;
  border-radius:8px !important;
  background:#eee9df !important;
}
.fm-mini-gallery .gallery-slot img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.fm-mini-gallery .gallery-slot:nth-child(1){
  grid-column:1 !important;
  grid-row:1 / 3 !important;
}
.fm-mini-gallery .gallery-slot:nth-child(2){
  grid-column:2 / 4 !important;
  grid-row:1 !important;
}
.fm-mini-gallery .gallery-slot:nth-child(3){
  grid-column:2 !important;
  grid-row:2 !important;
}
.fm-mini-gallery .gallery-slot:nth-child(4){
  grid-column:3 !important;
  grid-row:2 !important;
}
@media(max-width:980px){
  .fm-about-grid{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .fm-about-copy{max-width:none !important}
}
@media(max-width:620px){
  .fm-about-section{padding:44px 0 56px !important}
  .fm-about-copy h2{font-size:36px !important}
  .fm-mini-gallery{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:auto !important;
    min-height:0 !important;
  }
  .fm-mini-gallery .gallery-slot:nth-child(1){
    grid-column:1 / 3 !important;
    grid-row:auto !important;
    aspect-ratio:16/10 !important;
  }
  .fm-mini-gallery .gallery-slot:nth-child(2),
  .fm-mini-gallery .gallery-slot:nth-child(3),
  .fm-mini-gallery .gallery-slot:nth-child(4){
    grid-column:auto !important;
    grid-row:auto !important;
    aspect-ratio:1/1 !important;
  }
  .fm-mini-gallery .gallery-slot:nth-child(2){
    grid-column:1 / 3 !important;
    aspect-ratio:16/8 !important;
  }
}

/* V16 homepage refinements */
.love-icon,
.mini-feature .icon,
.area-highlight-icon,
.area-highlight > span:first-child,
.fm-cottage-facility .ico,
.detail-row .ico{
  color:var(--fm-green)!important;
  filter:none!important;
}
.love-item svg,
.mini-feature svg,
.area-highlight svg,
.fm-cottage-facility svg{
  color:var(--fm-green)!important;
  fill:currentColor;
  stroke:currentColor;
}
.area-highlight strong{color:var(--fm-green-dark)}


/* =========================================================
   V17 — CONSISTENT MUTED GREEN ICON SYSTEM
   Replaces device-dependent coloured emoji appearance with
   monochrome inline SVG icons that inherit the theme green.
   ========================================================= */
.fm-svg-icon{
  width:1em;
  height:1em;
  display:inline-block;
  vertical-align:-0.12em;
  color:var(--fm-green);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mini-feature .fm-svg-icon{
  width:28px;
  height:28px;
  display:block;
  margin:0 auto 7px;
}
.love-icon .fm-svg-icon{
  width:39px;
  height:39px;
}
.area-highlight-icon .fm-svg-icon{
  width:28px;
  height:28px;
}
.dog-friendly .fm-svg-icon{
  width:18px;
  height:18px;
  margin-right:6px;
}
.fm-cottage-facility .fm-svg-icon{
  width:30px;
  height:30px;
  display:block;
  margin:0 auto 7px;
}
.detail-row .fm-svg-icon{
  width:20px;
  height:20px;
}
.fm-icon-circle{
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid var(--fm-border);
  background:#fff;
  display:grid;
  place-items:center;
  color:var(--fm-green);
}


/* =========================================================
   V18 FINAL — APPROVED DESKTOP + MOBILE MOCKUPS
   ========================================================= */
:root{
  --fm-green:#7b866f;
  --fm-green-dark:#56624f;
  --fm-cream:#f7f1e6;
  --fm-beige-light:#e7dcc8;
  --fm-border:#d5c8b2;
  --fm-text:#30342f;
}

/* Softer approved muted green */
.fm-btn,.header-book{
  background:var(--fm-green)!important;
  border-color:var(--fm-green)!important;
  color:#fff!important;
}
.fm-btn:hover,.header-book:hover{
  background:var(--fm-green-dark)!important;
  border-color:var(--fm-green-dark)!important;
}

/* Homepage cards */
.cottage-card{
  background:var(--fm-cream)!important;
  border:1px solid var(--fm-border)!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.cottage-card img{
  width:100%!important;
  display:block!important;
}
.cottage-card h3{
  font-family:Georgia,'Times New Roman',serif!important;
  color:var(--fm-green-dark)!important;
  font-weight:400!important;
}

/* Mobile cottage cards to match approved mobile mockup */
@media(max-width:700px){
  .cottage-card{
    margin-bottom:28px!important;
  }
  .cottage-card h3{
    font-size:38px!important;
    line-height:1.05!important;
    text-align:center!important;
  }
  .cottage-card .dog-friendly{
    justify-content:center!important;
    font-size:16px!important;
  }
  .cottage-card .mini-features{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:18px 8px!important;
    padding:14px 8px!important;
  }
  .cottage-card .mini-feature{
    font-size:13px!important;
    line-height:1.25!important;
    text-align:center!important;
  }
  .cottage-card .card-copy{
    font-size:16px!important;
    line-height:1.55!important;
    text-align:center!important;
    padding:0 18px!important;
  }
  .cottage-card .fm-btn{
    width:calc(100% - 36px)!important;
    margin:18px auto 26px!important;
    display:flex!important;
    justify-content:center!important;
  }
}

/* Individual cottage pages */
.fm-cottage-page{
  background:var(--fm-cream)!important;
}
.fm-cottage-hero-copy,
.fm-about-section{
  background:var(--fm-cream)!important;
}
.fm-cottage-country{
  color:var(--fm-green-dark)!important;
}
.fm-cottage-facility-grid,
.fm-accommodation-card,
.fm-dog-card,
.fm-booking-card,
.fm-cottage-cta-bar{
  border-color:var(--fm-border)!important;
}

/* Approved mobile detail layout */
@media(max-width:700px){
  .fm-cottage-hero-grid{
    display:block!important;
  }
  .fm-cottage-hero-image{
    min-height:300px!important;
    order:1!important;
    background-position:center!important;
  }
  .fm-cottage-hero-copy{
    padding:24px 20px 28px!important;
    order:2!important;
  }
  .fm-cottage-hero-copy h1{
    font-size:46px!important;
    line-height:1.02!important;
    margin-bottom:14px!important;
  }
  .fm-cottage-country{
    margin-bottom:10px!important;
  }
  .fm-cottage-facility-grid{
    grid-template-columns:repeat(2,1fr)!important;
    gap:0!important;
  }
  .fm-cottage-facility{
    min-height:96px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border-bottom:1px solid var(--fm-border)!important;
  }
  .fm-about-grid,
  .fm-accommodation-card,
  .fm-local-booking-grid{
    grid-template-columns:1fr!important;
  }
  .fm-mini-gallery{
    grid-template-columns:1fr 1fr!important;
  }
  .fm-dog-card{
    margin-top:12px!important;
  }
  .fm-cottage-cta-bar{
    flex-direction:column!important;
    text-align:center!important;
    align-items:center!important;
  }
}


/* =========================================================
   V19 — FMC + TY BYCHAN APPROVED DETAIL PAGE LAYOUTS
   ========================================================= */
.fm-detail-wrap{max-width:1320px;margin:auto;padding:0 24px}
.fm-detail-hero{position:relative;background:var(--fm-cream)}
.fm-detail-hero-image{height:440px;background-size:cover;background-position:center;border-radius:0}
.fm-country-pill{position:absolute;top:28px;left:34px;background:var(--fm-green);color:#fff;padding:10px 22px;border-radius:6px;text-transform:uppercase;font-weight:700;letter-spacing:.04em}
.fm-detail-titlebox{padding:28px 34px 18px}
.fm-detail-titlebox h1{font-family:Georgia,serif;font-size:48px;font-weight:400;margin:0 0 7px;color:#20251f}
.fm-detail-subtitle{font-size:19px;margin-bottom:18px}
.fm-detail-summary{max-width:820px;line-height:1.65}
.fm-detail-icons{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;border-bottom:1px solid var(--fm-border);padding:18px 30px 24px}
.fm-detail-icon{text-align:center;font-size:13px}
.fm-detail-icon .fm-svg-icon{display:block;width:29px;height:29px;margin:0 auto 7px;color:var(--fm-green-dark)}
.fm-detail-section{padding:30px 34px;border-bottom:1px solid var(--fm-border)}
.fm-detail-section h2,.fm-detail-section h3{font-family:Georgia,serif;font-weight:400;color:var(--fm-green-dark)}
.fm-detail-section-title{font-family:Arial,sans-serif!important;text-transform:uppercase;font-size:16px!important;font-weight:700!important;letter-spacing:.03em}
.fm-about-two{display:grid;grid-template-columns:1.4fr .8fr;gap:36px;align-items:center}
.fm-about-two img{width:100%;border-radius:10px;aspect-ratio:16/10;object-fit:cover}
.fm-accom-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.fm-accom-item{text-align:center;padding:12px 15px;border-right:1px solid var(--fm-border)}
.fm-accom-item:last-child{border-right:0}
.fm-accom-item .fm-svg-icon{width:36px;height:36px;margin-bottom:9px}
.fm-accom-item strong{display:block;margin-bottom:6px}
.fm-split-section{display:grid;grid-template-columns:1fr 1fr;gap:38px}
.fm-checklist{list-style:none;padding:0;margin:14px 0}
.fm-checklist li{position:relative;padding:6px 0 6px 25px}
.fm-checklist li:before{content:"✓";position:absolute;left:0;color:var(--fm-green-dark);font-weight:bold}
.fm-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.fm-activity{text-align:center;padding:15px 10px;border-right:1px solid var(--fm-border);border-bottom:1px solid var(--fm-border)}
.fm-activity:nth-child(3n){border-right:0}
.fm-activity .fm-svg-icon{width:32px;height:32px;margin-bottom:8px}
.fm-detail-cta{margin:24px 34px;padding:20px 28px;background:#f2eadc;border:1px solid var(--fm-border);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fm-detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 34px 34px}
.fm-detail-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}

@media(max-width:700px){
 .fm-detail-wrap{padding:0}
 .fm-detail-hero-image{height:300px}
 .fm-country-pill{top:18px;left:18px;padding:8px 15px}
 .fm-detail-titlebox{padding:22px 20px 12px}
 .fm-detail-titlebox h1{font-size:39px}
 .fm-detail-subtitle{font-size:17px}
 .fm-detail-icons{grid-template-columns:repeat(2,1fr);padding:12px 18px 22px}
 .fm-detail-icon{padding:10px 5px;border-bottom:1px solid var(--fm-border)}
 .fm-detail-section{padding:25px 20px}
 .fm-about-two,.fm-split-section{grid-template-columns:1fr}
 .fm-accom-grid{grid-template-columns:1fr 1fr}
 .fm-accom-item{border-right:0;border-bottom:1px solid var(--fm-border);padding:18px 10px}
 .fm-accom-item:last-child{grid-column:1/-1}
 .fm-activity-grid{grid-template-columns:1fr 1fr}
 .fm-activity:nth-child(3n){border-right:1px solid var(--fm-border)}
 .fm-activity:nth-child(2n){border-right:0}
 .fm-detail-cta{margin:20px;flex-direction:column;text-align:center}
 .fm-detail-gallery{grid-template-columns:1fr;padding:0 20px 28px}
}


/* =========================================================
   V20 — FULLY DYNAMIC COTTAGE PAGES
   ========================================================= */
.fm-dyn-page{background:var(--fm-cream)}
.fm-dyn-hero{position:relative;background:#fff}
.fm-dyn-hero-image{height:430px;background-position:center;background-size:cover}
.fm-dyn-country{position:absolute;top:26px;left:32px;padding:9px 18px;border-radius:6px;background:var(--fm-green);color:#fff;text-transform:uppercase;font-weight:700;letter-spacing:.04em}
.fm-dyn-head{padding:26px 32px 18px}
.fm-dyn-head h1{font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1.05;font-weight:400;margin:0 0 7px;color:#242924}
.fm-dyn-subtitle{font-size:19px;margin-bottom:16px}
.fm-dyn-summary{max-width:900px;line-height:1.65}
.fm-dyn-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;padding:18px 28px 25px;border-top:1px solid var(--fm-border);border-bottom:1px solid var(--fm-border)}
.fm-dyn-feature{text-align:center;font-size:12px;padding:6px}
.fm-dyn-feature .fm-svg-icon{display:block;width:29px;height:29px;margin:0 auto 8px;color:var(--fm-green-dark)}
.fm-dyn-section{padding:32px;border-bottom:1px solid var(--fm-border)}
.fm-dyn-section-title{font-family:Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.04em;font-weight:700!important;font-size:15px!important;color:var(--fm-green-dark)!important;margin:0 0 18px}
.fm-dyn-about{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center}
.fm-dyn-about-image img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px}
.fm-dyn-accom{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:0}
.fm-dyn-accom-item{text-align:center;padding:14px;border-right:1px solid var(--fm-border)}
.fm-dyn-accom-item:last-child{border-right:0}
.fm-dyn-accom-item .fm-svg-icon{display:block;width:34px;height:34px;margin:0 auto 9px}
.fm-dyn-accom-item strong{display:block;margin-bottom:6px}
.fm-dyn-accom-item small{line-height:1.35}
.fm-dyn-two-col{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.fm-dyn-checks{list-style:none;padding:0;margin:0}
.fm-dyn-checks li{position:relative;padding:6px 0 6px 24px}
.fm-dyn-checks li:before{content:"✓";position:absolute;left:0;color:var(--fm-green-dark);font-weight:700}
.fm-dyn-activities{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.fm-dyn-activity{text-align:center;padding:15px 8px;border-right:1px solid var(--fm-border);border-bottom:1px solid var(--fm-border);font-size:12px}
.fm-dyn-activity:nth-child(3n){border-right:0}
.fm-dyn-activity .fm-svg-icon{width:31px;height:31px;margin-bottom:7px}
.fm-dyn-cta{margin:24px 32px;padding:20px 28px;border:1px solid var(--fm-border);background:var(--fm-beige-light);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fm-dyn-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 32px 34px}
.fm-dyn-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}

@media(max-width:700px){
 .fm-dyn-hero-image{height:290px}
 .fm-dyn-country{top:18px;left:18px}
 .fm-dyn-head{padding:22px 20px 14px}
 .fm-dyn-head h1{font-size:39px}
 .fm-dyn-subtitle{font-size:17px}
 .fm-dyn-features{grid-template-columns:repeat(2,1fr);padding:12px 18px 20px}
 .fm-dyn-feature{padding:12px 5px;border-bottom:1px solid var(--fm-border)}
 .fm-dyn-section{padding:25px 20px}
 .fm-dyn-about,.fm-dyn-two-col{grid-template-columns:1fr}
 .fm-dyn-accom{grid-template-columns:1fr 1fr}
 .fm-dyn-accom-item{border-right:0;border-bottom:1px solid var(--fm-border)}
 .fm-dyn-activities{grid-template-columns:1fr 1fr}
 .fm-dyn-activity:nth-child(3n){border-right:1px solid var(--fm-border)}
 .fm-dyn-activity:nth-child(2n){border-right:0}
 .fm-dyn-cta{margin:20px;flex-direction:column;text-align:center}
 .fm-dyn-gallery{grid-template-columns:1fr;padding:0 20px 28px}
}


/* =========================================================
   V21 — TY BYCHAN PAGE MATCHING APPROVED DESKTOP MOCKUP
   Layout only; content remains fully dynamic.
   ========================================================= */
.ty-page{background:#fbf8f2;color:#2f342f}
.ty-shell{max-width:1320px;margin:0 auto;background:#fbf8f2}
.ty-hero{position:relative}
.ty-hero-photo{height:430px;background-size:cover;background-position:center}
.ty-country{position:absolute;top:28px;left:35px;background:var(--fm-green);color:#fff;padding:10px 20px;border-radius:5px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ty-intro{padding:24px 38px 22px;border-bottom:1px solid var(--fm-border)}
.ty-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:48px;font-weight:400;line-height:1.05;margin:0 0 7px;color:#222820}
.ty-subtitle{font-size:20px;margin-bottom:18px}
.ty-summary{max-width:780px;line-height:1.65}
.ty-features{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:16px 34px 23px;border-bottom:1px solid var(--fm-border)}
.ty-feature{text-align:center;font-size:12px}
.ty-feature .fm-svg-icon{display:block;width:28px;height:28px;margin:0 auto 7px;color:var(--fm-green-dark)}
.ty-section{padding:30px 38px;border-bottom:1px solid var(--fm-border)}
.ty-section h2{font-family:Arial,sans-serif!important;font-size:15px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:700!important;color:var(--fm-green-dark)!important;margin:0 0 18px}
.ty-about{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:center}
.ty-about-copy p{line-height:1.65;margin:0 0 16px}
.ty-about-image img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px}
.ty-accom{display:grid;grid-template-columns:repeat(7,1fr)}
.ty-accom-item{text-align:center;padding:10px 13px;border-right:1px solid var(--fm-border)}
.ty-accom-item:last-child{border-right:0}
.ty-accom-item .fm-svg-icon{display:block;width:32px;height:32px;margin:0 auto 8px;color:var(--fm-green-dark)}
.ty-accom-item strong{display:block;margin-bottom:6px;font-size:13px}
.ty-accom-item small{display:block;font-size:11px;line-height:1.35}
.ty-bottom{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.ty-checks{list-style:none;padding:0;margin:0}
.ty-checks li{position:relative;padding:6px 0 6px 24px;font-size:13px}
.ty-checks li:before{content:"✓";position:absolute;left:0;color:var(--fm-green-dark);font-weight:700}
.ty-activities{display:grid;grid-template-columns:repeat(3,1fr)}
.ty-activity{text-align:center;padding:14px 8px;border-right:1px solid var(--fm-border);border-bottom:1px solid var(--fm-border);font-size:11px}
.ty-activity:nth-child(3n){border-right:0}
.ty-activity .fm-svg-icon{width:31px;height:31px;margin-bottom:6px}
.ty-cta{margin:25px 38px 30px;padding:22px 28px;background:#f0e8da;border:1px solid var(--fm-border);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ty-cta h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:400;margin:0 0 5px}
.ty-booking{padding:0 38px 28px}
.ty-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 38px 34px}
.ty-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}

@media(max-width:800px){
 .ty-hero-photo{height:320px}
 .ty-country{top:18px;left:18px}
 .ty-intro{padding:22px 20px}
 .ty-intro h1{font-size:40px}
 .ty-features{grid-template-columns:repeat(2,1fr);padding:12px 18px 20px}
 .ty-feature{padding:11px 5px;border-bottom:1px solid var(--fm-border)}
 .ty-section{padding:26px 20px}
 .ty-about,.ty-bottom{grid-template-columns:1fr}
 .ty-accom{grid-template-columns:repeat(2,1fr)}
 .ty-accom-item{border-right:0;border-bottom:1px solid var(--fm-border);padding:16px 10px}
 .ty-activities{grid-template-columns:repeat(2,1fr)}
 .ty-activity:nth-child(3n){border-right:1px solid var(--fm-border)}
 .ty-activity:nth-child(2n){border-right:0}
 .ty-cta{margin:20px;flex-direction:column;text-align:center}
 .ty-gallery{grid-template-columns:1fr 1fr;padding:0 20px 28px}
 .ty-booking{padding:0 20px 24px}
}
@media(max-width:520px){
 .ty-hero-photo{height:260px}
 .ty-intro h1{font-size:36px}
 .ty-gallery{grid-template-columns:1fr}
}

/* V22 — Forest Mill Cottage approved desktop mockup */
.fmc22-page{background:#fbf8f2;color:#283027}
.fmc22-shell{max-width:1320px;margin:0 auto;background:#fbf8f2}
.fmc22-hero{position:relative}
.fmc22-photo{height:430px;background-size:cover;background-position:center}
.fmc22-country{position:absolute;top:28px;left:35px;background:var(--fm-green);color:#fff;padding:10px 20px;border-radius:5px;font-size:13px;font-weight:700;text-transform:uppercase}
.fmc22-intro{padding:25px 38px 18px}
.fmc22-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:48px;font-weight:400;line-height:1.05;margin:0 0 7px}
.fmc22-sub{font-size:20px;color:var(--fm-green-dark);margin-bottom:20px}
.fmc22-features{display:flex;flex-wrap:wrap;gap:20px 36px;margin-bottom:22px}
.fmc22-feature{display:flex;align-items:center;gap:8px;font-size:12px}
.fmc22-feature .fm-svg-icon{width:27px;height:27px;color:var(--fm-green-dark)}
.fmc22-summary{max-width:900px;line-height:1.65}
.fmc22-section{padding:24px 38px;border-top:1px solid var(--fm-border)}
.fmc22-title{font-family:Arial,sans-serif!important;font-size:15px!important;text-transform:uppercase;letter-spacing:.04em;font-weight:700!important;color:var(--fm-green-dark)!important;margin:0 0 18px}
.fmc22-accom{display:grid;grid-template-columns:repeat(5,1fr)}
.fmc22-accom-item{text-align:center;padding:10px 15px;border-right:1px solid var(--fm-border)}
.fmc22-accom-item:last-child{border-right:0}
.fmc22-accom-item .fm-svg-icon{display:block;width:35px;height:35px;margin:0 auto 8px}
.fmc22-accom-item strong{display:block;font-size:13px;margin-bottom:5px}
.fmc22-accom-item small{font-size:11px;line-height:1.4}
.fmc22-dog-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 50px}
.fmc22-checks{list-style:none;padding:0;margin:0}
.fmc22-checks li{position:relative;padding:6px 0 6px 23px;font-size:13px}
.fmc22-checks li:before{content:"✓";position:absolute;left:0;color:var(--fm-green-dark);font-weight:700}
.fmc22-activities{display:grid;grid-template-columns:repeat(6,1fr)}
.fmc22-act{text-align:center;padding:12px 7px;border-right:1px solid var(--fm-border);font-size:11px}
.fmc22-act:last-child{border-right:0}
.fmc22-act .fm-svg-icon{width:31px;height:31px;margin-bottom:7px}
.fmc22-cta{margin:20px 38px;padding:20px 28px;border:1px solid var(--fm-border);background:#f0e8da;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:center}
.fmc22-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 38px 35px}
.fmc22-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
@media(max-width:800px){
 .fmc22-photo{height:300px}.fmc22-country{top:18px;left:18px}
 .fmc22-intro,.fmc22-section{padding:23px 20px}.fmc22-intro h1{font-size:39px}
 .fmc22-features{display:grid;grid-template-columns:1fr 1fr;gap:15px}
 .fmc22-feature{justify-content:flex-start}
 .fmc22-accom{grid-template-columns:1fr 1fr}.fmc22-accom-item{border-right:0;border-bottom:1px solid var(--fm-border);padding:15px 8px}
 .fmc22-dog-grid{grid-template-columns:1fr;gap:0}
 .fmc22-activities{grid-template-columns:1fr 1fr}.fmc22-act{border-bottom:1px solid var(--fm-border)}
 .fmc22-act:nth-child(2n){border-right:0}
 .fmc22-cta{margin:20px;flex-direction:column}
 .fmc22-gallery{grid-template-columns:1fr;padding:0 20px 28px}
}

.fm-hlb-calendar{width:100%;max-width:1200px;margin:0 auto}#HLB1{width:100%;min-height:220px}


/* =========================================================
   V28 — Gallery + Local Area pages
   Preserves all earlier page/cottage/footer/booking changes.
   ========================================================= */
.fm-fallback-logo{display:block;width:auto;max-width:180px;max-height:72px;object-fit:contain}
.fm28-page{background:#fbf8f2;color:#283027}
.fm28-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.fm28-hero{min-height:350px;background-size:cover;background-position:center;display:flex;align-items:center}
.fm28-hero-copy{max-width:540px;padding:62px 0}
.fm28-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:54px;line-height:1.05;font-weight:400;color:var(--fm-green-dark);margin:0 0 18px}
.fm28-hero-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.3;font-weight:400;color:#29342a;margin:0 0 14px}
.fm28-hero-copy p{font-size:18px;line-height:1.6;margin:0;max-width:500px}

.fm28-gallery-section{padding:28px 0 42px}
.fm28-filter-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 0 28px}
.fm28-gallery-filter{appearance:none;border:1px solid #e6dfd3;background:#f1ece3;color:#293129;padding:10px 24px;border-radius:999px;cursor:pointer;font-size:14px}
.fm28-gallery-filter.is-active{background:var(--fm-green);border-color:var(--fm-green);color:#fff}
.fm28-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fm28-gallery-item{position:relative;margin:0;overflow:hidden;border-radius:8px;background:#eee8dd}
.fm28-gallery-item[hidden]{display:none}
.fm28-gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.fm28-gallery-item:hover img{transform:scale(1.02)}
.fm28-gallery-item figcaption{position:absolute;left:10px;bottom:10px;background:rgba(72,83,65,.9);color:#fff;border-radius:4px;padding:5px 8px;font-size:11px}
.fm28-admin-note{text-align:center;font-size:13px;margin:20px 0 0;color:#667064}
.fm28-admin-note:empty{display:none}

.fm28-local-content{padding:30px 0 44px}
.fm28-section-heading{text-align:center;font-family:Georgia,'Times New Roman',serif;color:var(--fm-green-dark);font-weight:400;font-size:32px;margin:0 0 26px}
.fm28-activity-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:46px;border-top:1px solid #e4ddd1;border-bottom:1px solid #e4ddd1}
.fm28-activity-card{text-align:center;padding:24px 17px;border-right:1px solid #e4ddd1}
.fm28-activity-card:last-child{border-right:0}
.fm28-activity-card .fm-svg-icon{width:38px;height:38px;color:var(--fm-green);margin-bottom:11px}
.fm28-activity-card h3{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;margin:0 0 8px}
.fm28-activity-card p{font-size:12px;line-height:1.55;margin:0}
.fm28-places-heading{margin-top:6px}
.fm28-place-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fm28-place-card{background:#fff;border:1px solid #e7dfd2;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(50,45,35,.04)}
.fm28-place-card img{display:block;width:100%;aspect-ratio:4/2.75;object-fit:cover}
.fm28-place-copy{padding:16px 16px 18px;text-align:center}
.fm28-place-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;margin:0 0 8px;color:#293129}
.fm28-place-copy p{font-size:13px;line-height:1.55;margin:0}
.fm28-center-button{text-align:center;margin-top:28px}

.fm28-soft-cta{background:#f1eadf;border-top:1px solid #e3dacb;border-bottom:1px solid #e3dacb}
.fm28-soft-cta-inner{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:22px;padding-bottom:22px}
.fm28-soft-cta h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--fm-green-dark);font-size:27px;margin:0 0 5px}
.fm28-soft-cta p{margin:0;line-height:1.5;max-width:760px}
.fm28-page .fm-btn{background:var(--fm-green);border-color:var(--fm-green)}
.fm28-page .fm-btn:hover{background:var(--fm-green-dark)}
.fm28-page .fm-btn-outline{background:transparent;color:var(--fm-green-dark);border:1px solid var(--fm-green)}
.fm28-page .fm-btn-outline:hover{background:var(--fm-green);color:#fff}

@media(max-width:950px){
  .fm28-gallery-grid,.fm28-place-grid{grid-template-columns:repeat(2,1fr)}
  .fm28-activity-grid{grid-template-columns:repeat(3,1fr)}
  .fm28-activity-card:nth-child(3n){border-right:0}
  .fm28-activity-card:nth-child(-n+3){border-bottom:1px solid #e4ddd1}
}
@media(max-width:650px){
  .fm-fallback-logo{max-width:135px;max-height:58px}
  .fm28-shell{width:min(100% - 32px,1180px)}
  .fm28-hero{min-height:310px;background-position:center}
  .fm28-hero-copy{padding:46px 0}
  .fm28-hero-copy h1{font-size:42px}
  .fm28-hero-copy h2{font-size:21px}
  .fm28-hero-copy p{font-size:16px}
  .fm28-gallery-grid,.fm28-place-grid{grid-template-columns:1fr}
  .fm28-activity-grid{grid-template-columns:repeat(2,1fr)}
  .fm28-activity-card{border-bottom:1px solid #e4ddd1}
  .fm28-activity-card:nth-child(3n){border-right:1px solid #e4ddd1}
  .fm28-activity-card:nth-child(2n){border-right:0}
  .fm28-soft-cta-inner{flex-direction:column;align-items:flex-start}
}


/* ==========================================================
   V29 — Approved Gallery & Local Area mockup implementation
   ========================================================== */
.fm29-page{background:#fbf8f1;color:#1e281f}
.fm29-shell{width:min(1180px,calc(100% - 44px));margin:0 auto}

.fm29-gallery-hero,.fm29-local-hero{
  min-height:335px;background-size:cover;background-position:center;display:flex;align-items:center
}
.fm29-gallery-copy,.fm29-local-copy{padding:50px 0;max-width:470px}
.fm29-gallery-copy h1,.fm29-local-copy h1{
  margin:0 0 14px;font-family:Georgia,'Times New Roman',serif;
  font-size:54px;line-height:1;color:#334b32;font-weight:400
}
.fm29-gallery-copy p,.fm29-local-copy p{font-size:18px;line-height:1.55;margin:0;max-width:430px}
.fm29-local-copy h2{
  margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;
  font-size:24px;line-height:1.22;font-weight:400;color:#1d281e
}

.fm29-gallery-wrap{padding:18px 0 22px}
.fm29-filter-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.fm29-gallery-filter{
  border:0;background:#efebe2;color:#283126;border-radius:999px;
  padding:11px 29px;font-size:14px;cursor:pointer
}
.fm29-gallery-filter.is-active{background:#6f7962;color:#fff}
.fm29-gallery-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px
}
.fm29-gallery-item{margin:0;overflow:hidden;border-radius:7px;background:#eee7dc}
.fm29-gallery-item[hidden]{display:none}
.fm29-gallery-item img{
  width:100%;display:block;aspect-ratio:1.53/1;object-fit:cover
}

.fm29-local-main{padding:22px 0 28px}
.fm29-activity-grid{
  display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:22px
}
.fm29-activity{
  text-align:center;padding:8px 15px 10px;border-right:1px solid #ddd7cc
}
.fm29-activity:last-child{border-right:0}
.fm29-activity-icon{color:#6f7962;margin-bottom:7px}
.fm29-activity-icon .fm-svg-icon{width:35px;height:35px}
.fm29-activity h3{
  font-family:Georgia,'Times New Roman',serif;font-size:15px;
  font-weight:400;margin:0 0 7px;color:#213020
}
.fm29-activity p{font-size:11px;line-height:1.5;margin:0;color:#333d33}

.fm29-places-title{
  text-align:center;font-family:Georgia,'Times New Roman',serif;
  font-size:28px;font-weight:400;color:#334b32;margin:4px 0 0
}
.fm29-title-flourish{text-align:center;color:#6f7962;height:17px;margin-bottom:7px}
.fm29-title-flourish .fm-svg-icon{width:24px;height:24px}
.fm29-place-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fm29-place{
  background:#fff;border:1px solid #e2dbcf;border-radius:7px;overflow:hidden
}
.fm29-place img{width:100%;aspect-ratio:1.65/1;object-fit:cover;display:block}
.fm29-place-copy{text-align:center;padding:8px 12px 12px}
.fm29-place-copy h3{
  margin:0 0 5px;font-family:Georgia,'Times New Roman',serif;
  font-size:17px;font-weight:400;color:#1f2b20
}
.fm29-place-copy p{font-size:11px;line-height:1.45;margin:0;color:#333}

.fm29-bottom-cta{background:#f0e9dd;border-top:1px solid #e4dccf}
.fm29-bottom-cta-inner{
  min-height:103px;display:grid;grid-template-columns:42px 1fr auto;
  gap:18px;align-items:center;padding:16px 0
}
.fm29-cta-icon{color:#6f7962}
.fm29-cta-icon .fm-svg-icon{width:34px;height:34px}
.fm29-cta-copy h2{
  margin:0 0 4px;font-family:Georgia,'Times New Roman',serif;
  font-weight:400;font-size:23px;color:#334b32
}
.fm29-cta-copy p{margin:0;line-height:1.45;font-size:13px;max-width:670px}
.fm29-page .fm-btn{
  background:#6f7962!important;border-color:#6f7962!important;color:#fff!important;
  border-radius:4px;padding:11px 22px
}
.fm29-page .fm-btn:hover{background:#59634f!important}
.fm29-page .fm-btn-outline{
  background:transparent!important;color:#334b32!important;border:1px solid #6f7962!important
}
.fm29-page .fm-btn-outline:hover{background:#6f7962!important;color:#fff!important}

@media(max-width:900px){
  .fm29-gallery-grid,.fm29-place-grid{grid-template-columns:repeat(2,1fr)}
  .fm29-activity-grid{grid-template-columns:repeat(3,1fr)}
  .fm29-activity:nth-child(3n){border-right:0}
  .fm29-activity:nth-child(-n+3){border-bottom:1px solid #ddd7cc}
}
@media(max-width:620px){
  .fm29-shell{width:min(100% - 30px,1180px)}
  .fm29-gallery-hero,.fm29-local-hero{min-height:300px;background-position:center}
  .fm29-gallery-copy,.fm29-local-copy{padding:40px 0;max-width:80%}
  .fm29-gallery-copy h1,.fm29-local-copy h1{font-size:42px}
  .fm29-local-copy h2{font-size:20px}
  .fm29-gallery-copy p,.fm29-local-copy p{font-size:15px}
  .fm29-gallery-grid,.fm29-place-grid{grid-template-columns:1fr 1fr}
  .fm29-gallery-filter{padding:9px 16px;font-size:12px}
  .fm29-activity-grid{grid-template-columns:repeat(2,1fr)}
  .fm29-activity{border-bottom:1px solid #ddd7cc}
  .fm29-activity:nth-child(3n){border-right:1px solid #ddd7cc}
  .fm29-activity:nth-child(2n){border-right:0}
  .fm29-bottom-cta-inner{grid-template-columns:36px 1fr;gap:12px}
  .fm29-bottom-cta .fm-btn{grid-column:2}
}


/* =========================================================
   V30 GALLERY — pixel-close approved mockup override
   ========================================================= */
body.page-gallery .site-main,
body.page-gallery main{max-width:none!important;margin:0!important;padding:0!important}

.fm30-gallery-page{background:#fbf8f2!important;color:#1f2a21!important;width:100%!important}
.fm30-gallery-shell{width:min(1180px,calc(100% - 36px))!important;margin:0 auto!important}

.fm30-gallery-hero{
 min-height:235px!important;height:235px!important;
 background-size:cover!important;background-position:center!important;
 display:flex!important;align-items:center!important;
 margin:0!important;padding:0!important
}
.fm30-gallery-hero-copy{max-width:390px!important;padding:0 0 0 25px!important}
.fm30-gallery-hero-copy h1{
 margin:0 0 12px!important;
 font-family:Georgia,'Times New Roman',serif!important;
 font-size:52px!important;line-height:1!important;font-weight:400!important;
 letter-spacing:0!important;color:#334b32!important
}
.fm30-gallery-hero-copy p{
 margin:0!important;max-width:335px!important;
 font-size:17px!important;line-height:1.48!important;color:#202620!important
}

.fm30-gallery-content{padding:14px 0 14px!important}
.fm30-gallery-filters{
 display:flex!important;justify-content:center!important;align-items:center!important;
 gap:14px!important;flex-wrap:wrap!important;margin:0 0 14px!important;padding:0!important
}
.fm30-gallery-filter{
 appearance:none!important;border:0!important;box-shadow:none!important;
 background:#efebe3!important;color:#243025!important;
 border-radius:999px!important;padding:9px 24px!important;
 min-height:0!important;height:auto!important;
 font-size:13px!important;line-height:1.2!important;font-weight:400!important;cursor:pointer!important
}
.fm30-gallery-filter.is-active{background:#6f7962!important;color:#fff!important}

.fm30-gallery-grid{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:7px!important;margin:0!important;padding:0!important
}
.fm30-gallery-item{
 margin:0!important;padding:0!important;border:0!important;
 border-radius:6px!important;overflow:hidden!important;background:#eee8df!important;
 min-width:0!important
}
.fm30-gallery-item[hidden]{display:none!important}
.fm30-gallery-item img{
 display:block!important;width:100%!important;height:auto!important;
 aspect-ratio:1.52/1!important;object-fit:cover!important;
 border-radius:0!important;margin:0!important;padding:0!important
}

.fm30-gallery-cta{
 background:#efe8dc!important;border-top:0!important;border-bottom:0!important;
 margin:0!important;padding:0!important
}
.fm30-gallery-cta-inner{
 min-height:92px!important;padding:13px 24px!important;
 display:grid!important;grid-template-columns:38px 1fr auto!important;
 align-items:center!important;gap:14px!important
}
.fm30-gallery-leaf{color:#6f7962!important}
.fm30-gallery-leaf .fm-svg-icon{width:30px!important;height:30px!important}
.fm30-gallery-cta-copy h2{
 margin:0 0 3px!important;font-family:Georgia,'Times New Roman',serif!important;
 font-size:22px!important;line-height:1.15!important;font-weight:400!important;color:#334b32!important
}
.fm30-gallery-cta-copy p{
 margin:0!important;font-size:12.5px!important;line-height:1.45!important;
 max-width:650px!important;color:#293229!important
}
.fm30-gallery-cta-btn{
 background:#6f7962!important;border-color:#6f7962!important;color:#fff!important;
 border-radius:4px!important;padding:10px 20px!important;font-size:13px!important
}

@media(max-width:900px){
 .fm30-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .fm30-gallery-hero{height:220px!important;min-height:220px!important}
}
@media(max-width:620px){
 .fm30-gallery-shell{width:min(100% - 24px,1180px)!important}
 .fm30-gallery-hero{height:250px!important;min-height:250px!important;background-position:center!important}
 .fm30-gallery-hero-copy{padding-left:8px!important;max-width:78%!important}
 .fm30-gallery-hero-copy h1{font-size:42px!important}
 .fm30-gallery-hero-copy p{font-size:15px!important}
 .fm30-gallery-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}
 .fm30-gallery-filter{font-size:11px!important;padding:8px 13px!important}
 .fm30-gallery-cta-inner{grid-template-columns:30px 1fr!important}
 .fm30-gallery-cta-btn{grid-column:2!important;width:max-content!important}
}

/* V31 clean hero fix — title/intro are HTML only, never baked into demo image */
.fm30-gallery-hero-copy,
.fm29-local-copy { position: relative; z-index: 2; }


/* V32 — remove gallery double-line/separator artifacts */
.fm30-gallery-grid,
.fm30-gallery-item,
.fm30-gallery-item img {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.fm30-gallery-item {
  background: transparent !important;
  line-height: 0 !important;
}
.fm30-gallery-item::before,
.fm30-gallery-item::after,
.fm30-gallery-item img::before,
.fm30-gallery-item img::after {
  content: none !important;
  display: none !important;
}
.fm30-gallery-grid {
  row-gap: 8px !important;
  column-gap: 8px !important;
}
.fm30-gallery-item img {
  vertical-align: top !important;
  object-fit: cover !important;
}


/* V33 — final gallery row separator cleanup */
.fm30-gallery-grid{
  gap:8px !important;
  background:#fbf8f2 !important;
}
.fm30-gallery-item{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:hidden !important;
  border-radius:7px !important;
}
.fm30-gallery-item img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:1.52/1 !important;
  object-fit:cover !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}


/* =========================================================
   V34 — Dynamic Availability + Contact pages
   ========================================================= */
.fm34-page{background:#fffdf9;color:#263023}
.fm34-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.fm34-section{padding:46px 0 58px}
.fm34-hero{
  min-height:315px;
  position:relative;
  display:flex;
  align-items:center;
  background-image:
    linear-gradient(90deg,rgba(250,247,240,.99) 0%,rgba(250,247,240,.94) 23%,rgba(250,247,240,.46) 43%,rgba(250,247,240,.02) 64%),
    var(--fm34-hero);
  background-size:cover;
  background-position:center;
  overflow:hidden
}
.fm34-hero-copy{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:40px 0}
.fm34-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:50px;line-height:1;color:#1e492c;margin:0 0 12px}
.fm34-hero-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.4;color:#20271f;margin:0 0 8px}
.fm34-hero-copy p{max-width:390px;font-size:16px;line-height:1.65;margin:10px 0 0}
.fm34-leaf-rule{color:#87906f;letter-spacing:2px;font-size:18px}
.fm34-section-title{text-align:center;font-family:Georgia,'Times New Roman',serif;color:#253524;font-size:31px;margin:0 0 22px}
.fm34-section-title:before,.fm34-section-title:after{content:'❧';display:inline-block;color:#8a9275;font-size:20px;margin:0 14px;vertical-align:3px}
.fm34-booking-panel{
  background:#f8f4ec;border:1px solid #ece4d7;border-radius:10px;
  padding:24px;box-shadow:0 4px 18px rgba(49,59,43,.035);margin-bottom:42px
}
.fm34-booking-panel #HLB1{min-height:120px}
.fm34-cottages-title{margin-top:8px}
.fm34-cottage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}
.fm34-cottage-card{background:#fff;border:1px solid #e9e1d4;border-radius:9px;overflow:hidden;text-align:center;box-shadow:0 4px 14px rgba(48,55,42,.03)}
.fm34-card-image{display:block;aspect-ratio:16/7;overflow:hidden}
.fm34-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.fm34-card-body{padding:18px 24px 22px}
.fm34-card-body h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;margin:0 0 8px;color:#253524}
.fm34-card-body p{margin:0 auto 16px;max-width:450px;line-height:1.55;color:#4c5048}
.fm34-card-btn{display:inline-flex}
.fm34-soft-cta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;background:#f6f1e8;border:1px solid #ebe3d5;border-radius:10px;padding:19px 24px;margin-top:18px}
.fm34-cta-icon,.fm34-round-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e8e5d4;color:#314a2f;font-weight:700;font-size:24px}
.fm34-cta-copy h3{font-family:Georgia,'Times New Roman',serif;margin:0 0 4px;font-size:21px;color:#263524}
.fm34-cta-copy p{margin:0;line-height:1.5;color:#4d504a}
.fm34-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);gap:58px}
.fm34-contact-grid h2{font-family:Georgia,'Times New Roman',serif;font-size:29px;color:#263524;margin:0 0 22px}
.fm34-contact-form-column{padding-right:42px;border-right:1px solid #e8e0d4}
.fm34-field{margin-bottom:15px}
.fm34-field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.fm34-field label span{color:#6f7962}
.fm34-field input,.fm34-field select,.fm34-field textarea{
  width:100%;box-sizing:border-box;border:1px solid #ddd7cb;background:#fff;
  border-radius:5px;padding:13px 14px;font:inherit;color:#293026;outline:none
}
.fm34-field textarea{resize:vertical;min-height:145px}
.fm34-field input:focus,.fm34-field select:focus,.fm34-field textarea:focus{border-color:#7d876d;box-shadow:0 0 0 3px rgba(111,121,98,.09)}
.fm34-hp{position:absolute !important;left:-99999px !important}
.fm34-contact-info{padding-top:0}
.fm34-info-item{display:grid;grid-template-columns:54px 1fr;gap:16px;margin-bottom:24px;align-items:start}
.fm34-info-item strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:17px;margin:3px 0 8px;color:#283526}
.fm34-info-item a{display:block;color:#2f352d;text-decoration:none;margin:3px 0}
.fm34-info-item p{margin:3px 0;line-height:1.55}
.fm34-contact-cta{margin-top:42px}
.fm34-notice{padding:14px 18px;border-radius:6px;margin:0 0 24px}
.fm34-success{background:#edf3e9;border:1px solid #ccd9c2;color:#31502e}
.fm34-error{background:#fbefeb;border:1px solid #eccfc5;color:#7b362a}

@media(max-width:820px){
  .fm34-hero{min-height:290px;background-image:linear-gradient(90deg,rgba(250,247,240,.98),rgba(250,247,240,.76)),var(--fm34-hero)}
  .fm34-hero-copy h1{font-size:40px}
  .fm34-cottage-grid,.fm34-contact-grid{grid-template-columns:1fr}
  .fm34-contact-grid{gap:36px}
  .fm34-contact-form-column{padding-right:0;border-right:0}
}
@media(max-width:600px){
  .fm34-wrap,.fm34-hero-copy{width:min(100% - 28px,1180px)}
  .fm34-section{padding:34px 0 42px}
  .fm34-hero{min-height:260px}
  .fm34-hero-copy{padding:30px 0}
  .fm34-hero-copy h1{font-size:35px}
  .fm34-hero-copy h2{font-size:18px}
  .fm34-booking-panel{padding:14px}
  .fm34-section-title{font-size:26px}
  .fm34-section-title:before,.fm34-section-title:after{margin:0 8px;font-size:16px}
  .fm34-soft-cta{grid-template-columns:auto 1fr}
  .fm34-soft-cta .fm-btn{grid-column:1/-1;justify-self:stretch;text-align:center}
  .fm34-card-body{padding:16px 18px 20px}
}

/* V35 — About Us + legal pages */
.fm35-page{background:#fffdf9;color:#293226}
.fm35-kicker{display:inline-block;color:#7b856b;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;margin-bottom:8px}
.fm35-about-story{padding:64px 0}
.fm35-story-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:62px;align-items:start}
.fm35-story-copy h2{font-family:Georgia,'Times New Roman',serif;color:#24412b;font-size:38px;margin:0 0 20px}
.fm35-story-copy>p{font-size:18px;line-height:1.75;color:#485047;margin:0}
.fm35-editor-content{margin-top:28px;line-height:1.75}
.fm35-story-card{background:#f4f0e6;border:1px solid #e8dfcf;border-radius:14px;padding:30px}
.fm35-story-badge{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e5e4d3;color:#526247;font-size:26px;margin-bottom:18px}
.fm35-story-card h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;margin:0 0 10px;color:#29412d}
.fm35-story-card p{line-height:1.65;margin:0 0 22px;color:#4b5148}
.fm35-mini-points{display:grid;gap:5px;border-top:1px solid #ddd5c6;padding-top:18px}
.fm35-mini-points span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7c836f;margin-top:8px}
.fm35-mini-points strong{font-family:Georgia,'Times New Roman',serif;font-size:17px;color:#314231}
.fm35-values-section{background:#faf7f1;padding:58px 0 64px}
.fm35-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:34px}
.fm35-value-card{background:#fff;border:1px solid #e8e0d4;border-radius:12px;text-align:center;padding:30px 24px}
.fm35-value-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#ecebdd;color:#41513a;font-size:26px;margin:0 auto 16px}
.fm35-value-card h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;color:#2d422e;margin:0 0 10px}
.fm35-value-card p{line-height:1.6;color:#565c52;margin:0}

.fm35-legal-hero{padding:74px 0 50px;background:#f2eee5;border-bottom:1px solid #e5dccd}
.fm35-legal-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:50px;color:#21402a;margin:0 0 12px}
.fm35-legal-hero p{font-size:18px;max-width:720px;line-height:1.65;color:#4e554b;margin:0 0 14px}
.fm35-legal-section{padding:56px 0 70px}
.fm35-legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:54px;align-items:start}
.fm35-legal-meta{position:sticky;top:110px;display:grid;gap:12px}
.fm35-legal-meta-card{background:#f7f3eb;border:1px solid #e8dfd1;border-radius:10px;padding:18px}
.fm35-legal-meta-card strong{display:block;font-family:Georgia,'Times New Roman',serif;color:#2d422e;margin-bottom:7px}
.fm35-legal-meta-card span,.fm35-legal-meta-card a{color:#596057;text-decoration:none}
.fm35-legal-content{max-width:820px}
.fm35-legal-content h2{font-family:Georgia,'Times New Roman',serif;font-size:27px;color:#29422d;margin:34px 0 10px}
.fm35-legal-content h2:first-child{margin-top:0}
.fm35-legal-content p,.fm35-legal-content li{font-size:16px;line-height:1.75;color:#4b5149}
.fm35-legal-content a{color:#435c3c;text-decoration:underline}
.fm35-legal-note{margin-top:38px;background:#f6f1e8;border-left:4px solid #77836b;border-radius:4px;padding:18px 20px;line-height:1.6;color:#50564e}
@media(max-width:850px){
  .fm35-story-grid,.fm35-legal-layout{grid-template-columns:1fr}
  .fm35-values-grid{grid-template-columns:1fr}
  .fm35-legal-meta{position:static;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .fm35-about-story,.fm35-values-section{padding:42px 0}
  .fm35-story-grid{gap:30px}
  .fm35-story-copy h2{font-size:32px}
  .fm35-legal-hero{padding:54px 0 38px}
  .fm35-legal-hero h1{font-size:38px}
  .fm35-legal-section{padding:38px 0 52px}
  .fm35-legal-meta{grid-template-columns:1fr}
}

/* V36 — client green correction */
:root{
  --fmd-client-green:#6f7962;
  --fmd-client-green-dark:#5f6a54;
}
.fm34-hero-copy h1,
.fm34-availability-page .fm34-hero-copy h1,
.fm34-contact-page .fm34-hero-copy h1,
.fm34-section-title,
.fm34-contact-grid h2,
.fm34-contact-form-column h2,
.fm34-contact-info h2,
.fm35-story-copy h2,
.fm35-value-card h3,
.fm35-legal-hero h1,
.fm35-legal-content h2{
  color:var(--fmd-client-green) !important;
}
.fm34-hero-copy h2{color:#2f342e !important;}
.fm34-page .fm-btn,
.fm35-page .fm-btn{
  background:var(--fmd-client-green) !important;
  border-color:var(--fmd-client-green) !important;
  color:#fff !important;
}
.fm34-page .fm-btn:hover,
.fm35-page .fm-btn:hover{
  background:var(--fmd-client-green-dark) !important;
  border-color:var(--fmd-client-green-dark) !important;
}
.site-footer-bottom,
.footer-bottom,
.site-footer .footer-bottom,
footer .footer-bottom,
.fmd-footer-bottom,
.footer-copyright,
.site-info,
.site-footer .site-info{
  background:var(--fmd-client-green) !important;
  color:#fff !important;
}
\n/* V37 — complete client feedback */\n:root{--fm-green:#6f7962!important;--fm-green-dark:#6f7962!important;--fmd-client-green:#6f7962!important;--fmd-client-green-dark:#626d57!important}\n.hero h1,.section-heading h2,.area-copy h2,.page-hero h1,.content-area h2,.content-area h3,.cottage-body h3,.love-item h4,.cta-bar h3,.fm30-gallery-hero-copy h1,.fm30-gallery-cta-copy h2,.fm29-local-copy h1,.fm29-local-copy h2,.fm29-activity h3,.fm29-places-title,.fm29-place h3,.fm29-cta-copy h2,.fm34-hero-copy h1,.fm34-section-title,.fm34-contact-grid h2,.fm34-contact-form-column h2,.fm34-contact-info h2,.fm35-story-copy h2,.fm35-value-card h3,.fm35-legal-hero h1,.fm35-legal-content h2,.fmc22-intro h1,.fmc22-title,.ty-intro h1,.ty-section h2,.ty-about-copy h2{color:#6f7962!important}\n.dog-friendly,.cottage-card .dog-friendly{color:#6f7962!important}.dog-friendly .fm-svg-icon{color:#6f7962!important}\n.mini-feature .fm-svg-icon,.love-icon .fm-svg-icon,.area-highlight-icon .fm-svg-icon,.fmc22-feature .fm-svg-icon,.fmc22-accom-item .fm-svg-icon,.fmc22-title .fm-svg-icon,.fmc22-act .fm-svg-icon,.ty-feature .fm-svg-icon,.ty-accom-item .fm-svg-icon,.ty-section h2 .fm-svg-icon,.ty-activity .fm-svg-icon,.fm29-activity-icon .fm-svg-icon,.fm29-title-flourish .fm-svg-icon,.fm29-cta-icon .fm-svg-icon,.fm30-gallery-leaf .fm-svg-icon{color:#6f7962!important}\n.fmc22-checks li:before,.ty-checks li:before{color:#6f7962!important}\n.footer-bottom,.site-footer .footer-bottom,footer.site-footer .footer-bottom{background:#6f7962!important;color:#fff!important}\n.fm-btn,.country-tag,.fmc22-country,.ty-country,.fm30-gallery-filter.is-active{background:#6f7962!important;border-color:#6f7962!important;color:#fff!important}.fm-btn:hover{background:#626d57!important;border-color:#626d57!important}\n.hero-grid{overflow:hidden!important}.hero-copy:after{display:block!important;content:""!important;position:absolute!important;right:-155px!important;top:0!important;bottom:0!important;width:210px!important;background:linear-gradient(90deg,#f6f1e8 0%,rgba(246,241,232,.88) 35%,rgba(246,241,232,0) 100%)!important;pointer-events:none!important}.hero-image{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}\n.ty-dog-section,.ty-local-section{display:block!important}.ty-dog-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 50px}.ty-local-section .ty-activities{grid-template-columns:repeat(6,1fr)}.ty-local-section .ty-activity{border-bottom:0}.ty-local-section .ty-activity:last-child{border-right:0}\n@media(max-width:800px){.ty-dog-grid{grid-template-columns:1fr;gap:0}.ty-local-section .ty-activities{grid-template-columns:1fr 1fr}.ty-local-section .ty-activity{border-bottom:1px solid var(--fm-border)}.ty-local-section .ty-activity:nth-child(2n){border-right:0}}\n@media(max-width:720px){.hero-grid{grid-template-columns:1fr!important}.hero-copy{z-index:2}.hero-copy:after{display:none!important}.hero-image{min-height:310px!important}}\n
/* V38 CLIENT PHOTOS ONLY */
.cottage-image:not([style*="background-image"]),.ty-hero-photo:not([style*="background-image"]){background:#f2eee5!important}

/* v39 final client corrections */
.fm-svg-icon{stroke-width:2.15!important;stroke-linecap:round;stroke-linejoin:round}
.location-badge img{object-fit:contain!important}
.fmc22-feature .fm-svg-icon,.ty-feature .fm-svg-icon,.fmc22-act .fm-svg-icon,.ty-activity .fm-svg-icon,
.fmc22-accom-item .fm-svg-icon,.ty-accom-item .fm-svg-icon{width:34px!important;height:34px!important}
.fmc22-gallery img,.ty-gallery img{object-fit:cover;aspect-ratio:4/3;border-radius:8px}
@media(max-width:767px){
 .fmc22-feature .fm-svg-icon,.ty-feature .fm-svg-icon{width:32px!important;height:32px!important}
 .fmc22-act .fm-svg-icon,.ty-activity .fm-svg-icon{width:38px!important;height:38px!important}
}

/* v40 verified client photos + Welsh flag */
.location-badge{width:60px!important;height:60px!important;padding:0!important;overflow:hidden!important;border-radius:50%!important;background:#fff!important;border:1px solid #d8d1c5!important}
.location-badge img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
.ty-about-image img,.ty-gallery-real img,.fmc22-gallery-real img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}
.ty-gallery-real{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.ty-gallery-real img{aspect-ratio:4/3}
@media(max-width:767px){.location-badge{width:52px!important;height:52px!important}.ty-gallery-real{grid-template-columns:1fr 1fr}}

/* v41 client corrections */
.location-badge img{width:54px!important;height:34px!important;border-radius:3px!important;object-fit:cover!important;background:#fff!important}
.love-icon .fm-svg-icon,.fm29-activity-icon .fm-svg-icon,.fmc22-act .fm-svg-icon,.ty-activity .fm-svg-icon{stroke-width:2.35!important}

/* v42 Forest Mill hero: genuine sunny cottage photograph, no roof/polytunnel image */
.fmc22-photo{background-position:center center!important;background-size:cover!important}

/* v43 Availability: genuine Ty Bychan client exterior */
.fm34-cottage-card .fm34-card-image img{width:100%;height:100%;object-fit:cover}

/* v44: proper England/Wales flag presentation and approved hero restoration */
.hero-location .location-badge{width:54px!important;height:34px!important;border-radius:4px!important;overflow:hidden!important;background:#fff!important;border:1px solid rgba(70,80,60,.25)!important;box-shadow:0 1px 3px rgba(0,0,0,.08)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 54px!important}
.hero-location .location-badge img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important;display:block!important}
.hero .hero-image{background-position:center 72%!important;background-size:cover!important}
@media(max-width:767px){.hero-location .location-badge{width:48px!important;height:30px!important;flex-basis:48px!important}.hero .hero-image{background-position:center 72%!important}}
\n\n/* =========================================================\n   V46 — mobile hero visibility + clearer activity icons\n   Only the crossed mobile heroes are adjusted; approved pages remain untouched.\n   ========================================================= */\n@media(max-width:820px){\n  .fm35-about-page .fm34-hero,\n  .fm34-availability-page .fm34-hero{\n    background-image:\n      linear-gradient(90deg,rgba(250,247,240,.84) 0%,rgba(250,247,240,.66) 48%,rgba(250,247,240,.24) 100%),\n      var(--fm34-hero)!important;\n    background-size:cover!important;\n  }\n  .fm35-about-page .fm34-hero{background-position:center 48%!important;}\n  .fm34-availability-page .fm34-hero{background-position:center 55%!important;}\n}\n@media(max-width:600px){\n  .fm35-about-page .fm34-hero,\n  .fm34-availability-page .fm34-hero{\n    min-height:300px!important;\n  }\n  .fm35-about-page .fm34-hero-copy,\n  .fm34-availability-page .fm34-hero-copy{\n    width:min(100% - 32px,1180px)!important;\n  }\n  .fm35-about-page .fm34-hero-copy p,\n  .fm34-availability-page .fm34-hero-copy p{\n    max-width:82%!important;\n  }\n}\n\n/* Make the client-requested icons clearer everywhere without changing layout. */\n.love-icon .fm-svg-icon,\n.fm29-activity-icon .fm-svg-icon,\n.fmc22-act .fm-svg-icon,\n.ty-activity .fm-svg-icon,\n.fmc22-title .fm-svg-icon,\n.ty-section h2 .fm-svg-icon{\n  overflow:visible;\n}\n

/* =========================================================
   V47 — FINAL MOBILE HERO VISIBILITY + ICON CLARITY
   Preserve approved desktop layouts; only improve the crossed
   About/Availability mobile heroes and the requested icons.
   ========================================================= */
@media (max-width: 820px){
  .fm35-about-page .fm34-hero,
  .fm34-availability-page .fm34-hero{
    min-height:340px!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-image:
      linear-gradient(90deg,rgba(250,247,240,.64) 0%,rgba(250,247,240,.48) 38%,rgba(250,247,240,.16) 72%,rgba(250,247,240,.05) 100%),
      var(--fm34-hero)!important;
  }
  .fm35-about-page .fm34-hero{background-position:58% center!important;}
  .fm34-availability-page .fm34-hero{background-position:62% center!important;}
  .fm35-about-page .fm34-hero-copy,
  .fm34-availability-page .fm34-hero-copy{padding:38px 0!important;}
  .fm35-about-page .fm34-hero-copy h1,
  .fm34-availability-page .fm34-hero-copy h1,
  .fm35-about-page .fm34-hero-copy h2,
  .fm34-availability-page .fm34-hero-copy h2,
  .fm35-about-page .fm34-hero-copy p,
  .fm34-availability-page .fm34-hero-copy p{
    text-shadow:0 1px 0 rgba(255,255,255,.75);
  }
}
@media (max-width: 600px){
  .fm35-about-page .fm34-hero,
  .fm34-availability-page .fm34-hero{min-height:360px!important;}
  .fm35-about-page .fm34-hero{background-position:61% center!important;}
  .fm34-availability-page .fm34-hero{background-position:65% center!important;}
  .fm35-about-page .fm34-hero-copy,
  .fm34-availability-page .fm34-hero-copy{width:calc(100% - 36px)!important;}
  .fm35-about-page .fm34-hero-copy p,
  .fm34-availability-page .fm34-hero-copy p{max-width:74%!important;}
}

/* Paw: solid pads, unmistakable at small sizes. */
.fm-icon-paw{fill:currentColor!important;stroke:none!important;}
/* Walking + horse riding: heavier, cleaner outlines. */
.fm-icon-walk,.fm-icon-horse{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.love-icon .fm-icon-paw,
.love-icon .fm-icon-walk,
.fm29-activity-icon .fm-icon-paw,
.fm29-activity-icon .fm-icon-walk,
.fm29-activity-icon .fm-icon-horse,
.fmc22-act .fm-icon-paw,
.fmc22-act .fm-icon-walk,
.fmc22-act .fm-icon-horse,
.ty-activity .fm-icon-paw,
.ty-activity .fm-icon-walk,
.ty-activity .fm-icon-horse{
  width:42px!important;
  height:42px!important;
}
.dog-friendly .fm-icon-paw{width:20px!important;height:20px!important;}

/* =========================================================
   V48 — About + Availability mobile heroes match the clearer
   Gallery / Local Area treatment. Keep desktop and all approved
   sections unchanged; reveal substantially more of the photo.
   ========================================================= */
@media (max-width: 820px){
  .fm35-about-page .fm34-hero,
  .fm34-availability-page .fm34-hero{
    min-height:340px!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-image:
      linear-gradient(90deg,
        rgba(250,247,240,.80) 0%,
        rgba(250,247,240,.48) 24%,
        rgba(250,247,240,.12) 48%,
        rgba(250,247,240,0) 64%),
      var(--fm34-hero)!important;
  }
  .fm35-about-page .fm34-hero{background-position:center center!important;}
  .fm34-availability-page .fm34-hero{background-position:center center!important;}
}
@media (max-width: 600px){
  .fm35-about-page .fm34-hero,
  .fm34-availability-page .fm34-hero{
    min-height:350px!important;
  }
  .fm35-about-page .fm34-hero{background-position:52% center!important;}
  .fm34-availability-page .fm34-hero{background-position:54% center!important;}
  .fm35-about-page .fm34-hero-copy p,
  .fm34-availability-page .fm34-hero-copy p{max-width:70%!important;}
}


/* =========================================================
   V49 — Contact mobile hero clarity + recognisable walker/horse icons
   Keep all previously approved v48 layout/content/photo changes intact.
   ========================================================= */
@media (max-width: 820px){
  .fm34-contact-page .fm34-hero{
    min-height:350px!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-position:58% center!important;
    background-image:
      linear-gradient(90deg,
        rgba(250,247,240,.76) 0%,
        rgba(250,247,240,.45) 24%,
        rgba(250,247,240,.10) 48%,
        rgba(250,247,240,0) 64%),
      var(--fm34-hero)!important;
  }
  .fm34-contact-page .fm34-hero-copy{
    padding:38px 0!important;
  }
}
@media (max-width: 600px){
  .fm34-contact-page .fm34-hero{
    min-height:360px!important;
    background-position:62% center!important;
  }
  .fm34-contact-page .fm34-hero-copy{
    width:calc(100% - 36px)!important;
  }
  .fm34-contact-page .fm34-hero-copy p{
    max-width:70%!important;
  }
}

/* Walker + horse: clean, readable pictograms at mobile/icon sizes. */
.fm-icon-walk,
.fm-icon-horse{
  fill:currentColor!important;
  stroke:none!important;
}
.love-icon .fm-icon-walk,
.fm29-activity-icon .fm-icon-walk,
.fm29-activity-icon .fm-icon-horse,
.fmc22-act .fm-icon-walk,
.fmc22-act .fm-icon-horse,
.ty-activity .fm-icon-walk,
.ty-activity .fm-icon-horse{
  width:44px!important;
  height:44px!important;
}
