/*
Theme Name: Golfclub Heddesheim
Theme URI: https://gc-heddesheim.de
Author: Heike Seits
Version: 1.0.36
Text Domain: gppw
*/

[hidden] { display: none !important; }
.gppk-desktop-menu{font-size:1rem;white-space:nowrap}
.gppk-desktop-menu .nav-dropdown a{font-size:1rem}
@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-card .gphh-logo-dark{background:var(--ggc-page)}
.gphh-hotel-logo{overflow:hidden}
.gphh-hotel-logo.gphh-hotel-logo--light{background:#fff}
.gphh-hotel-logo.gphh-hotel-logo--dark{background:var(--ggc-page)}
.gphh-hotel-logo--scale-150>img{transform:scale(1.5);transform-origin:center}
.gphh-hotel-logo--scale-175>img{transform:scale(1.75);transform-origin:center}
.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)}}

.gphh-table-scroll{overflow-x:auto;max-width:100%}.gppk-richtext table{width:100%;border-collapse:collapse}.gppk-richtext td,.gppk-richtext th{border-bottom:1px solid #2a649644;padding:.65rem;text-align:left}.gppk-richtext img{max-width:100%;height:auto}.gppk-content-card__body{min-width:0}.gppk-richtext{overflow-wrap:anywhere}dialog::backdrop{background:rgba(var(--ggc-overlay-rgb),0.8000)}.gphh-skip-link{position:fixed;left:1rem;top:-8rem;z-index:99999;background:#fff;color:#0d1117;padding:1rem}.gphh-skip-link:focus{top:1rem}

.gppk-desktop-menu>li.gphh-nav-open>.nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}

/* Keep the sticky bar one row high while the mobile panel scrolls independently. */
:root{--gphh-nav-bottom:73px}
#main-nav{position:sticky;isolation:isolate}
#mob-menu{position:absolute;top:100%;left:0;right:0;z-index:50;max-height:calc(100vh - var(--gphh-nav-bottom));max-height:calc(100dvh - var(--gphh-nav-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#mob-overlay{top:var(--gphh-nav-bottom)}
.gppk-desktop-menu>li:has(.nav-dropdown)::before{content:'';position:absolute;top:100%;left:0;right:0;height:8px}
.gppk-desktop-menu .nav-dropdown{max-height:calc(100vh - var(--gphh-nav-bottom) - 12px);max-height:calc(100dvh - var(--gphh-nav-bottom) - 12px);overflow-y:auto;overscroll-behavior:contain}
.gppk-desktop-menu>li:last-child>.nav-dropdown{left:auto;right:0}
#main-content [id]{scroll-margin-top:calc(var(--gphh-nav-bottom) + 1rem)}

