/* ==========================================================================
   wt-page.css  -  one structure for the five Tenniscamps pages
   (Aktivurlaub, Das Training, Die Community, Geschichte & Team, Gruppenbucher)
   Scale: H1 40/28 (hero), H2 32/26, H3 22/20, lead 18, body 17/16, small 14
   Radius: 4px (cards, images), 999px (buttons). Container: 1170px (site default).
   ========================================================================== */
#content .ps{--ps-blue:#00A0E1;--ps-blue-dark:#007CAE;--ps-blue-text:#006B99;--ps-ink:#333;--ps-body:#4a4a4a;--ps-muted:#666;--ps-line:#e2e2e2;--ps-line-blue:#dde8ee;--ps-tint:#f3f8fb;--ps-grey:#f3f3f3;--ps-gap:52px}
#content .ps-sec{padding:56px 0 60px;border-top:1px solid var(--ps-line);background:#fff}
#content .ps-sec--tint{background:var(--ps-tint)}
#content .ps-sec--grey{background:var(--ps-grey)}
#content .ps-sec .container{max-width:1170px}

/* type */
#content .ps-label{display:block;font-family:'Oswald',sans-serif;font-weight:500;font-size:14px;line-height:1.2;letter-spacing:2px;text-transform:uppercase;color:var(--ps-blue-text);margin:0 0 10px}
#content .ps-h2{font-family:'Oswald',sans-serif;font-weight:700;font-size:32px;line-height:1.1;text-transform:uppercase;color:var(--ps-ink);margin:0 0 20px;text-align:left}
#content .ps-h3{font-family:'Oswald',sans-serif;font-weight:700;font-size:22px;line-height:1.2;text-transform:uppercase;color:var(--ps-ink);margin:0 0 10px;text-align:left}
#content .ps p{font-family:'Open Sans',sans-serif;font-size:17px;line-height:1.75;color:var(--ps-body);margin:0 0 18px}
#content .ps p:last-child{margin-bottom:0}
#content .ps p.ps-lead{font-size:18px;line-height:1.7;max-width:64ch}
#content .ps p.ps-strong{font-weight:700;color:var(--ps-ink)}
#content .ps p.ps-small{font-size:14px;line-height:1.6;color:var(--ps-muted)}
#content .ps .ps-text{max-width:64ch}

/* intro below the hero */
#content .ps-intro{padding:8px 0 56px;background:#fff}
#content .ps-intro .container{max-width:1170px}
#content .ps-intro p{max-width:64ch}

/* split: text + photo */
#content .ps-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--ps-gap);align-items:center}
#content .ps-split--rev{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
#content .ps-split--rev .ps-photo{order:-1}
#content .ps-photo{margin:0}
#content .ps-photo img,#content .ps-banner img{display:block;width:100%;height:auto;object-fit:cover;border-radius:4px}
#content .ps-photo img{aspect-ratio:4/3}
#content .ps-banner{margin:0 0 40px}
#content .ps-banner img{aspect-ratio:21/9}

/* points (3 facts next to a text) */
#content .ps-points{list-style:none;margin:0;padding:0;display:grid;gap:22px}
#content .ps-points li{padding:2px 0 2px 22px;border-left:3px solid var(--ps-blue)}
#content .ps-points b{display:block;font-family:'Oswald',sans-serif;font-weight:700;font-size:18px;line-height:1.25;text-transform:uppercase;letter-spacing:.3px;color:var(--ps-ink);margin-bottom:4px}
#content .ps-points span{display:block;font-family:'Open Sans',sans-serif;font-size:16px;line-height:1.6;color:var(--ps-body)}

