/* Final Landmeterskop repair layer */
html, body {
  max-width: 100%;
  overflow-x: hidden !important;
}
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; }

@media (max-width: 720px) {
  body.home-page .hero.hero--photo,
  .hero.hero--photo {
    height: auto !important;
    min-height: 520px !important;
    overflow: visible !important;
  }
  body.home-page .hero.hero--photo .hero-inner,
  .hero.hero--photo .hero-inner {
    height: auto !important;
    min-height: 520px !important;
    align-items: center !important;
    padding: 34px 0 !important;
  }
  body.home-page .hero.hero--photo .hero-panel,
  .hero.hero--photo .hero-panel {
    max-width: calc(100vw - 32px) !important;
    margin: 0 auto !important;
    padding: 26px 20px 28px !important;
    overflow: visible !important;
  }
  body.home-page .hero.hero--photo h1,
  .hero.hero--photo h1 {
    font-size: clamp(2.1rem, 10vw, 3rem) !important;
    line-height: 1.02 !important;
  }
  body.home-page .hero.hero--photo .hero-cta,
  .hero.hero--photo .hero-cta {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin-top: 1rem !important;
    width: 100% !important;
  }
  body.home-page .hero.hero--photo .hero-cta .btn-ghost,
  .hero.hero--photo .hero-cta .btn-ghost {
    display: none !important;
  }
  body.home-page .hero.hero--photo .hero-cta .btn-gold,
  body.home-page .hero.hero--photo .hero-cta .btn-primary,
  .hero.hero--photo .hero-cta .btn-gold,
  .hero.hero--photo .hero-cta .btn-primary {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 320px !important;
    justify-content: center !important;
    align-items: center !important;
    align-self: flex-start !important;
    padding: 13px 18px !important;
    white-space: normal !important;
  }
}

/* mobile header overflow hardening */
header.site {
  width: 100%;
  max-width: 100%;
  overflow: visible !important;
  z-index: 90 !important;
}
header.site .wrap.nav {
  width: 100% !important;
  padding-left: clamp(14px, 4vw, 28px) !important;
  padding-right: clamp(14px, 4vw, 28px) !important;
}
header.site .brand {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
header.site .brand > span {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
header.site .brand .name,
header.site .brand .sub {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.nav-toggle {
  flex: 0 0 44px !important;
  margin-left: auto !important;
  z-index: 120 !important;
}
@media (max-width: 760px) {
  header.site .wrap.nav {
    height: 82px !important;
    gap: 10px !important;
  }
  header.site .brand {
    max-width: calc(100vw - 82px) !important;
  }
  header.site .brand img {
    width: 54px !important;
    height: 54px !important;
    flex: 0 0 54px !important;
  }
  header.site .brand .name {
    font-size: clamp(1.02rem, 5.2vw, 1.34rem) !important;
    max-width: calc(100vw - 146px) !important;
  }
  header.site .brand .sub { display: none !important; }
  header.site .nav-links {
    top: 82px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-height: calc(100vh - 82px) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* galleries and cottage pages */
.cottage-gallery,
.full-gallery,
.animal-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}
.gallery-shot,
.full-gallery figure {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 16px 44px -34px rgba(15,43,70,.55);
}
.gallery-shot img,
.full-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  cursor: zoom-in;
}
.gallery-shot figcaption,
.full-gallery figcaption {
  padding: 12px 14px;
  color: var(--mute);
  font-size: .82rem;
}

/* stop duplicate animal sections creating blank gaps */
body.on-the-farm-page section.animal-extra-section,
body.on-the-farm-page section#animal-gallery,
body.on-the-farm-page section.animal-gallery-section,
body.on-the-farm-page section#animal-moments-gallery,
body.on-the-farm-page .rauthin-gallery-strip,
body.on-the-farm-page section:has(.animal-extra-gallery) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
body.on-the-farm-page .reveal,
body.on-the-farm-page .animal-gallery,
body.on-the-farm-page .farm-rounds {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* individual cottage pages */
.cottage-page-hero {
  position: relative;
  overflow: hidden;
  background: var(--blue);
  color: var(--ivory);
  min-height: clamp(360px, 48vw, 560px);
  display: grid;
  align-items: end;
}
.cottage-page-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cottage-page-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,43,70,.20), rgba(15,43,70,.86));
}
.cottage-page-hero .wrap {
  position: relative;
  z-index: 2;
  padding-bottom: clamp(42px, 7vw, 78px);
}
.cottage-page-hero h1 { color: var(--ivory); max-width: 760px; }
.cottage-page-hero p { max-width: 680px; color: rgba(246,241,231,.92); }
.cottage-stats { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 26px; }
.cottage-stats span { border-radius: 999px; background: rgba(181,138,47,.14); border: 1px solid rgba(181,138,47,.24); padding: 7px 11px; color: var(--blue); font-size: .78rem; font-weight: 800; }
.cottage-video-card { padding: 0; border-radius: 18px; overflow: hidden; background: transparent; border: 0; box-shadow: none; }
.cottage-video-card video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 18px; }

