.shop-card-image picture,.shop-product-image picture{display:block;width:100%;height:100%}
.shop-shell{color:#273b49;--shop-line:#dce5eb;--shop-soft:#f3f8fb;--shop-ink:#173e55}
.shop-shell h1{color:var(--shop-ink)}

.shop-shell h2,.shop-shell h3,.shop-shell legend{color:var(--shop-ink);letter-spacing:-.02em}
.shop-shell p{color:#485b68}.shop-shell small,.shop-help{color:#536874}

.shop-steps{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.85rem;margin-bottom:2.5rem}.shop-steps a{color:#425d70}.shop-steps [aria-current]{font-weight:700;color:#00668c}
.shop-heading{max-width:760px;margin-bottom:2.5rem}.shop-kicker{text-transform:uppercase;font-size:.74rem!important;letter-spacing:.13em;font-weight:700;color:#24759a!important;margin-bottom:.6rem}
.shop-catalog-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:2rem}.shop-categories nav>a,.shop-category>a{display:block;padding:.55rem .7rem;border-radius:5px;color:#334f61}.shop-category .shop-category{padding-left:1rem}.shop-categories [aria-current]{background:#e6f3fa;font-weight:700;color:#005e8e}.shop-categories h2{font-weight:700}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.shop-card{border:1px solid var(--shop-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fff;box-shadow:0 5px 20px #193c5010}.shop-card-image{height:185px;display:flex;justify-content:center;background:var(--shop-soft)}.shop-card img{height:100%;width:100%;object-fit:contain}.shop-image-placeholder{display:flex;align-items:center;justify-content:center;color:#67a9c7;font-size:3.5rem;background:linear-gradient(140deg,#edf7fc,#e0eff7);width:100%;height:100%}.shop-card-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}.shop-card h2 a{color:var(--shop-ink)}.shop-card-contents{padding-left:1.2rem;font-size:.83rem}.shop-card-bottom{margin-top:auto;padding-top:1rem}.shop-card-bottom .btn{display:block}
.shop-price{font-size:1.8rem;font-weight:700;line-height:1.35;color:var(--shop-ink);overflow-wrap:anywhere}.shop-discount{color:#b42332!important}.shop-regular{font-size:.82rem;color:#5c6671;margin-top:.15rem}.shop-money{white-space:nowrap}
.shop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem}.shop-product-image{height:340px;background:var(--shop-soft);border-radius:12px;overflow:hidden}.shop-product-image img{object-fit:contain;height:100%;width:100%}.shop-description{white-space:pre-line;margin:1.5rem 0}.shop-notice{padding:1rem 1.2rem;border-left:3px solid #67b7da;background:var(--shop-soft);font-size:.9rem}
.shop-choices{border:1px solid var(--shop-line);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem;min-width:0}.shop-choices legend{font-size:1.1rem;font-weight:700;float:none;width:auto;padding:0 .3rem}.shop-option{padding:1rem 0;border-top:1px solid var(--shop-line);display:flex;flex-wrap:wrap;align-items:start;gap:1rem;justify-content:space-between}.shop-choice{display:inline-flex;align-items:start;gap:.65rem;cursor:pointer;width:fit-content;max-width:100%;line-height:1.5}.shop-choice .form-check-input{flex:none}.shop-choice small,.shop-option-price{display:block;font-size:.85rem}.shop-option-price{font-weight:600;color:#245572}.shop-option-amount{margin-left:auto;max-width:160px}.shop-option-amount>label{display:block;font-size:.75rem;margin-bottom:.35rem}
.shop-stepper{display:inline-flex;border:1px solid #b6cbd8;border-radius:5px;overflow:hidden;background:#fff;max-width:100%}.shop-stepper input{width:65px;min-width:0;text-align:center;border:0;border-radius:0;padding:.5rem .15rem;font-size:1rem;color:#243c4c;appearance:textfield;-moz-appearance:textfield}.shop-stepper input::-webkit-inner-spin-button{appearance:none}.shop-stepper button{width:36px;border:0;background:#edf5fa;color:#164e70;font-size:1.25rem;font-weight:600;min-height:40px;cursor:pointer}.shop-stepper button:disabled{opacity:.35;cursor:default}.shop-stepper input:focus{outline:0}.shop-stepper button[hidden]{display:none}
.shop-purchase{border:1px solid var(--shop-line);padding:1.5rem;border-radius:10px}.shop-purchase>label{display:block;font-weight:600;margin-bottom:.5rem}.shop-summary{margin:1.4rem 0;padding-top:1.4rem;border-top:1px solid var(--shop-line)}.shop-summary ul{padding-left:1.25rem}.shop-message{background:#eef7fc;border:1px solid #a5cfe2;border-radius:7px;padding:1rem 1.3rem;margin:1.5rem 0}.shop-message[hidden]{display:none}.shop-empty{padding:3rem 1.5rem;border:1px solid var(--shop-line);border-radius:12px;background:var(--shop-soft)}
.shop-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:2rem;align-items:start}.shop-cart-row{padding:1.75rem 0;border-top:1px solid var(--shop-line);display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:2rem}.shop-cart-row ul,.shop-checkout-line ul{padding-left:1.2rem}.shop-row-form{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.85rem;align-items:center}.shop-row-form>label{width:100%;font-size:.8rem}.shop-order-summary{padding:1.65rem;background:var(--shop-soft);border:1px solid var(--shop-line);border-radius:12px;position:sticky;top:110px}.shop-review{padding:1.5rem;background:var(--shop-soft);border:1px solid var(--shop-line);border-radius:8px;margin:1.5rem 0}.shop-review p{color:var(--shop-ink)}.shop-local-note{text-align:center;margin:1rem 0 0!important}.shop-checkout fieldset{border:0;padding:0;margin-bottom:1.5rem;min-width:0}.shop-checkout legend{font-size:1.2rem;font-weight:600;float:none}.shop-student-choice{padding:1rem;background:var(--shop-soft);margin:.5rem 0 1.5rem}.shop-checkout-line{border-bottom:1px solid var(--shop-line);padding:.75rem 0}.shop-checkout-line h3{margin-bottom:.5rem}.shop-checkout-line p{font-weight:600}.shop-basket-link{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;margin-left:.8rem;padding:.55rem .7rem;border-radius:6px;background:#edf6fb;color:#174b69;font-size:.8rem}.shop-basket-link [data-shop-count]{font-weight:700;min-width:20px;border-radius:20px;text-align:center;background:#174b69;color:#fff;font-size:.75rem}.shop-shell .btn{white-space:normal}.shop-shell li,.shop-shell h2,.shop-shell p{overflow-wrap:anywhere}
@media(max-width:1199px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-product{gap:2rem}.shop-basket-label{display:none}.shop-cart-layout{grid-template-columns:minmax(0,1fr) 300px}.shop-cart-row{grid-template-columns:1fr;gap:1rem}}
@media(max-width:767px){.shop-catalog-layout,.shop-product,.shop-cart-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.shop-categories{padding:1rem;background:var(--shop-soft);border-radius:8px}.shop-categories nav{display:flex;flex-wrap:wrap;align-items:start;gap:.25rem}.shop-categories nav>a,.shop-category>a{font-size:.85rem}.shop-category .shop-category{padding-left:.6rem}.shop-grid{gap:.8rem}.shop-card-body{padding:1rem}.shop-card-image{height:145px}.shop-card .shop-price{font-size:1.3rem}.shop-order-summary{position:static}.shop-product-image{height:260px}.shop-steps{font-size:.75rem;gap:.4rem;margin-bottom:1.8rem}.shop-option{gap:.75rem}.shop-purchase{padding:1.1rem}.shop-cart-row{padding:1.3rem 0}.shop-heading{margin-bottom:1.5rem}.shop-basket-link{margin-left:.3rem;padding:.4rem .5rem}}
@media(max-width:380px){.shop-grid{grid-template-columns:minmax(0,1fr)}}

.shop-address-locality{display:grid;grid-template-columns:160px minmax(0,1fr);gap:1rem}.shop-address-extra{margin:0 0 1.2rem}.shop-address-extra summary{cursor:pointer;color:#17638c;padding:.5rem 0}.shop-address-extra[open] summary{margin-bottom:.6rem}.shop-gear-choice{margin:.4rem 1.5rem .6rem 0}.shop-person-summary{display:inline-block;vertical-align:top;max-width:100%;margin-right:2rem}.shop-checkout [hidden]{display:none!important}.shop-checkout #transmission{padding:1.2rem;border:1px solid var(--shop-line);border-radius:8px}.shop-checkout #transmission legend{font-size:1.05rem}
@media(max-width:420px){.shop-address-locality{grid-template-columns:minmax(0,1fr);gap:0}}

.shop-person-summary h3{text-transform:none}

/* Match the white Nexi iframe without recoloring other checkout review notices. */
.shop-review.shop-payment-panel{background:#fff;border-color:var(--shop-line)}
.shop-review.shop-payment-panel p{color:var(--shop-ink)}
.shop-thank-you{max-width:800px;margin:0 auto 2rem;text-align:center}.shop-thank-you-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:1.25rem;border-radius:50%;background:#e5f3f8;color:#117fa4;font-size:28px}.shop-thank-you h1{margin-bottom:1rem}.shop-receipt-mail{margin-bottom:2rem;border-radius:8px}.shop-receipt-mail p:last-child{margin-bottom:0}.shop-receipt-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;align-items:start}.shop-receipt-card{min-width:0;padding:1.75rem;border:1px solid var(--shop-line);border-radius:12px;background:var(--shop-soft)}.shop-receipt-contact{background:#fff}.shop-receipt-contact a{overflow-wrap:anywhere}.shop-receipt-contact .btn{margin-top:1rem}@media(max-width:767px){.shop-receipt-layout{grid-template-columns:minmax(0,1fr);gap:1.25rem}.shop-receipt-card{padding:1.25rem}.shop-thank-you{text-align:left}.shop-thank-you-icon{width:52px;height:52px;font-size:24px}}

/* Presentkort: samma kassaram, tydliga fält även på smal skärm. */
.registration-progress ol{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0 0 2rem;padding:0}.registration-progress li{padding:.6rem .85rem;border:1px solid var(--shop-line);border-radius:7px;font-size:.85rem}.registration-progress [aria-current=step]{background:var(--shop-ink);border-color:var(--shop-ink);color:white}.registration-card{padding:2rem;border:1px solid var(--shop-line);border-radius:12px;background:#fff;min-width:0}.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem}.registration-field-address1,.registration-field-comment{grid-column:1/-1}.registration-form .registration-person{padding:1.3rem 0;margin-top:1rem;border-top:1px solid var(--shop-line)}.registration-login{background:var(--shop-soft);padding:1.1rem;border-radius:8px;margin:1.5rem 0}.registration-login p{margin-bottom:.5rem}.registration-login small{display:block;margin-top:.65rem}.registration-participant{border:1px solid var(--shop-line);border-radius:8px;padding:1rem;margin:1rem 0}.registration-accept{margin:1rem 0 1.7rem}.registration-payment{display:grid;gap:1rem}.registration-payment legend{margin-bottom:1rem}.registration-summary h3{margin-top:1.5rem}.registration-summary{overflow-wrap:anywhere}
@media(max-width:767px){.registration-card{padding:1.2rem}.registration-fields{grid-template-columns:minmax(0,1fr)}.registration-field-address1,.registration-field-comment{grid-column:auto}.registration-progress ol{gap:.4rem}.registration-progress li{font-size:.75rem;padding:.5rem .65rem}}
.registration-payment .payment-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:76px;padding:1.1rem 1.25rem;border:1px solid #b6cbd8;border-radius:12px;text-align:left;text-transform:none;letter-spacing:0;font-size:1rem;line-height:1.5;white-space:normal}
.payment-option-main{display:flex;align-items:center;gap:.85rem;min-width:0}.payment-option-main>i{width:24px;text-align:center;flex:none;font-size:1.35rem}
.registration-gift-option>summary{list-style:none}.registration-gift-option>summary::-webkit-details-marker{display:none}.payment-option-caret{font-size:.8rem;transition:transform .15s}.registration-gift-option[open] .payment-option-caret{transform:rotate(180deg)}
.registration-gift-option[open]>summary{background:#edf7fc;border-color:#147ca6}.registration-gift-option .gift-payment{margin:1rem 0 0;padding:1.25rem;border:1px solid var(--shop-line);border-radius:10px;background:var(--shop-soft)}
.payment-brands{display:flex;flex-wrap:wrap;gap:.4rem;flex:none;align-items:center}.payment-brand{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:30px;padding:3px 7px;background:white;border:1px solid #dce5eb;border-radius:6px;color:#111;font-size:13px;font-weight:700;line-height:1}.payment-brand i{font-size:26px}.payment-brand-visa{color:#1a1f71}.payment-brand-mastercard{color:#b54b00}.payment-brand-klarna{background:#ffb3d4}.payment-brand-apple-pay i,.payment-brand-google-pay i{font-size:28px}
@media(max-width:1199px){.registration-payment .payment-option{flex-wrap:wrap}.payment-brands{margin-left:calc(24px + .85rem);max-width:calc(100% - 24px - .85rem)}}
@media(prefers-reduced-motion:reduce){.payment-option-caret{transition:none}}
.shop-field .form-label-group{margin-bottom:0}
.shop-amount-field{max-width:12rem}

/* Quantity wrapper keeps its approved quiet focus treatment. */
.shop-stepper:focus-within{outline:0;border-color:#687780}

.shop-extra-description{white-space:pre-line;overflow-wrap:anywhere}

.shop-info-widget { min-width: 0; margin-top: 1rem; padding: 1rem 1.2rem; border: 1px solid #d6e7ef; border-left: 3px solid #147c9f; border-radius: 8px; background: #f3f8fb; }
.shop-info-widget h2 { font-size: 1rem; font-weight: 600; margin: 0 0 .5rem; letter-spacing: 0; }
.shop-info-widget h2 i { color: #147c9f; margin-right: .35rem; }
.shop-info-widget .shop-rich-text { font-size: .85rem; line-height: 1.65; }
.shop-info-widget .shop-rich-text p { font-size: inherit; }

.shop-shell .shop-catalog-heading { max-width: none; margin-bottom: 28px; }
.shop-catalog-sidebar { min-width: 0; }
.shop-info-widget .shop-info-widget-summary, .shop-info-widget .public-disclosure { font-size: .85rem; line-height: 1.65; }
.shop-info-widget .shop-info-widget-summary { margin-bottom: .65rem; overflow-wrap: anywhere; }

.shop-page-header.page-header.page-header-modern.page-header-background.page-header-background-md { padding: 3rem 0 3.5rem; border: 0; background-size: cover; background-position: center; }
.shop-page-header.overlay::before { background-color: transparent !important; background-image: linear-gradient(90deg,rgba(6,35,54,.68),rgba(6,35,54,.5)); opacity: 1; }
.shop-page-header > .container { position: relative; z-index: 3; }
.shop-page-header .parallax-background { background-position-y: center; }
.shop-parallax-heading { max-width: none; margin: 0; }
.shop-page-header.page-header .shop-parallax-heading .shop-kicker { color: #bceaff !important; }
.shop-page-header.page-header.page-header-modern.page-header-background h1 { color: #fff; }
.shop-page-header .shop-introduction p { color: #fff; }
.shop-page-header .shop-introduction small { color: #fff; }
.shop-page-header .shop-steps { color: #fff; margin-bottom: 1.75rem; }
.shop-page-header .shop-steps a, .shop-page-header .shop-steps [aria-current] { color: #fff; }
.shop-page-header .shop-steps a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.shop-shell.shop-catalog-content { padding-top: 28px !important; }
.shop-page-header.shop-parallax-static .parallax-background { display: none !important; }
/* A clipped fixed layer avoids mobile browsers' background-attachment limits. */
@media (max-width: 767px) and (prefers-reduced-motion: no-preference), (pointer: coarse) and (prefers-reduced-motion: no-preference) {
    .shop-page-header.shop-mobile-fixed[data-image-src] { clip-path: inset(0); }
    .shop-page-header.shop-mobile-fixed[data-image-src]::after {
        content: "";
        position: fixed;
        top: var(--shop-fixed-image-top, 0px);
        left: 0;
        width: 100%;
        height: var(--shop-fixed-image-height);
        z-index: -1;
        background-image: inherit;
        background-size: cover;
        background-position: inherit;
        pointer-events: none;
    }
}
@media (max-width:767px) { .shop-page-header.page-header.page-header-modern.page-header-background.page-header-background-md { padding: 2rem 0; background-position: 85% center; } }
@media (prefers-reduced-motion:reduce) { .shop-page-header .parallax-background { display: none !important; } }
/* Enrollment photo: keep faces in view in both the moving layer and static fallback. */
.enrollment-page-header.page-header.page-header-modern.page-header-background.page-header-background-md { background-position: 65% top; }
.shop-page-header.enrollment-page-header .parallax-background { background-position-y: top; }
