/* LewesLive visual overrides: consistent white header/logo treatment and full-width homepage banner. */

.ll-header {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(16, 25, 22, 0.10);
  backdrop-filter: none;
}

.ll-header__inner {
  min-height: 118px !important;
  background: #ffffff;
  align-items: center;
}

.ll-logo {
  background: #ffffff;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.ll-logo img {
  width: clamp(330px, 30vw, 520px) !important;
  max-width: min(72vw, 520px) !important;
  max-height: 108px !important;
  height: auto !important;
  object-fit: contain;
  display: block;
}

.ll-footer img {
  width: min(230px, 60vw) !important;
  height: auto !important;
  max-height: 58px !important;
  object-fit: contain;
  background: #ffffff;
  border-radius: 6px;
}

.ll-scene::before {
  background-image: var(--scene-photo), var(--scene-bg, linear-gradient(160deg, #55756a, #17201c));
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.04);
}

.ll-scene::after {
  background:
    linear-gradient(0deg, rgba(7,16,13,0.88), rgba(7,16,13,0.20) 58%, rgba(7,16,13,0.06)),
    linear-gradient(90deg, rgba(7,16,13,0.34), transparent 34%, transparent 70%, rgba(7,16,13,0.28));
}

.ll-scene-icon {
  display: none;
}

.ll-scene--grange {
  --scene-photo: url("places/southover-grange-gardens.webp"), url("https://drive.google.com/thumbnail?id=1dkBTQzQDFLkp1B9H-df1xweFcysYVuT6&sz=w1600");
}

.ll-scene--cleves {
  --scene-photo: url("places/anne-of-cleves.webp"), url("https://drive.google.com/thumbnail?id=1k-DncjkUX8Gx3vxl_8H2VBVaPHQw6x9C&sz=w1600");
}

.ll-scene--harveys {
  --scene-photo: url("places/harveys-brewery-lewes.webp"), url("https://drive.google.com/thumbnail?id=1ACEWRoIhIWBC5r-pxLCcUEpIhcz0mUXQ&sz=w1600");
}

.ll-scene--castle {
  --scene-photo: url("places/lewes-castle.webp"), url("https://drive.google.com/thumbnail?id=1GiwIchmlYEZBFPCLJGyrouSD0xSNBx5y&sz=w1600");
}

.ll-scene--priory {
  --scene-photo: url("places/lewes-priory-ruins.webp"), url("https://drive.google.com/thumbnail?id=1brxW7hyrN4b9c6unHHhvivN0Lpsd0C5X&sz=w1600");
}

.ll-scene--bonfire {
  --scene-photo: url("places/lewes-bonfire.webp"), url("https://drive.google.com/thumbnail?id=1g38ApMgWCm9Ixhly5oGVlAnIaTU2G7PM&sz=w1600");
}

.ll-scene--pelham {
  --scene-photo: url("places/eat-and-drink-pelham-arms-lewes.webp"), linear-gradient(135deg, #b05a32 0%, #2b4d55 50%, #07100d 100%);
}

.ll-scene--twittens,
.ll-scene--twitten {
  --scene-photo: url("places/lewes-twittens.webp"), linear-gradient(135deg, #b99b6b 0%, #575143 45%, #07100d 100%);
}

.ll-scene--ouse {
  --scene-photo: url("places/river-ouse-wileys-bridge.webp"), linear-gradient(135deg, #88b68a, #47696a, #07100d);
}

/* Full-width homepage hero: text overlays the images; captions sit across the bottom of each image panel. */
.ll-home-banner-fullwidth .ll-hero {
  min-height: calc(100svh - 118px);
  display: block;
  padding: 0;
  background: #07100d;
  overflow: hidden;
}

.ll-home-banner-fullwidth .ll-hero::before,
.ll-home-banner-fullwidth .ll-hero::after {
  display: none;
}

.ll-home-banner-fullwidth .ll-hero__grid {
  width: 100%;
  max-width: none;
  min-height: calc(100svh - 118px);
  padding: 0;
  display: block;
  position: relative;
}

.ll-home-banner-fullwidth .ll-hero__visual {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.ll-home-banner-fullwidth .ll-beauty-window {
  height: 100%;
  min-height: calc(100svh - 118px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #07100d;
}

.ll-home-banner-fullwidth .ll-beauty-window::after {
  background:
    linear-gradient(90deg, rgba(7,16,13,0.68), rgba(7,16,13,0.22) 34%, rgba(7,16,13,0.12) 65%, rgba(7,16,13,0.64)),
    linear-gradient(0deg, rgba(7,16,13,0.34), transparent 38%);
}

.ll-home-banner-fullwidth .ll-panorama-track {
  height: 100%;
  animation: ll-panorama-scroll 60s linear infinite;
}

.ll-home-banner-fullwidth .ll-scene {
  width: 38vw;
  min-width: 430px;
  flex-basis: 38vw;
  padding: clamp(22px, 3vw, 44px);
  align-items: flex-end;
}

.ll-home-banner-fullwidth .ll-scene figcaption {
  width: 100%;
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(0deg, rgba(7,16,13,0.72), rgba(7,16,13,0.32));
  backdrop-filter: blur(2px);
}

.ll-home-banner-fullwidth .ll-scene strong {
  font-size: clamp(24px, 2.6vw, 42px);
  line-height: 0.92;
}

.ll-home-banner-fullwidth .ll-scene span {
  font-size: clamp(13px, 1.1vw, 17px);
  line-height: 1.25;
  color: rgba(255,250,240,0.92);
}

.ll-home-banner-fullwidth .ll-hero__copy {
  position: relative;
  z-index: 2;
  width: min(760px, calc(100% - 42px));
  margin: 0;
  padding: clamp(32px, 7vw, 82px);
  color: #fffaf0;
  text-shadow: 0 3px 22px rgba(0,0,0,0.36);
}

.ll-home-banner-fullwidth .ll-hero__copy::before {
  content: "";
  position: absolute;
  inset: 0 -12vw 0 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(7,16,13,0.90), rgba(7,16,13,0.70) 58%, transparent);
  pointer-events: none;
}

.ll-home-banner-fullwidth .ll-hero h1 {
  font-size: clamp(44px, 6vw, 82px);
  max-width: 650px;
  line-height: 0.93;
  color: #fffaf0;
}

.ll-home-banner-fullwidth .ll-hero__copy p:not(.ll-eyebrow) {
  max-width: 520px;
  color: rgba(255,250,240,0.94);
  font-size: clamp(17px, 1.6vw, 24px);
}

.ll-home-banner-fullwidth .ll-eyebrow {
  color: #c7eadc;
}

@media (max-width: 980px) {
  .ll-header__inner {
    min-height: 102px !important;
  }

  .ll-logo img {
    width: clamp(285px, 62vw, 440px) !important;
    max-height: 92px !important;
  }

  .ll-home-banner-fullwidth .ll-scene {
    width: 72vw;
    min-width: 320px;
    flex-basis: 72vw;
  }

  .ll-home-banner-fullwidth .ll-hero__copy {
    padding: 30px 22px;
  }

  .ll-home-banner-fullwidth .ll-hero__copy::before {
    inset: 0;
    background: linear-gradient(180deg, rgba(7,16,13,0.86), rgba(7,16,13,0.32), transparent);
  }
}

@media (max-width: 640px) {
  .ll-header__inner {
    min-height: 86px !important;
  }

  .ll-logo img {
    width: min(78vw, 340px) !important;
    max-height: 74px !important;
  }

  .ll-home-banner-fullwidth .ll-scene {
    width: 84vw;
    min-width: 280px;
    flex-basis: 84vw;
  }

  .ll-home-banner-fullwidth .ll-beauty-window,
  .ll-home-banner-fullwidth .ll-hero,
  .ll-home-banner-fullwidth .ll-hero__grid {
    min-height: 78svh;
  }

  .ll-home-banner-fullwidth .ll-hero h1 {
    font-size: clamp(38px, 12vw, 58px);
  }
}


/* LewesLive live polish live-polish-poi-20260611-5: wider header nav and Bonfire link support */
.ll-header__inner {
  width: min(1480px, calc(100% - 42px)) !important;
  gap: clamp(12px, 2vw, 28px) !important;
}
.ll-header .ll-logo img {
  width: clamp(260px, 23vw, 390px) !important;
  max-width: min(46vw, 390px) !important;
}
.ll-nav {
  flex: 1 1 auto !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  gap: clamp(4px, .55vw, 9px) !important;
  min-width: 0;
}
.ll-nav a {
  padding: 8px 10px !important;
  font-size: clamp(12px, .9vw, 14px) !important;
  white-space: nowrap !important;
}
@media (max-width: 1080px) {
  .ll-nav { overflow-x:auto !important; justify-content:flex-start !important; width:100% !important; }
}


/* LewesLive final polish nav-map-cards-bonfire-20260611-6: header, map UX cards and Bonfire banner continuity */
.ll-header { background:#fff; border-bottom:1px solid rgba(37,28,18,.12); }
.ll-header__inner { width:min(1560px, calc(100% - 36px)) !important; min-height:118px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; gap:clamp(16px,2vw,34px) !important; }
.ll-header .ll-logo { flex:0 0 auto !important; }
.ll-header .ll-logo img { width:clamp(330px, 25vw, 460px) !important; max-width:44vw !important; height:auto !important; display:block !important; }
.ll-nav { flex:1 1 auto !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; flex-wrap:nowrap !important; gap:clamp(4px,.55vw,12px) !important; min-width:0 !important; }
.ll-nav a { white-space:nowrap !important; padding:9px 12px !important; font-size:clamp(12px,.82vw,15px) !important; line-height:1 !important; }
.ll-nav a[aria-current="page"] { border-radius:999px; }
.ll-map-page .ll-header__inner, .ll-bonfire-page .ll-header__inner { min-height:118px !important; }
@media(max-width:980px) {
  .ll-header__inner { min-height:auto !important; padding:14px 0 !important; flex-wrap:wrap !important; align-items:flex-start !important; }
  .ll-header .ll-logo img { width:min(260px, 68vw) !important; max-width:68vw !important; }
  .ll-nav { width:100% !important; overflow-x:auto !important; justify-content:flex-start !important; padding-bottom:4px !important; -webkit-overflow-scrolling:touch; }
}

.ll-control-row { align-items:end; }
.ll-locate-inline { border:1px solid #d9caba; background:#fff; color:#17201c; border-radius:999px; padding:13px 18px; font-weight:900; box-shadow:0 8px 22px rgba(0,0,0,.08); cursor:pointer; white-space:nowrap; }
.ll-locate-inline:hover, .ll-locate-inline:focus-visible { background:#0d4f49; color:#fff; }
.ll-map-panel { min-height:min(72vh,760px); }
#newmap { min-height:min(72vh,760px); touch-action:pan-x pan-y pinch-zoom; }
.ll-marker-img { background:transparent !important; mix-blend-mode:normal; }
.ll-div-marker, .ll-marker-shell { pointer-events:auto; }
.ll-marker-shell.has-label .ll-marker-label { font-size:15px; padding:5px 10px; }

.ll-map-below { background:#fffaf4; border-top:1px solid #ead9c6; padding:clamp(30px,5vw,66px) 0; }
.ll-map-below__inner { width:min(1320px, calc(100% - 32px)); margin:0 auto; }
.ll-map-below h2 { font-size:clamp(30px,4.4vw,54px); line-height:.95; margin:0 0 10px; }
.ll-map-below p.ll-map-below__intro { color:#5c5045; max-width:760px; font-size:18px; line-height:1.55; margin:0 0 24px; }
.ll-location-card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(245px, 1fr)); gap:18px; }
.ll-location-card { background:#16221d; color:#fff; border:1px solid rgba(255,255,255,.18); border-radius:14px; overflow:hidden; box-shadow:0 18px 42px rgba(31,23,18,.14); display:flex; flex-direction:column; min-height:100%; }
.ll-location-card__image { height:190px; display:grid; place-items:center; background:linear-gradient(135deg,#f5ead8,#fffaf4); }
.ll-location-card__image img { max-width:86%; max-height:168px; object-fit:contain; display:block; }
.ll-location-card__body { padding:14px; display:flex; flex-direction:column; gap:8px; flex:1; }
.ll-location-card h3 { margin:0; font-size:20px; line-height:1.1; }
.ll-location-card p { margin:0; color:#f1eadf; line-height:1.42; }
.ll-location-card small { color:#d9cbb8; }
.ll-location-card__actions { margin-top:auto; display:flex; flex-wrap:wrap; gap:8px; padding-top:8px; }
.ll-location-card__actions a, .ll-location-card__actions button { border:0; border-radius:999px; background:#fffaf4; color:#17201c; padding:8px 10px; font-weight:900; font-size:13px; text-decoration:none; cursor:pointer; }
.ll-location-card__actions a:hover, .ll-location-card__actions button:hover { background:#0d7b70; color:#fff; }

.ll-bonfire-page .ll-bonfire-showcase { padding:0; width:100%; max-width:none; }
.bonfire-panorama { overflow:hidden; background:#130b08; }
.bonfire-panorama-track { display:flex; width:max-content; animation:bonfireScroll 42s linear infinite; }
.bonfire-scene { position:relative; width:min(74vw,980px); height:clamp(320px,45vw,620px); flex:0 0 auto; margin:0; background:#16100d center/cover no-repeat; }
.bonfire-scene--one { background-image:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05)),url('places/bonfire-banner-war-memorial.webp'); }
.bonfire-scene--two { background-image:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05)),url('places/bonfire-banner-procession.webp'); }
.bonfire-scene--three { background-image:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05)),url('places/lewes-bonfire.webp'); }
.bonfire-scene figcaption { position:absolute; left:clamp(22px,5vw,58px); bottom:clamp(22px,4vw,52px); background:rgba(0,0,0,.45); backdrop-filter:blur(8px); color:#fff; border-radius:18px; padding:16px 18px; max-width:520px; }
.bonfire-scene strong { display:block; font-size:clamp(25px,3.5vw,46px); line-height:1; }
.bonfire-scene span { display:block; margin-top:7px; font-weight:800; color:#f3e4d0; }
@keyframes bonfireScroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(max-width:720px) {
  .bonfire-scene { width:88vw; height:360px; }
  .ll-location-card__image { height:150px; }
}


/* live-map-polish-fix2-20260611-7: header/menu proximity + professional map cards */
@media (min-width: 901px) {
  .ll-header__inner {
    width: min(1240px, calc(100% - 48px)) !important;
    min-height: 92px !important;
    justify-content: center !important;
    gap: clamp(36px, 5vw, 86px) !important;
  }
  .ll-header .ll-logo img {
    width: clamp(300px, 19vw, 380px) !important;
    max-width: 38vw !important;
  }
  .ll-nav {
    flex: 0 1 auto !important;
    justify-content: flex-start !important;
    gap: clamp(3px, .45vw, 9px) !important;
  }
  .ll-nav a {
    padding: 8px 10px !important;
    font-size: clamp(12px, .76vw, 14px) !important;
  }
}
.ll-map-below .ll-map-below__intro { display:none !important; }
.ll-map-below { padding-top: 34px !important; }
.ll-map-below h2 { margin-bottom: 22px !important; }


/* bonfire-five-fixed-20260612-1: Bonfire page uses ONLY the five supplied WebP banners. */
.ll-bonfire-page .ll-bonfire-showcase { padding:0; width:100%; max-width:none; overflow:hidden; }
.ll-bonfire-page .bonfire-panorama { overflow:hidden; background:#130b08; width:100%; }
.ll-bonfire-page .bonfire-panorama-track { display:flex; width:max-content; animation:bonfireScrollFive 72s linear infinite; will-change:transform; }
.ll-bonfire-page .bonfire-scene { position:relative; flex:0 0 auto; width:min(86vw,1120px); height:clamp(340px,44vw,650px); margin:0; background-color:#130b08; background-position:center; background-size:cover; background-repeat:no-repeat; }
.ll-bonfire-page .bonfire-scene::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.12) 55%,rgba(0,0,0,.36)); pointer-events:none; }
.ll-bonfire-page .bonfire-scene--one,
.ll-bonfire-page .bonfire-scene--two,
.ll-bonfire-page .bonfire-scene--three { background-image:none !important; }
.ll-bonfire-page .bonfire-scene--1 { background-image:url('places/bonfire-banner-1.webp?v=bonfire-five-fixed-20260612-1') !important; }
.ll-bonfire-page .bonfire-scene--2 { background-image:url('places/bonfire-banner-2.webp?v=bonfire-five-fixed-20260612-1') !important; }
.ll-bonfire-page .bonfire-scene--3 { background-image:url('places/bonfire-banner-3.webp?v=bonfire-five-fixed-20260612-1') !important; }
.ll-bonfire-page .bonfire-scene--4 { background-image:url('places/bonfire-banner-4.webp?v=bonfire-five-fixed-20260612-1') !important; }
.ll-bonfire-page .bonfire-scene--5 { background-image:url('places/bonfire-banner-5.webp?v=bonfire-five-fixed-20260612-1') !important; }
.ll-bonfire-page .bonfire-scene figcaption { position:absolute; z-index:1; left:clamp(22px,5vw,58px); bottom:clamp(22px,4vw,52px); background:rgba(0,0,0,.46); backdrop-filter:blur(8px); color:#fff; border-radius:18px; padding:16px 18px; max-width:560px; box-shadow:0 12px 35px rgba(0,0,0,.22); }
.ll-bonfire-page .bonfire-scene strong { display:block; font-size:clamp(25px,3.5vw,48px); line-height:1; }
.ll-bonfire-page .bonfire-scene span { display:block; margin-top:7px; font-weight:800; color:#f3e4d0; }
@keyframes bonfireScrollFive { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width:720px) {
  .ll-bonfire-page .bonfire-scene { width:92vw; height:360px; }
  .ll-bonfire-page .bonfire-scene figcaption { left:16px; right:16px; bottom:18px; max-width:none; }
}
@media (prefers-reduced-motion:reduce) { .ll-bonfire-page .bonfire-panorama-track { animation:none; } }