/* Landmeterskop cleaned categorised thumbnail gallery */
.gallery-page .gallery-hero{min-height:480px}
.gallery-page .gallery-hero .hero-panel{max-width:780px}
.gallery-jump-label{margin:14px 0 6px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;color:rgba(255,255,255,.86)}
.gallery-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.gallery-jump a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(181,138,47,.46);background:rgba(255,255,255,.9);color:var(--blue);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800;text-decoration:none}
.gallery-jump a:hover{background:var(--gold);color:#fff}
.gallery-category{padding:clamp(34px,5vw,58px) 0}
.gallery-category:nth-of-type(even){background:var(--paper)}
.thumb-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:10px}
.thumb-shot{margin:0;border-radius:10px;overflow:hidden;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px -26px rgba(15,43,70,.55)}
.thumb-shot img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;cursor:zoom-in;transition:transform .18s ease;background:#eee}
.thumb-shot:hover img{transform:scale(1.035)}
.thumb-shot figcaption{padding:7px 8px;font-size:.72rem;line-height:1.2;color:var(--mute);min-height:34px}
@media(min-width:920px){.thumb-gallery{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:12px}.thumb-shot figcaption{font-size:.74rem}}
@media(max-width:560px){.gallery-page .gallery-hero{min-height:420px}.thumb-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.thumb-shot figcaption{font-size:.64rem;padding:6px;min-height:30px}.gallery-jump a{font-size:.7rem;padding:7px 9px}}

/* Landmeterskop conversion/content polish */
.conversion-section{padding:clamp(44px,6vw,78px) 0;background:var(--ivory)}
.conversion-section:nth-of-type(even){background:var(--paper)}
.conversion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.conversion-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 18px 44px -34px rgba(15,43,70,.55)}
.conversion-card h3{margin:0 0 10px;color:var(--blue);font-size:1.05rem}
.conversion-card p{margin:0;color:var(--mute);line-height:1.6}
.gallery-page .thumb-shot figcaption{font-size:.7rem}
@media(max-width:640px){.conversion-card{padding:18px}.conversion-grid{gap:12px}}

/* Landmeterskop visible direct rates */
.rate-section{padding:clamp(44px,6vw,76px) 0;background:var(--paper)}
.rate-section--compact{padding:clamp(34px,5vw,56px) 0}
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.rate-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 18px 44px -34px rgba(15,43,70,.55)}
.rate-card h3{margin:0 0 8px;color:var(--blue);font-size:1rem}
.rate-card p{margin:0;color:var(--mute)}
.rate-card strong{font-size:1.35rem;color:var(--gold)}
.rate-note{text-align:center;color:var(--mute);font-size:.9rem;margin:18px auto 0;max-width:760px}
.rate-pill{display:inline-flex;margin:0 0 10px;padding:6px 10px;border-radius:999px;background:rgba(181,138,47,.12);border:1px solid rgba(181,138,47,.28);color:var(--blue);font-size:.78rem;font-weight:900}
.rate-single-card{display:flex;gap:22px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,34px);box-shadow:0 18px 44px -34px rgba(15,43,70,.55)}
.rate-single-card h2{margin:.25rem 0 .65rem}
.rate-single-card p{margin:.3rem 0;color:var(--mute)}
@media(max-width:720px){.rate-single-card{display:block}.rate-single-card .btn{margin-top:18px;width:100%;justify-content:center}.rate-card strong{font-size:1.18rem}}

/* Landmeterskop endorsement wrapping + cottage media alignment */
header.site .brand .sub{
  white-space:normal!important;
}
@media(min-width:900px){
  .cottage-detail.wrap.split,
  .cottage-detail.wrap.split.rev{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:clamp(36px,5vw,74px)!important;
    align-items:center!important;
  }
  .cottage-detail.wrap.split > .split-art{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
  }
  .cottage-detail.wrap.split > div:not(.split-art){
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
  }
  .cottage-detail.wrap.split > a.btn{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:start!important;
    align-self:start!important;
    margin-top:18px!important;
  }
  .cottage-detail.wrap.split.rev > .split-art{
    grid-column:2!important;
  }
  .cottage-detail.wrap.split.rev > div:not(.split-art){
    grid-column:1!important;
  }
  .cottage-detail.wrap.split.rev > a.btn{
    grid-column:1!important;
  }
}
.cottage-detail .split-art,
.cottage-detail .video-hero,
.cottage-detail .cottage-hero-img{
  align-self:center!important;
}
.cottage-detail .split-art img,
.cottage-detail .split-art video,
.cottage-detail .cottage-hero-video{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  border-radius:18px!important;
}
.cottage-detail .video-hero video{
  min-height:0!important;
  max-height:none!important;
}
/* Mobile cottage overview: details first, duplicate galleries off the comparison page */
@media (max-width: 900px) {
  html body .cottage-detail.wrap.split,
  html body .cottage-detail.wrap.split.rev {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
  }

  html body .cottage-detail.wrap.split > div:not(.split-art),
  html body .cottage-detail.wrap.split.rev > div:not(.split-art) {
    order: 1 !important;
  }

  html body .cottage-detail.wrap.split > .split-art,
  html body .cottage-detail.wrap.split.rev > .split-art {
    order: 2 !important;
  }

  html body .cottage-detail.wrap.split > a.btn,
  html body .cottage-detail.wrap.split.rev > a.btn {
    display: inline-flex !important;
    order: 3 !important;
    align-self: flex-start !important;
    margin: 0 !important;
  }

  html body .cottage-gallery-wrap {
    display: none !important;
  }
}