/* Journal: approved reference proportions, complete covers and aligned links. */
.gphh-journal-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
.gphh-journal-card{display:flex;flex-direction:column;min-height:100%}
.gppk-content-card.gphh-journal-card>.gppk-content-card__media,
.gppk-content-card.gphh-journal-card>.gppk-content-image-link{display:block;width:100%;height:auto;aspect-ratio:3/4;max-height:none;padding:0;object-fit:contain;background:radial-gradient(circle at 30% 20%,rgba(91,159,212,.18),transparent 55%),var(--ggc-panel)}
.gppk-content-card.gphh-journal-card>.gppk-content-image-link>.gppk-content-card__media{width:100%;height:100%;max-height:none;padding:0;object-fit:contain;background:transparent}
.gphh-journal-card>.gppk-content-card__body{display:flex;flex:1;flex-direction:column}
.gphh-journal-card>.gppk-content-card__body>a:last-child{align-self:flex-start;margin-top:auto;padding:1.25rem 0 0;border:0;border-radius:0;background:none;color:#86b8dc;font-weight:600}
.gphh-journal-card>.gppk-content-card__body>a:last-child:hover{color:#fff;background:none}
@media(min-width:640px){.gphh-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.gphh-journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Shared interface finish: keep the club's typography and colours consistent. */
:root{color-scheme:dark;--gphh-focus:#9bd3ff;--gphh-action-height:2.75rem}
body{font-optical-sizing:auto}
#main-content h1.font-heading{line-height:1.14;letter-spacing:-.025em;text-wrap:balance}
#main-content :is(h2,h3).font-heading{line-height:1.25;letter-spacing:-.015em;text-wrap:balance}
#main-content header.text-center{margin-bottom:clamp(2rem,4vw,3.5rem)}
#main-content :is(.gppk-richtext,.gppk-content-card__body,.gppk-person-card__body){overflow-wrap:break-word}
#main-content .gppk-richtext :is(p,li){text-wrap:pretty}
.gppk-content-card,.gppk-person-card{box-shadow:0 8px 24px #0003;border-color:#6e91ac33}
.gppk-person-card__badge{font-size:.75rem;line-height:1.4;letter-spacing:.01em}
.muted{color:#a5bacb}.muted-sm{color:#98afc2}

/* Visible keyboard focus and immediate feedback without moving page content. */
:where(#main-nav,#main-content,footer,.gphh-consent-shell) :is(a,button,input,select,textarea,summary,[tabindex="0"]):focus-visible,
#toTop:focus-visible{outline:2px solid var(--gphh-focus);outline-offset:4px}
:where(#main-nav,#main-content,footer,.gphh-consent-shell) :is(a,button,summary){-webkit-tap-highlight-color:#86b8dc30;touch-action:manipulation}
#main-nav :is(button,a):active,#main-content :is(button,a.inline-flex,a.rounded-xl,summary):active,
.gphh-consent-button:active{filter:brightness(1.18);transition-duration:0s}
#main-nav button,#main-nav>div>div>a,#main-content a.inline-flex,
#main-content a.rounded-xl,#main-content button,.gppk-consent-placeholder a{min-height:var(--gphh-action-height)}
#mob-toggle{min-width:var(--gphh-action-height);display:flex;align-items:center;justify-content:center}
@media(min-width:1280px){#mob-toggle{display:none}}
.gppk-desktop-menu>li>a{display:flex;align-items:center;min-height:var(--gphh-action-height)}
.gppk-desktop-menu .nav-dropdown{transform-origin:top left;transition-property:opacity,transform}
.gppk-desktop-menu .nav-dropdown a{min-height:var(--gphh-action-height);display:flex;align-items:center;line-height:1.4}
#main-nav a[aria-current="page"],#main-nav li:has(a[aria-current="page"])>.gphh-desktop-toggle{color:#fff;background:#2a64962b}
#main-nav .nav-dropdown a[aria-current="page"]{border-left-color:#86b8dc}
#main-nav .gphh-desktop-toggle svg{transition:transform .16s ease-out}
#main-nav .gphh-desktop-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
#main-content .pcc-btn{min-height:var(--gphh-action-height);font-size:.875rem;line-height:1.4}
#main-content .pcc-datebox{box-shadow:0 3px 12px #0003}
#oeffnungszeiten article>a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--gphh-action-height);margin-top:.5rem;color:#a9cbe2}
#oeffnungszeiten article>div{font-size:.9375rem;line-height:1.65}
#main-content .flex.items-end.justify-between{flex-wrap:wrap;row-gap:.75rem}
#main-content .flex.items-end.justify-between>a{display:inline-flex;align-items:center;min-height:var(--gphh-action-height)}

/* Consent is a focused task in the same visual language as the rest of the site. */
dialog.gphh-consent-shell{width:min(46rem,calc(100% - 2rem));max-width:none;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:0;border:1px solid #7a9bb344;border-radius:1.25rem;background:var(--ggc-panel);color:#e6eff5;box-shadow:0 24px 80px #0009;overflow-y:auto;overscroll-behavior:contain}
dialog.gphh-consent-shell::backdrop{background:rgba(var(--ggc-deep-rgb),0.7216);backdrop-filter:blur(6px)}
.gphh-consent-panel{padding:clamp(1.25rem,4vw,2rem)}
.gphh-consent-heading{font-size:clamp(1.35rem,3vw,1.65rem);font-weight:650;line-height:1.25;letter-spacing:-.02em;color:#fff}
.gphh-consent-heading:focus{outline:none}
.gphh-consent-description{margin-top:.75rem;color:#b9cede;font-size:.9375rem;line-height:1.65}
.gphh-consent-description a{color:#9bd3ff;text-decoration:underline;text-underline-offset:3px}
.gphh-consent-category{display:flex;gap:.875rem;align-items:flex-start;margin-top:.75rem;padding:1rem;border:1px solid #829eb533;border-radius:.875rem;background:#ffffff04;cursor:pointer}
.gphh-consent-category input{flex:none;width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:#5b9fd4}
.gphh-consent-category span{min-width:0}
.gphh-consent-category span span{display:block;line-height:1.5}
.gphh-consent-category span span+span{margin-top:.2rem;font-size:.875rem;color:#b9cede}
.gphh-consent-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.gphh-consent-button{min-height:var(--gphh-action-height);padding:.7rem 1rem;border:1px solid #7a9bb366;border-radius:.75rem;font-size:.875rem;font-weight:600;line-height:1.4;color:#e6eff5;background:#ffffff08;cursor:pointer;transition:background .15s,color .15s}
.gphh-consent-actions>.gphh-consent-button{flex:1 1 10rem}
.gphh-consent-button--primary{background:#2a6496;border-color:#6595bc}
.gphh-consent-button:hover{background:#ffffff14}.gphh-consent-button--primary:hover{background:#3476ac}

@media(max-width:639px){
  #main-content .gppk-content-card__body{padding:1.25rem}
  #main-content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:1rem}
  footer :is(a,button){display:inline-flex;align-items:center;min-height:var(--gphh-action-height);overflow-wrap:anywhere}
}
@media(hover:none){.gppk-person-card:hover,#main-content .group:hover img,#main-nav a:hover{transform:none}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .gppk-person-card:hover,#main-content .group:hover img,#main-nav a:hover{transform:none!important}
}
@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}
  dialog.gphh-consent-shell::backdrop{backdrop-filter:none;background:rgba(var(--ggc-deep-rgb),0.9020)}
}
@media(prefers-contrast:more){
  #main-nav,#main-nav.scrolled,.nav-dropdown{background:var(--ggc-deep);border-color:#9bbbd1;backdrop-filter:none;-webkit-backdrop-filter:none}
  .gppk-content-card,.gppk-person-card,#main-content .pcc-card,.gphh-consent-shell,.gphh-consent-category{border-color:#9bbbd1}
  .gppk-richtext,.muted,.muted-sm{color:#e3edf4}
}
