/* Golf Day 2026 presentation enhancements; isolated from booking and management logic.
   Production-safe typography: Bodoni Moda + Inter (open-licence web fonts).
   Do not distribute the uploaded demo/restricted font files. */
:root { --gd-design-sans: "Inter", "Segoe UI", Arial, sans-serif; --gd-design-display: "Bodoni Moda", "Bodoni MT", "Didot", Georgia, serif; }
body:not(.wp-admin), body.gd-journey, body.gdrsvp-body { font-family: var(--gd-design-sans) !important; letter-spacing: -.01em; }
body:not(.wp-admin) input, body:not(.wp-admin) select, body:not(.wp-admin) textarea, body:not(.wp-admin) button,
body.gd-journey .gd-button, body.gd-journey .gd-tabs button, body.gdrsvp-body .btn { font-family: var(--gd-design-sans) !important; }
body:not(.wp-admin) h1, body:not(.wp-admin) h2,
body:not(.wp-admin) .brand h1, body:not(.wp-admin) .rk-name, body:not(.wp-admin) .gd-brand strong,
body.gd-journey .gd-main h1, body.gd-journey .gd-main h2, body.gdrsvp-body .hero h1,
body.gdrsvp-body .event-card h2 { font-family: var(--gd-design-display) !important; letter-spacing: -.025em; }
body:not(.wp-admin) h1, body:not(.wp-admin) h2 { text-wrap: balance; }
body.gd-journey .gd-main h1 { font-size: clamp(2rem,4.5vw,2.65rem); line-height: 1.17; }
body.gd-journey .gd-main h2 { font-size: clamp(1.65rem,3.2vw,2.12rem); line-height: 1.2; }
body:not(.wp-admin) input, body:not(.wp-admin) select, body:not(.wp-admin) textarea { font-size: max(16px, 1rem); }
/* Floating player: visible on each event page, silent until visitors choose Play. */
.gd-event-music { --em-bg:#071426; --em-gold:#d5ae55; position: fixed; z-index: 9950; bottom: max(12px,env(safe-area-inset-bottom)); right: 14px; width: auto; max-width: min(360px,calc(100vw - 28px)); min-height: 48px; box-sizing: border-box; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 8px 10px; border: 1px solid var(--em-gold); border-radius: 9px; background: var(--em-bg); color: #fff; font: 600 12px/1.4 var(--gd-design-sans) !important; box-shadow: 0 4px 20px rgba(0,0,0,.18); }
.gd-event-music * { box-sizing: border-box; }
.gd-event-music-meta { display: flex; align-items: center; gap: 6px; min-width: 90px; }
.gd-event-music-note { font-size: 18px; color: var(--em-gold); }
.gd-event-music-title { white-space: nowrap; }
.gd-event-music button { appearance: none; cursor: pointer; border: 1px solid #b8c0c9; border-radius: 6px; padding: 6px 11px; min-height: 38px; margin: 0; width: auto; color: #071426; background: #fff; font: 700 12px/1.25 var(--gd-design-sans) !important; white-space: nowrap; box-shadow: none; }
.gd-event-music button.gd-event-music-play { background: var(--em-gold); border-color: var(--em-gold); }
.gd-event-music button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.gd-event-music-status { flex-basis: 100%; color: #fff; font-weight: 400; display: none; }
.gd-event-music-status:not(:empty) { display: block; }
.gd-event-music audio { display:none; }
@media (max-width: 480px) {
 .gd-event-music { bottom: max(8px,env(safe-area-inset-bottom)); right: 8px; padding: 6px 8px; max-width: calc(100vw - 16px); gap: 5px; }
 .gd-event-music-title { font-size: 11px; }
 .gd-event-music-meta { min-width: 70px; }
 .gd-event-music button { min-height: 39px; padding: 5px 8px; }
}
@media print { .gd-event-music { display:none!important; } }

/* Collapsed by default so music never obstructs primary registration controls. */
.gd-event-music .gd-event-music-expand { background: var(--em-gold); border-color: var(--em-gold); }
.gd-event-music.is-collapsed { padding: 4px; min-height: 45px; border-radius: 25px; }
.gd-event-music.is-collapsed .gd-event-music-meta,
.gd-event-music.is-collapsed .gd-event-music-play,
.gd-event-music.is-collapsed .gd-event-music-mute,
.gd-event-music.is-collapsed .gd-event-music-status { display:none!important; }
/* WordPress administration: typography applies only when this sheet is loaded on Golf Day plugin screens. */
body.wp-admin .wrap, body.wp-admin .wrap input, body.wp-admin .wrap select, body.wp-admin .wrap button,
body.wp-admin .wrap textarea, body.wp-admin .wrap table { font-family:var(--gd-design-sans)!important; }
body.wp-admin .wrap h1, body.wp-admin .wrap h2 { font-family:var(--gd-design-display)!important; letter-spacing:-.025em; }

/* vMobile 2026-10-24 — compact collapsed soundtrack control; keep the same
 * user-initiated play/pause/mute controls and audio. */
@media (max-width: 650px) {
 .gd-event-music.is-collapsed {
   width: 44px !important; max-width: 44px !important;
   height: 44px !important; min-height: 44px !important;
   border-radius: 50% !important; padding: 2px !important;
   right: 10px !important;
   bottom: max(10px, env(safe-area-inset-bottom)) !important;
   gap: 0 !important;
 }
 .gd-event-music.is-collapsed .gd-event-music-expand {
   display: grid !important; place-items: center !important;
   width: 38px !important; min-width: 38px !important;
   height: 38px !important; min-height: 38px !important;
   border-radius: 50% !important; padding: 0 !important;
   font-size: 0 !important; line-height: 1 !important;
 }
 .gd-event-music.is-collapsed .gd-event-music-expand::before {
   content: "♫"; display: block; font-size: 20px; line-height: 1;
 }
 .gd-event-music:not(.is-collapsed) {
   max-width: calc(100vw - 20px); right: 10px;
   bottom: max(10px, env(safe-area-inset-bottom));
 }
}