/* programme cards */
#content .ps-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
#content .ps-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ps-line-blue);border-radius:4px;overflow:hidden;box-shadow:0 20px 40px -26px rgba(0,60,90,.35)}
#content .ps-card__img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
#content .ps-card__body{padding:22px 24px 8px}
#content .ps-progs{list-style:none;margin:0;padding:0}
#content .ps-progs li{padding:16px 0 18px;border-top:1px solid var(--ps-line)}
#content .ps-progs li:first-child{border-top:0;padding-top:4px}
#content .ps-progs__name{display:block;font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;letter-spacing:.5px;text-transform:uppercase;color:var(--ps-ink)}
#content .ps-progs__n{display:block;font-family:'Open Sans',sans-serif;font-size:15px;color:var(--ps-muted);margin:2px 0 6px}
#content .ps-progs__n b{font-family:'Oswald',sans-serif;font-weight:700;font-size:32px;line-height:1;color:var(--ps-blue-text);margin-right:6px}
#content .ps-progs__d{display:block;font-family:'Open Sans',sans-serif;font-size:16px;line-height:1.6;color:var(--ps-body)}

/* sub blocks inside a section */
#content .ps-sub{margin-top:52px}
#content .ps-sub .ps-h3{margin-bottom:6px}
#content .ps-sub > p{margin-bottom:18px}

/* table */
#content .ps-tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--ps-line-blue);border-radius:4px;margin-top:18px}
#content .ps-table{width:100%;border-collapse:collapse;min-width:420px}
#content .ps-table th,#content .ps-table td{padding:14px 20px;text-align:left;font-family:'Open Sans',sans-serif;font-size:16px;color:var(--ps-body);border-bottom:1px solid var(--ps-line)}
#content .ps-table thead th{font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--ps-ink);background:var(--ps-tint)}
#content .ps-table tbody tr:last-child td,#content .ps-table tbody tr:last-child th{border-bottom:0}
#content .ps-table thead th.num{text-align:right}
#content .ps-table th[scope=row]{font-weight:700;color:var(--ps-ink)}
#content .ps-table tbody .num{text-align:right;font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;color:var(--ps-blue-text)}

/* two plain boxes (Einzeltraining) */
#content .ps-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:18px}
#content .ps-box{background:#fff;border:1px solid var(--ps-line);border-radius:4px;padding:24px}
#content .ps-box .ps-h3{font-size:20px}
#content .ps-box p{font-size:16px;margin:0}

/* checklist */
#content .ps-check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
#content .ps-check li{position:relative;padding-left:32px;font-family:'Open Sans',sans-serif;font-size:17px;line-height:1.55;color:var(--ps-body)}
#content .ps-check li:before{content:"";position:absolute;left:6px;top:5px;width:7px;height:13px;border:solid var(--ps-blue-dark);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
#content .ps-split--list{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start}
#content .ps-note{margin-top:22px;padding:14px 18px;border-left:3px solid var(--ps-blue);background:#fff;border-radius:0 4px 4px 0}
#content .ps-note p{font-size:15px;line-height:1.6;margin:0}

/* closing */
#content .ps-close{text-align:left}
#content .ps-close .ps-text{margin-bottom:26px}
#content .ps-btn{display:inline-flex;align-items:center;gap:10px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;letter-spacing:1px;text-transform:uppercase;line-height:1;white-space:nowrap;color:#fff;background:var(--ps-blue-dark);text-decoration:none;padding:15px 28px;border-radius:999px;transition:background-color .18s ease}
#content .ps-btn:hover{background:var(--ps-blue-text);color:#fff;text-decoration:none}
#content .ps-btn:focus-visible{outline:2px solid var(--ps-blue);outline-offset:3px}
#content .ps-btn .arrow{transition:transform .18s ease}
#content .ps-btn:hover .arrow{transform:translateX(4px)}
#content .ps-btn:active{transform:translateY(1px)}
#content .ps-btn--outline{background:transparent;color:var(--ps-blue-text);box-shadow:inset 0 0 0 2px var(--ps-blue-dark)}
#content .ps-btn--outline:hover{background:var(--ps-blue-dark);color:#fff}
#content .ps-actions{display:flex;flex-wrap:wrap;gap:14px}

