/*
Theme Name: Golfpark Kurpfalz
Theme URI: https://golfpark-kurpfalz.de
Author: Heike Seits
Version: 4.6.21
Text Domain: gppw
*/

[hidden] { display: none !important; }
.gppk-pro-bio { overflow-wrap: anywhere; }
.gppk-person-card.gppk-pro-contact { min-height: 0; align-self: start; }
/* Quiet reading rhythm and explicit contact actions on trainer profiles. */
.gppk-pro-page h1 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
.gppk-pro-layout > * { min-width: 0; }
.gppk-pro-page > div > header > p { max-width: 42rem; margin-inline: auto; font-size: 1.0625rem; }
.gppk-pro-story .gppk-content-card__body { padding: clamp(1.35rem, 3vw, 2.5rem); }
.gppk-pro-story .gppk-pro-bio { font-size: 1.0625rem; line-height: 1.8; max-width: 68ch; }
.gppk-pro-bio h2, .gppk-pro-bio h3, .gppk-pro-bio h4 { margin-top: 2rem; padding-top: 1.75rem; border-top: 1px solid rgba(168,195,212,.16); line-height: 1.4; text-wrap: balance; }
.gppk-pro-bio h3 { font-size: 1.3125rem; }
.gppk-pro-bio p { margin-block: 1em; }
.gppk-pro-contact:hover { transform: none; }
.gppk-pro-contact .gppk-person-card__badge { font-size: .8125rem; line-height: 1.5; }
.gppk-pro-contact .gppk-person-card__body { padding: 1.25rem; }
.gppk-pro-actions { display: grid; gap: .625rem; }
.gppk-pro-action { display: flex; align-items: center; gap: .625rem; min-height: 2.75rem; padding: .7rem .75rem; border: 1px solid rgba(91,159,212,.32); border-radius: .75rem; background: rgba(42,100,150,.1); color: #dcebf5; font-size: .9375rem; line-height: 1.5; transition: background-color .15s, border-color .15s; }
.gppk-pro-action span { min-width: 0; overflow-wrap: anywhere; }
.gppk-pro-action svg { width: 1.125rem; height: 1.125rem; flex: 0 0 auto; color: #91bddb; }
.gppk-pro-action--booking { justify-content: center; background: rgba(42,100,150,.3); }
.gppk-pro-action:hover, .gppk-pro-action:active { background: rgba(42,100,150,.3); border-color: #6e9fbe; }
.gppk-pro-action:active { transition: none; }
.gppk-pro-back { min-height: 2.75rem; }
/* Shared keyboard, touch and display-preference support. */
:where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #a9d5f4; outline-offset: 3px; }
#cc-root :where(a,button,input):focus-visible { outline-color: #1e5280; }
#mob-toggle { min-width: 2.75rem; min-height: 2.75rem; }
#mob-toggle svg { margin-inline: auto; }
#mob-toggle:active { background: rgba(168,195,212,.18); transition: none; }
#main-nav.gppk-nav-compact .gppk-desktop-menu { display: none; }
#main-nav.gppk-nav-compact #mob-toggle { display: inline-flex; align-items: center; justify-content: center; }
#main-nav.gppk-nav-compact #mob-menu:not(.hidden), #main-nav.gppk-nav-compact #mob-overlay:not(.hidden) { display: block; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  #main-nav, #main-nav *, .gppk-person-card, .gppk-pro-action, #toTop { transition: none !important; }
  .gppk-person-card:hover, #main-nav a:hover { transform: none; }
}
@media(prefers-reduced-transparency:reduce) {
  #main-nav, #main-nav.scrolled, .nav-dropdown { background: var(--ggc-deep); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .glass, .glass-light { background: var(--ggc-panel); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media(prefers-contrast:more) {
  #main-nav, #main-nav.scrolled, .nav-dropdown { background: var(--ggc-deep); border-color: #91bddb; }
  .gppk-pro-story, .gppk-pro-contact { background: var(--ggc-deep); border-color: #91bddb; }
  .gppk-pro-bio { color: #e2edf5; }
  .gppk-pro-action { background: var(--ggc-panel); color: #fff; border-color: #91bddb; }
}
.gppk-desktop-menu{font-size:1rem;white-space:nowrap}
.gppk-desktop-menu .nav-dropdown a{font-size:1rem}
.gppk-desktop-menu>li:focus-within>.nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
@media(min-width:1280px) and (max-width:1399px){.gppk-desktop-menu{font-size:.9375rem}.gppk-desktop-menu>li>a,.gppk-desktop-menu>li>button{padding-left:.4rem;padding-right:.4rem}}
.gppk-map-embed { width: 100%; }
.gppk-consent-placeholder { border: 1px solid #2a649655; border-radius: 1rem; padding: 1.5rem; background: var(--ggc-panel); color: #c4ddeb; text-align: center; }
.gppk-consent-placeholder p { margin: 0 0 1rem; line-height: 1.6; }
.gppk-consent-placeholder button, .gppk-consent-placeholder a { display: inline-block; margin: .3rem; padding: .65rem 1rem; border: 1px solid #5b9fd477; border-radius: .75rem; }
.gppk-consent-placeholder button { background: #2a6496; color: white; cursor: pointer; }
.gppk-content-card .gppk-content-media--contain{object-fit:contain;background:#fff;max-height:540px;padding:1rem}
.gppk-content-card:not(.gppk-content-card--split) .gppk-content-media--contain{height:auto;max-height:640px}
.gppk-content-card .gppk-content-media--logo{object-fit:scale-down;background:#fff;height:280px;max-height:280px;padding:1.5rem}
.gppk-content-image-link{display:block;min-width:0;cursor:zoom-in}
.gppk-content-image-link:focus-visible{outline:3px solid #8bc8ff;outline-offset:3px}
.gppk-course-content>*{min-width:0}
.gppk-course-panel .gppk-score-scroll{max-width:100%}
.gppk-content-card--image-right>.gppk-content-image-link{order:2}
.gppk-person-grid.gppk-person-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.gppk-person-grid.gppk-person-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:799px){.gppk-content-card--image-right>.gppk-content-image-link{order:0}}
@media(max-width:540px){.gppk-person-grid.gppk-person-grid--four{grid-template-columns:minmax(0,1fr)}}

@media (max-width: 639px) {
  main :is(h1, h2), main .prose a { overflow-wrap: anywhere; }
  main :is(h1, h2) { hyphens: auto; }
}
