.pt-enrollment-app,.pt-enrollment-directory{max-width:760px;margin:0 auto;color:#1f2933}.pt-enrollment-app *,.pt-enrollment-directory *{box-sizing:border-box}.pt-compact-alert{padding:9px 12px;margin-bottom:9px}.pt-compact-alert p{margin:2px 0 0}.pt-progress-text{font-size:.88rem;font-weight:800;margin:0 0 5px;color:#30343a}.pt-step-indicator{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:0;margin:0 0 9px;list-style:none}.pt-step-indicator li{border:1px solid #c8c5b9;border-radius:8px;padding:6px 4px;background:#eceae2;color:#30343a;font-size:.76rem;text-align:center}.pt-step-indicator li.is-active{background:#f2c94c;border-color:#8b7100;font-weight:800}.pt-step-indicator li.is-complete{background:#dcebdc;border-color:#557a55}.pt-form-step{display:none}.pt-form-step.is-active{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:9px;row-gap:7px;align-items:end}.pt-form-step>*{grid-column:1/-1;min-width:0}.pt-form-step h2{margin:0 0 2px;outline:none}.pt-field-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px;grid-column:1/-1}.pt-field-row>label{grid-column:span 6}.pt-field-row>label:has(input[name*="postal_code"]){grid-column:span 3}.pt-field-row>label:has(input[name$="city"]),.pt-field-row>label:has(input[name="city"]){grid-column:span 9}.pt-field-row>label:has(select[name="desired_instrument"]),.pt-field-row>label:has(select[name="desired_instrument_2"]),.pt-field-row>label:has(select[name="desired_instrument_3"]){grid-column:span 4}.pt-form-step label>span{display:block;font-weight:700;margin:0 0 3px}.pt-form-step label>small,.pt-textarea-field>small{display:block;margin-top:3px;color:#58616b;font-size:.78rem}.pt-form-step input,.pt-form-step select,.pt-form-step textarea,.pt-enrollment-directory input{width:100%;min-height:39px;border:1px solid #a9a79f;border-radius:7px;background:#fff;color:#17202a;padding:8px 9px;font:inherit}.pt-form-step textarea{min-height:58px;resize:vertical;line-height:1.35}.pt-form-step input:focus,.pt-form-step select:focus,.pt-form-step textarea:focus,.pt-enrollment-directory input:focus{outline:3px solid rgba(122,101,14,.3);outline-offset:1px;border-color:#7a650e}.pt-form-step [aria-invalid="true"]{border-color:#9d2b2b;background:#fff7f7}.pt-help{color:#4e555c;font-size:.86rem;margin:1px 0 5px;line-height:1.35}.pt-guardian-card,.pt-billing-choice,.pt-consent-question,.pt-inline-question,.pt-health-fields{border:1px solid #c8c5b9;border-radius:9px;padding:9px;margin:2px 0}.pt-guardian-card legend,.pt-billing-choice legend,.pt-consent-question legend,.pt-inline-question legend,.pt-health-fields legend{font-weight:800;padding:0 5px}.pt-inline-question .pt-check,.pt-billing-choice .pt-check,.pt-consent-question .pt-check{display:inline-flex;margin-right:15px}.pt-check{width:auto!important;display:flex!important;align-items:flex-start;gap:7px;font-weight:500!important;margin:5px 0}.pt-check input{width:auto!important;min-height:auto!important;margin-top:2px}.pt-step-actions{display:flex;justify-content:space-between;gap:7px;margin-top:5px}.pt-step-actions [data-next],.pt-step-actions button[type="submit"]{margin-left:auto}.pt-guardian-own-address[hidden],.pt-guardian-card[hidden],.pt-adult-contact-choice[hidden],.pt-second-contact-question[hidden],.pt-minor-billing[hidden],.pt-adult-billing[hidden],.pt-previous-instrument[hidden],.pt-consent-question[hidden]{display:none!important}.pt-address-field{position:relative;grid-column:1/-1}.pt-address-results,.pt-org-results{display:grid;gap:4px;margin-top:4px;position:relative;z-index:4}.pt-address-results:not(:empty),.pt-org-results:not(:empty){border:1px solid #c8c5b9;border-radius:9px;padding:5px;background:#f8f7f2;box-shadow:0 9px 20px rgba(23,32,42,.12)}.pt-address-result,.pt-org-result{appearance:none;width:100%;border:1px solid transparent;border-radius:7px;background:#f8f7f2;color:#17202a;text-align:left;padding:8px 9px;cursor:pointer;text-decoration:none}.pt-address-result:hover,.pt-address-result:focus,.pt-org-result:hover,.pt-org-result:focus{border-color:#7b6a25;background:#f2e7aa;outline:2px solid transparent}.pt-org-result strong,.pt-org-result span{display:block}.pt-org-result span{font-size:.86rem;color:#4e555c;margin-top:2px}.pt-search-status,.pt-contact-warning,.pt-guardian-match-status{min-height:1.25em;color:#5e4500;font-weight:700;font-size:.84rem;margin-top:4px}.pt-contact-warning:empty,.pt-guardian-match-status:empty{display:none}.pt-match-prompt{border:1px solid #a78518;background:#fff7d2;border-radius:8px;padding:8px}.pt-match-prompt p{margin:0 0 7px}.pt-match-prompt>div{display:flex;gap:6px}.pt-review-summary{display:grid;gap:6px;margin:4px 0}.pt-review-card{border:1px solid #c8c5b9;border-radius:8px;background:#f8f7f2;padding:8px 9px}.pt-review-card>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.pt-review-card p{margin:3px 0 0;font-size:.88rem}.pt-link-button{appearance:none;border:0;background:transparent;color:#4d4300;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer;padding:1px 2px}.pt-confirm-dialog[hidden]{display:none}.pt-confirm-dialog{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px}.pt-confirm-backdrop{position:absolute;inset:0;background:rgba(20,27,34,.55)}.pt-confirm-card{position:relative;width:min(520px,100%);border:1px solid #8a877c;border-radius:12px;background:#f8f7f2;color:#17202a;padding:17px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.pt-confirm-card h2{margin:0 0 8px}.pt-confirm-card p{margin:0 0 14px;line-height:1.45}.pt-confirm-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pt-dialog-open{overflow:hidden}.pt-textarea-field{display:block}.pt-member-address{display:grid;gap:7px}.pt-adult-billing{margin:4px 0}.pt-health-fields{display:grid;gap:6px}.pt-health-fields .pt-textarea-field{display:grid;grid-template-columns:minmax(145px,1fr) minmax(0,2fr);column-gap:9px;align-items:start}.pt-health-fields .pt-textarea-field>span{margin-top:8px}.pt-health-fields .pt-textarea-field>small{grid-column:2}.pt-form-step .pt-btn{width:auto;min-height:38px}.pt-enrollment-directory .pt-panel{padding:12px}.pt-enrollment-directory label>span{display:block;font-weight:700;margin-bottom:4px}
@media(max-width:720px){.pt-enrollment-app,.pt-enrollment-directory{max-width:100%}.pt-step-indicator{grid-template-columns:1fr}.pt-step-indicator li{display:none}.pt-step-indicator li.is-active{display:block}.pt-form-step.is-active{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:6px;row-gap:6px}.pt-field-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pt-field-row>label,.pt-field-row>label:has(select[name="desired_instrument"]),.pt-field-row>label:has(select[name="desired_instrument_2"]),.pt-field-row>label:has(select[name="desired_instrument_3"]){grid-column:span 2}.pt-field-row>label:has(input[name*="postal_code"]){grid-column:span 1}.pt-field-row>label:has(input[name$="city"]),.pt-field-row>label:has(input[name="city"]){grid-column:span 3}.pt-field-row>label:has(input[type="email"]){grid-column:1/-1}.pt-step-actions{position:sticky;bottom:0;background:#f5f4ef;border-top:1px solid #c8c5b9;padding:6px 0 2px;z-index:3}.pt-guardian-card,.pt-billing-choice,.pt-consent-question,.pt-inline-question,.pt-health-fields{padding:8px}.pt-address-result,.pt-org-result{min-height:42px}.pt-health-fields .pt-textarea-field{display:block}.pt-health-fields .pt-textarea-field>small{display:block}.pt-confirm-actions{display:grid;grid-template-columns:1fr}.pt-confirm-actions .pt-btn{width:100%}.pt-form-step input,.pt-form-step select,.pt-form-step textarea{font-size:16px}}
@media(max-width:430px){.pt-field-row>label{grid-column:1/-1}.pt-field-row>label:has(input[name*="postal_code"]){grid-column:span 1}.pt-field-row>label:has(input[name$="city"]),.pt-field-row>label:has(input[name="city"]){grid-column:span 3}.pt-inline-question .pt-check,.pt-billing-choice .pt-check,.pt-consent-question .pt-check{display:flex!important;margin-right:0}.pt-step-actions .pt-btn{flex:1}.pt-step-actions [data-next],.pt-step-actions button[type="submit"]{margin-left:0}}
@media(prefers-reduced-motion:no-preference){.pt-form-step.is-active{animation:pt-step-in .14s ease-out}@keyframes pt-step-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}
.pt-public-volunteer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px}.pt-public-volunteer-options{padding:8px}.pt-public-volunteer-options .pt-check{margin:2px 0}@media(max-width:720px){.pt-public-volunteer-grid{grid-template-columns:1fr}}


/* 0.9.102: kompakte felt, sikker honeypot og bedre mobilvisning */
.pt-honeypot{display:none!important;position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.pt-birth-gender-row{grid-template-columns:repeat(12,minmax(0,1fr));justify-content:start}
.pt-birth-gender-row>label:first-child{grid-column:span 4;min-width:205px}
.pt-birth-gender-row>label:last-child{grid-column:span 4;min-width:220px}
.pt-postal-city-row{grid-template-columns:110px minmax(180px,260px);justify-content:start;max-width:390px}
.pt-postal-city-row>label,.pt-postal-city-row>label:has(input[name*="postal_code"]),.pt-postal-city-row>label:has(input[name$="city"]),.pt-postal-city-row>label:has(input[name="city"]){grid-column:auto}
.pt-member-contact-row{grid-template-columns:minmax(150px,190px) minmax(260px,360px);justify-content:start;max-width:565px}
.pt-member-contact-row>label,.pt-member-contact-row>label:has(input[type="email"]){grid-column:auto}
.pt-form-step input[type="date"]{min-width:0;padding-right:42px}
.pt-form-step input[type="date"]::-webkit-calendar-picker-indicator{margin-left:6px}
.pt-form-step input[name="postal_code"],.pt-form-step input[name$="_postal_code"]{font-variant-numeric:tabular-nums}
.pt-form-step input[name="phone"]{max-width:190px}

@media(max-width:720px){
  .pt-birth-gender-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pt-birth-gender-row>label:first-child,.pt-birth-gender-row>label:last-child{grid-column:span 2;min-width:0}
  .pt-postal-city-row{grid-template-columns:100px minmax(0,1fr);max-width:none}
  .pt-member-contact-row{grid-template-columns:1fr;max-width:none}
  .pt-member-contact-row>label,.pt-member-contact-row>label:has(input[type="email"]){grid-column:1/-1}
  .pt-form-step input[name="phone"]{max-width:none}
}
@media(max-width:430px){
  .pt-birth-gender-row>label:first-child,.pt-birth-gender-row>label:last-child{grid-column:1/-1}
  .pt-postal-city-row{grid-template-columns:96px minmax(0,1fr)}
}


/* 0.9.104: raske og kompakte adresse-/kontaktfelt */
.pt-birth-gender-row{grid-template-columns:220px 205px;justify-content:start;max-width:445px}
.pt-birth-gender-row>label:first-child,.pt-birth-gender-row>label:last-child{grid-column:auto;min-width:0}
.pt-form-step input[type="date"]{width:100%;min-width:0;padding-left:9px;padding-right:8px}
.pt-form-step input[type="date"]::-webkit-calendar-picker-indicator{margin-left:auto;cursor:pointer;flex:0 0 auto}
.pt-guardian-contact-row{grid-template-columns:220px 135px minmax(240px,1fr);justify-content:start;align-items:start}
.pt-guardian-contact-row>label,.pt-guardian-contact-row>label:has(input[type="email"]){grid-column:auto;min-width:0}
.pt-guardian-contact-row input[type="tel"]{max-width:135px}
.pt-postal-city-row{grid-template-columns:104px minmax(170px,235px);max-width:348px}
.pt-member-contact-row{grid-template-columns:145px minmax(250px,340px);max-width:494px}
.pt-member-contact-row input[type="tel"]{max-width:145px}
@media(max-width:720px){
  .pt-birth-gender-row{grid-template-columns:minmax(190px,1fr) minmax(175px,1fr);max-width:none}
  .pt-guardian-contact-row{grid-template-columns:minmax(190px,1fr) 135px;max-width:none}
  .pt-guardian-contact-row>label:nth-child(3),.pt-guardian-contact-row>label:nth-child(3):has(input[type="email"]){grid-column:1/-1}
  .pt-member-contact-row{grid-template-columns:145px minmax(0,1fr);max-width:none}
  .pt-member-contact-row>label,.pt-member-contact-row>label:has(input[type="email"]){grid-column:auto}
}
@media(max-width:520px){
  .pt-birth-gender-row,.pt-guardian-contact-row,.pt-member-contact-row{grid-template-columns:1fr}
  .pt-birth-gender-row>label,.pt-guardian-contact-row>label,.pt-guardian-contact-row>label:nth-child(3),.pt-member-contact-row>label,.pt-member-contact-row>label:has(input[type="email"]){grid-column:1/-1}
  .pt-guardian-contact-row input[type="tel"],.pt-member-contact-row input[type="tel"]{max-width:none}
}


/* 0.9.105: innbygging i ordinær WordPress-side */
.pt-enrollment-app.pt-enrollment-embedded{margin:0 auto;max-width:760px}
.pt-embedded-organization{margin:0 0 7px;color:#4e555c;font-size:.9rem;font-weight:700}

/* 0.9.107 — robust theme isolation for embedded enrollment forms.
   The surrounding WordPress theme must never make controls unreadable. */
.pt-enrollment-app,
.pt-enrollment-directory {
    width: 100%;
    font-size: 15px;
    line-height: 1.4;
    text-align: left;
}

.pt-enrollment-app .pt-embedded-organization {
    margin: 0 0 10px;
    color: #17202a;
    font-size: 15px;
    font-weight: 700;
}

.pt-enrollment-app .pt-progress-text {
    color: #30343a;
    font-size: 14px;
    line-height: 1.35;
}

.pt-enrollment-app .pt-step-indicator li {
    color: #30343a;
    font-size: 13px;
    line-height: 1.25;
}

.pt-enrollment-app .pt-form-step,
.pt-enrollment-app .pt-form-step label,
.pt-enrollment-app .pt-form-step legend,
.pt-enrollment-app .pt-form-step h2,
.pt-enrollment-app .pt-form-step p,
.pt-enrollment-app .pt-form-step span,
.pt-enrollment-app .pt-review-card {
    color: #17202a;
}

.pt-enrollment-app .pt-form-step label > small,
.pt-enrollment-app .pt-textarea-field > small,
.pt-enrollment-app .pt-help,
.pt-enrollment-app .pt-review-card p {
    color: #4e555c;
    font-size: 13px;
    line-height: 1.35;
}

.pt-enrollment-app .pt-form-step input,
.pt-enrollment-app .pt-form-step select,
.pt-enrollment-app .pt-form-step textarea {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: #17202a;
    background: #ffffff;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.25;
    text-indent: 0;
    box-shadow: none;
}

.pt-enrollment-app button.pt-btn,
.pt-enrollment-app .pt-btn,
.pt-confirm-dialog button.pt-btn,
.pt-confirm-dialog .pt-btn {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    position: static !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: 100% !important;
    min-height: 40px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 9px 16px !important;
    border: 1px solid #7a650e !important;
    border-radius: 7px !important;
    background: #f8f7f2 !important;
    color: #17202a !important;
    box-shadow: none !important;
    text-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-indent: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.pt-enrollment-app button.pt-btn-primary,
.pt-enrollment-app .pt-btn-primary,
.pt-confirm-dialog button.pt-btn-primary,
.pt-confirm-dialog .pt-btn-primary {
    border-color: #806600 !important;
    background: #f2c94c !important;
    color: #17202a !important;
}

.pt-enrollment-app button.pt-btn:hover,
.pt-enrollment-app .pt-btn:hover,
.pt-confirm-dialog button.pt-btn:hover,
.pt-confirm-dialog .pt-btn:hover {
    border-color: #554500 !important;
    background: #eee9d9 !important;
    color: #17202a !important;
}

.pt-enrollment-app button.pt-btn-primary:hover,
.pt-enrollment-app .pt-btn-primary:hover,
.pt-confirm-dialog button.pt-btn-primary:hover,
.pt-confirm-dialog .pt-btn-primary:hover {
    background: #e4b92f !important;
    color: #17202a !important;
}

.pt-enrollment-app button.pt-btn:focus,
.pt-enrollment-app .pt-btn:focus,
.pt-confirm-dialog button.pt-btn:focus,
.pt-confirm-dialog .pt-btn:focus {
    outline: 3px solid rgba(122, 101, 14, .35) !important;
    outline-offset: 2px !important;
}

.pt-enrollment-app button.pt-btn:disabled,
.pt-enrollment-app .pt-btn:disabled {
    border-color: #aaa79d !important;
    background: #e6e4dd !important;
    color: #555b61 !important;
    cursor: not-allowed !important;
}

.pt-enrollment-app .pt-step-actions {
    clear: both;
    width: 100%;
    min-height: 40px;
    align-items: center;
    overflow: visible;
}

.pt-enrollment-app .pt-step-actions::before,
.pt-enrollment-app .pt-step-actions::after {
    display: none !important;
    content: none !important;
}

.pt-enrollment-app .pt-step-actions [data-next],
.pt-enrollment-app .pt-step-actions button[type="submit"] {
    margin-left: auto !important;
}

@media (max-width: 720px) {
    .pt-enrollment-app,
    .pt-enrollment-directory {
        font-size: 16px;
    }

    .pt-enrollment-app .pt-form-step input,
    .pt-enrollment-app .pt-form-step select,
    .pt-enrollment-app .pt-form-step textarea {
        font-size: 16px;
    }

    .pt-enrollment-app .pt-step-actions {
        gap: 8px;
    }

    .pt-enrollment-app .pt-step-actions .pt-btn {
        flex: 1 1 0;
        min-width: 0 !important;
    }
}