@media(max-width:900px){
  #content .ps-split,#content .ps-split--rev,#content .ps-split--list{grid-template-columns:minmax(0,1fr);gap:28px}
  #content .ps-split--rev .ps-photo{order:0}
  #content .ps-cards,#content .ps-duo{grid-template-columns:minmax(0,1fr)}
  #content .ps-check{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
  #content .ps-sec{padding:44px 0 48px}
  #content .ps-intro{padding:0 0 44px}
  #content .ps-h2{font-size:26px}
  #content .ps-h3{font-size:20px}
  #content .ps p{font-size:16px}
  #content .ps p.ps-lead{font-size:17px}
  #content .ps-banner{margin-bottom:28px}
  #content .ps-sub{margin-top:40px}
  #content .ps-btn{padding:14px 22px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){#content .ps-btn,#content .ps-btn .arrow{transition:none !important}}
#content .ps-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* first section like the hotel pages */
#content .ps-sec--first{border-top:0;padding-top:44px}
#content .ps-sec{scroll-margin-top:140px}
@media(max-width:767px){#content .ps-sec{scroll-margin-top:84px}#content .ps-sec--first{padding-top:32px}}

/* cards: destinations / target groups / events */
#content .ps-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
#content .ps-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
#content .ps-cards{margin-top:32px}
#content a.ps-card{color:inherit;text-decoration:none;transition:box-shadow .18s ease,transform .18s ease}
#content a.ps-card:hover{transform:translateY(-3px);box-shadow:0 26px 44px -26px rgba(0,60,90,.5)}
#content a.ps-card:focus-visible{outline:2px solid var(--ps-blue);outline-offset:3px}
#content .ps-card__body{padding:22px 24px 24px}
#content .ps-card__body .ps-h3{margin-bottom:6px}
#content .ps-card__body p{font-size:16px;line-height:1.6}
#content .ps-card__more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--ps-blue-text)}
#content .ps-card__more .arrow{transition:transform .18s ease}
#content a.ps-card:hover .ps-card__more .arrow{transform:translateX(4px)}
#content .ps-after{margin-top:32px}
#content .ps-linkrow{margin-top:18px}
#content .ps-linkrow .hd-textlink{padding:0}
/* team names */
#content .ps-names{list-style:none;margin:30px 0 0;padding:22px 0 0;border-top:1px solid var(--ps-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 32px}
#content .ps-names li{font-family:'Oswald',sans-serif;font-weight:600;font-size:18px;letter-spacing:.3px;color:var(--ps-ink)}
@media(max-width:900px){#content .ps-cards--3,#content .ps-cards--2{grid-template-columns:minmax(0,1fr)}#content .ps-names{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){#content .ps-card__body{padding:20px 20px 22px}}
@media(prefers-reduced-motion:reduce){#content a.ps-card,#content .ps-card__more .arrow{transition:none !important}#content a.ps-card:hover{transform:none}}

/* team portraits and photo album */
#content .ps-team{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
#content .ps-person{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ps-line-blue);border-radius:4px;overflow:hidden;box-shadow:0 20px 40px -26px rgba(0,60,90,.35)}
#content .ps-person img{display:block;width:100%;height:auto;aspect-ratio:5/6;object-fit:cover;object-position:50% 20%}
#content .ps-person b{display:block;padding:16px 20px 2px;font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;line-height:1.2;text-transform:uppercase;letter-spacing:.3px;color:var(--ps-ink)}
#content .ps-person span{display:block;padding:0 20px 18px;font-family:'Open Sans',sans-serif;font-size:15px;line-height:1.5;color:var(--ps-body)}
#content .ps-person b:last-child{padding-bottom:18px}
#content .ps-teamrest{margin-top:22px}
#content .ps-album{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
#content .ps-album li{margin:0}
#content .ps-album img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
@media(max-width:900px){#content .ps-team{grid-template-columns:repeat(2,minmax(0,1fr))}#content .ps-album{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:480px){#content .ps-person b{font-size:17px;padding:12px 14px 2px}#content .ps-person span{padding:0 14px 14px;font-size:14px}}
#content .ps-album--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){#content .ps-album--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){#content .ps-album--3{grid-template-columns:minmax(0,1fr)}}
