/* Wagner Tennis: hotel detail pages v2 (Offer Detail archetype).
   Shared by all *_v2 hotel pages. Tokens from CLAUDE.md only (blue #00A0E1 / #007CAE, greys, 4px/6px/pill radii).
   Every rule is scoped to "#content .hd" so it always beats the legacy "#content h2 / #content p"
   selectors (the same specificity trap seen on the homepage).
   TODO when promoted: merge into wt-relaunch.css as the "Offer Detail" section. */

#content .hd{background:#fff}
/* hero: central .ak-hero-clean (text + small photo) */
/* legacy .btn-custom stretches to 100%; keep it a normal-width primary button */
/* Primary CTA "Preis berechnen" (pill, approved button variant). Two links, one per viewport:
   desktop -> preisrechner_desktop.html, up to 767px -> preisrechner_mobile.html. #007CAE gives 4.97:1 with white text. */
#content .hd .hd-cta{font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#fff;background:#007cae;text-decoration:none;padding:15px 32px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .18s ease}
#content .hd a.hd-cta:hover,#content .hd a.hd-cta:focus-visible{background:#005a7e;color:#fff;text-decoration:none}
#content .hd .hd-cta .arrow{display:inline-block;transition:transform .18s ease}
#content .hd .hd-cta:hover .arrow{transform:translateX(4px)}
#content .hd .hd-cta--m{display:none}
#content .hd .cta-v5__go a.hd-cta-m{display:none}
@media(max-width:767px){
  #content .hd .hd-cta--d{display:none}
  #content .hd .hd-cta--m{display:inline-flex}
  #content .hd .cta-v5__go a.hd-cta-d{display:none !important}
  #content .hd .cta-v5__go a.hd-cta-m{display:inline-flex}
}
@media (prefers-reduced-motion:reduce){#content .hd .hd-cta,#content .hd .hd-cta .arrow{transition:none}}
/* in-text links: #00A0E1 on grey is only 2.66:1 */
#content .hd p a,#content .hd dd a,#content .hd li a{color:#007cae;text-decoration:underline;text-underline-offset:3px}
#content .hd p a:hover,#content .hd dd a:hover{color:#333}
/* #007cae on the grey price section is only 4.2:1 -> dark text, the underline keeps the link recognisable */
#content .hd .hd-sec--grey p a,#content .hd .hd-sec--grey dd a{color:#333}
#content .hd .hd-sec--grey p a:hover{text-decoration-thickness:2px}

/* Shared section header, same values as Das Training */
#content .hd .wt-head__eyebrow{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:2px;font-weight:500;font-size:14px;color:#007CAE;display:block;margin:0 0 6px}
#content .hd .wt-head__title{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:32px;margin:0 0 10px;line-height:1.05}
#content .hd .wt-head__lead{font-family:'Open Sans',sans-serif;color:#4a4a4a;font-size:16px;line-height:1.65;max-width:64ch;margin:0 0 34px}

#content .hd .hd-sec{padding:56px 0 60px;border-top:1px solid #e2e2e2;scroll-margin-top:140px}
#content .hd .hd-sec--tint{background:#f3f8fb}
#content .hd .hd-sec--grey{background:#f3f3f3}
#content .hd .hd-sec p{font-family:'Open Sans',sans-serif;color:#4a4a4a;font-size:16px;line-height:1.7}

/* Hero (central .ak-hero-clean) + CTA row */
#content .hd .hd-stars{color:#007CAE;font-size:.5em;letter-spacing:5px;vertical-align:.35em;white-space:nowrap;margin-left:6px}
#content .hd .hd-hero__cta{display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap;margin-top:28px}
#content .hd .hd-textlink{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#007CAE;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;padding:14px 0;display:inline-block;transition:color .18s ease}
#content .hd .hd-textlink:hover{color:#333}
#content .hd .hd-textlink .arrow{text-decoration:none}
#content .hd .hd-textlink .arrow{display:inline-block;transition:transform .18s ease}
#content .hd .hd-textlink:hover .arrow{transform:translateX(3px)}
#content .hd .hd-textlink:focus-visible,#content .hd .hd-tab:focus-visible,#content .hd .hd-prog > a:focus-visible,#content .hd .hd-anchors a:focus-visible,#content .hd .hd-scroll:focus-visible{outline:2px solid #00a0e1;outline-offset:3px}

/* Gallery: one large image + thumbnail strip (all images of the original, opens in the site's magnific lightbox) */
#content .hd .hd-gallery-wrap{padding:0 0 44px}
#content .hd .hd-gallery{display:grid;gap:14px}
#content .hd .hd-gallery figure,#content .hd .hd-gallery li{margin:0}
#content .hd .hd-zoom{display:block;position:relative;overflow:hidden;border-radius:4px;background:#e2e2e2;cursor:zoom-in}
#content .hd .hd-zoom img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.23,1,.32,1)}
#content .hd .hd-zoom:hover img{transform:scale(1.03)}
#content .hd .hd-gallery__main .hd-zoom{aspect-ratio:1920/700}
#content .hd .hd-gallery__thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--k,3),minmax(0,1fr));gap:14px}
#content .hd .hd-gallery__thumbs .hd-zoom{aspect-ratio:16/9}
#content .hd .hd-gallery--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#content .hd .hd-gallery--2 .hd-gallery__main .hd-zoom,#content .hd .hd-gallery--2 .hd-gallery__thumbs .hd-zoom{aspect-ratio:16/10}
#content .hd .hd-gallery--2 .hd-gallery__thumbs{display:block}

/* In-page navigation */
#content .hd .hd-anchors{background:#fff;border-top:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2}
#content .hd .hd-anchors ul{list-style:none;margin:0;padding:0;display:flex;gap:34px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
#content .hd .hd-anchors ul::-webkit-scrollbar{display:none}
#content .hd .hd-anchors a{display:block;padding:18px 0 15px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#333;text-decoration:none;border-bottom:3px solid transparent;transition:color .18s ease,border-color .18s ease}
#content .hd .hd-anchors a:hover,#content .hd .hd-anchors a[aria-current="true"]{color:#007cae;border-bottom-color:#00a0e1}

/* Labels */
#content .hd .hd-label{font-family:'Oswald',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:#007cae;display:block;margin:0 0 12px}
#content .hd .hd-label--block{margin:44px 0 18px}

/* Tabs (Unterkunft, Preise) */
#content .hd .hd-tablist{display:flex;gap:4px;box-shadow:inset 0 -1px 0 #e2e2e2;margin:0 0 32px;overflow-x:auto;overflow-y:hidden}
#content .hd .hd-tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;padding:14px 26px 13px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px;color:#666;transition:color .18s ease,border-color .18s ease;white-space:nowrap}
#content .hd .hd-tab b{font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:inherit}
#content .hd .hd-tab span{font-family:'Open Sans',sans-serif;font-size:13px;color:inherit}
#content .hd .hd-tab:hover{color:#007cae}
#content .hd .hd-tab[aria-selected="true"]{color:#333;border-bottom-color:#00a0e1}
#content .hd .hd-panel[hidden]{display:none}
#content .hd .hd-panel__title{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:22px;margin:0 0 22px;line-height:1.15}
.js #content .hd .hd-panel__title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.no-js #content .hd .hd-tablist{display:none}
.no-js #content .hd .hd-panel + .hd-panel{margin-top:56px;padding-top:44px;border-top:1px solid #e2e2e2}

#content .hd .hd-panel__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:52px;align-items:start}
#content .hd .hd-meal{background:#fff;border:1px solid #e2e2e2;border-radius:4px;padding:28px 30px}
#content .hd .hd-meal__main{font-family:'Oswald',sans-serif !important;font-size:21px !important;font-weight:600;line-height:1.3 !important;color:#333 !important;margin:0 0 16px}
#content .hd .hd-meal__note{font-size:14.5px !important;line-height:1.6 !important;margin:14px 0 0}
#content .hd .hd-times{margin:0;display:flex;flex-direction:column;gap:8px}
#content .hd .hd-times div{display:flex;justify-content:space-between;gap:16px}
#content .hd .hd-times dt{font-family:'Open Sans',sans-serif;font-weight:400;font-size:14px;color:#666}
#content .hd .hd-times dd{margin:0;font-family:'Open Sans',sans-serif;font-weight:600;font-size:14px;color:#333;font-variant-numeric:tabular-nums}
#content .hd .hd-meal .hd-textlink{margin-top:22px}

#content .hd .hd-rooms{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}
#content .hd .hd-rooms b{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#333;display:block;line-height:1.25}
#content .hd .hd-rooms p{font-size:15px !important;line-height:1.65 !important;margin:5px 0 0}

#content .hd .hd-amen{margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:52px;row-gap:22px}
#content .hd .hd-amen dt{font-family:'Open Sans',sans-serif;font-size:13.5px;font-weight:700;color:#333;margin:0 0 3px}
#content .hd .hd-amen dd{margin:0;font-family:'Open Sans',sans-serif;font-size:14.5px;line-height:1.6;color:#4a4a4a}

#content .hd .hd-resort{margin-top:44px;padding-top:36px;border-top:1px solid #e2e2e2}
#content .hd .hd-resort__nums{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
#content .hd .hd-resort__nums b{display:block;font-family:'Oswald',sans-serif;font-size:44px;font-weight:600;line-height:1;color:#007cae}
#content .hd .hd-resort__nums span{display:block;margin-top:6px;font-family:'Open Sans',sans-serif;font-size:14px;color:#4a4a4a}
#content .hd .hd-resort p{font-size:15px !important;line-height:1.7 !important;max-width:80ch;margin:0 0 12px}

/* Tennisprogramme: 2 large + 4 small = 6 cells */
#content .hd .hd-progs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
#content .hd .hd-prog--lg{grid-column:span 2}
#content .hd .hd-prog > a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e2e2e2;border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .18s ease}
#content .hd .hd-prog > a:hover{border-color:#00a0e1}
#content .hd .hd-prog__img{display:block;overflow:hidden;aspect-ratio:3/2;background:#e2e2e2}
#content .hd .hd-prog--lg .hd-prog__img{aspect-ratio:2/1}
#content .hd .hd-prog__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.23,1,.32,1)}
#content .hd .hd-prog > a:hover img{transform:scale(1.035)}
#content .hd .hd-prog__body{display:flex;flex-direction:column;gap:3px;padding:18px 20px 6px;flex:1}
#content .hd .hd-prog__body b{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;color:#333;line-height:1.2}
#content .hd .hd-prog__body span{font-family:'Open Sans',sans-serif;font-size:14px;color:#666;line-height:1.45}
#content .hd .hd-prog__more{padding:8px 20px 18px;font-family:'Oswald',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#007cae}
#content .hd .hd-prog__more .arrow{display:inline-block;transition:transform .18s ease}
#content .hd .hd-prog > a:hover .arrow{transform:translateX(4px)}

/* Tennisanlage */
#content .hd .hd-court{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
#content .hd .hd-court__img{margin:0}
#content .hd .hd-court__img img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:35% 50%;display:block;border-radius:4px}
#content .hd .hd-lede{font-size:20px !important;line-height:1.65 !important;color:#333 !important;margin:0 0 16px}
#content .hd .hd-lede--wide{max-width:820px}
#content .hd .hd-facts{list-style:none;margin:28px 0 0;padding:22px 0 0;border-top:1px solid #e2e2e2;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 40px}
#content .hd .hd-facts b{display:block;font-family:'Oswald',sans-serif;font-size:22px;font-weight:600;color:#333;line-height:1.2}
#content .hd .hd-facts span{display:block;font-family:'Open Sans',sans-serif;font-size:13.5px;color:#666;margin-top:2px}
#content .hd .hd-group{margin-top:52px;padding:28px 32px;background:#fff;border:1px solid #e2e2e2;border-radius:4px;display:grid;grid-template-columns:1fr 2fr auto;gap:12px 32px;align-items:center}
#content .hd .hd-group h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:18px;line-height:1.2;margin:0}
#content .hd .hd-group p{font-size:15px !important;line-height:1.65 !important;margin:0}

/* Preise */
#content .hd .hd-tabs--compact .hd-tablist{margin-bottom:24px}
#content .hd .hd-scrollhint{display:none;font-family:'Open Sans',sans-serif;font-size:12.5px;color:#666;margin:0 0 8px}
#content .hd .hd-scrollhint.is-on{display:block}
#content .hd .hd-scroll{overflow-x:auto;background:#fff;border:1px solid #e2e2e2;border-radius:4px;max-width:100%}
#content .hd .hd-scroll--narrow{max-width:780px}
#content .hd .hd-table{border-collapse:separate;border-spacing:0;width:100%;min-width:calc(var(--cols,6) * 92px + 136px);font-size:14.5px;font-variant-numeric:tabular-nums;color:#333}
#content .hd .hd-table th,#content .hd .hd-table td{padding:11px 14px;text-align:center}
#content .hd .hd-table thead th{font-family:'Oswald',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.6px;text-transform:uppercase;color:#333;vertical-align:bottom;background:#fff;border-bottom:1px solid #e2e2e2;line-height:1.3}
#content .hd .hd-table thead tr:first-child th{background:#fff;color:#007cae;border-bottom:1px solid #e2e2e2}
#content .hd .hd-table thead tr:first-child th + th{border-left:1px solid #e2e2e2}
#content .hd .hd-table small{display:block;font-family:'Open Sans',sans-serif;font-weight:400;font-size:12px;letter-spacing:0;text-transform:none;color:#666;margin-top:2px;line-height:1.35}
#content .hd .hd-table tbody th{font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;letter-spacing:.2px;color:#333;text-align:left;white-space:nowrap}
#content .hd .hd-table tbody tr:nth-child(even) > *{background:#f3f8fb}
#content .hd .hd-table tbody tr:hover > *{background:#e6f3fa}
#content .hd .hd-table .hd-table__date,#content .hd .hd-table tbody th{position:sticky;left:0;z-index:1;background:#fff}
#content .hd .hd-table .hd-table__date{z-index:2;text-align:left;border-right:1px solid #e2e2e2}
#content .hd .hd-table tbody th{border-right:1px solid #e2e2e2}
#content .hd .hd-table tbody tr:nth-child(even) > th{background:#f3f8fb}
#content .hd .hd-row--request td[colspan]{color:#666;font-style:italic}
#content .hd .hd-table--small{min-width:640px}
#content .hd .hd-table--small thead th{text-align:center;vertical-align:top;font-size:12px;line-height:1.5}
#content .hd .hd-table--small thead th:first-child,#content .hd .hd-table--small tbody th{text-align:left;white-space:normal}
#content .hd .hd-caption b{font-weight:700;color:#333}
/* Campweekends (left) and Campwochen (right) side by side, stacked on tablet/phone (Campwochen first) */
#content .hd .hd-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start;margin:0 0 44px}
#content .hd .hd-single{margin:0 0 44px}
#content .hd .hd-pair__title{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:22px;margin:0 0 14px;line-height:1.15}
@media(min-width:992px){
  #content .hd .hd-pair .hd-scroll--narrow{max-width:none}
  #content .hd .hd-pair .hd-table{min-width:calc(var(--cols,6) * 58px + 112px);font-size:13px}
  #content .hd .hd-pair .hd-table th,#content .hd .hd-pair .hd-table td{padding:9px 5px}
  #content .hd .hd-pair .hd-table thead th{font-size:11px;letter-spacing:.1px}
  #content .hd .hd-pair .hd-table tbody th{font-size:12.5px}
  #content .hd .hd-pair .hd-table small{font-size:11px}
}
/* tables with 6+ price columns break out of the 1140px container so both still fit side by side */
@media(min-width:1200px){
  #content .hd .hd-pair--wide{width:min(1400px,calc(100vw - 48px));margin-left:calc(50% - min(700px,calc(50vw - 24px)))}
  #content .hd .hd-pair--wide .hd-table{font-size:13px}
}
@media(max-width:991px){
  #content .hd .hd-pair{grid-template-columns:minmax(0,1fr);gap:40px}
  #content .hd .hd-pair__col--wk{order:-1}
}
#content .hd .hd-note{font-family:'Open Sans',sans-serif;font-size:13px !important;line-height:1.55 !important;color:#666 !important;margin:14px 0 0}
#content .hd .hd-terms{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:52px;margin-top:52px;align-items:start}
#content .hd .hd-terms h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:20px;line-height:1.15;margin:0 0 16px}
#content .hd .hd-terms__col > p{font-size:15px !important;line-height:1.65 !important;margin:0 0 18px}
#content .hd .hd-bullets{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-family:'Open Sans',sans-serif;font-size:14.5px;color:#4a4a4a;line-height:1.55}
#content .hd .hd-kids{display:flex;flex-direction:column;gap:22px}
#content .hd .hd-kids b{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#333;display:block;margin-bottom:4px}
#content .hd .hd-kids p{font-size:14.5px !important;line-height:1.7 !important;margin:0}
#content .hd .hd-insurance{margin-top:48px;padding-top:30px;border-top:1px solid #d6d6d6;display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap}
#content .hd .hd-insurance p{margin:0;font-size:15px !important}
#content .hd .hd-insurance p b{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.4px;font-size:14px;color:#333;margin-right:8px}

/* Poreč */
#content .hd .hd-banner{margin:6px 0 36px}
#content .hd .hd-banner img{width:100%;height:auto;aspect-ratio:21/8;object-fit:cover;display:block;border-radius:4px}
#content .hd .hd-city{columns:2;column-gap:52px;margin-top:36px}
#content .hd .hd-city > div{break-inside:avoid;margin:0 0 30px}
#content .hd .hd-city h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:16px;letter-spacing:.4px;margin:0 0 8px}
#content .hd .hd-city p{font-size:15.5px !important;line-height:1.8 !important;margin:0}


/* Generic building blocks used by the other hotel pages */
#content .hd .hd-spec{margin:0;display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);column-gap:40px;row-gap:22px;max-width:980px}
#content .hd .hd-spec dt{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#007cae;padding-top:3px}
#content .hd .hd-spec dd{margin:0;font-family:'Open Sans',sans-serif;font-size:16px;line-height:1.7;color:#4a4a4a}
#content .hd .hd-desc{margin-top:30px}
#content .hd .hd-desc-note{max-width:78ch;margin:22px 0 0 !important}
#content .hd .hd-sec p.hd-desc-lede{font-size:19px;line-height:1.7;color:#333;max-width:72ch;margin:0 0 30px}
#content .hd .hd-feat{list-style:none;margin:0;padding:0;columns:2;column-gap:36px;font-family:'Open Sans',sans-serif;font-size:15px;line-height:1.5;color:#4a4a4a}
#content .hd .hd-feat li{break-inside:avoid;padding:3px 0}
#content .hd .hd-feat--note{margin:22px 0 0;max-width:980px}
#content .hd .hd-desc > * + .hd-spec{margin-top:26px}
#content .hd .hd-desc > .hd-spec + p,#content .hd .hd-desc > .hd-spec + ul{margin-top:26px}
#content .hd .hd-desc p{margin:0 0 14px}
#content .hd .hd-subhead{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:18px;letter-spacing:.3px;line-height:1.2;margin:34px 0 14px}
#content .hd .hd-subhead:first-child{margin-top:0}
#content .hd .hd-desc ul:not(.hd-feat),#content .hd .hd-term ul{margin:0 0 14px;padding-left:20px;font-family:'Open Sans',sans-serif;font-size:15px;line-height:1.7;color:#4a4a4a}
#content .hd .hd-terms--cols{display:block;columns:2;column-gap:52px}
#content .hd .hd-terms--cols > .hd-term{break-inside:avoid;margin:0 0 34px}
#content .hd .hd-term h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:700;color:#333;font-size:20px;line-height:1.15;margin:0 0 14px}
#content .hd .hd-term p{font-size:15px !important;line-height:1.7 !important;margin:0 0 12px}
#content .hd .hd-term .hd-scroll{margin:0 0 14px}
#content .hd .hd-caption{font-family:'Open Sans',sans-serif;font-size:14.5px;color:#4a4a4a;margin:0 0 14px;line-height:1.55}
#content .hd .hd-court__text p{margin:0 0 14px}
#content .hd .hd-dist{margin:0 0 14px;display:grid;grid-template-columns:auto 1fr;column-gap:24px;row-gap:4px;font-family:'Open Sans',sans-serif;font-size:15px;color:#4a4a4a}
#content .hd .hd-dist dt{font-weight:600;color:#333}
#content .hd .hd-dist dd{margin:0}
#content .hd .hd-city--wide{columns:1}
@media(max-width:991px){
  #content .hd .hd-spec{grid-template-columns:minmax(0,1fr);row-gap:6px}
  #content .hd .hd-spec dd{margin-bottom:16px}
  #content .hd .hd-terms--cols{columns:1}
}

/* Tablet */
@media(max-width:991px){
  #content .hd .hd-panel__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  #content .hd .hd-court{grid-template-columns:minmax(0,1fr);gap:32px}
  #content .hd .hd-terms{grid-template-columns:minmax(0,1fr);gap:44px}
  #content .hd .hd-group{grid-template-columns:minmax(0,1fr);gap:12px}
  #content .hd .hd-progs{grid-template-columns:repeat(2,1fr)}
  #content .hd .hd-resort__nums{grid-template-columns:repeat(2,1fr)}
}

/* Mobile */
@media(max-width:767px){
  #content .hd .hd-sec{padding:44px 0 48px;scroll-margin-top:84px}
  #content .hd .wt-head__title{font-size:26px}
  #content .hd .hd-gallery-wrap{padding-bottom:32px}
  #content .hd .hd-gallery,#content .hd .hd-gallery--2{grid-template-columns:minmax(0,1fr);gap:10px}
  #content .hd .hd-gallery__main .hd-zoom,#content .hd .hd-gallery--2 .hd-gallery__main .hd-zoom{aspect-ratio:16/10}
  #content .hd .hd-gallery__thumbs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none;margin-right:-15px;padding-right:15px}
  #content .hd .hd-gallery__thumbs::-webkit-scrollbar{display:none}
  #content .hd .hd-gallery__thumbs li{flex:0 0 46%;scroll-snap-align:start}
  #content .hd .hd-gallery--2 .hd-gallery__thumbs{display:block;overflow:visible;margin:0;padding:0}
  #content .hd .hd-gallery--2 .hd-gallery__thumbs li{flex:none}
  #content .hd .hd-gallery--2 .hd-gallery__thumbs .hd-zoom{aspect-ratio:16/10}
  #content .hd .hd-anchors ul{gap:24px}
  #content .hd .hd-tab{padding:12px 18px 11px}
  #content .hd .hd-amen{grid-template-columns:1fr}
  #content .hd .hd-meal{padding:24px 22px}
  #content .hd .hd-table{min-width:calc(var(--cols,6) * 74px + 122px)}
  #content .hd .hd-table th,#content .hd .hd-table td{padding:10px 9px}
  #content .hd .hd-table tbody th{font-size:13px}
  #content .hd .hd-feat{columns:1}
  #content .hd .hd-city{columns:1}
  #content .hd .hd-lede{font-size:18px !important}
  #content .hd .hd-facts{grid-template-columns:1fr;gap:16px}
  #content .hd .hd-resort__nums b{font-size:36px}
  #content .hd .hd-insurance{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  /* 2 large programme tiles full width, the 4 small ones two per row */
  #content .hd .hd-progs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #content .hd .hd-prog--lg{grid-column:1 / -1}
  #content .hd .hd-prog--lg .hd-prog__img{aspect-ratio:16/9}
  #content .hd .hd-prog__body{padding:12px 12px 4px}
  #content .hd .hd-prog__body b{font-size:15px}
  #content .hd .hd-prog__body span{font-size:13px}
  #content .hd .hd-prog__more{padding:6px 12px 12px}
}

@media (prefers-reduced-motion:no-preference){
  #content .hd .hd-panel{animation:hdFade .24s ease-out}
}
@keyframes hdFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  #content .hd .hd-prog__img img,#content .hd .hd-textlink .arrow,#content .hd .hd-prog__more .arrow{transition:none !important}
  #content .hd .hd-prog > a:hover img,#content .hd .hd-prog > a:hover .arrow,#content .hd .hd-textlink:hover .arrow{transform:none}
}
@media print{
  #content .hd .hd-panel[hidden]{display:block !important}
  #content .hd .hd-tablist,#content .hd .hd-anchors{display:none}
  #content .hd .hd-panel + .hd-panel{margin-top:32px}
}
/* Hotel page v3 structure: Tennisanlage as sub-block of the programme section, CTA below the price tables */
#content .hd .hd-sub{margin-top:52px;padding-top:52px;border-top:1px solid #dde8ee}
#content .hd .hd-sub .wt-head__title{font-size:24px}
#content .hd .hd-pricecta{margin-top:36px;text-align:center}
@media(max-width:767px){#content .hd .hd-sub{margin-top:36px;padding-top:36px}#content .hd .hd-pricecta{margin-top:28px}}
