/* Keep the existing excursion layout within narrow screens around the poster. */
.kids-content-columns > *, .cta-banner--form > * { min-width:0; }
[data-event-poster-frame] { scroll-margin-top:100px; }
@media (max-width:768px) {
  .kids-content-columns { grid-template-columns:minmax(0,1fr) !important; gap:32px !important; }
  .kids-content-columns h1 { font-size:clamp(32px,8vw,42px) !important; overflow-wrap:anywhere; }
  .kids-content-columns h1 .hand { font-size:32px !important; }
  .kids-dog-team { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .kids-group-offer { grid-template-columns:minmax(0,1fr) !important; padding:28px 20px !important; }
  .cta-banner--form h2 { font-size:clamp(28px,7vw,44px) !important; overflow-wrap:anywhere; }
  .cta-banner--form .booking__card { padding:20px 14px; }
}
.kids-section-heading { margin-bottom:40px; }
.kids-section-heading > .hand,.kids-group-offer .hand { display:block; font-size:36px; margin-bottom:14px; }
.kids-team { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.kids-team__member { background:#fff; border:1px solid var(--line-soft); border-radius:26px; overflow:hidden; }
.kids-team__member > img { width:100%; aspect-ratio:1; object-fit:cover; }
.kids-team__copy { padding:24px; }
.kids-team__copy h3 { font-size:27px; margin-bottom:12px; }
.kids-team__copy p { font-size:16px; line-height:1.65; }
.kids-team__role { color:var(--blue); margin-bottom:12px; }
.kids-group-offer { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; padding:40px; background:var(--bg-soft); border-radius:28px; }
.kids-group-offer p { font-size:20px; line-height:1.6; }
@media(max-width:1000px) { .kids-team { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:768px) { .kids-team { grid-template-columns:minmax(0,1fr); } .kids-team__member { display:grid; grid-template-columns:110px minmax(0,1fr); border-radius:20px; align-items:start; } .kids-team__member > img { height:160px; border-radius:18px; } .kids-team__copy { padding:20px 16px; } .kids-team__copy p { font-size:15px; } .kids-team__copy h3 { font-size:22px; } .kids-group-offer { padding:28px 24px; grid-template-columns:1fr; gap:24px; } }

/* Full-width event poster: each event owns registration inside PetCRM. */
.kids-poster { padding:64px 24px 80px; background:var(--bg-soft); }
.kids-poster__inner { max-width:1440px; margin-inline:auto; }
.kids-poster__heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin:0 32px 32px; }
.kids-poster__heading .hand { font-size:38px; }
.kids-poster__heading h2 { font-size:54px; margin-top:10px; }
.kids-poster__heading p { font-size:19px; line-height:1.6; max-width:520px; }
.kids-poster__frame { background:#fff; border:1px solid var(--line); border-radius:28px; padding:16px; overflow:hidden; }
.kids-poster__frame iframe { display:block; width:100% !important; height:700px; min-height:320px; border:0; border-radius:16px; background:#fff; }
.kids-poster__external { display:inline-block; margin:20px 16px 0; font-size:14px; color:var(--blue-deep); text-decoration:underline; }
@media(max-width:768px) { .kids-poster { padding:44px 12px 56px; } .kids-poster__heading { grid-template-columns:1fr; gap:20px; margin:0 12px 28px; } .kids-poster__heading p { font-size:17px; } .kids-poster__frame { padding:4px; border-radius:20px; } }

/* A single row: four complete portraits, with the fifth a deliberate next step. */
.kids-team-toolbar { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:32px; }
.kids-team-toolbar .kids-section-heading { margin-bottom:0; }
.carousel-controls { display:flex; gap:10px; padding-bottom:6px; }
.carousel-arrow { display:grid; place-items:center; width:48px; height:48px; border:1px solid #B9CDDF; background:#fff; color:var(--blue-deep); border-radius:50%; font:24px/1 var(--font); cursor:pointer; transition:background .15s,color .15s; }
.carousel-arrow:hover:not(:disabled) { background:var(--blue); color:#fff; }
.carousel-arrow:disabled { opacity:.35; cursor:default; }
.carousel-arrow:focus-visible,.kids-team:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.kids-team { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc((100% - 60px)/4); align-items:stretch; gap:20px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#AFC5DB transparent; padding-bottom:20px; }
.kids-team__member { scroll-snap-align:start; display:flex; flex-direction:column; border-radius:24px; }
.kids-team__member > img { width:100%; aspect-ratio:1; height:auto; border-radius:0; }
.kids-team__copy { padding:22px 20px; }
.kids-team__copy h3 { font-size:24px; margin-bottom:10px; }
.kids-team__copy p { font-size:14px; line-height:1.65; }
.birthday-promo { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:#F5ECCA; border:1px solid #E6DDC1; border-radius:32px; }
.birthday-promo__copy { padding:52px; align-self:center; }
.birthday-promo__copy > .hand { display:block; color:var(--blue); font-size:34px; margin-bottom:14px; }
.birthday-promo__copy h2 { font-size:46px; line-height:1.13; }
.birthday-promo__copy h2 span { color:var(--blue-deep); }
.birthday-promo__copy p { margin:24px 0 28px; font-size:18px; line-height:1.7; }
.birthday-promo__image { display:block; align-self:stretch; min-height:360px; }
.birthday-promo__image img { width:100%; height:100%; object-fit:cover; }
@media(max-width:1000px) { .kids-team { grid-auto-columns:calc((100% - 40px)/3); } .birthday-promo__copy { padding:36px; } }
@media(max-width:768px) { .kids-team { grid-auto-columns:calc((100% - 20px)/2); } .kids-team__copy { padding:20px 16px; } .kids-team__member > img { height:auto; } .birthday-promo { grid-template-columns:1fr; } .birthday-promo__copy { padding:32px 26px; } .birthday-promo__image { min-height:0; } .birthday-promo__image img { aspect-ratio:4/3; } }
@media(max-width:480px) { .kids-team { grid-auto-columns:85%; gap:16px; } .kids-team-toolbar { gap:12px; } .carousel-arrow { width:40px; height:40px; } .kids-team-toolbar h2 { font-size:30px; } .kids-team-toolbar .hand { font-size:29px; } }

/* Birthday programmes keep each source description, inclusion and enquiry in place. */
.birthday-heading { max-width:820px; margin-bottom:36px; }
.birthday-heading > .hand { display:block; color:var(--blue); font-size:34px; margin-bottom:16px; }
.birthday-heading h2 { font-size:40px; line-height:1.17; text-wrap:balance; }
.birthday-heading > p { margin-top:22px; font-size:18px; line-height:1.75; color:var(--ink-muted); }
.birthday-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.birthday-feature { padding:30px; border:1px solid #DDE5EB; border-radius:24px; background:#fff; }
.birthday-feature:nth-child(3n + 2) { background:#F2F7FB; }
.birthday-feature h3 { font-size:23px; line-height:1.3; }
.birthday-feature p { font-size:16px; line-height:1.65; color:var(--ink-muted); margin-top:14px; }
.birthday-section--soft { background:#F5F2E8; }
.birthday-programs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.birthday-program { border:1px solid #DDE5EB; border-radius:28px; background:#fff; overflow:hidden; }
.birthday-program > img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:center 42%; }
.birthday-program__copy { padding:32px; }
.birthday-age { display:inline-flex; padding:8px 12px; color:var(--blue-deep); background:#F3E7BC; border-radius:10px; font-size:13px; font-weight:600; }
.birthday-program h3 { font-size:29px; line-height:1.23; margin:20px 0; }
.birthday-program p { font-size:17px; line-height:1.6; color:var(--ink-muted); }
.birthday-program ul,.birthday-price ul { padding:0; list-style:none; margin:24px 0 28px; }
.birthday-program li,.birthday-price li { padding:12px 0 12px 26px; border-bottom:1px solid #E6ECF1; position:relative; font-size:16px; line-height:1.6; }
.birthday-program li::before,.birthday-price li::before { content:'✓'; position:absolute; top:12px; left:0; color:var(--blue); font-weight:700; }
.birthday-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.birthday-value { padding:26px; background:#F0F6FB; border-radius:22px; }
.birthday-value svg { color:var(--blue); margin-bottom:22px; }
.birthday-value h3 { font-size:22px; }
.birthday-value p { margin-top:12px; font-size:16px; line-height:1.65; color:var(--ink-muted); }
.birthday-dogs { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; }
.birthday-dogs > img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:28px; }
.birthday-dogs .hand { display:block; font-size:32px; color:var(--blue); margin-bottom:14px; }
.birthday-dogs h2 { font-size:36px; line-height:1.25; margin-bottom:24px; }
.birthday-dogs p { font-size:16px; line-height:1.75; color:var(--ink-muted); margin-top:18px; }
.birthday-price { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; padding:48px; border:1px solid #E2DAC6; background:#FBF6E9; border-radius:30px; }
.birthday-price__amount .hand { font-size:30px; color:var(--blue); }
.birthday-price__amount > p { font-size:52px; font-weight:700; color:var(--blue-deep); margin:22px 0 28px; line-height:1.1; }
.birthday-price h3 { font-size:25px; }
.birthday-price ul { margin:12px 0 20px; }
.birthday-price__notes p { font-size:15px; line-height:1.7; color:var(--ink-muted); }
.birthday-request { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
.birthday-request__heading { position:sticky; top:120px; }
.birthday-request__heading > .hand { display:block; font-size:33px; color:var(--blue); margin-bottom:18px; }
.birthday-request__heading h2 { font-size:40px; line-height:1.2; margin-bottom:24px; }
.birthday-request__heading p { color:var(--ink-muted); margin-bottom:14px; }
.birthday-request__links { display:flex; flex-wrap:wrap; gap:10px; }
.birthday-request .lead-request__card { background:#F2F6FA; border:1px solid #DEE7EF; padding:32px; border-radius:26px; }
.birthday-request [data-lead-status]:empty { display:none; }
@media(max-width:1000px) { .birthday-values,.birthday-features { grid-template-columns:repeat(2,minmax(0,1fr)); } .birthday-dogs,.birthday-request { gap:32px; } .birthday-price { padding:32px; gap:28px; } }
@media(max-width:768px) { .birthday-programs,.birthday-dogs,.birthday-price,.birthday-request { grid-template-columns:1fr; } .birthday-heading { margin-bottom:28px; } .birthday-feature { padding:24px; } .birthday-program__copy { padding:26px; } .birthday-dogs > img { aspect-ratio:4/3; } .birthday-request__heading { position:static; } .birthday-request .lead-request__card { padding:24px; } .birthday-price__amount > p { font-size:44px; } }
@media(max-width:480px) { .birthday-features { grid-template-columns:1fr; } .birthday-values { gap:12px; } .birthday-value { padding:20px 16px; } .birthday-value h3 { font-size:19px !important; } .birthday-value p { font-size:14px; } .birthday-price { padding:26px; } }
