/* GPS Studio – komponenter. Farver arves fra temaet "gps" med fallback. */
:root{--gps-gold:var(--wp--preset--color--gold,#E8C372);--gps-bg:var(--wp--preset--color--noir,#1E1E1D);--gps-card:#272726;--gps-line:#3A3A38;--gps-fg:#F1EFEA;--gps-muted:#A9A69E;--gps-ok:#7FD49A;--gps-err:#FF8A78;--gps-mono:var(--wp--preset--font-family--mono,"JetBrains Mono",ui-monospace,monospace);--gps-disp:var(--wp--preset--font-family--display,"Bebas Neue",Impact,sans-serif)}
.gps-card{background:var(--gps-card);border:1px solid var(--gps-line);border-radius:8px;padding:20px;color:var(--gps-fg);min-width:0}
.gps-card h3{font-family:inherit;font-weight:700;font-size:17px;margin:0 0 10px;letter-spacing:0;text-transform:none}
.gps-mono{font:600 11px/1.4 var(--gps-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gps-muted);margin:0 0 6px}
.gps-small{font-size:13px;color:var(--gps-muted)}
.gps-small a,.gps-card a:not(.gps-btn){color:var(--gps-gold)}
.gps-btn{display:inline-block;font-family:inherit;font-weight:700;font-size:14px;line-height:1.2;padding:13px 22px;border-radius:6px;background:var(--gps-gold);color:#1D1D1C!important;text-decoration:none;border:0;cursor:pointer;text-align:center;transition:transform .15s}
.gps-btn:hover{transform:translateY(-2px)}
.gps-btn:disabled,.gps-btn.is-disabled{opacity:.45;pointer-events:none}
.gps-btn.gps-ghost{background:transparent;color:var(--gps-fg)!important;box-shadow:inset 0 0 0 1.5px currentColor}
.gps-btn:focus-visible,.gps-link:focus-visible,.gps-slot:focus-visible{outline:2px solid var(--gps-gold);outline-offset:2px}
.gps-link{background:none;border:0;color:var(--gps-gold);font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}
.gps-link:disabled{opacity:.35;cursor:default}
.gps-actions{display:flex;gap:10px;flex-wrap:wrap}
.gps-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;margin-bottom:10px}
.gps-note{padding:12px 16px;border-radius:8px;background:#2E2C25;border:1px solid #5A4C2A;color:#F1E3BF;font-size:14px}
.gps-note.gps-ok{background:#1F3326;border-color:#2F5A3B;color:#CFEFD9}
.gps-msg{font-size:14px;margin:10px 0 0;min-height:1em}
.gps-msg.gps-ok{color:var(--gps-ok)}.gps-msg.gps-err,.gps-err{color:var(--gps-err)}
.gps-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.gps-stack{display:grid;gap:18px}
@media (max-width:800px){.gps-grid2{grid-template-columns:1fr}}
/* Booking */
.gps-booking.is-loading{opacity:.6}
.gps-booking,.gps-me{max-width:none!important}
.gps-bk{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.gps-scroll{overflow-x:auto}
.gps-week{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:6px;min-width:540px}
.gps-dh{font:600 11px var(--gps-mono);letter-spacing:.06em;color:var(--gps-muted);text-align:center;padding-bottom:4px}
.gps-dh b{display:block;font:400 22px var(--gps-disp);color:var(--gps-fg)}
.gps-slot{font:600 12px var(--gps-mono);padding:9px 4px;border-radius:6px;border:1px solid var(--gps-line);background:#232322;color:var(--gps-fg);cursor:pointer;position:relative}
.gps-slot:hover:not(:disabled){border-color:var(--gps-gold)}
.gps-slot:disabled{background:transparent;color:#5E5C57;text-decoration:line-through;cursor:not-allowed}
.gps-slot[aria-pressed="true"]{background:var(--gps-gold);color:#1E1E1D;border-color:var(--gps-gold)}
.gps-tdot{position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:#5DBB7A}
.gps-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--gps-muted);margin-top:12px}
.gps-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#5DBB7A;margin-right:6px}
.gps-weeknav{display:flex;gap:14px;align-items:center}
.gps-quota{font-size:13px;color:#BEBBB3;display:inline-flex;gap:8px;align-items:center}
.gps-quota b{display:inline-flex;gap:4px}.gps-quota b i{width:18px;height:6px;border-radius:3px;background:var(--gps-line)}.gps-quota b i.on{background:var(--gps-gold)}
.gps-sum{position:sticky;top:90px;display:grid;gap:4px}
.gps-tot{font:400 30px var(--gps-disp);color:var(--gps-gold)}
.gps-opt{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:12px;border:1px solid var(--gps-line);border-radius:8px;margin-bottom:8px;cursor:pointer}
.gps-opt input{margin-top:3px;accent-color:#E8C372}
.gps-opt small{display:block;color:var(--gps-muted)}
.gps-wiz{display:none;max-width:440px;margin-inline:auto;gap:14px;text-align:center;background:var(--gps-card);border:1px solid var(--gps-line);border-radius:14px;padding:22px 16px;color:var(--gps-fg)}
.gps-wiz h3{font:400 34px/1 var(--gps-disp);margin:0}
.gps-pb{height:6px;border-radius:3px;background:var(--gps-line);overflow:hidden}.gps-pb i{display:block;height:100%;background:var(--gps-gold);transition:width .3s}
.gps-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.gps-days button{flex:0 0 auto;min-width:58px;padding:10px 6px;border-radius:10px;border:1px solid var(--gps-line);background:#232322;color:var(--gps-fg);cursor:pointer;font:600 11px var(--gps-mono);display:grid;gap:2px;justify-items:center}
.gps-days button b{font:400 24px/1 var(--gps-disp)}
.gps-days button[aria-pressed="true"]{background:var(--gps-gold);color:#1E1E1D;border-color:var(--gps-gold)}
.gps-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gps-times .gps-slot{border-radius:99px;padding:11px 4px}
.gps-wiz .gps-opt{text-align:left}
@media (max-width:700px){.gps-bk{display:none}.gps-wiz{display:grid}}
/* Min side */
.gps-me-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.gps-bkrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--gps-line)}
.gps-bkrow:last-child{border-bottom:0}
.gps-bkrow p{margin:2px 0 0;color:var(--gps-muted);font-size:13px}
.gps-d{font:400 34px/1 var(--gps-disp);color:var(--gps-gold);text-align:center;min-width:56px}
.gps-d small{display:block;font:600 10px var(--gps-mono);color:var(--gps-muted);letter-spacing:.08em}
.gps-code{font:600 20px var(--gps-mono);letter-spacing:.18em;background:#1A1A19;border:1px dashed rgba(232,195,114,.55);border-radius:6px;padding:6px 10px;white-space:nowrap}
@media (max-width:560px){.gps-bkrow{grid-template-columns:auto minmax(0,1fr)}.gps-code{grid-column:2;justify-self:start}}
.gps-status{display:inline-flex;gap:6px;align-items:center;font:600 11px var(--gps-mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:99px;background:#2E4A37;color:#9BE3B0}
.gps-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.gps-status.s-cancelled,.gps-status.s-pending{background:#4A3F24;color:#F1D58F}.gps-status.s-past_due,.gps-status.s-expired{background:#4A2A24;color:#FFB4A6}
.gps-table{width:100%;border-collapse:collapse;font-size:13px}
.gps-table td{padding:8px 4px;border-bottom:1px solid var(--gps-line);vertical-align:top}
.gps-table td:last-child{text-align:right;white-space:nowrap}
.gps-actions-inline{font-size:13px}
/* Forms */
.gps-form{display:grid;gap:12px}
.gps-form label{display:grid;gap:6px;font-size:13px;color:#BEBBB3}
.gps-form input,.gps-form select,.gps-form textarea,.gps-card #loginform input[type=text],.gps-card #loginform input[type=password]{font-family:inherit;font-size:15px;padding:12px;border-radius:6px;border:1px solid #4A4A47;background:#1A1A19;color:var(--gps-fg);width:100%;box-sizing:border-box}
.gps-form input:focus,.gps-form select:focus,.gps-form textarea:focus{outline:2px solid var(--gps-gold);outline-offset:0;border-color:transparent}
.gps-card #loginform p{display:grid;gap:6px;font-size:13px;color:#BEBBB3;margin:0 0 12px}
.gps-card #loginform .login-remember{display:block}
.gps-card #wp-submit{font-family:inherit;font-weight:700;font-size:14px;padding:13px 22px;border-radius:6px;background:var(--gps-gold);color:#1D1D1C;border:0;cursor:pointer}
.gps-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gps-toggle{display:inline-flex;border:1px solid #4A4A47;border-radius:99px;padding:4px;gap:4px;justify-self:start}
.gps-toggle button{font-family:inherit;font-weight:700;font-size:14px;padding:10px 18px;border-radius:99px;border:0;background:transparent;color:#D9D6CE;cursor:pointer}
.gps-toggle button[aria-pressed="true"]{background:var(--gps-gold);color:#1E1E1D}
.gps-plans{display:grid;gap:8px}
.gps-plan-opt{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid var(--gps-line);border-radius:8px;cursor:pointer;background:#232322;color:var(--gps-fg);text-align:left;font-family:inherit;font-size:inherit}
.gps-plan-opt:has(input:checked),.gps-plan-opt:hover{border-color:var(--gps-gold)}
.gps-plan-opt input{accent-color:#E8C372}
.gps-plan-opt small{display:block;color:var(--gps-muted);font-size:13px}
.gps-gate{max-width:640px}
.gps-gate h3{font:400 32px/1 var(--gps-disp)}
.gps-lang{font:600 11px var(--gps-mono);letter-spacing:.08em;border:1px solid rgba(241,239,234,.5);border-radius:99px;padding:5px 9px;white-space:nowrap}
.gps-lang a{color:inherit;text-decoration:none;opacity:.6}.gps-lang a[aria-current]{opacity:1}

/* YouTube + medier */
.gps-yt .gps-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:6px;overflow:hidden;cursor:pointer;background:#2f2f2e}
.gps-yt .gps-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gps-yt .gps-thumb:hover img{transform:scale(1.03)}
.gps-yt-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:6px;display:block;margin-bottom:10px}
.gps-yt-featured{margin-bottom:24px}
.gps-yt.is-featured .gps-ep-title{font-family:var(--gps-disp)!important;font-size:clamp(26px,3.4vw,40px)!important;font-weight:400!important;letter-spacing:.01em!important}
.gps-ytgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.gps-ytgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.gps-ytgrid{grid-template-columns:minmax(0,1fr)}}
.gps-media{margin-block:24px}
.gps-media-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,240px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.gps-media-item{margin:0;scroll-snap-align:start}
.gps-media-item img,.gps-media-item video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:8px;display:block;background:#2f2f2e}
.gps-media-galleri .gps-media-track{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-columns:auto;overflow:visible}
.gps-media-galleri .gps-media-item img,.gps-media-galleri .gps-media-item video{aspect-ratio:4/3}
.gps-media-item figcaption{font-size:13px;color:var(--gps-muted);margin-top:6px}
.gps-vplayer img.gps-vimg,.gps-vplayer video.gps-vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* 1.4 */
.gps-form [hidden],.gps-card [hidden]{display:none!important}
.gps-signup{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.gps-signup-main{display:grid;gap:18px;min-width:0}
.gps-signup fieldset{margin:0;display:grid;gap:12px}
.gps-signup legend{float:left;width:100%;padding:0;margin-bottom:4px}
.gps-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gps-paygrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gps-signup-sum{position:sticky;top:90px;display:grid;gap:10px}
.gps-signup-sum h3{margin:0}
.gps-sum-price{font:400 40px/1 var(--gps-disp,inherit);margin:0;color:var(--gps-gold)}
.gps-sum-list{margin:0;padding-left:18px;color:var(--gps-muted);font-size:14px;display:grid;gap:4px}
.gps-check{display:flex!important;gap:8px;align-items:flex-start;font-size:14px}
.gps-check input{accent-color:#E8C372;margin-top:3px}
@media (max-width:900px){.gps-signup{grid-template-columns:1fr}.gps-signup-sum{position:static}}
@media (max-width:520px){.gps-two,.gps-paygrid{grid-template-columns:1fr}}
.gps-signup label.gps-plan-opt,.gps-signup label.gps-check{display:flex!important;flex-direction:row;align-items:center;gap:12px}
.gps-signup input[type=radio],.gps-signup input[type=checkbox]{width:18px!important;height:18px;flex:0 0 18px;margin:0;padding:0;min-height:0}
.gps-signup .gps-plan-opt span{flex:1;min-width:0}
.gps-signup .gps-plans{display:grid;gap:10px}
.gps-media-item img,.gps-media-item video{height:auto!important}
.gps-rcpt{color:inherit;text-decoration:underline;text-decoration-color:var(--gps-gold);text-underline-offset:3px}.gps-rcpt:hover{color:var(--gps-gold)}
/* Lodret video på Studie-siden: fylder hele feltet (beskåret midt i billedet) */
.gps-vportrait{position:absolute;inset:0;background:#111;overflow:hidden}
.gps-vportrait video.gps-vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;background:#000}
.gps-vplayer:has(.gps-vportrait){aspect-ratio:4/3}
@media (max-width:781px){.gps-vplayer:has(.gps-vportrait){aspect-ratio:4/5}}
