/* Stavanger Open – nytt design for påmeldingsskjemaet [so_registration_form]
   Lastes bare når «Bruk nytt design» er på (Feltbeskrivelser i admin).
   Alt er avgrenset til #so-registration-form og .so-fd-top, så andre sider
   som bruker so-form.css / so-form-extra.css påvirkes ikke. */

#so-registration-form,
.so-fd-top{--fd-y:#F6C404;--fd-yl:#fffbea;--fd-d:#1c1c14;--fd-b:#e5e7eb;--fd-m:#5f6368;--fd-in:#c3c4c7}
#so-registration-form{counter-reset:sofd;color:#1d2327}

/* ── Topplinje ─────────────────────────────────────────────────────────── */
.so-fd-top{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;background:var(--fd-d);color:#fff;border-radius:12px;padding:12px 16px;margin:0 0 18px;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.12)}
body.admin-bar .so-fd-top{top:32px}
@media (max-width:782px){body.admin-bar .so-fd-top{top:46px}}
@media (max-width:600px){body.admin-bar .so-fd-top{top:0}}
.so-fd-top[hidden]{display:none !important}
/* Bare i fanen «Påmelding» – ikke i Informasjon, Meldinger, Frister, Søknader osv. */
#so-form-body[class*="so-regtab-on-"]:not(.so-regtab-on-form) > .so-fd-top{display:none !important}
.so-fd-top__who{min-width:0;display:flex;flex-direction:column}
.so-fd-top__band{font-weight:700;font-size:16px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.so-fd-top__meta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#d6d6cf;margin-top:3px;flex-wrap:wrap}
.so-fd-pill{display:inline-block;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;background:#3a3a30;color:#fff}
.so-fd-pill--submitted{background:var(--fd-y);color:var(--fd-d)}
.so-fd-pill--confirmed{background:#b7e4c7;color:#0a4b1f}
.so-fd-pill--locked{background:#f3c2c2;color:#7a1919}
.so-fd-top__save{font-size:13px;font-weight:600;white-space:nowrap;color:#b7e4c7}
.so-fd-top__save.is-busy{color:#d6d6cf}
.so-fd-top__save.is-pending{color:var(--fd-y)}
.so-fd-top__save.is-err{color:#ffb4b4}
.so-fd-top__right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.so-fd-top__btns{display:flex;gap:8px}
.so-fd-top button.so-fd-btn,.so-fd-top button.so-fd-btn:hover,.so-fd-top button.so-fd-btn:focus{display:inline-flex;align-items:center;gap:4px;margin:0;padding:8px 16px !important;border-radius:8px !important;font:inherit;font-size:14px !important;font-weight:700 !important;line-height:1.25 !important;text-transform:none !important;letter-spacing:normal !important;box-shadow:none !important;cursor:pointer;min-height:0;white-space:nowrap}
.so-fd-top button.so-fd-btn--main{background:var(--fd-y) !important;color:var(--fd-d) !important;border:1px solid var(--fd-y) !important}
.so-fd-top button.so-fd-btn--main:hover:not(:disabled){background:#ffd52e !important;border-color:#ffd52e !important}
.so-fd-top button.so-fd-btn--copy{background:transparent !important;color:#fff !important;border:1px solid #6b6b60 !important;font-weight:600 !important}
.so-fd-top button.so-fd-btn--copy:hover:not(:disabled){border-color:#fff !important;background:rgba(255,255,255,.06) !important}
.so-fd-top button.so-fd-btn:disabled{opacity:.55;cursor:not-allowed}
.so-fd-top button.so-fd-btn:focus-visible{outline:2px solid #fff !important;outline-offset:2px}
.so-fd-top button.so-fd-btn[hidden]{display:none !important}
@media (max-width:600px){
	.so-fd-top{padding:10px 12px;gap:8px}
	.so-fd-top__upd,.so-fd-long{display:none}
	.so-fd-top__right{width:100%;justify-content:space-between}
	.so-fd-top button.so-fd-btn{padding:7px 12px !important}
}

/* ── Seksjoner ─────────────────────────────────────────────────────────── */
#so-registration-form .so-section{background:#fff;border:1px solid var(--fd-b);border-radius:12px;margin-bottom:18px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}
#so-registration-form .so-section > .so-section__title,
#so-registration-form .so-section--accordion .so-section__title{counter-increment:sofd;display:flex !important;align-items:center;gap:10px;margin:0 !important;font-size:17px !important;font-weight:700 !important;letter-spacing:normal !important;text-transform:none !important;color:var(--fd-d) !important;line-height:1.3 !important}
#so-registration-form .so-section > .so-section__title{padding:14px 18px;background:#fff;border-bottom:3px solid var(--fd-y)}
#so-registration-form .so-section > .so-section__title::before,
#so-registration-form .so-section--accordion .so-section__title::before{content:counter(sofd);display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--fd-d);color:var(--fd-y);font-size:13px;font-weight:700}
#so-registration-form .so-section__body{padding:16px 18px}

/* Seksjoner som kan lukkes (Kontaktpersoner, Program) */
#so-registration-form .so-section--accordion .so-section__toggle{display:flex !important;align-items:center !important;justify-content:space-between !important;width:100% !important;margin:0 !important;padding:14px 18px !important;background:#fff !important;border:0 !important;border-bottom:3px solid transparent !important;border-radius:0 !important;box-shadow:none !important;cursor:pointer;text-align:left !important;min-height:0}
#so-registration-form .so-section--accordion .so-section__toggle .so-section__title{padding:0 !important;background:none !important;border:0 !important}
#so-registration-form .so-section--accordion .so-section__toggle[aria-expanded="true"]{border-bottom-color:var(--fd-y) !important}
#so-registration-form .so-section--accordion .so-section__toggle:hover{background:#fafaf6 !important}
#so-registration-form .so-section--accordion .so-section__toggle:focus-visible{outline:2px solid var(--fd-d) !important;outline-offset:-2px}
#so-registration-form .so-section--accordion .so-section__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f0f0ec;color:var(--fd-d) !important;font-size:18px !important;font-weight:600 !important;line-height:1 !important}
#so-registration-form .so-section--accordion .so-section__body{border:0 !important;border-radius:0 !important;padding:16px 18px !important;background:#fff !important}

/* Låsemeldinger */
#so-registration-form .so-lock-notice{border-radius:0;border-left-width:4px}
#so-registration-form .so-section__body .so-lock-notice{border-radius:6px;margin:0 0 10px}

/* Innsending */
#so-registration-form .so-section--submit{background:var(--fd-d);border-color:var(--fd-d);color:#fff}
#so-registration-form .so-section--submit .so-section__body{padding:18px}
#so-registration-form .so-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
#so-registration-form .so-status-row::before{content:'Status:';font-weight:600}
#so-registration-form .so-section--submit .so-status{border-radius:999px;padding:2px 11px;font-size:13px}
#so-registration-form .so-section--submit .so-status--draft{background:#3a3a30;color:#fff}
#so-registration-form .so-section--submit .so-status--submitted{background:var(--fd-y);color:var(--fd-d)}
#so-registration-form .so-updated{color:#d6d6cf;font-size:13px}
#so-registration-form .so-section--submit #so-action-notice{margin-top:8px}

/* ── Felt ──────────────────────────────────────────────────────────────── */
#so-registration-form .so-label{font-weight:600;font-size:14px;color:var(--fd-d);margin-bottom:14px}
#so-registration-form .so-label input,
#so-registration-form .so-label textarea,
#so-registration-form .so-label select{margin-top:5px}
#so-registration-form input[type="text"],
#so-registration-form input[type="email"],
#so-registration-form input[type="tel"],
#so-registration-form input[type="url"],
#so-registration-form input[type="number"],
#so-registration-form select,
#so-registration-form textarea{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--fd-in);border-radius:8px;background:#fff;font:inherit;font-size:15px;font-weight:400;color:#1d2327;line-height:1.4;box-shadow:none;transition:border-color .15s,box-shadow .15s}
#so-registration-form input.so-input--number{max-width:120px}
#so-registration-form .so-stykke-duration{width:80px !important;max-width:80px}
#so-registration-form input:focus,
#so-registration-form select:focus,
#so-registration-form textarea:focus{outline:none;border-color:var(--fd-d);box-shadow:0 0 0 3px rgba(246,196,4,.45)}
#so-registration-form input:disabled,
#so-registration-form select:disabled,
#so-registration-form textarea:disabled{background:#f3f3f0;color:#6b6b63;cursor:not-allowed}
#so-registration-form .so-email-wrap input{margin-top:0}
/* Deltakere: én felles kolonne for etikettene, så «🔒 Låst» og «⏳ Stenges …» får plass på samme linje */
#so-registration-form .so-participants-grid{display:grid;grid-template-columns:max-content 96px minmax(0,1fr);gap:10px 14px;align-items:center}
#so-registration-form .so-participant-row{display:contents}
#so-registration-form .so-participant-row .so-label{margin:0;white-space:nowrap;display:flex;align-items:center;flex-wrap:nowrap}
#so-registration-form .so-participant-row .so-label .so-lk-badge{flex:0 0 auto}
#so-registration-form .so-participant-row input.so-input--number{max-width:none;width:100%}
#so-registration-form .so-participant-row .so-price-hint{margin:0}
@media (max-width:600px){
	#so-registration-form .so-participants-grid{grid-template-columns:90px minmax(0,1fr);gap:4px 12px}
	#so-registration-form .so-participant-row .so-label{grid-column:1 / -1;white-space:normal;flex-wrap:wrap;gap:4px 8px;margin-top:8px}
	#so-registration-form .so-participant-row .so-label .so-lk-badge{margin-left:0}
	#so-registration-form .so-participant-row .so-price-hint{grid-column:auto}
}
#so-registration-form .so-price-hint{color:var(--fd-m)}

/* Feltgrupper og beskrivelser */
#so-registration-form .so-field-group{border-top:1px solid #efefea;padding-top:16px;margin-top:16px}
#so-registration-form .so-section__body > .so-field-group:first-child{border-top:0;padding-top:0;margin-top:0}
#so-registration-form .so-subheading{font-size:15px !important;font-weight:700 !important;color:var(--fd-d) !important;text-transform:none !important;letter-spacing:normal !important;margin:0 0 4px !important;line-height:1.35 !important}
#so-registration-form .so-description{color:var(--fd-m);font-size:14px;margin:0 0 10px}
#so-registration-form .so-empty{color:var(--fd-m)}

/* ── Avkrysninger som brikker ──────────────────────────────────────────── */
#so-registration-form .so-checkbox-list{column-count:auto !important;columns:auto !important;display:flex;flex-wrap:wrap;gap:6px}
#so-registration-form .so-checkbox-list .so-checkbox-item{display:block;margin:0}
#so-registration-form .so-checkbox-list .so-label--checkbox{display:inline-flex;align-items:center;gap:7px;margin:0;padding:6px 12px;border:1px solid #d0d0cc;border-radius:999px;background:#fff;font-size:14px;font-weight:400;line-height:1.3;cursor:pointer;user-select:none;transition:background .12s,border-color .12s}
#so-registration-form .so-checkbox-list .so-label--checkbox:hover{border-color:var(--fd-d)}
#so-registration-form .so-checkbox-list .so-label--checkbox:has(input:checked){background:var(--fd-yl);border-color:var(--fd-y);font-weight:600}
#so-registration-form .so-checkbox-list .so-label--checkbox:has(input:disabled){cursor:default;opacity:.65}
#so-registration-form .so-checkbox-list .so-label--checkbox:has(input:focus-visible){outline:2px solid var(--fd-d);outline-offset:2px}
#so-registration-form input[type="checkbox"]{accent-color:var(--fd-d);width:16px;height:16px;margin:0}
#so-registration-form .so-label--checkbox{display:inline-flex;align-items:center;gap:8px;font-weight:500}
#so-registration-form .so-checkbox-list .so-checkbox-item.so-empty,
#so-registration-form .so-checkbox-list > .so-empty{flex-basis:100%}
@media (max-width:600px){
	#so-registration-form .so-checkbox-list{gap:5px}
	#so-registration-form .so-checkbox-list .so-label--checkbox{padding:4px 10px;font-size:13.5px;gap:6px}
}

/* ── Knapper ───────────────────────────────────────────────────────────── */
#so-registration-form .so-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px !important;border:1px solid transparent !important;border-radius:8px !important;font-size:14.5px !important;font-weight:600 !important;line-height:1.3 !important;text-transform:none !important;letter-spacing:normal !important;box-shadow:none !important;text-decoration:none !important;min-height:0;cursor:pointer}
#so-registration-form .so-btn:focus-visible{outline:2px solid var(--fd-d) !important;outline-offset:2px}
#so-registration-form .so-btn--secondary,
#so-registration-form .so-add-solist,
#so-registration-form #so-dp-modal-cancel{background:#fff !important;color:var(--fd-d) !important;border-color:var(--fd-in) !important}
#so-registration-form .so-btn--secondary:hover:not(:disabled),
#so-registration-form .so-add-solist:hover{background:#f6f6f2 !important;border-color:var(--fd-d) !important}
#so-registration-form .so-btn--primary,
#so-registration-form .so-btn--add-stykke,
#so-registration-form #so-drive-plan-add{background:var(--fd-d) !important;color:#fff !important;border-color:var(--fd-d) !important}
#so-registration-form .so-btn--primary:hover:not(:disabled),
#so-registration-form .so-btn--add-stykke:hover{background:#3a3a30 !important;border-color:#3a3a30 !important}
#so-registration-form .so-add-solist{font-size:13px !important;padding:6px 12px !important}
#so-registration-form .so-btn--remove{background:#fff !important;color:#b32d2e !important;border-color:#e6b3b3 !important;padding:5px 12px !important;font-size:13px !important}
#so-registration-form .so-btn--remove:hover{background:#fce8e8 !important;border-color:#b32d2e !important}
#so-registration-form .so-btn--scene-submitted{background:#edfaef !important;color:#145e30 !important;border-color:#8fd19e !important}
#so-registration-form .so-btn--scene-submitted:hover{background:#dcf3e1 !important}
#so-registration-form .so-btn--small{padding:5px 10px !important;font-size:13px !important}
#so-registration-form .so-btn:disabled{opacity:.55;cursor:not-allowed}

/* Hovedknappen nederst: gul, både «Send inn registrering» og «Lagre endringer» */
#so-registration-form .so-section--submit #so-submit-btn{background:var(--fd-y) !important;color:var(--fd-d) !important;border-color:var(--fd-y) !important;padding:12px 26px !important;font-size:16px !important;font-weight:700 !important}
#so-registration-form .so-section--submit #so-submit-btn:hover:not(:disabled){background:#ffd52e !important;border-color:#ffd52e !important}
#so-registration-form .so-section--submit #so-submit-btn:focus-visible{outline-color:#fff !important}
#so-registration-form .so-section--submit #so-send-update-btn{background:transparent !important;color:#fff !important;border-color:#6b6b60 !important;margin-left:8px}
#so-registration-form .so-section--submit #so-send-update-btn:hover{border-color:#fff !important;background:rgba(255,255,255,.06) !important}
#so-registration-form #so-email-lock-btn{border-radius:8px !important;padding:8px 10px !important}

/* ── Stykker, solister og kontakter ────────────────────────────────────── */
#so-registration-form .so-stykke,
#so-registration-form .so-contact{background:#fbfbf8;border:1px solid var(--fd-b);border-radius:10px;padding:14px}
#so-registration-form .so-stykke__number,
#so-registration-form .so-contact__number{font-weight:700;color:var(--fd-d)}
#so-registration-form .so-stykke__fields label,
#so-registration-form .so-solist label,
#so-registration-form .so-contact__fields label{font-weight:600;font-size:13.5px;color:var(--fd-d)}
#so-registration-form .so-stykke__fields input,
#so-registration-form .so-solist input,
#so-registration-form .so-contact__fields input,
#so-registration-form .so-contact__fields select{margin-top:4px}
#so-registration-form .so-stykke.so-drag-over{border:2px dashed var(--fd-d);background:var(--fd-yl)}
#so-registration-form .so-program-duration-display{background:var(--fd-yl);border-left:3px solid var(--fd-y);border-radius:0 8px 8px 0}

/* ── Totaler ───────────────────────────────────────────────────────────── */
#so-registration-form .so-totals-table td{padding:7px 0;border-bottom:1px solid #f0f0ec}
#so-registration-form .so-totals-table__grand td{border-top:2px solid var(--fd-d);border-bottom:0;padding-top:10px;font-size:16px}

/* ── Velger og informasjon øverst ──────────────────────────────────────── */
#so-registration-form .so-registration-picker{background:#fff;border:1px solid var(--fd-b);border-left:4px solid var(--fd-y);border-radius:12px;padding:14px 18px}
#so-registration-form .so-switch-registration{background:var(--fd-yl);border:1px solid #f0dc85;border-radius:10px}
#so-registration-form #so-info-accordion{border:1px solid var(--fd-b) !important;border-radius:12px;overflow:hidden}
#so-registration-form #so-info-accordion .so-accordion__toggle{background:#fff !important;color:var(--fd-d) !important;border:0 !important;border-radius:0 !important;padding:13px 18px !important;font-weight:700;text-transform:none !important;letter-spacing:normal !important}
#so-registration-form #so-info-accordion .so-accordion__toggle[aria-expanded="true"]{border-bottom:3px solid var(--fd-y) !important}
#so-registration-form #so-info-accordion .so-accordion__chevron{color:var(--fd-d)}
#so-registration-form .so-notice{border-radius:8px}

@media (max-width:600px){
	#so-registration-form .so-section__body,
	#so-registration-form .so-section--accordion .so-section__body{padding:14px !important}
	#so-registration-form .so-section > .so-section__title,
	#so-registration-form .so-section--accordion .so-section__toggle{padding:12px 14px !important}
	#so-registration-form .so-section--submit #so-submit-btn{width:100%}
	#so-registration-form .so-section--submit #so-send-update-btn{margin:8px 0 0;width:100%}
}

/* Feilmeldingen ved innsending skal ikke havne under den faste topplinjen */
#so-validation-errors{scroll-margin-top:110px}

/* ── Program: Tittel på egen linje, så Komponist | Arrangør | Varighet ──── */
#so-registration-form .so-stykke__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto !important;align-items:end}
#so-registration-form .so-stykke__fields .so-stykke__label--title{grid-column:1 / -1}
#so-registration-form .so-stykke__fields .so-stykke__label--duration{width:80px}
@media (max-width:600px){
	#so-registration-form .so-stykke__fields{grid-template-columns:minmax(0,1fr) auto !important}
	#so-registration-form .so-stykke__fields .so-stykke__label--composer{grid-column:1 / -1}
}

/* ── Programtittel som overskrift for programmet ───────────────────────── */
#so-registration-form #so-program-title{font-size:20px;font-weight:700;padding:12px 14px;letter-spacing:.01em}
#so-registration-form #so-program-title::placeholder{font-weight:400;font-size:16px}