@import url('https://fonts.googleapis.com/css2?family=Anton&family=Oswald:wght@500;600;700&family=Pacifico&display=swap');

:root{
  --cream:#f4e8c7;
  --paper:#f6ecd0;
  --red:#d8211f;
  --red-dark:#9e1614;
  --teal:#0d7c83;
  --teal-dark:#0b4649;
  --ink:#122122;
  --yellow:#f3ca4d;
  --shadow:rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 18%, rgba(13,124,131,.09) 0 3px, transparent 4px),
    radial-gradient(circle at 90% 22%, rgba(216,33,31,.1) 0 4px, transparent 5px),
    radial-gradient(circle at 18% 78%, rgba(216,33,31,.08) 0 3px, transparent 4px),
    radial-gradient(circle at 86% 88%, rgba(13,124,131,.08) 0 3px, transparent 4px),
    linear-gradient(#efe5c5,#efe5c5);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.45;
}
a{color:inherit}
img{max-width:100%}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  min-height:72px;
  display:grid;
  grid-template-columns:160px 1fr auto;
  align-items:center;
  gap:24px;
  padding:7px max(18px,calc((100vw - 1200px)/2));
  background:rgba(244,232,199,.96);
  border-bottom:4px solid var(--teal);
}
.site-logo{
  height:56px;
  overflow:hidden;
  display:flex;
  align-items:center;
}
.site-logo img{
  width:132px;
  height:56px;
  object-fit:cover;
  object-position:center 48%;
  border-radius:3px;
}
.site-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
}
.site-nav a,
.footer-links a{
  text-decoration:none;
  font-family:'Oswald', Impact, sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:.3px;
}
.site-nav a.active,
.site-nav a:hover{color:var(--red)}
.book-top,.retro-btn{
  display:inline-block;
  text-decoration:none;
  font-family:'Oswald', Impact, sans-serif;
  font-weight:700;
  color:#fff;
  background:linear-gradient(#e62d28,#bf1715);
  border:2px solid #fff1cf;
  border-radius:14px;
  box-shadow:0 3px 0 var(--red-dark);
  padding:10px 18px;
  text-transform:uppercase;
}
.retro-btn.dark{background:linear-gradient(#104f54,#083337);box-shadow:0 3px 0 #062629}
.retro-btn.small{padding:9px 13px;font-size:14px}

.nav-toggle{display:none}

.homepage-poster{
  width:min(1180px,100%);
  margin:0 auto;
  background:
    linear-gradient(180deg,
      transparent 0 508px,
      rgba(13,124,131,.9) 508px 510px,
      transparent 510px 100%);
}

.poster-stage{
  min-height:505px;
  display:grid;
  grid-template-columns:40% 60%;
  border-left:4px solid var(--red);
  border-right:4px solid var(--red);
  border-bottom:4px solid var(--red);
  background:
    linear-gradient(145deg, var(--paper) 0 38%, var(--teal) 38% 100%);
  overflow:hidden;
  position:relative;
}
.poster-left{
  padding:22px 22px 22px 34px;
  position:relative;
}
.poster-left:before{
  content:'★';
  position:absolute;
  top:54px;
  left:58px;
  color:var(--red);
  font-size:22px;
}
.poster-left:after{
  content:'★';
  position:absolute;
  top:115px;
  right:36px;
  color:var(--red);
  font-size:30px;
}
.poster-main-logo{
  display:block;
  width:310px;
  height:184px;
  object-fit:cover;
  object-position:center 50%;
  margin:6px auto 12px;
}
.poster-script{
  font-family:'Pacifico', cursive;
  font-size:34px;
  line-height:1.05;
  color:#111;
  margin:4px 0 14px 8px;
  transform:rotate(-3deg);
}
.poster-genre-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:0 0 16px 6px;
}
.poster-genre-tags span{
  font-family:'Oswald', Impact, sans-serif;
  font-size:13px;
  font-weight:700;
  padding:4px 8px;
  border:2px solid #111;
  background:#f5ecd1;
  box-shadow:2px 2px 0 #111;
}
.poster-genre-tags span:first-child,
.poster-genre-tags span:last-child{background:var(--red);color:#fff}
.poster-genre-tags span:nth-child(3){background:#8cd0d5}
.poster-cta-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-left:4px;
}

.poster-right{
  position:relative;
  overflow:hidden;
  background:#7f1d1d;
}
.band-main-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 49%;
  display:block;
}
.good-music-sign{
  position:absolute;
  left:16px;
  top:14px;
  width:126px;
  height:auto;
  border:4px solid #111;
  box-shadow:0 4px 0 rgba(0,0,0,.2);
}

.poster-strip{
  display:grid;
  gap:0;
  align-items:stretch;
}
.strip-top{
  grid-template-columns:1fr 1fr 1fr;
  background:
    radial-gradient(circle at 20% 35%, rgba(216,33,31,.14) 0 4px, transparent 4px),
    radial-gradient(circle at 78% 68%, rgba(13,124,131,.13) 0 4px, transparent 4px),
    linear-gradient(180deg,#efe4c2 0,#efe4c2 100%);
  padding:12px 0 0;
}
.strip-bottom{
  grid-template-columns:1.1fr .9fr 1fr;
  align-items:center;
  background:
    radial-gradient(circle at 16% 50%, rgba(216,33,31,.14) 0 4px, transparent 4px),
    radial-gradient(circle at 82% 30%, rgba(13,124,131,.13) 0 4px, transparent 4px),
    linear-gradient(180deg,#efe4c2 0,#efe4c2 100%);
  padding:4px 0 0;
}
.strip-col{
  padding:16px 18px 18px;
  min-height:255px;
  position:relative;
}
.strip-col:not(:last-child):after{
  content:'';
  position:absolute;
  top:18px;
  right:0;
  width:1px;
  height:calc(100% - 36px);
  background:rgba(0,0,0,.13);
}

.ribbon-title{
  display:inline-block;
  background:var(--teal);
  color:#fff;
  font-family:'Oswald', Impact, sans-serif;
  font-size:26px;
  line-height:1;
  font-weight:700;
  padding:8px 15px 10px;
  transform:skewX(-11deg);
  box-shadow:5px 5px 0 rgba(0,0,0,.08);
}
.ribbon-title.red{background:var(--red)}
.ribbon-title > *{transform:skewX(11deg)}

.strip-intro{
  margin:12px 0 10px;
  font-size:16px;
}
.placeholder-copy{
  margin:18px 0 24px;
  font-size:17px;
  line-height:1.55;
}

.next-gig-card{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:14px;
  align-items:start;
  margin:12px 0 18px;
}
.next-gig-date{
  height:132px;
  border:3px solid #111;
  border-radius:10px;
  background:#fff7e3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.next-gig-date strong{
  font-family:'Anton', Impact, sans-serif;
  font-size:46px;
  color:var(--red);
  line-height:1;
}
.next-gig-date span{
  font-family:'Oswald', Impact, sans-serif;
  font-size:26px;
  line-height:1.1;
}
.next-gig-copy h2{
  margin:0 0 6px;
  font-family:'Oswald', Impact, sans-serif;
  font-size:25px;
}
.next-gig-copy h3{
  margin:0 0 10px;
  font-size:20px;
}
.next-gig-copy p{
  margin:0;
  font-size:16px;
  line-height:1.6;
}

.photos-col, .videos-col{
  background:
    radial-gradient(circle at 12% 34%, rgba(255,255,255,.14) 0 3px, transparent 4px),
    linear-gradient(180deg,#117c84 0,#0f6e75 100%);
  color:#fff;
}
.mini-polaroids{
  position:relative;
  height:120px;
  margin:10px 0 16px;
}
.mini-polaroids img{
  position:absolute;
  width:40%;
  height:102px;
  object-fit:cover;
  border:6px solid #fff5dd;
  box-shadow:0 4px 10px rgba(0,0,0,.24);
}
.mini-polaroids img:nth-child(1){left:2%;top:10px;transform:rotate(-9deg)}
.mini-polaroids img:nth-child(2){left:29%;top:6px;transform:rotate(6deg)}
.mini-polaroids img:nth-child(3){left:54%;top:12px;transform:rotate(-2deg)}

.video-thumb-large{
  display:block;
  position:relative;
  margin:10px 0 16px;
  border:4px solid #111;
}
.video-thumb-large img{
  width:100%;
  height:135px;
  object-fit:cover;
}
.video-thumb-large span{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:58px;
  height:58px;
  border:3px solid #fff;
  border-radius:50%;
  background:rgba(0,0,0,.45);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:25px;
}

.about-home p, .guestbook-home p{
  font-size:17px;
  margin:12px 0;
}
.vinyl-center{
  display:grid;
  place-items:center;
  min-height:250px;
}
.vinyl-disc{
  width:255px;
  height:255px;
  border-radius:50%;
  background:
    radial-gradient(circle at center, #141414 0 26px, #0b494d 26px 28px, #141414 28px 46px, #0d0d0d 46px 100%);
  box-shadow:0 0 0 16px #0f6f76, 0 0 0 34px rgba(13,124,131,.12);
  display:grid;
  place-items:center;
  position:relative;
}
.vinyl-disc:before,
.vinyl-disc:after{
  content:'★';
  position:absolute;
  color:var(--red);
  font-size:28px;
}
.vinyl-disc:before{top:20px;left:34px}
.vinyl-disc:after{bottom:30px;right:36px}
.vinyl-text{
  text-align:center;
  font-family:'Pacifico', cursive;
  font-size:33px;
  line-height:1.1;
  color:#f5ecd1;
  transform:rotate(-8deg);
}
.guestbook-home blockquote{
  margin:18px 0 14px;
  font-family:Georgia, serif;
  font-style:italic;
  font-size:28px;
  line-height:1.35;
}
.guest-signature{
  font-weight:bold;
  text-align:right;
}

.booking-band{
  display:grid;
  grid-template-columns:1.1fr 1fr auto;
  gap:18px;
  align-items:center;
  background:
    linear-gradient(100deg, var(--red) 0 42%, #efe4c2 42% 100%);
  min-height:118px;
  padding:18px 26px;
  border-top:8px solid rgba(216,33,31,.14);
}
.booking-band-left{
  color:#fff;
}
.booking-band-left span{
  display:block;
  font-family:'Oswald', Impact, sans-serif;
  font-size:18px;
}
.booking-band-left strong{
  display:block;
  font-family:'Anton', Impact, sans-serif;
  font-size:60px;
  line-height:.95;
}
.booking-band-mid{
  font-family:'Oswald', Impact, sans-serif;
  font-size:29px;
  line-height:1.1;
}

.site-footer{
  background:#0a2d30;
  color:#f5ecd1;
  border-top:5px solid var(--teal);
}
.footer-bar{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  gap:20px;
  padding:22px 18px;
}
.footer-brand{
  display:flex;
  gap:12px;
  align-items:center;
}
.footer-brand img{
  width:86px;
  height:48px;
  object-fit:cover;
  object-position:center 48%;
}
.footer-brand b{
  display:block;
  font-family:'Oswald', Impact, sans-serif;
}
.footer-brand span{
  display:block;
  font-size:12px;
  opacity:.9;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px 17px;
}
.footer-book{
  text-align:right;
}
.footer-book strong{color:#ff5f57}

/* Inner pages */
.inner-page{
  width:min(1180px,100%);
  margin:0 auto;
  padding:26px 18px 36px;
}
.page-title{
  background:
    linear-gradient(120deg,var(--teal) 0 72%, transparent 72%),
    linear-gradient(var(--paper),var(--paper));
  color:#fff;
  padding:24px 26px;
  margin-bottom:20px;
  border-left:5px solid var(--red);
}
.eyebrow{
  font-family:'Oswald', Impact, sans-serif;
  font-size:14px;
  letter-spacing:2px;
  color:var(--yellow);
}
.page-title h1,.page-hero h1{
  margin:6px 0;
  font-family:'Anton', Impact, sans-serif;
  font-size:56px;
  line-height:1;
}
.page-title p,.page-hero p{font-size:18px;max-width:760px}

.page-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  background:
    linear-gradient(120deg,var(--teal) 0 64%, transparent 64%),
    linear-gradient(var(--paper),var(--paper));
  margin-bottom:18px;
  border-left:5px solid var(--red);
}
.page-hero > div{padding:28px;color:#fff}
.page-hero > img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
}
.prose, .publicform, .booking-art, .guest, .empty-state{
  background:rgba(255,248,230,.92);
  padding:24px;
}
.prose h2,.publicform h2{
  margin-top:0;
  font-family:'Oswald', Impact, sans-serif;
  color:var(--red);
  font-size:34px;
}
.quote-sign{
  float:right;
  margin:0 0 18px 18px;
  padding:12px 16px;
  background:#111;
  color:#f8eed3;
  border:4px solid var(--red);
  font-family:'Anton', Impact, sans-serif;
  text-align:center;
  font-size:26px;
  line-height:1.05;
}
.gig-list{display:grid;gap:16px}
.gig-card{
  display:grid;
  grid-template-columns:150px 1fr;
  background:#fff8e4;
  border-left:5px solid var(--red);
}
.gig-date{
  background:var(--teal);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:14px;
}
.gig-date strong{font-family:'Anton', Impact, sans-serif;font-size:54px;line-height:1}
.gig-date span{font-family:'Oswald', Impact, sans-serif;font-size:28px}
.gig-main{padding:18px 20px}
.gig-main h2{margin:0;font-family:'Oswald', Impact, sans-serif;font-size:30px}
.gig-main h3{margin:3px 0 10px;font-size:19px}
.filters{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 18px;
}
.filters a{
  padding:8px 14px;
  background:var(--teal);
  color:#fff;
  border-radius:4px;
}
.filters a.active{background:var(--red)}
.gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.gallery figure{
  margin:0;
  background:#fff7df;
  padding:8px;
  transform:rotate(-.7deg);
}
.gallery figure:nth-child(even){transform:rotate(.7deg)}
.gallery img{
  width:100%;
  height:250px;
  object-fit:cover;
  display:block;
}
.gallery figcaption{
  padding:10px 6px 4px;
  font-family:Georgia, serif;
  font-style:italic;
}
.videogrid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.video-card-full{
  background:#0d737a;
  color:#fff;
}
.video-card-full iframe,.video-card-full video{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  border:0;
  background:#000;
}
.video-card-full>div{padding:16px}
.video-card-full h2{margin:0 0 5px;font-family:'Oswald', Impact, sans-serif}
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:start;
}
.publicform label{
  display:block;
  margin:11px 0;
  font-family:'Oswald', Impact, sans-serif;
  font-weight:700;
}
.publicform input,.publicform textarea,.publicform select{
  width:100%;
  margin-top:5px;
  padding:10px;
  border:2px solid #15484b;
  background:#fffaf0;
  font:inherit;
}
.publicform textarea{min-height:145px;resize:vertical}
.publicform button{cursor:pointer}
.notice{padding:10px 12px;background:#e4f7eb;border-left:5px solid #2e8b57}
.error{padding:10px 12px;background:#fde9e7;border-left:5px solid var(--red)}
.hp{position:absolute!important;left:-10000px!important}
.guest-list{display:grid;gap:14px}
.guest{
  position:relative;
  padding-left:58px;
}
.quote-mark{
  position:absolute;
  left:16px;top:2px;
  font-size:68px;
  line-height:1;
  color:var(--red);
  font-family:Georgia, serif;
}
.guest footer{text-align:right;font-weight:bold}
.booking-layout{grid-template-columns:.78fr 1.22fr}
.booking-art{
  background:#0d737a;
  color:#fff;
  text-align:center;
}
.booking-art img{
  width:100%;
  height:250px;
  object-fit:cover;
  display:block;
  margin-bottom:15px;
}
.sign-card{
  display:inline-block;
  padding:12px 14px;
  background:#111;
  border:4px solid var(--red);
  font-family:'Anton', Impact, sans-serif;
  font-size:38px;
  line-height:1;
  margin-bottom:14px;
}
.contact-big{
  font-family:'Anton', Impact, sans-serif;
  font-size:52px;
  line-height:1;
}
.contact-hero img{object-position:center}

@media(max-width:980px){
  .site-header{grid-template-columns:140px 1fr auto;gap:14px}
  .site-nav{gap:12px}
  .poster-stage{grid-template-columns:1fr}
  .poster-right{height:400px}
  .good-music-sign{width:112px}
  .strip-top{grid-template-columns:1fr}
  .strip-bottom{grid-template-columns:1fr}
  .strip-col:not(:last-child):after{display:none}
  .booking-band{grid-template-columns:1fr}
  .booking-band-mid{font-size:24px}
  .footer-bar{grid-template-columns:1fr;text-align:center}
  .footer-book{text-align:center}
  .page-hero,.two-col{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .videogrid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .site-header{
    grid-template-columns:110px 1fr auto;
    min-height:62px;
    gap:10px;
    padding:6px 10px;
  }
  .site-logo{height:48px}
  .site-logo img{width:110px;height:48px}
  .nav-toggle{
    display:block;
    justify-self:end;
    border:0;
    background:var(--teal);
    color:#fff;
    font-size:24px;
    border-radius:6px;
    padding:6px 10px;
  }
  .site-nav{
    display:none;
    position:absolute;
    top:62px;left:0;right:0;
    flex-direction:column;
    align-items:flex-start;
    background:#f4e8c7;
    padding:12px 14px;
    border-bottom:4px solid var(--teal);
  }
  body.nav-open .site-nav{display:flex}
  .book-top{font-size:0;padding:8px 10px}
  .book-top:after{content:'BOEK';font-size:12px}
  .homepage-poster{width:100%}
  .poster-left{padding:16px}
  .poster-main-logo{width:250px;height:145px}
  .poster-script{font-size:28px}
  .poster-right{height:350px}
  .mini-polaroids{height:106px}
  .mini-polaroids img{height:90px}
  .video-thumb-large img{height:115px}
  .vinyl-disc{width:210px;height:210px}
  .vinyl-text{font-size:28px}
  .gallery{grid-template-columns:1fr}
  .page-title h1,.page-hero h1{font-size:40px}
}

/* v0.9.1 - proportions matched closer to approved preview */
body{
  background:#efe5c5;
}
.site-header{
  min-height:66px;
  grid-template-columns:180px 1fr auto;
  padding-left:max(18px,calc((100vw - 1480px)/2));
  padding-right:max(18px,calc((100vw - 1480px)/2));
}
.site-logo{height:54px}
.site-logo img{width:150px;height:54px}
.site-nav{gap:26px}
.site-nav a{font-size:15px}
.book-top{font-size:15px;padding:10px 20px}

.homepage-poster{
  width:min(1480px,100vw);
  max-width:none;
  margin:0 auto;
}

.poster-stage{
  min-height:0;
  height:540px;
  grid-template-columns:39% 61%;
  border-left:0;
  border-right:0;
  border-bottom:0;
  background:
    linear-gradient(146deg,#f4e8c7 0 37.5%,#0d7c83 37.5% 100%);
}
.poster-left{
  padding:18px 20px 16px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.poster-main-logo{
  width:360px;
  height:235px;
  object-fit:cover;
  object-position:center 53%;
  margin:0 auto 6px 0;
  border-radius:52% 48% 50% 50%;
}
.poster-script{
  font-size:38px;
  line-height:1.03;
  margin:2px 0 10px 2px;
}
.poster-genre-tags{
  margin:0 0 12px 0;
  gap:4px;
}
.poster-genre-tags span{
  font-size:14px;
  padding:4px 8px;
}
.poster-cta-row{margin-left:0}
.poster-cta-row .retro-btn{font-size:15px;padding:10px 15px}

.poster-right{
  overflow:hidden;
  position:relative;
  background:#8b1d1b;
}
.band-main-image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
}
.good-music-sign{
  left:18px;
  top:20px;
  width:118px;
  border:none;
  box-shadow:none;
}

.strip-top{
  grid-template-columns:1.02fr 1fr 1fr;
  padding:0;
  background:
    linear-gradient(90deg,#efe4c2 0 34%,#0f777e 34% 100%);
}
.strip-top .strip-col{
  min-height:280px;
  padding:18px 22px 20px;
}
.strip-top .agenda-col{
  background:transparent;
}
.strip-top .photos-col,
.strip-top .videos-col{
  background:transparent;
}
.strip-col:not(:last-child):after{
  top:24px;
  height:calc(100% - 48px);
  background:rgba(0,0,0,.12);
}
.strip-top .photos-col:after{
  background:rgba(255,255,255,.18);
}
.ribbon-title{
  font-size:30px;
  padding:8px 16px 10px;
}
.strip-intro{font-size:17px}
.placeholder-copy{
  max-width:310px;
  margin:18px 0 24px;
  font-size:18px;
}
.mini-polaroids{height:135px}
.mini-polaroids img{height:116px}
.video-thumb-large img{height:150px}

.strip-bottom{
  grid-template-columns:1.18fr .82fr 1fr;
  min-height:255px;
  padding:0;
  background:#efe4c2;
}
.strip-bottom .strip-col{
  min-height:255px;
  padding:20px 26px;
}
.about-home p,.guestbook-home p{
  font-size:16px;
}
.vinyl-center{
  min-height:255px;
  background:
    radial-gradient(circle at center, rgba(13,124,131,.14), transparent 68%);
}
.vinyl-disc{
  width:220px;
  height:220px;
  box-shadow:0 0 0 12px #0f6f76,0 0 0 24px rgba(13,124,131,.10);
}
.vinyl-text{font-size:29px}
.guestbook-home blockquote{font-size:24px;margin-top:14px}

.booking-band{
  min-height:110px;
  grid-template-columns:1.05fr 1fr auto;
  padding:16px 34px;
  background:linear-gradient(102deg,#d8211f 0 41%,#efe4c2 41% 100%);
}
.booking-band-left strong{font-size:58px}
.booking-band-mid{font-size:25px}

.site-footer{
  border-top:0;
}
.footer-bar{
  width:min(1480px,100vw);
  grid-template-columns:230px 1fr auto;
  min-height:135px;
  padding:22px 30px;
}

@media(max-width:1100px){
  .homepage-poster{width:100%}
  .poster-stage{height:500px}
  .poster-main-logo{width:310px;height:205px}
  .poster-script{font-size:32px}
  .site-nav{gap:14px}
}


/* v1.0 homepage: approved preview is the hard visual reference */
body.approved-home{
  margin:0;
  background:#efe5c5;
  overflow-x:hidden;
  overflow-y:auto;
  min-height:100%;
}
.approved-home-wrap{
  width:100%;
  margin:0;
  padding:0;
}
.approved-home-image{
  position:relative;
  width:min(100vw,1312px);
  margin:0 auto;
  line-height:0;
}
.approved-home-image>img{
  width:100%;
  height:auto;
  display:block;
}
.approved-home-image .hotspot{
  position:absolute;
  display:block;
  z-index:5;
  background:transparent;
  border:0;
}
.approved-home-image .hotspot:hover{
  outline:2px solid rgba(255,255,255,.0);
}

/* Top navigation */
.hs-home{left:28.3%;top:1.0%;width:5.0%;height:4.1%}
.hs-about{left:33.3%;top:1.0%;width:7.1%;height:4.1%}
.hs-gigs{left:40.4%;top:1.0%;width:8.0%;height:4.1%}
.hs-photos{left:48.4%;top:1.0%;width:5.8%;height:4.1%}
.hs-videos{left:54.2%;top:1.0%;width:5.8%;height:4.1%}
.hs-guest{left:60.0%;top:1.0%;width:8.2%;height:4.1%}
.hs-contact{left:68.2%;top:1.0%;width:6.5%;height:4.1%}
.hs-booktop{left:81.2%;top:.4%;width:12.5%;height:4.7%}

/* Hero buttons */
.hs-gigs-hero{left:6.2%;top:38.0%;width:17.4%;height:4.2%}
.hs-book-hero{left:24.7%;top:38.0%;width:15.3%;height:4.2%}

/* Main row buttons */
.hs-gigs-block{left:13.6%;top:58.2%;width:17.0%;height:4.1%}
.hs-photos-block{left:44.2%;top:58.2%;width:13.7%;height:4.1%}
.hs-videos-block{left:72.7%;top:58.2%;width:16.2%;height:4.1%}

/* Second row buttons */
.hs-about-block{left:7.6%;top:78.2%;width:13.9%;height:3.8%}
.hs-guest-block{left:73.6%;top:78.2%;width:16.2%;height:3.8%}
.hs-contact-block{left:58.8%;top:87.3%;width:14.7%;height:4.0%}

/* Footer links */
.hs-footer-home{left:12.0%;top:93.1%;width:4.2%;height:2.3%}
.hs-footer-about{left:16.5%;top:93.1%;width:6.0%;height:2.3%}
.hs-footer-gigs{left:22.9%;top:93.1%;width:6.8%;height:2.3%}
.hs-footer-photos{left:30.1%;top:93.1%;width:4.8%;height:2.3%}
.hs-footer-videos{left:35.3%;top:93.1%;width:4.8%;height:2.3%}
.hs-footer-guest{left:40.6%;top:93.1%;width:7.1%;height:2.3%}
.hs-footer-contact{left:48.0%;top:93.1%;width:5.6%;height:2.3%}

@media(max-width:700px){
  .approved-home-image{
    width:100vw;
  }
}


/* v1.1 - wider approved homepage for modern desktop widths */
.approved-home-image{
  width:min(100vw, 1980px);
  max-width:1980px;
}

.approved-home-image>img{
  width:100%;
  height:auto;
  display:block;
}

.site-header,
.footer-bar{
  width:min(100vw, 1980px);
}

@media(max-width:700px){
  .approved-home-image,
  .site-header,
  .footer-bar{
    width:100vw;
    max-width:100vw;
  }
}


/* v1.2 - inner pages visually aligned with the wider approved homepage */

.inner-page{
  width:min(1600px, calc(100vw - 48px));
  max-width:1600px;
  margin:0 auto;
  padding:28px 0 48px;
}

/* Broad poster-style title band */
.page-title{
  margin:0 0 24px;
  padding:34px 42px 30px;
  min-height:155px;
  background:
    radial-gradient(circle at 86% 28%, rgba(255,255,255,.10) 0 5px, transparent 6px),
    radial-gradient(circle at 92% 70%, rgba(216,33,31,.25) 0 7px, transparent 8px),
    linear-gradient(108deg,#0d7c83 0 72%,#efe4c2 72% 100%);
  border-left:8px solid var(--red);
  border-bottom:8px solid rgba(216,33,31,.12);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.page-title:after{
  content:'★';
  position:absolute;
  right:7%;
  top:8px;
  font-size:120px;
  color:rgba(216,33,31,.22);
  transform:rotate(12deg);
}
.page-title h1{
  font-size:70px;
  letter-spacing:.5px;
}
.page-title p{
  max-width:880px;
  font-size:20px;
}

/* Two-panel hero pages */
.page-hero{
  grid-template-columns:46% 54%;
  min-height:470px;
  margin-bottom:24px;
  background:
    linear-gradient(125deg,#0d7c83 0 46%,#efe4c2 46% 100%);
  border-left:8px solid var(--red);
}
.page-hero>div{
  padding:46px 48px;
}
.page-hero h1{
  font-size:68px;
}
.page-hero p{
  font-size:20px;
  max-width:650px;
}
.page-hero>img{
  min-height:470px;
  object-fit:cover;
  object-position:center;
}

/* Content blocks are wider and less boxy */
.prose,
.publicform,
.booking-art,
.guest,
.empty-state{
  border:0;
  box-shadow:none;
}
.prose{
  padding:36px 42px;
  font-size:19px;
  background:
    linear-gradient(90deg,rgba(255,248,230,.97),rgba(247,235,199,.97));
  border-left:6px solid var(--teal);
}
.prose h2{
  font-size:40px;
}

/* Gigs */
.gig-list{
  gap:18px;
}
.gig-card{
  grid-template-columns:180px 1fr;
  min-height:170px;
  border-left:0;
  background:
    linear-gradient(90deg,#0d7c83 0 180px,#fff8e4 180px 100%);
}
.gig-date{
  background:transparent;
}
.gig-date strong{font-size:66px}
.gig-date span{font-size:31px}
.gig-main{
  padding:26px 34px;
}
.gig-main h2{font-size:34px}
.gig-main h3{font-size:21px}

/* Photos */
.filters{
  margin-bottom:22px;
  gap:11px;
}
.filters a{
  font-size:15px;
  padding:10px 17px;
}
.gallery{
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.gallery figure{
  padding:9px;
  background:#fff6dc;
}
.gallery img{
  height:290px;
}

/* Videos */
.videogrid{
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.video-card-full{
  background:#0d737a;
  border:0;
}
.video-card-full>div{
  padding:20px 22px;
}
.video-card-full h2{
  font-size:30px;
}

/* Guestbook and booking */
.two-col{
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.publicform{
  padding:32px 36px;
  background:#fff7e2;
  border-left:6px solid var(--teal);
}
.publicform h2{
  font-size:38px;
}
.publicform input,
.publicform textarea,
.publicform select{
  padding:13px;
  font-size:17px;
}
.guest-list{
  gap:18px;
}
.guest{
  padding:24px 28px 22px 72px;
  border-left:6px solid var(--red);
  background:#fff5db;
}
.guest p{
  font-size:19px;
}
.booking-layout{
  grid-template-columns:.72fr 1.28fr;
}
.booking-art{
  padding:24px;
  background:
    linear-gradient(160deg,#0d7c83,#0a5358);
}
.booking-art img{
  height:340px;
}
.sign-card{
  font-size:46px;
}
.contact-big{
  font-size:64px;
}

/* Footer follows wide desktop layout */
.footer-bar{
  width:min(1600px,calc(100vw - 48px));
  max-width:1600px;
  padding:28px 0;
}
.footer-brand img{
  width:112px;
  height:62px;
}
.footer-links{
  gap:10px 22px;
}
.footer-links a{
  font-size:15px;
}
.footer-book{
  font-size:16px;
}

/* Tablet */
@media(max-width:1100px){
  .inner-page{
    width:min(100% - 28px, 1100px);
  }
  .gallery{
    grid-template-columns:repeat(3,1fr);
  }
  .page-title h1,
  .page-hero h1{
    font-size:54px;
  }
  .page-hero{
    grid-template-columns:1fr 1fr;
  }
}

/* Mobile */
@media(max-width:760px){
  .inner-page{
    width:100%;
    padding:0 12px 30px;
  }
  .page-title{
    min-height:0;
    padding:24px 20px;
    margin-bottom:14px;
    border-left-width:5px;
  }
  .page-title h1,
  .page-hero h1{
    font-size:42px;
  }
  .page-title p,
  .page-hero p{
    font-size:17px;
  }
  .page-hero{
    grid-template-columns:1fr;
    min-height:0;
  }
  .page-hero>div{
    padding:26px 22px;
  }
  .page-hero>img{
    min-height:260px;
  }
  .prose{
    padding:24px 20px;
    font-size:17px;
  }
  .gig-card{
    grid-template-columns:1fr;
    background:#fff8e4;
  }
  .gig-date{
    background:#0d7c83;
    flex-direction:row;
    gap:12px;
    padding:10px;
  }
  .gig-date strong{font-size:42px}
  .gig-date span{font-size:24px}
  .gig-main{
    padding:20px;
  }
  .gallery{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .gallery img{
    height:210px;
  }
  .videogrid,
  .two-col,
  .booking-layout{
    grid-template-columns:1fr;
  }
  .booking-art img{
    height:240px;
  }
  .footer-bar{
    width:100%;
    padding:22px 16px;
  }
}

@media(max-width:500px){
  .gallery{
    grid-template-columns:1fr;
  }
}


/* v1.2.1 - restore normal vertical scrolling on approved homepage */
html,
body.approved-home{
  min-height:100%;
  height:auto !important;
  overflow-y:auto !important;
}
.approved-home-wrap{
  display:block;
  width:100%;
  min-height:100%;
  height:auto !important;
  overflow:visible !important;
}
.approved-home-image{
  display:block;
  position:relative;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
.approved-home-image>img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none !important;
}


/* v1.2.2 - fit complete approved homepage in desktop view and use latest approved image */
body.approved-home {
  background:#d9ceb0;
}

.approved-home-wrap {
  width:100%;
  min-height:100vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:0;
}

.approved-home-image {
  position:relative;
  display:inline-block;
  width:auto !important;
  max-width:100vw;
  max-height:100vh;
  margin:0 auto;
  line-height:0;
}

.approved-home-image > img {
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100vw;
  max-height:100vh;
  object-fit:contain;
}

@media (min-width: 900px) {
  .approved-home-wrap {
    min-height:100vh;
    overflow:hidden;
  }
  .approved-home-image {
    max-width:100vw;
    max-height:100vh;
  }
  .approved-home-image > img {
    max-width:100vw;
    max-height:100vh;
    width:auto !important;
    height:auto !important;
  }
}

/* On mobile keep normal flowing image so it stays usable and scrollable */
@media (max-width: 899px) {
  .approved-home-wrap {
    display:block;
    min-height:0;
    overflow:visible;
  }
  .approved-home-image {
    width:100% !important;
    max-width:100% !important;
    max-height:none !important;
  }
  .approved-home-image > img {
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
  }
}


/* v1.3 - first viewport = approved hero, everything else scrolls below */
body.approved-home{overflow-y:auto!important}
.home-live{width:min(1980px,100%);margin:0 auto;background:#efe5c5}
.site-header{
  position:sticky;top:0;z-index:1000;
  min-height:68px;
}
.site-logo{
  height:58px;
  overflow:visible;
}
.site-logo img{
  width:auto!important;
  height:56px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  border-radius:0!important;
}

.home-first-screen{
  position:relative;
  width:100%;
  height:calc(100vh - 68px);
  min-height:520px;
  max-height:860px;
  overflow:hidden;
  background:#0b4044;
}
.home-first-screen>img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.hero-live-links{position:absolute;inset:0;pointer-events:none}
.hero-hit{position:absolute;display:block;pointer-events:auto}
.hero-hit.gigs{left:6.4%;bottom:7.2%;width:17.0%;height:10.0%}
.hero-hit.book{left:25.0%;bottom:7.2%;width:15.0%;height:10.0%}

.home-content-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  width:100%;
  background:linear-gradient(90deg,#efe4c2 0 33.333%,#0f777e 33.333% 100%);
}
.home-content-row.second{
  grid-template-columns:1.15fr .8fr 1fr;
  background:#efe4c2;
}
.home-panel{
  min-height:310px;
  padding:24px 28px;
  position:relative;
}
.home-panel.teal{color:#fff}
.home-panel:not(:last-child):after{
  content:'';
  position:absolute;top:25px;right:0;width:1px;height:calc(100% - 50px);
  background:rgba(0,0,0,.14);
}
.home-panel.teal:not(:last-child):after{background:rgba(255,255,255,.20)}
.about-wide p,.guest-wide p{font-size:18px}
.guest-wide blockquote{font-family:Georgia,serif;font-style:italic;font-size:27px;margin:22px 0 10px}
.vinyl-home{display:grid;place-items:center;min-height:310px}
.vinyl-home .vinyl-disc{width:240px;height:240px}

@media(max-width:900px){
  .home-first-screen{
    height:auto;
    min-height:0;
    max-height:none;
  }
  .home-first-screen>img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .home-content-row,
  .home-content-row.second{
    grid-template-columns:1fr;
    background:#efe4c2;
  }
  .home-panel.teal{background:#0f777e}
  .home-panel:not(:last-child):after{display:none}
  .hero-hit.gigs{left:6.4%;bottom:7.2%;width:17%;height:10%}
  .hero-hit.book{left:25%;bottom:7.2%;width:15%;height:10%}
}


/* v1.3.1 - narrower first screen + one continuous poster canvas */

body{
  background:#efe5c5;
}

/* Keep the whole public site centered on a normal desktop canvas. */
.site-header{
  min-height:64px;
  grid-template-columns:145px 1fr auto;
  padding-left:max(18px,calc((100vw - 1320px)/2));
  padding-right:max(18px,calc((100vw - 1320px)/2));
}
.site-logo{
  height:54px;
}
.site-logo img{
  width:auto!important;
  height:52px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.site-nav{gap:20px}
.site-nav a{font-size:14px}
.book-top{font-size:14px;padding:9px 16px}

/* First visible part: exact hero aspect ratio, never crop it with cover. */
.home-live{
  width:min(1320px,100%);
  max-width:1320px;
  margin:0 auto;
  background:
    radial-gradient(circle at 8% 18%,rgba(216,33,31,.11) 0 4px,transparent 5px),
    radial-gradient(circle at 90% 24%,rgba(13,124,131,.12) 0 4px,transparent 5px),
    #efe4c2;
}
.home-first-screen{
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible;
  background:transparent;
}
.home-first-screen>img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
}

/* Hotspots follow the image percentages. */
.hero-live-links{position:absolute;inset:0}
.hero-hit.gigs{left:6.4%;bottom:7.2%;width:17%;height:10%}
.hero-hit.book{left:25%;bottom:7.2%;width:15%;height:10%}

/* Lower homepage now uses one canvas instead of hard colored boxes. */
.home-content-row,
.home-content-row.second{
  width:100%;
  position:relative;
  gap:0;
  background:
    radial-gradient(circle at 11% 28%,rgba(216,33,31,.11) 0 4px,transparent 5px),
    radial-gradient(circle at 84% 62%,rgba(13,124,131,.13) 0 4px,transparent 5px),
    linear-gradient(180deg,#efe4c2,#f2e8ca);
}
.home-content-row{
  grid-template-columns:1fr 1fr 1fr;
  padding:18px 20px 8px;
}
.home-content-row.second{
  grid-template-columns:1.12fr .78fr 1fr;
  padding:0 20px 18px;
}
.home-panel{
  min-height:280px;
  padding:18px 20px 20px;
  background:transparent!important;
  color:var(--ink)!important;
  border:0!important;
  box-shadow:none!important;
}
.home-panel:after{
  display:none!important;
}

/* Teal brush fields flow behind photo/video content without making boxes. */
.photos-home:before,
.home-content-row > .home-panel.teal:last-child:before{
  content:'';
  position:absolute;
  z-index:0;
  top:12px;
  bottom:10px;
  background:
    radial-gradient(circle at 20% 30%,rgba(255,255,255,.13) 0 3px,transparent 4px),
    linear-gradient(145deg,#12848b,#0c7077);
  clip-path:polygon(4% 0,100% 3%,96% 96%,0 100%);
}
.photos-home:before{
  left:33.1%;
  width:33.8%;
}
.home-content-row > .home-panel.teal:last-child:before{
  left:66.3%;
  width:33.7%;
}
.photos-home,
.home-content-row > .home-panel.teal:last-child{
  color:#fff!important;
}
.home-panel > *{
  position:relative;
  z-index:1;
}

/* More poster-like headings, less rectangular UI. */
.ribbon-title{
  background:var(--teal);
  box-shadow:none;
  transform:skewX(-10deg) rotate(-1deg);
}
.ribbon-title.red{
  background:var(--red);
}
.agenda .ribbon-title{
  background:var(--teal);
}
.about-wide,
.guest-wide{
  padding-top:22px;
}
.about-wide p,
.guest-wide p{
  font-size:16px;
  line-height:1.55;
}
.guest-wide blockquote{
  font-size:24px;
}

/* Center record is decorative rather than a separate panel. */
.vinyl-home{
  background:
    radial-gradient(circle at center,rgba(13,124,131,.15),transparent 67%);
}
.vinyl-home .vinyl-disc{
  width:215px;
  height:215px;
  box-shadow:0 0 0 10px #0f6f76,0 0 0 18px rgba(13,124,131,.10);
}
.vinyl-home .vinyl-text{font-size:27px}

/* Booking strip follows the poster canvas. */
.booking-band{
  width:100%;
  margin:0;
  min-height:112px;
  padding:16px 28px;
  border:0;
  background:
    linear-gradient(104deg,var(--red) 0 40%,#efe4c2 40% 100%);
}
.booking-band-left strong{font-size:56px}
.booking-band-mid{font-size:24px}

/* Footer width matches the homepage. */
.footer-bar{
  width:min(1320px,100%);
  max-width:1320px;
}

/* Keep inner pages on the same calmer width. */
.inner-page{
  width:min(1320px,calc(100vw - 36px));
  max-width:1320px;
}

/* Tablet and mobile */
@media(max-width:900px){
  .site-header{
    padding-left:12px;
    padding-right:12px;
  }
  .home-live{
    width:100%;
  }
  .home-content-row,
  .home-content-row.second{
    grid-template-columns:1fr;
    padding:12px;
  }
  .photos-home:before,
  .home-content-row > .home-panel.teal:last-child:before{
    display:none;
  }
  .photos-home,
  .home-content-row > .home-panel.teal:last-child{
    background:linear-gradient(145deg,#12848b,#0c7077)!important;
    color:#fff!important;
    margin:6px 0;
    clip-path:polygon(2% 0,100% 2%,98% 98%,0 100%);
  }
  .vinyl-home{min-height:240px}
  .booking-band{grid-template-columns:1fr;padding:18px;text-align:center}
}


/* v1.5 homepage — calmer, max 1280px, dynamic content */
body{
  background:#efe5c5;
}
.v15-header{
  width:min(1280px,100%);
  margin:0 auto;
  min-height:72px;
  grid-template-columns:95px 1fr 170px;
  padding:6px 22px;
  background:#f3e8c8;
  border-bottom:3px solid #158088;
  box-shadow:none;
}
.v15-logo{
  height:58px;
  display:flex;
  align-items:center;
}
.v15-logo img{
  display:block;
  width:auto!important;
  height:52px!important;
  max-width:80px;
  object-fit:contain!important;
  transform:none!important;
}
.v15-nav{
  justify-content:center;
  gap:25px;
}
.v15-nav a{
  font-size:14px;
}
.v15-book{
  justify-self:end;
  font-size:15px;
}

.v15-home{
  width:min(1280px,100%);
  margin:0 auto;
  background:#f2e7c8;
}
.v15-hero{
  position:relative;
  width:100%;
  border-bottom:4px solid #158088;
}
.v15-hero img{
  display:block;
  width:100%;
  height:auto;
}
.v15-hit{
  position:absolute;
  display:block;
  z-index:3;
}
.v15-hit.gigs{left:3.8%;bottom:6.5%;width:17.2%;height:12%}
.v15-hit.book{left:22.5%;bottom:6.5%;width:15.2%;height:12%}

.v15-row{
  display:grid;
  width:100%;
  background:
    radial-gradient(circle at 8% 15%,rgba(216,33,31,.06) 0 3px,transparent 4px),
    #f2e7c8;
}
.v15-row-one{
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  padding:34px 36px 28px;
  border-bottom:4px solid #158088;
}
.v15-card{
  min-height:300px;
  padding:0 26px 4px;
  text-align:center;
  position:relative;
}
.v15-card:not(:last-child){
  border-right:1px solid rgba(12,92,96,.28);
}
.v15-card h2,
.v15-about h2,
.v15-guest h2{
  display:inline-block;
  margin:0 0 18px;
  padding:8px 15px;
  background:#14838a;
  color:#fff;
  font-family:'Oswald',Impact,sans-serif;
  font-size:27px;
  line-height:1;
  transform:rotate(-1deg);
}
.v15-about h2,
.v15-guest h2{
  background:#d5221e;
}
.v15-icon{
  display:inline-grid;
  place-items:center;
  min-width:36px;
  margin-right:7px;
  color:#092f31;
  background:#f8edcf;
  border-radius:50%;
}
.v15-centered{
  text-align:center;
  font-size:17px;
  line-height:1.55;
}
.v15-card .retro-btn{
  margin-top:12px;
}
.v15-gig{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:left;
  margin:10px 0 18px;
}
.v15-date{
  width:80px;height:105px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:2px solid #103b3d;
  background:#fff8e7;
}
.v15-date b{font-family:'Anton',Impact,sans-serif;font-size:36px;color:#d5221e;line-height:1}
.v15-date span{font-family:'Oswald',Impact,sans-serif;font-size:22px}
.v15-photo-stack{
  height:140px;
  position:relative;
  margin:14px auto 8px;
  max-width:330px;
}
.v15-photo-stack img{
  position:absolute;
  width:47%;
  height:112px;
  object-fit:cover;
  border:7px solid #fff6df;
  box-shadow:0 4px 10px rgba(0,0,0,.16);
}
.v15-photo-stack img:first-child{left:10%;top:12px;transform:rotate(-7deg)}
.v15-photo-stack img:last-child{right:8%;top:9px;transform:rotate(6deg)}
.v15-video-thumb{
  position:relative;
  display:block;
  margin:15px auto 8px;
  max-width:340px;
  border:3px solid #111;
}
.v15-video-thumb img{
  display:block;
  width:100%;
  height:145px;
  object-fit:cover;
}
.v15-video-thumb span{
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  display:grid;place-items:center;
  width:58px;height:58px;
  border-radius:50%;
  border:3px solid #fff;
  background:rgba(0,0,0,.45);
  color:#fff;font-size:25px;
}

.v15-row-two{
  grid-template-columns:1.05fr .9fr 1fr;
  gap:34px;
  align-items:center;
  padding:34px 48px 32px;
  border-bottom:4px solid #158088;
}
.v15-about,
.v15-guest{
  min-height:310px;
}
.v15-about p{
  font-size:16px;
  line-height:1.58;
}
.v15-record{
  display:grid;
  place-items:center;
}
.v15-record img{
  display:block;
  width:min(100%,330px);
  height:auto;
}
.v15-guest{
  text-align:center;
}
.v15-guest blockquote{
  margin:22px 0 12px;
  padding:28px 24px;
  background:#f8efd9;
  border-radius:14px;
  font-family:Georgia,serif;
  font-size:20px;
  font-style:italic;
  line-height:1.45;
  box-shadow:0 3px 12px rgba(0,0,0,.06);
}
.v15-guest p{
  text-align:right;
  font-weight:bold;
  margin-right:18px;
}

.v15-footer{
  width:min(1280px,100%);
  margin:0 auto;
  background:#f3e8c8;
  color:#112e30;
  border-top:0;
}
.v15-footerbar{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  padding:20px 42px 10px;
}
.v15-footerlinks{
  justify-content:center;
}
.v15-footerlinks a{
  font-size:13px;
  color:#112e30;
}
.v15-socials{
  display:flex;
  gap:12px;
}
.v15-socials span{
  width:34px;height:34px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#0c3e42;
  color:#fff;
  font-weight:bold;
}
.v15-footerbottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:10px 42px 22px;
  border-top:1px solid rgba(13,124,131,.23);
  font-size:12px;
}

@media(max-width:900px){
  .v15-header{
    grid-template-columns:80px 1fr auto;
    padding:6px 12px;
  }
  .v15-nav{gap:12px}
  .v15-row-one,
  .v15-row-two{
    grid-template-columns:1fr;
  }
  .v15-row-one{gap:18px;padding:24px 14px}
  .v15-row-two{gap:20px;padding:26px 18px}
  .v15-card:not(:last-child){border-right:0;border-bottom:1px solid rgba(12,92,96,.2);padding-bottom:26px}
  .v15-about,.v15-guest{min-height:0}
}
@media(max-width:760px){
  .v15-header{
    grid-template-columns:70px 1fr auto;
    min-height:62px;
  }
  .v15-logo img{height:46px!important;max-width:62px}
  .v15-nav{
    display:none;
    position:absolute;
    top:62px;left:0;right:0;
    flex-direction:column;
    background:#f3e8c8;
    padding:14px;
    z-index:1001;
  }
  body.nav-open .v15-nav{display:flex}
  .nav-toggle{display:block}
  .v15-book{font-size:0;padding:9px 11px}
  .v15-book:after{content:'BOEK';font-size:12px}
  .v15-row-one,.v15-row-two{padding-left:12px;padding-right:12px}
  .v15-card{padding-left:12px;padding-right:12px}
  .v15-footerbar{grid-template-columns:1fr;padding:18px}
  .v15-footerlinks{gap:8px 14px}
  .v15-socials{justify-content:center;margin-top:12px}
  .v15-footerbottom{flex-direction:column;text-align:center;padding:10px 18px 18px}
}


/* v1.6 - footer simpler, slightly livelier layout, cookie compliance */
.v15-home{
  width:min(1280px,100%);
}

/* a bit more visual energy, but still calmer than the earlier busy version */
.v15-row{
  background:
    radial-gradient(circle at 9% 18%, rgba(216,33,31,.08) 0 3px, transparent 4px),
    radial-gradient(circle at 84% 26%, rgba(13,124,131,.08) 0 3px, transparent 4px),
    linear-gradient(#f2e7c8,#f2e7c8);
}
.v15-row-one{
  gap:34px;
  padding:36px 38px 36px;
  border-bottom:0; /* blue line above the record must be gone */
}
.v15-row-two{
  gap:42px;
  padding:6px 42px 38px;
  border-bottom:4px solid #158088;
}
.v15-card{
  min-height:320px;
  padding:2px 22px 10px;
}
.v15-about,.v15-guest{
  min-height:330px;
}

/* bring back the brush-stroke headers from the earlier design */
.v15-card h2,
.v15-about h2,
.v15-guest h2{
  position:relative;
  display:inline-block;
  margin:0 0 20px;
  padding:10px 20px 12px;
  color:#fff;
  font-family:'Oswald', Impact, sans-serif;
  font-size:28px;
  font-weight:700;
  line-height:1;
  letter-spacing:.2px;
  background:transparent;
  transform:rotate(-1.2deg);
  isolation:isolate;
}
.v15-card h2::before,
.v15-about h2::before,
.v15-guest h2::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:var(--teal);
  clip-path:polygon(2% 18%,98% 0,100% 80%,3% 100%,0 56%);
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.v15-about h2::before,
.v15-guest h2::before{
  background:var(--red);
}
.v15-icon{
  background:#f9eed2;
}

/* Slightly less empty than v1.5, but avoid boxed look */
.v15-card::before,
.v15-about::before,
.v15-guest::before{
  content:'';
  position:absolute;
  inset:16px 0 8px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0));
  pointer-events:none;
}
.v15-card:not(:last-child)::after{
  content:'';
  position:absolute;
  top:28px;
  right:-17px;
  width:1px;
  height:calc(100% - 56px);
  background:rgba(0,0,0,.14);
}
.v15-card:not(:last-child){
  border-right:0;
}

.v15-photo-stack{
  margin:18px auto 14px;
}
.v15-video-thumb{
  margin:20px auto 14px;
}

.v15-row-two{
  position:relative;
}
.v15-record{
  align-self:start;
  padding-top:18px;
}
.v15-record img{
  width:min(100%,230px); /* about 30% smaller */
  height:auto;
  display:block;
  margin:0 auto;
}

/* Footer without bottom menu */
.v15-footer{
  width:min(1280px,100%);
  background:#efe4c2;
  color:#163638;
  border-top:4px solid #158088;
}
.v15-footerbar{
  grid-template-columns:1fr auto;
  gap:20px;
  padding:22px 36px 12px;
}
.v15-footer-meta strong{
  display:block;
  font-family:'Oswald', Impact, sans-serif;
  font-size:22px;
  line-height:1;
}
.v15-footer-meta span{
  display:block;
  margin-top:5px;
  font-size:14px;
}
.v15-footerlinks{
  display:none !important;
}
.v15-footerbottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:12px 36px 22px;
  border-top:1px solid rgba(0,0,0,.1);
  font-size:13px;
}
.v15-footerbottom a{
  text-decoration:none;
}
.v15-footerbottom a:hover{
  color:var(--red);
}

/* Cookie banner */
.cookie-banner{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:9999;
}
.cookie-banner-inner{
  width:min(980px,100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  background:#173b3f;
  color:#fff4db;
  border:3px solid #f2dec0;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.cookie-copy strong{
  display:block;
  margin-bottom:6px;
  font-family:'Oswald', Impact, sans-serif;
  font-size:24px;
}
.cookie-copy p{
  margin:0;
  font-size:14px;
  line-height:1.45;
}
.cookie-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.cookie-btn{
  display:inline-block;
  border:0;
  cursor:pointer;
  font-family:'Oswald', Impact, sans-serif;
  font-size:15px;
  font-weight:700;
  color:#fff;
  background:linear-gradient(#e62d28,#bf1715);
  border-radius:12px;
  box-shadow:0 3px 0 #8d1412;
  padding:11px 16px;
}
.cookie-btn.secondary{
  background:linear-gradient(#2b666b,#153c40);
  box-shadow:0 3px 0 #0d2a2d;
}

.video-consent-box{
  display:grid;
  place-items:center;
  min-height:250px;
  padding:20px;
  text-align:center;
  border:3px dashed rgba(0,0,0,.18);
  background:#f9f0d8;
}
.video-consent-box strong{
  font-family:'Oswald', Impact, sans-serif;
  font-size:28px;
}
.video-consent-box p{
  max-width:420px;
  margin:8px 0 18px;
  font-size:16px;
  line-height:1.5;
}

@media(max-width:900px){
  .v15-row-one,
  .v15-row-two{
    grid-template-columns:1fr;
    gap:20px;
  }
  .v15-row-one{
    padding:24px 16px 20px;
  }
  .v15-row-two{
    padding:4px 16px 26px;
  }
  .v15-card,
  .v15-about,
  .v15-guest{
    min-height:0;
    padding:4px 10px 10px;
  }
  .v15-card:not(:last-child)::after{
    display:none;
  }
  .cookie-banner{
    left:10px;right:10px;bottom:10px;
  }
  .cookie-banner-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .v15-footerbar{
    grid-template-columns:1fr;
    text-align:center;
    padding:18px 18px 10px;
  }
  .v15-socials{
    justify-content:center;
  }
  .v15-footerbottom{
    flex-direction:column;
    text-align:center;
    padding:10px 18px 18px;
  }
}


/* v1.6.1 homepage styling refinement */
.v15-row{
  background:
    radial-gradient(circle at 7% 14%, rgba(216,33,31,.10) 0 3px, transparent 4px),
    radial-gradient(circle at 87% 18%, rgba(13,124,131,.11) 0 3px, transparent 4px),
    radial-gradient(circle at 22% 66%, rgba(216,33,31,.07) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 72%, rgba(13,124,131,.08) 0 2px, transparent 3px),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.05)),
    linear-gradient(#f2e7c8,#f2e7c8);
}
.v15-row-one{
  position:relative;
  overflow:hidden;
}
.v15-row-one::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(116deg, transparent 0 14%, rgba(13,124,131,.08) 14% 19%, transparent 19% 100%),
    linear-gradient(167deg, transparent 0 58%, rgba(216,33,31,.045) 58% 66%, transparent 66% 100%);
  pointer-events:none;
}
.v15-row-two{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 13% 24%, rgba(216,33,31,.09) 0 3px, transparent 4px),
    radial-gradient(circle at 85% 77%, rgba(13,124,131,.10) 0 3px, transparent 4px),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0)),
    linear-gradient(#f2e7c8,#f2e7c8);
}
.v15-row-two::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(122deg, transparent 0 19%, rgba(216,33,31,.04) 19% 24%, transparent 24% 100%),
    linear-gradient(58deg, transparent 0 69%, rgba(13,124,131,.06) 69% 74%, transparent 74% 100%);
  pointer-events:none;
}

/* Make headers closer to the older brush/paint look */
.v15-card h2,
.v15-about h2,
.v15-guest h2{
  padding:10px 20px 12px;
  transform:rotate(-1.3deg);
  z-index:2;
}
.v15-card h2::before,
.v15-about h2::before,
.v15-guest h2::before{
  clip-path:polygon(1% 20%, 92% 2%, 100% 14%, 98% 84%, 86% 100%, 3% 92%, 0 56%);
  border-radius:0;
}
.v15-card h2::after,
.v15-about h2::after,
.v15-guest h2::after{
  content:'';
  position:absolute;
  z-index:-2;
  left:-10px;
  right:-18px;
  top:8px;
  bottom:-6px;
  opacity:.95;
  background:inherit;
  clip-path:polygon(3% 18%, 96% 0, 100% 24%, 94% 88%, 82% 100%, 0 86%, 1% 42%);
  filter:brightness(.9);
}
.v15-card h2 span,
.v15-about h2 span,
.v15-guest h2 span{
  position:relative;
  z-index:1;
}
.v15-card h2{ margin-bottom:22px; }
.v15-about h2,
.v15-guest h2{ margin-bottom:22px; }

/* Fill layout a bit more so it feels less empty */
.v15-card,
.v15-about,
.v15-guest{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
}
.v15-centered,
.v15-about p,
.v15-guest blockquote,
.v15-guest p{
  position:relative;
  z-index:1;
}
.v15-photo-stack{ max-width:350px; }
.v15-video-thumb{ max-width:350px; }
.v15-gig{ margin-top:16px; }
.v15-record{
  padding-top:10px;
}
.v15-record img{
  width:min(100%,220px);
}

/* mobile cleanup */
@media(max-width:900px){
  .v15-row-one::before,
  .v15-row-two::before{display:none}
}


/* v1.6.2 - visibly richer homepage + true paint-swipe headings */

/* richer background, clearly visible but still controlled */
.v15-row-one{
  background:
    linear-gradient(166deg, transparent 0 12%, rgba(13,124,131,.12) 12% 18%, transparent 18% 100%),
    linear-gradient(14deg, transparent 0 67%, rgba(216,33,31,.07) 67% 74%, transparent 74% 100%),
    radial-gradient(circle at 6% 18%, rgba(216,33,31,.16) 0 4px, transparent 5px),
    radial-gradient(circle at 89% 28%, rgba(13,124,131,.16) 0 4px, transparent 5px),
    #f2e7c8 !important;
}
.v15-row-two{
  background:
    linear-gradient(23deg, transparent 0 14%, rgba(216,33,31,.08) 14% 22%, transparent 22% 100%),
    linear-gradient(151deg, transparent 0 70%, rgba(13,124,131,.10) 70% 78%, transparent 78% 100%),
    radial-gradient(circle at 18% 82%, rgba(216,33,31,.14) 0 4px, transparent 5px),
    radial-gradient(circle at 83% 18%, rgba(13,124,131,.15) 0 4px, transparent 5px),
    #f2e7c8 !important;
}

/* texture bands behind the rows */
.v15-row-one::after,
.v15-row-two::after{
  content:'';
  position:absolute;
  pointer-events:none;
  z-index:0;
  opacity:.22;
}
.v15-row-one::after{
  left:2%;
  right:2%;
  top:18px;
  height:72px;
  background:
    repeating-linear-gradient(-8deg, rgba(13,124,131,.22) 0 3px, transparent 3px 10px);
  clip-path:polygon(0 35%, 100% 4%, 98% 75%, 3% 100%);
}
.v15-row-two::after{
  left:1%;
  right:1%;
  bottom:20px;
  height:58px;
  background:
    repeating-linear-gradient(7deg, rgba(216,33,31,.16) 0 2px, transparent 2px 9px);
  clip-path:polygon(0 20%, 97% 0, 100% 72%, 4% 100%);
}

/* headline labels: strong brush stroke, same visual language as approved previews */
.v15-card h2,
.v15-about h2,
.v15-guest h2{
  position:relative;
  z-index:3;
  display:inline-block;
  padding:10px 22px 12px;
  margin:0 0 24px;
  background:none !important;
  color:#fff;
  font-family:'Oswald',Impact,sans-serif;
  font-size:29px;
  line-height:1;
  transform:rotate(-1deg);
  text-shadow:0 1px 0 rgba(0,0,0,.16);
}
.v15-card h2::before,
.v15-about h2::before,
.v15-guest h2::before{
  content:'';
  position:absolute;
  z-index:-1;
  left:-14px;
  right:-20px;
  top:-3px;
  bottom:-3px;
  background:#0d7c83;
  clip-path:polygon(
    0 28%, 7% 13%, 18% 17%, 28% 7%, 40% 13%,
    52% 4%, 63% 12%, 74% 3%, 84% 9%, 100% 0,
    96% 24%, 100% 38%, 97% 56%, 100% 70%,
    93% 82%, 83% 78%, 72% 91%, 59% 83%,
    46% 96%, 33% 87%, 19% 100%, 7% 88%, 0 92%,
    4% 72%, 0 57%, 3% 43%
  );
  transform:skewX(-4deg);
}
.v15-about h2::before,
.v15-guest h2::before{
  background:#d8211f;
}
.v15-card h2::after,
.v15-about h2::after,
.v15-guest h2::after{
  content:'';
  position:absolute;
  z-index:-2;
  left:-7px;
  right:-30px;
  top:8px;
  bottom:-10px;
  opacity:.25;
  background:#082f31;
  clip-path:polygon(0 35%,100% 0,96% 72%,8% 100%);
}

/* decorative stars and notes */
.retro-star,
.retro-note{
  position:absolute;
  z-index:1;
  pointer-events:none;
  font-family:Arial,sans-serif;
  line-height:1;
}
.retro-star{ color:#d8211f; }
.retro-note{ color:#111; font-weight:bold; }
.star-a{left:2.2%;top:10%;font-size:42px;transform:rotate(12deg)}
.star-b{right:3.1%;top:17%;font-size:34px;color:#0d7c83;transform:rotate(-9deg)}
.note-a{right:31.5%;bottom:7%;font-size:38px;transform:rotate(9deg)}
.star-c{left:31%;top:17%;font-size:38px}
.star-d{right:4%;bottom:10%;font-size:44px}
.note-b{left:62%;top:10%;font-size:34px;transform:rotate(-8deg)}

/* slightly stronger content presence */
.v15-card{
  z-index:2;
  padding-top:8px;
}
.v15-about,
.v15-guest,
.v15-record{
  z-index:2;
}
.v15-photo-stack img{
  box-shadow:0 6px 14px rgba(0,0,0,.22);
}
.v15-video-thumb{
  box-shadow:0 6px 14px rgba(0,0,0,.16);
}
.v15-guest blockquote{
  box-shadow:0 5px 15px rgba(0,0,0,.09);
}

/* keep mobile calm */
@media(max-width:900px){
  .retro-star,.retro-note{display:none}
  .v15-row-one::after,
  .v15-row-two::after{display:none}
}


/* v1.6.3 - background between 1.4 and 1.6, red swipe menu hover, subtler inner-page headings */

/* Menu hover/active as red brush swipe */
.v15-nav a,
.site-nav a{
  position:relative;
  z-index:1;
  padding:8px 12px;
  border-radius:0;
  transition:color .18s ease;
}
.v15-nav a::before,
.site-nav a::before{
  content:'';
  position:absolute;
  z-index:-1;
  left:2px;
  right:2px;
  top:5px;
  bottom:4px;
  background:linear-gradient(180deg,#e5352f,#c51c18);
  clip-path:polygon(3% 24%, 14% 12%, 28% 16%, 43% 8%, 58% 14%, 76% 6%, 94% 10%, 98% 34%, 95% 66%, 100% 87%, 81% 80%, 66% 94%, 47% 84%, 28% 91%, 11% 84%, 1% 60%);
  transform:scale(.82);
  opacity:0;
  transition:opacity .15s ease, transform .18s ease;
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.v15-nav a:hover,
.v15-nav a.active,
.site-nav a:hover,
.site-nav a.active{
  color:#fff !important;
}
.v15-nav a:hover::before,
.v15-nav a.active::before,
.site-nav a:hover::before,
.site-nav a.active::before{
  opacity:1;
  transform:scale(1);
}

/* Homepage background: midpoint between playful v1.4 and calmer v1.6 */
.v15-row-one{
  background:
    linear-gradient(164deg, transparent 0 14%, rgba(13,124,131,.10) 14% 19%, transparent 19% 100%),
    linear-gradient(16deg, transparent 0 69%, rgba(216,33,31,.055) 69% 75%, transparent 75% 100%),
    radial-gradient(circle at 7% 17%, rgba(216,33,31,.12) 0 4px, transparent 5px),
    radial-gradient(circle at 89% 26%, rgba(13,124,131,.13) 0 4px, transparent 5px),
    linear-gradient(#f2e7c8,#f2e7c8) !important;
}
.v15-row-two{
  background:
    linear-gradient(26deg, transparent 0 16%, rgba(216,33,31,.06) 16% 22%, transparent 22% 100%),
    linear-gradient(150deg, transparent 0 72%, rgba(13,124,131,.08) 72% 78%, transparent 78% 100%),
    radial-gradient(circle at 17% 80%, rgba(216,33,31,.11) 0 4px, transparent 5px),
    radial-gradient(circle at 84% 19%, rgba(13,124,131,.12) 0 4px, transparent 5px),
    linear-gradient(#f2e7c8,#f2e7c8) !important;
}
.v15-row-one::after,
.v15-row-two::after{opacity:.15}

/* Subtler inner page hero/title areas */
.inner-page{
  width:min(1240px, calc(100vw - 34px));
  max-width:1240px;
}
.page-title{
  position:relative;
  overflow:hidden;
  min-height:0;
  margin:0 0 22px;
  padding:22px 28px 20px;
  background:
    linear-gradient(130deg, rgba(13,124,131,.10) 0 16%, transparent 16% 100%),
    linear-gradient(#f4ead0,#f4ead0);
  border-left:0;
  border-bottom:3px solid rgba(13,124,131,.18);
  color:#1a2d2f;
}
.page-title:after{
  display:none;
}
.page-title .eyebrow,
.page-hero .eyebrow{
  color:#c71f1a;
  font-size:12px;
  letter-spacing:1.8px;
}
.page-title h1,
.page-hero h1{
  position:relative;
  display:inline-block;
  margin:8px 0 10px;
  padding:8px 16px 10px;
  color:#fff;
  font-family:'Oswald', Impact, sans-serif;
  font-size:42px;
  line-height:1;
  letter-spacing:.4px;
  z-index:1;
}
.page-title h1::before,
.page-hero h1::before{
  content:'';
  position:absolute;
  z-index:-1;
  left:-10px;
  right:-18px;
  top:-2px;
  bottom:-3px;
  background:#d8211f;
  clip-path:polygon(2% 20%, 12% 7%, 27% 12%, 39% 5%, 55% 13%, 70% 3%, 84% 10%, 100% 0, 97% 31%, 100% 59%, 95% 85%, 83% 82%, 68% 97%, 49% 87%, 29% 96%, 11% 85%, 0 63%);
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.page-title p,
.page-hero p{
  color:#223537;
  max-width:760px;
  font-size:17px;
}
.page-hero{
  display:grid;
  grid-template-columns:44% 56%;
  min-height:360px;
  margin-bottom:20px;
  background:
    linear-gradient(132deg, rgba(13,124,131,.11) 0 18%, transparent 18% 100%),
    linear-gradient(#f4ead0,#f4ead0);
  border-left:0;
  border-bottom:3px solid rgba(13,124,131,.18);
}
.page-hero > div{
  padding:24px 28px;
  color:#223537;
}
.page-hero > img{
  min-height:360px;
}

/* Secondary inner page panels a touch more restrained */
.prose h2,.publicform h2{
  font-size:28px;
}

@media(max-width:900px){
  .page-title h1,
  .page-hero h1{font-size:34px}
  .page-hero{grid-template-columns:1fr; min-height:0}
  .page-hero > img{min-height:240px}
}
@media(max-width:760px){
  .v15-nav a,
  .site-nav a{padding:10px 12px}
  .page-title{padding:18px 16px 16px}
  .page-title h1,
  .page-hero h1{font-size:30px}
  .page-title p,
  .page-hero p{font-size:15px}
  .inner-page{width:min(1240px, calc(100vw - 20px))}
}


/* v1.6.4 - inner pages/forms/buttons/cards aligned with new heading style */

/* shared inner-page panel language */
.paper-panel,
.prose,
.publicform,
.booking-art,
.guest,
.empty-state,
.video-card-full,
.gig-card,
.gallery figure{
  border:0;
  box-shadow:none;
}

.paper-panel,
.prose,
.publicform,
.guest,
.empty-state{
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.18)),
    #f7eed4;
  border-left:4px solid rgba(13,124,131,.26);
}

/* brush-like subsection titles */
.prose h2,
.publicform h2,
.brush-title,
.gig-main h2,
.video-card-full h2{
  position:relative;
  display:inline-block;
  margin:0 0 18px;
  padding:8px 16px 10px;
  color:#fff;
  font-family:'Oswald', Impact, sans-serif;
  font-size:24px;
  line-height:1;
  letter-spacing:.2px;
  z-index:1;
  background:none !important;
}
.prose h2::before,
.publicform h2::before,
.brush-title::before,
.gig-main h2::before,
.video-card-full h2::before{
  content:'';
  position:absolute;
  z-index:-1;
  left:-10px;
  right:-14px;
  top:-2px;
  bottom:-3px;
  background:#d8211f;
  clip-path:polygon(2% 18%, 13% 7%, 27% 11%, 41% 4%, 57% 12%, 72% 3%, 87% 9%, 100% 0, 97% 31%, 100% 60%, 95% 86%, 83% 83%, 69% 98%, 49% 87%, 28% 96%, 12% 85%, 0 63%);
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.video-card-full h2::before,
.gig-main h2::before{
  background:#0d7c83;
}

.brush-title{
  margin-bottom:8px;
  font-size:22px;
}
.brush-title::before{
  background:#0d7c83;
}

/* forms */
.publicform{
  padding:28px 28px 26px;
}
.publicform label{
  display:block;
  margin:0 0 14px;
  font-family:'Oswald', Impact, sans-serif;
  color:#173638;
  font-size:16px;
  letter-spacing:.2px;
}
.publicform label small{
  font-family:Arial, sans-serif;
  font-size:12px;
  letter-spacing:0;
}
.publicform input,
.publicform textarea,
.publicform select{
  display:block;
  width:100%;
  margin-top:7px;
  padding:13px 14px;
  border:2px solid rgba(13,124,131,.20);
  border-radius:12px;
  background:#fff9ea;
  font-family:Arial, sans-serif;
  font-size:15px;
  color:#1d2d2f;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.publicform input:focus,
.publicform textarea:focus,
.publicform select:focus{
  outline:none;
  border-color:#0d7c83;
  box-shadow:0 0 0 3px rgba(13,124,131,.10);
  background:#fffdf5;
}
.publicform textarea{
  min-height:160px;
  resize:vertical;
}

/* buttons */
.inner-page .retro-btn,
.inner-page .book-top{
  position:relative;
  border:0;
  border-radius:14px;
  padding:11px 16px;
  font-size:14px;
  letter-spacing:.3px;
  overflow:hidden;
}
.inner-page .retro-btn.small{
  padding:10px 14px;
  font-size:13px;
}
.inner-page .retro-btn::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(#e2332d,#bf1c18);
  z-index:-1;
}
.inner-page .retro-btn.dark::before{
  background:linear-gradient(#15666d,#0c4145);
}
.inner-page .retro-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}
.text-link{
  display:inline-block;
  margin-left:10px;
  color:#0d7c83;
  text-decoration:none;
  font-weight:bold;
}
.text-link:hover{
  color:#c61f1a;
  text-decoration:underline;
}

/* gigs */
.gig-list{
  gap:18px;
}
.gig-card{
  display:grid;
  grid-template-columns:145px 1fr;
  align-items:stretch;
  background:
    linear-gradient(90deg, rgba(13,124,131,.09) 0 145px, transparent 145px),
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.18)),
    #f7eed4;
  border-left:4px solid rgba(13,124,131,.30);
}
.gig-date{
  background:transparent;
}
.gig-date strong{
  color:#d8211f;
}
.gig-main{
  padding:20px 24px 18px;
}
.gig-main h2{
  font-size:26px;
}
.gig-main h3{
  margin:6px 0 10px;
  color:#173638;
  font-family:'Oswald', Impact, sans-serif;
  font-size:18px;
}
.gig-actions{
  margin-top:14px;
}

/* videos */
.video-card-full{
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.16)),
    #f7eed4;
  border-left:4px solid rgba(13,124,131,.30);
}
.video-card-full>div{
  padding:18px 20px 20px;
}
.video-card-full p{
  margin:6px 0 0;
  color:#264143;
}

/* photo filters and gallery */
.filters{
  gap:12px;
  margin-bottom:20px;
}
.filters a{
  position:relative;
  display:inline-block;
  padding:9px 14px;
  border-radius:12px;
  background:#f7eed4;
  border:2px solid rgba(13,124,131,.18);
  color:#173638;
  text-decoration:none;
}
.filters a.active,
.filters a:hover{
  background:#0d7c83;
  color:#fff;
  border-color:#0d7c83;
}
.gallery{
  gap:18px;
}
.gallery figure{
  padding:10px;
  background:#fff7e3;
  border-left:4px solid rgba(216,33,31,.24);
}
.gallery figcaption{
  margin-top:8px;
  color:#173638;
  font-size:14px;
}

/* guestbook */
.guest-list{
  gap:16px;
}
.guest{
  position:relative;
  padding:20px 22px 18px 58px;
  border-left:4px solid rgba(216,33,31,.30);
}
.quote-mark{
  position:absolute;
  left:18px;
  top:16px;
  font-family:'Anton', Impact, sans-serif;
  font-size:44px;
  line-height:1;
  color:#d8211f;
}
.guest p{
  margin:0 0 10px;
  line-height:1.6;
}
.guest footer{
  color:#173638;
  font-weight:bold;
}
.notice,
.error{
  padding:12px 14px;
  border-radius:12px;
  margin:0 0 16px;
}
.notice{
  background:#e4f3ef;
  color:#14474a;
  border:2px solid rgba(13,124,131,.18);
}
.error{
  background:#fde9e6;
  color:#8f1a17;
  border:2px solid rgba(216,33,31,.18);
}

/* booking/contact visuals */
.booking-art{
  background:
    linear-gradient(180deg, rgba(13,124,131,.11), rgba(13,124,131,.04)),
    #f7eed4;
  border-left:4px solid rgba(216,33,31,.26);
}
.booking-art p{
  color:#173638;
}
.sign-card{
  transform:rotate(-2deg);
}

/* subtle responsiveness */
@media(max-width:900px){
  .gig-card{
    grid-template-columns:1fr;
    background:
      linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.18)),
      #f7eed4;
  }
  .gig-main{
    padding:18px 18px 16px;
  }
  .publicform{
    padding:22px 18px 20px;
  }
}


/* v1.6.5 - inner page headings/background aligned with homepage */

/* Same overall background feel as homepage */
body{
  background:
    linear-gradient(164deg, transparent 0 14%, rgba(13,124,131,.08) 14% 19%, transparent 19% 100%),
    linear-gradient(16deg, transparent 0 72%, rgba(216,33,31,.04) 72% 76%, transparent 76% 100%),
    radial-gradient(circle at 7% 17%, rgba(216,33,31,.10) 0 4px, transparent 5px),
    radial-gradient(circle at 89% 26%, rgba(13,124,131,.10) 0 4px, transparent 5px),
    linear-gradient(#e7dec1,#e7dec1) !important;
}

/* remove small text before page titles */
.page-title .eyebrow,
.page-hero .eyebrow{
  display:none !important;
}

/* make inner-page title sections visually match homepage */
.page-title,
.page-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(164deg, transparent 0 14%, rgba(13,124,131,.10) 14% 19%, transparent 19% 100%),
    linear-gradient(16deg, transparent 0 69%, rgba(216,33,31,.055) 69% 75%, transparent 75% 100%),
    radial-gradient(circle at 7% 17%, rgba(216,33,31,.12) 0 4px, transparent 5px),
    radial-gradient(circle at 89% 26%, rgba(13,124,131,.13) 0 4px, transparent 5px),
    linear-gradient(#f2e7c8,#f2e7c8) !important;
  border-bottom:4px solid rgba(13,124,131,.22);
}

/* add subtle homepage-like texture */
.page-title::before,
.page-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(166deg, transparent 0 12%, rgba(13,124,131,.07) 12% 18%, transparent 18% 100%),
    linear-gradient(14deg, transparent 0 67%, rgba(216,33,31,.045) 67% 74%, transparent 74% 100%);
  pointer-events:none;
}

/* page headings same size as the homepage block headings */
.page-title h1,
.page-hero h1{
  position:relative;
  display:inline-block;
  margin:0 0 12px;
  padding:10px 18px 12px;
  color:#fff;
  font-family:'Oswald', Impact, sans-serif;
  font-size:29px !important;
  line-height:1;
  letter-spacing:.2px;
  z-index:1;
  background:none !important;
  text-shadow:0 1px 0 rgba(0,0,0,.16);
}
.page-title h1::before,
.page-hero h1::before{
  content:'';
  position:absolute;
  z-index:-1;
  left:-12px;
  right:-16px;
  top:-2px;
  bottom:-3px;
  background:#d8211f;
  clip-path:polygon(2% 18%, 13% 7%, 27% 11%, 41% 4%, 57% 12%, 72% 3%, 87% 9%, 100% 0, 97% 31%, 100% 60%, 95% 86%, 83% 83%, 69% 98%, 49% 87%, 28% 96%, 12% 85%, 0 63%);
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.page-title p,
.page-hero p{
  position:relative;
  z-index:1;
  color:#223537;
  font-size:16px;
}

/* same background language for inner page content blocks */
.paper-panel,
.prose,
.publicform,
.booking-art,
.guest,
.empty-state,
.video-card-full,
.gig-card,
.gallery figure{
  background:
    linear-gradient(180deg, rgba(255,255,255,.36), rgba(255,255,255,.14)),
    linear-gradient(164deg, transparent 0 16%, rgba(13,124,131,.06) 16% 20%, transparent 20% 100%),
    linear-gradient(#f7eed4,#f7eed4) !important;
}

/* ensure contact hero keeps layout but matches */
.contact-hero > div{
  position:relative;
  z-index:1;
}

@media(max-width:760px){
  .page-title h1,
  .page-hero h1{
    font-size:29px !important;
  }
}


/* v1.8.7 - Over ons dropdown + bandleden */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-parent{white-space:nowrap}
.nav-arrow{font-size:11px;margin-left:3px}
.nav-dropdown-menu{
  display:none;
  position:absolute;
  z-index:1000;
  left:0;
  top:calc(100% - 1px);
  min-width:210px;
  padding:7px;
  background:#f7eed4;
  border:2px solid #171717;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{display:flex;flex-direction:column}
.nav-dropdown-menu a{
  display:block;
  color:#171717!important;
  padding:9px 11px!important;
  font-size:13px!important;
  white-space:nowrap;
}
.nav-dropdown-menu a::before{display:none!important}
.nav-dropdown-menu a:hover{background:#d8211f;color:#fff!important}

.member-page{display:grid;grid-template-columns:minmax(260px,36%) 1fr;gap:28px;align-items:start}
.member-photo{
  width:100%;
  max-height:620px;
  object-fit:cover;
  background:#eee3c5;
  border:6px solid #fff7df;
  box-shadow:0 7px 18px rgba(0,0,0,.15);
}
.member-role{
  display:inline-block;
  margin:0 0 16px;
  padding:6px 10px;
  background:#0d7c83;
  color:#fff;
  font-family:'Oswald',Impact,sans-serif;
  font-weight:bold;
  text-transform:uppercase;
}
.member-intro{font-size:18px;font-weight:bold;color:#173638}
.member-bio{white-space:pre-line;line-height:1.7}

@media(max-width:900px){
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown-menu{
    position:static;
    display:none;
    min-width:0;
    border:0;
    box-shadow:none;
    background:rgba(255,255,255,.08);
    padding:0 0 4px 14px;
  }
  body.nav-open .nav-dropdown-menu{display:flex;flex-direction:column}
  .nav-dropdown-menu a{font-size:12px!important;padding:7px 10px!important}
  .member-page{grid-template-columns:1fr}
  .member-photo{max-width:520px}
}


/* v2.1 - bandleden: beeldstijl in dezelfde rode lijn als de naamlabels */
.member-photo,
.member-page img{
  border:6px solid #fff7df;
  box-shadow:0 0 0 4px #d8211f,0 8px 20px rgba(0,0,0,.16);
}


/* v2.1 formulieren / boeking */
.booking-art .booking-band-logo{
  width:min(100%,420px);
  height:auto;
  max-height:none;
  object-fit:contain;
  display:block;
  margin:0 auto 20px;
  border:4px solid #d8211f;
  background:#f7eed4;
}
.booking-phone{
  text-align:center;
  font-size:18px;
  line-height:1.45;
}
.date-warning{
  display:block;
  margin-top:6px;
  color:#a41e1b;
  font-weight:700;
}
.captcha-field input{
  max-width:120px;
}
.v15-about p{
  max-width:520px;
}


/* v2.2.0 refinements */
.site-logo,
.v15-logo{border-bottom:0!important;text-decoration:none!important}
.v15-logo img{
  object-fit:contain!important;
  background:transparent!important;
}

/* Homepage: center record a little larger */
.v15-record img{width:min(100%,270px)!important}

/* Over ons: full centered band image, no cropped split hero */
.about-title{margin-bottom:16px}
.about-band-photo{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 20px;
  background:#f4ead0;
  padding:10px;
  border-bottom:3px solid rgba(13,124,131,.18);
}
.about-band-photo img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:680px;
  height:auto;
  object-fit:contain;
}
.about-hero-intro{font-size:18px;font-weight:600;line-height:1.55}

/* Member role lives only in the heading */
.member-role{display:none!important}

/* Booking uses transparent logo */
.booking-art .booking-band-logo{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  padding:0;
}

/* Guestbook emoji helper */
.emoji-bar{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:-4px 0 16px;
  padding:9px 10px;
  background:rgba(13,124,131,.08);
  border:1px solid rgba(13,124,131,.20);
}
.emoji-btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.12);
  background:#fff8e6;
  border-radius:6px;
  padding:4px 7px;
  font-size:21px;
  line-height:1.15;
  cursor:pointer;
}
.emoji-btn:hover{transform:translateY(-1px);background:#fff}

/* Gigs: both poster actions are real buttons */
.gig-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gig-actions .retro-btn{margin:0}

@media(max-width:900px){
  .v15-record img{width:min(100%,240px)!important}
  .about-band-photo img{max-height:none}
}


/* v2.3.0 - consistente kleuren */
.page-title h1::before,.page-hero h1::before{background:var(--teal)!important}
.v15-card h2::before,.v15-about h2::before,.v15-guest h2::before,.brush-title::before{background:var(--red)!important}
.v15-card h2,.v15-about h2,.v15-guest h2,.brush-title{color:#fff!important}
.retro-btn,.retro-btn.dark,.book-top,.cookie-btn{background:linear-gradient(#e62d28,#bf1715)!important;box-shadow:0 3px 0 var(--red-dark)!important;color:#fff!important}
.site-nav a.active,.site-nav a:hover{color:var(--red)!important}
.required-star{color:#d8211f;font-weight:900}

/* Middenplaat: dezelfde grootte, geen cyan lijntje bovenin, volledige ster rechts */
.v15-record{position:relative;overflow:visible!important}
.v15-record img{clip-path:inset(5px 10px 0 0)}
.v15-record::after{content:'✦';position:absolute;right:-7px;top:63%;transform:translateY(-50%);z-index:5;color:var(--red);font-size:38px;line-height:1;pointer-events:none}

/* Bandlid: foto en tekst als één retro rood omlijnd vlak; tekst loopt om de foto */
.member-story-frame{overflow:hidden;padding:20px;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.08)),#f7eed4;border:4px solid var(--red);box-shadow:0 7px 18px rgba(0,0,0,.12)}
.member-photo-float{float:left;width:min(38%,440px);height:auto!important;max-height:none!important;object-fit:contain!important;margin:0 26px 16px 0}
.member-story-frame .member-intro{margin-top:0}.member-story-frame .member-bio{white-space:pre-line;line-height:1.7}.member-clear{clear:both}
@media(max-width:760px){.member-photo-float{float:none;display:block;width:100%;max-width:520px;margin:0 auto 22px}.v15-record::after{right:0;font-size:30px}}


/* v2.4.0 - Over ons foto volledig zichtbaar en circa 30% kleiner */
.about-band-photo img{
  width:auto!important;
  max-width:70%!important;
  max-height:none!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:760px){
  .about-band-photo img{max-width:94%!important}
}


/* v2.4.0 - menu leesbaar op hover en actief */
.site-nav > a:hover,
.site-nav > a.active,
.site-nav .nav-parent:hover,
.site-nav .nav-parent.active{
  color:#fff!important;
}
.site-nav > a:hover::before,
.site-nav > a.active::before,
.site-nav .nav-parent:hover::before,
.site-nav .nav-parent.active::before{
  background:#d8211f!important;
  opacity:1!important;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a.active{
  background:#d8211f!important;
  color:#fff!important;
}


/* v2.4.0 - alle koppen weer blauw/teal */
.v15-card h2::before,
.v15-about h2::before,
.v15-guest h2::before,
.page-title h1::before,
.page-hero h1::before,
.brush-title::before{
  background:#0d7c83!important;
}
.paper-panel h2,
.prose h2,
.publicform h2,
.gig-main h2{
  color:#0d7c83;
}
.retro-btn,
.retro-btn.dark,
.book-top,
.cookie-btn,
.gig-actions .retro-btn{
  background:linear-gradient(#e62d28,#bf1715)!important;
  color:#fff!important;
  box-shadow:0 3px 0 #8f1110!important;
}


/* v2.4.0 - datumblokken beter leesbaar */
.gig-date span,
.gig-date small{
  color:#0d7c83!important;
}
.gig-date strong{
  color:#d8211f!important;
}


/* v2.4.0 - bandleden: blauwe brush-rand zoals koplabels */
.member-story-frame{
  position:relative;
  overflow:visible!important;
  border:0!important;
  background:#f7eed4!important;
  z-index:0;
  margin:18px 8px 0;
}
.member-story-frame::before{
  content:'';
  position:absolute;
  z-index:-2;
  inset:-10px;
  background:#0d7c83;
  clip-path:polygon(
    0 2%, 8% 0, 17% 1.2%, 27% .3%, 38% 1.1%, 49% .2%, 61% 1.1%, 72% .4%, 84% 1.1%, 100% 0,
    99% 9%,100% 19%,99% 30%,100% 42%,99% 54%,100% 66%,99% 78%,100% 90%,98% 100%,
    88% 99%,77% 100%,66% 99%,54% 100%,43% 99%,31% 100%,20% 99%,9% 100%,0 98%,
    1% 88%,0 77%,1% 65%,0 53%,1% 41%,0 29%,1% 17%
  );
}
.member-story-frame::after{
  content:'';
  position:absolute;
  z-index:-1;
  inset:-4px;
  background:#f7eed4;
  clip-path:polygon(0 1%,100% 0,99.5% 100%,.5% 99%);
}
.member-photo-float{
  position:relative;
  z-index:1;
}


/* v2.4.0 - middenplaat: geen blauwe bovenstreep en volledige rechter ster */
.v15-record{
  overflow:visible!important;
}
.v15-record img{
  clip-path:inset(9px 10px 0 0)!important;
}
.v15-record::before{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  width:82%;
  height:10px;
  transform:translateX(-50%);
  background:#f2e7c8;
  z-index:4;
  pointer-events:none;
}
.v15-record::after{
  content:'✦';
  position:absolute;
  right:-2px;
  top:64%;
  transform:translateY(-50%);
  color:#d8211f;
  font-size:38px;
  line-height:1;
  z-index:5;
  pointer-events:none;
}


/* v2.4.0 - bandfoto homepage zonder herhaalde/losse tegelrij */
.v15-hero{
  background:none!important;
  overflow:hidden;
}
.v15-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:none!important;
}


/* v2.5.0 - homepage volgend optreden: datum zonder los kader */
.v15-date{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
.v15-date b{
  color:#d8211f!important;
}
.v15-date span,
.v15-date small{
  color:#0d7c83!important;
}

/* v2.5.1 - content/formulierkoppen dezelfde blauwe brush-stijl */
.prose h2,
.publicform h2,
.booking-layout .publicform h2{
  color:#fff!important;
}
.prose h2::before,
.publicform h2::before,
.booking-layout .publicform h2::before{
  background:#0d7c83!important;
}

/* v2.5.0 - optredenkoppen leesbaar op teal brush */
.gig-main h2{
  color:#fff!important;
}
.gig-main h2::before{
  background:#0d7c83!important;
}

/* v2.5.0 - voorbeeld poster is een rode actieknop */
#previewBtn.preview-poster-btn{
  background:linear-gradient(#e62d28,#bf1715)!important;
  color:#fff!important;
  border:0!important;
  border-radius:10px!important;
  box-shadow:0 3px 0 #8f1110!important;
  padding:10px 16px!important;
  font-family:'Oswald',Impact,sans-serif!important;
  font-weight:700!important;
  cursor:pointer!important;
}
#previewBtn.preview-poster-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}

/* v2.5.0 - nieuwe homepage-bandfoto zonder vervorming of extra tegelrij */
.v15-hero{
  overflow:hidden!important;
  background:none!important;
}
.v15-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
}

/* v2.5.0 - nieuwe middenplaat volledig zichtbaar, geen extra masking/kunstmatige ster */
.v15-record{
  overflow:visible!important;
}
.v15-record img{
  clip-path:none!important;
  width:min(100%,270px)!important;
  height:auto!important;
  object-fit:contain!important;
}
.v15-record::before,
.v15-record::after{
  display:none!important;
}

@media(max-width:900px){
  .v15-record img{width:min(100%,240px)!important}
}


/* v2.5.3 update-02 */
.booking-time-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.booking-time-row label{margin-top:0}
.booking-phone{font-weight:400!important}
.gig-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0 12px;
  margin:8px 0 0;
}
.gig-meta span{white-space:nowrap}
@media(max-width:620px){
  .booking-time-row{grid-template-columns:1fr}
  .gig-meta{gap:5px 9px}
}


/* v2.5.3 update-04 */
.booking-time-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  width:100%!important;
  align-items:end!important;
}
.booking-time-row > label{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.booking-time-row input[type="time"]{
  width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:480px){
  .booking-time-row{
    grid-template-columns:1fr 1fr!important;
  }
}

.gig-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  column-gap:10px!important;
  row-gap:4px!important;
}
.gig-meta > span{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
}
.gig-meta-sep{
  margin:0 1px!important;
}


/* v2.5.3 update-05 */
.gig-meta-icon{
  display:inline-block!important;
  width:1.1em!important;
  text-align:center!important;
  margin-right:1px!important;
}


/* v2.5.3 update-06 */
.video-card-copy{
  padding:0 0 12px!important;
}
.video-card-copy h2{
  margin:0 0 6px!important;
}
.video-card-copy p{
  margin:0!important;
}

.about-band-photo{
  overflow:visible!important;
}
.about-band-photo img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}


/* v2.5.3 update-11 */
.booking-time-row select{
  width:100% !important;
  box-sizing:border-box !important;
}

/* v2.5.3 update-12 */
.booking-time-row select{
  width:100% !important;
  box-sizing:border-box !important;
  min-height:44px;
}


/* v2.5.3 update-15 - mooie bevestigingspopup */
body.modal-open{overflow:hidden!important}
.confirm-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,24,36,.74);
  backdrop-filter:blur(2px);
  box-sizing:border-box;
}
.confirm-modal.is-open{display:flex}
.confirm-modal-card{
  width:min(92vw,520px);
  background:#fff8e6;
  border:4px solid #0d7c83;
  border-radius:14px;
  box-shadow:0 18px 55px rgba(0,0,0,.42);
  padding:28px 28px 24px;
  text-align:center;
  box-sizing:border-box;
  animation:confirmModalIn .16s ease-out;
}
.confirm-modal-icon{
  width:62px;
  height:62px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#0d7c83;
  color:#fff;
  font-size:31px;
}
.confirm-modal-card h2{
  margin:0 0 10px;
  color:#173e66;
  font-size:26px;
}
.confirm-modal-card p{
  margin:7px 0;
  color:#273640;
  line-height:1.45;
}
.confirm-modal-note{
  font-size:14px;
  color:#59656d!important;
}
.confirm-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
}
.confirm-modal-actions .retro-btn{
  min-width:150px;
}
.confirm-modal-actions .secondary{
  background:#fff8e6!important;
  color:#173e66!important;
  border:2px solid #0d7c83!important;
}
.confirm-modal-actions .secondary:hover,
.confirm-modal-actions .secondary:focus{
  background:#0d7c83!important;
  color:#fff!important;
}
@keyframes confirmModalIn{
  from{opacity:0;transform:translateY(8px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:560px){
  .confirm-modal-card{padding:22px 18px 18px}
  .confirm-modal-actions{flex-direction:column-reverse}
  .confirm-modal-actions .retro-btn{width:100%}
}


/* v2.5.3 update-16 */
.req-star{
  color:#d8211f!important;
  font-weight:700!important;
}

/* v2.5.3 update-18 - required ster inline bij Van/Tot */
.booking-time-row label{
  display:grid!important;
  grid-template-columns:auto auto 1fr!important;
  align-items:center!important;
  column-gap:4px!important;
}
.booking-time-row label > select{
  grid-column:1 / -1!important;
  margin-top:6px!important;
}
.booking-time-row label .required-star,
.booking-time-row label .req-star,
.booking-time-row label > span[aria-hidden="true"]{
  display:inline!important;
  position:static!important;
  margin:0!important;
  vertical-align:baseline!important;
}


/* v2.5.4 - consistente formulierafstand */
.booking-time-row{
  margin-bottom:18px!important;
}


/* v2.5.5 */
.v15-record img{width:min(100%,370px)!important;}

/* v2.5.5 update-01: Over ons compacter en rustiger */
.about-compact{max-width:980px;margin-left:auto;margin-right:auto}
.about-compact .about-copy{max-width:820px;margin:0 auto}
.about-compact .about-copy p{margin:0 0 14px}
.about-compact .about-copy p:last-child{margin-bottom:0}
.about-compact-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(30,30,30,.16)}
.about-compact-footer .quote-sign{margin:0}
.about-compact-footer .retro-btn{margin:0}
@media(max-width:700px){.about-compact-footer{flex-direction:column;align-items:flex-start}}


/* v2.5.5 update-03 - Eigen muziek */
.music-list{display:grid;gap:18px;max-width:900px;margin:0 auto}
.music-track-card{background:#fff8e6;border:2px solid #0d7c83;border-radius:12px;padding:18px 20px;box-shadow:0 5px 0 rgba(10,49,55,.10)}
.music-track-copy h2{margin:0 0 7px;font-family:'Oswald',Impact,sans-serif;color:#173e66;font-size:25px}
.music-track-copy p{margin:0 0 14px;line-height:1.55;color:#4d5961}
.music-track-card audio{display:block;width:100%;margin-top:10px}
@media(max-width:620px){.music-track-card{padding:15px}.music-track-copy h2{font-size:22px}}

/* v2.5.5-update-04 - downloadknop bij Eigen muziek */
.music-track-actions{display:flex;justify-content:flex-end;margin-top:12px}
.music-track-actions .retro-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:620px){.music-track-actions{justify-content:stretch}.music-track-actions .retro-btn{width:100%}}


/* v2.5.5 update-05 - Eigen muziek: speler en download naast elkaar */
.music-player-row{display:flex;align-items:center;gap:14px;margin-top:10px}
.music-player-row audio{flex:1 1 auto;min-width:0;width:auto;margin:0}
.music-player-row .music-download-btn{flex:0 0 auto;white-space:nowrap;margin:0}
@media(max-width:700px){.music-player-row{flex-wrap:wrap}.music-player-row audio{flex-basis:100%;width:100%}.music-player-row .music-download-btn{margin-left:auto}}


/* v2.5.5 update-22 - Facebook + mobiele volgorde homepage */
.v15-socials{
  align-items:center;
}
.v15-socials .facebook-social-link{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#1877f2;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 3px 0 rgba(0,0,0,.22);
  transition:transform .15s ease,filter .15s ease;
}
.v15-socials .facebook-social-link span{
  width:auto!important;
  height:auto!important;
  background:transparent!important;
  color:#fff!important;
  font-family:Arial,sans-serif;
  font-size:34px;
  font-weight:700;
  line-height:1;
  transform:translateY(2px);
}
.v15-socials .facebook-social-link:hover,
.v15-socials .facebook-social-link:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.06);
}
.mobile-home-about-row{
  display:none;
}

@media(max-width:760px){
  /* Op mobiel eerst Over ons, daarna blijft de bestaande volgorde ongewijzigd. */
  .mobile-home-about-row{
    display:block;
    padding:24px 24px 26px;
    border-bottom:1px solid rgba(12,92,96,.2);
  }
  .mobile-home-about-row .mobile-home-about{
    min-height:0;
  }
  .v15-row-two > .v15-about{
    display:none;
  }
  .v15-socials .facebook-social-link{
    width:52px;
    height:52px;
  }
  .v15-socials .facebook-social-link span{
    font-size:37px;
  }
}

/* Update 123: Eigen muziek op de homepage, onder Optredens / Foto's / Video's. */
.v15-home-music{background:#f2e7c8;padding:20px 24px;}
.v15-home-music-inner{max-width:1160px;margin:0 auto;padding:22px 26px;border:3px solid #0d7c83;border-radius:14px;background:#fff8e6;display:flex;align-items:center;gap:24px;box-shadow:0 5px 0 rgba(13,124,131,.11);}
.v15-home-music-icon{flex:0 0 70px;width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:#161616;color:#fff8e6;font-size:43px;box-shadow:inset 0 0 0 5px #292929,0 0 0 3px #d8211f;}
.v15-home-music-copy{flex:1;min-width:0;}
.v15-home-music-copy h2{margin:0 0 5px;color:#0d4154;font-size:clamp(23px,2.3vw,32px);font-weight:800;}
.v15-home-music-copy p{margin:0;font-size:16px;line-height:1.5;color:#263b40;}
.v15-home-music-link{flex:0 0 auto;white-space:nowrap;text-align:center;}
@media(max-width:760px){
  .v15-home-music{padding:14px 12px;}
  .v15-home-music-inner{flex-direction:column;text-align:center;padding:22px 16px;gap:13px;}
  .v15-home-music-icon{flex:0 0 62px;width:62px;height:62px;font-size:36px;}
  .v15-home-music-link{white-space:normal;}
}

/* Update 124: homepage in twee vaste rijen van drie kaarten. */
.v15-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;}
.v15-home-grid > .v15-card{min-width:0;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 22px 14px;text-align:center;}
.v15-home-grid > .v15-card:not(:last-child){border-right:1px solid rgba(12,92,96,.28);}
.v15-home-grid > .v15-card .retro-btn{margin-top:auto;}
.v15-home-grid > .v15-about{display:flex!important;}
.v15-home-grid .v15-about p{line-height:1.5;}
.v15-home-grid .v15-guest blockquote{max-width:100%;overflow-wrap:anywhere;padding:18px;}
.v15-music-emblem{width:100px;height:100px;margin:24px auto;display:grid;place-items:center;border-radius:50%;background:#191919;color:#fff8e6;font-size:66px;box-shadow:inset 0 0 0 6px #323232,0 0 0 3px #d8211f;}
@media(max-width:900px){.v15-home-grid{gap:12px;padding:24px 18px;}.v15-home-grid > .v15-card{padding:8px 12px 16px;}}
@media(max-width:760px){.v15-home-grid{grid-template-columns:1fr;gap:18px;padding:24px 18px;}.v15-home-grid > .v15-card{min-height:0;padding:18px 14px 24px;border-right:none!important;border-bottom:1px solid rgba(12,92,96,.28);}.v15-home-grid > .v15-about{display:flex!important;}.v15-home-grid > .v15-card .retro-btn{margin-top:16px;}}

/* Update 125: fotothumbnails zichtbaar houden in de mobiele homepage-kaart.
   De afbeeldingen zijn absoluut gepositioneerd, dus de flex-container
   heeft expliciet breedte nodig bij align-items:center. */
.v15-home-grid .v15-photo-stack{
  width:100%;
  max-width:350px;
  flex:0 0 140px;
}

/* Update 126: mobiel foto-previews met normale layout in plaats van absolute
   positionering. Voorkomt onzichtbare afbeeldingen in flex-kaarten. */
@media(max-width:760px){
  .v15-home-grid .v15-photo-stack{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:center;
    column-gap:14px;
    width:100%!important;
    max-width:360px!important;
    height:auto!important;
    min-height:130px;
    flex:0 0 auto!important;
    overflow:visible;
    margin:18px auto 20px;
  }
  .v15-home-grid .v15-photo-stack img,
  .v15-home-grid .v15-photo-stack img:first-child,
  .v15-home-grid .v15-photo-stack img:last-child{
    position:relative!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    top:auto!important;left:auto!important;right:auto!important;
    width:100%!important;
    height:118px!important;
    max-width:none!important;
    object-fit:cover;
    box-sizing:border-box;
  }
  .v15-home-grid .v15-photo-stack img:first-child{transform:rotate(-5deg);}
  .v15-home-grid .v15-photo-stack img:last-child{transform:rotate(5deg);}
}

/* Update 127: enkel Facebook-pictogram in de footer. */
.v15-footer .v15-socials{display:flex;align-items:center;justify-content:flex-end;gap:0}
.v15-footer .v15-socials .facebook-social-link{display:flex;align-items:center;justify-content:center;width:76px;height:76px;min-width:76px;border-radius:50%;background:#d8211f;color:#fff!important;text-decoration:none;box-shadow:0 3px 0 rgba(0,0,0,.22)}
.v15-footer .v15-socials .facebook-social-link svg{width:50px;height:50px;display:block;fill:currentColor}
@media(max-width:760px){.v15-footer .v15-socials{justify-content:center}.v15-footer .v15-socials .facebook-social-link{width:76px;height:76px;min-width:76px}.v15-footer .v15-socials .facebook-social-link svg{width:50px;height:50px}}
