/* =========================================================================
   ENKELTPRODUKT (PDP) – ELIT
   Fargepsykologi: navy = tillit/autoritet · blaa = handling (CTA) ·
   groenn = trygghet/lagerstatus · rikelig luft · rolig hierarki.
   ========================================================================= */
:root{ --success:#12864e; --success-soft:#e7f4ec; --amber:#b7791f; }

.pdp{ --pdp-radius:14px; padding:0; }  /* nøytraliser gammel .pdp{padding:52px 0 64px} fra styles.css */
.pdp-main{ background:var(--bg-soft); padding-top:var(--header-h); padding-bottom:64px; }

/* Broedsmulesti */
.pdp-crumbs{ background:var(--white); border-bottom:1px solid var(--line); }
.pdp-crumbs .container{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; padding-top:15px; padding-bottom:15px; font-size:.82rem; }
.pdp-crumbs a{ color:var(--muted); text-decoration:none; transition:color var(--t-fast); }
.pdp-crumbs a:hover{ color:var(--blue); }
.pdp-crumbs__sep{ color:var(--line-strong); }
.pdp-crumbs__current{ color:var(--ink); font-weight:600; }

/* Topp-grid: galleri + sammendrag */
.pdp-top{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; align-items:start; padding-top:36px; }

/* ---------- Galleri ---------- */
.pdp-gallery{ position:sticky; top:calc(var(--header-h) + 16px); }
.pdp-gallery__stage{ position:relative; background:linear-gradient(155deg, #ffffff 0%, #eef3f8 100%); border:1px solid var(--line); border-radius:var(--pdp-radius); overflow:hidden; box-shadow:0 10px 30px rgba(2,32,57,.06); }
.pdp-gallery__main{ display:block; aspect-ratio:1/1; }
.pdp-gallery__img{ width:100%; height:100%; object-fit:contain; padding:34px; transition:transform var(--t); }
.pdp-gallery__main:hover .pdp-gallery__img{ transform:scale(1.04); }
.pdp-gallery__zoom{ position:absolute; right:14px; bottom:14px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:rgba(0,32,57,.86); color:#fff; border-radius:10px; opacity:0; transform:translateY(6px); transition:var(--t-fast); }
.pdp-gallery__zoom svg{ width:18px; height:18px; }
.pdp-gallery__stage:hover .pdp-gallery__zoom{ opacity:1; transform:translateY(0); }
.pdp-gallery__stage--empty{ aspect-ratio:1/1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--line-strong); }
.pdp-gallery__stage--empty svg{ width:64px; height:64px; }
.pdp-gallery__stage--empty span{ font-size:.9rem; color:var(--muted); }
.pdp-gallery__thumbs{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.pdp-gallery__thumb{ width:74px; height:74px; padding:6px; background:var(--white); border:1.5px solid var(--line); border-radius:10px; cursor:pointer; transition:border-color var(--t-fast), box-shadow var(--t-fast); }
.pdp-gallery__thumb img{ width:100%; height:100%; object-fit:contain; }
.pdp-gallery__thumb:hover{ border-color:var(--line-strong); }
.pdp-gallery__thumb.is-active{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,116,200,.14); }

/* ---------- Sammendrag ---------- */
/* Head-rad: merke + lagerstatus */
.pdp-summary__head{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.pdp-summary__eyebrow{ font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--blue); }
.pdp-stock{ display:inline-flex; align-items:center; gap:8px; flex:none; font-size:.78rem; font-weight:700; padding:6px 12px; }
.pdp-stock__dot{ width:8px; height:8px; border-radius:50% !important; flex:none; }
.pdp-stock--in{ color:#0f7a45; background:var(--success-soft); }
.pdp-stock--in .pdp-stock__dot{ background:#12864e; box-shadow:0 0 0 3px rgba(18,134,78,.16); }
/* ---------- Utsolgt: «varsle meg»-blokk i kjøpskortet ---------- */
.pdp-oos{ padding:18px 20px; background:var(--bg-soft); border:1px solid var(--line); }
.pdp-oos__title{ font-family:var(--font-heading); font-size:1.02rem; font-weight:800; color:var(--navy); margin:0 0 6px; }
.pdp-oos__text{ font-size:.88rem; line-height:1.55; color:var(--muted); margin:0 0 16px; }
.pdp-oos__actions{ display:flex; align-items:stretch; gap:12px; }
.woocommerce .pdp-oos .pdp-notify{ position:relative; flex:1 1 auto; min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 22px; background:var(--navy); color:#fff; border:2px solid var(--navy); font-family:var(--font-heading); font-size:.95rem; font-weight:800; cursor:pointer; transition:background var(--t-fast), transform var(--t-fast); }
.woocommerce .pdp-oos .pdp-notify:hover{ background:var(--navy-700); border-color:var(--navy-700); transform:translateY(-1px); }
.woocommerce .pdp-oos .pdp-notify.is-on{ background:#0f7a45; border-color:#0f7a45; }
.woocommerce .pdp-oos .pdp-notify.is-on:hover{ background:#0c6438; border-color:#0c6438; }
.pdp-oos .pdp-notify .btn__ic{ width:18px; height:18px; flex:none; }
/* Laster: skjul innhold, vis spinner (samme mønster som add-to-cart). */
.woocommerce .pdp-oos .pdp-notify.is-loading{ color:transparent; pointer-events:none; transform:none; }
.woocommerce .pdp-oos .pdp-notify.is-loading .btn__ic{ opacity:0; }
.woocommerce .pdp-oos .pdp-notify.is-loading::before{ content:""; position:absolute; left:50%; top:50%; width:20px; height:20px; margin:-10px 0 0 -10px; border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50% !important; animation:elitSpin .7s linear infinite; }
.pdp-oos .pdp-fav{ flex:none; width:52px; min-height:52px; display:inline-flex; align-items:center; justify-content:center; background:#fff; border:1.5px solid var(--line-strong); color:var(--muted); cursor:pointer; transition:border-color .15s ease, color .15s ease, background .15s ease; }
.pdp-oos .pdp-fav:hover{ border-color:#e0574b; color:#e0574b; }
.pdp-oos .pdp-fav svg{ width:22px; height:22px; }
.pdp-oos .pdp-fav.is-fav{ border-color:#e0574b; color:#e0574b; background:#fdf0ee; }
.pdp-oos .pdp-fav.is-fav svg{ fill:#e0574b; }

/* Skaffevare-merknad under kjøpsknappen – setter forventning, ikke et varsel. */
.pdp-backorder-note{ display:flex; align-items:center; gap:8px; margin:14px 0 0; padding:11px 14px; background:#fbf1df; color:#8a6414; font-size:.82rem; font-weight:600; line-height:1.4; }
.pdp-backorder-note svg{ width:16px; height:16px; flex:none; color:var(--amber); }

/* Bestillingsvare: kan bestilles, men ikke på lager (gul). */
.pdp-stock--backorder{ color:var(--amber); background:#fbf1df; }
.pdp-stock--backorder .pdp-stock__dot{ background:var(--amber); }
/* Utsolgt: kan ikke bestilles (rød). */
.pdp-stock--out{ color:#a92f22; background:#fdeeec; }
.pdp-stock--out .pdp-stock__dot{ background:#d64430; }

.pdp-title{ font-family:var(--font-heading); font-size:clamp(1.65rem,3vw,2.25rem); font-weight:800; line-height:1.1; color:var(--navy); margin:0 0 6px; }
.pdp-model{ font-size:1rem; font-style:italic; color:var(--muted); margin:0 0 18px; }

/* Identifikator-strip */
.pdp-ids{ display:flex; flex-wrap:wrap; margin:0 0 24px; padding:0; list-style:none; border:1px solid var(--line); background:var(--bg-soft); }
.pdp-ids li{ display:flex; flex-direction:column; gap:3px; padding:11px 16px; flex:1 1 auto; min-width:100px; }
.pdp-ids li + li{ border-left:1px solid var(--line); }
.pdp-ids__k{ font-size:.63rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.pdp-ids__v{ font-size:.92rem; font-weight:800; color:var(--navy); font-variant-numeric:tabular-nums; }

.pdp-features{ color:var(--ink); font-size:.96rem; line-height:1.6; margin-bottom:24px; }
.pdp-features p{ margin:0 0 12px; }
.pdp-features ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.pdp-features li{ position:relative; padding-left:30px; color:var(--ink); }
.pdp-features li::before{ content:""; position:absolute; left:0; top:2px; width:19px; height:19px; border-radius:50% !important; background:var(--success-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2312864e' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat; }

/* ---------- Kjoepskort ---------- */
.pdp-buy{ background:var(--white); border:1px solid var(--line); border-radius:var(--pdp-radius); padding:22px; box-shadow:0 10px 30px rgba(2,32,57,.07); }
.pdp-buy__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.pdp-price{ display:flex; flex-direction:column; gap:4px; margin:0; }
.pdp-price__value{ font-family:var(--font-heading); font-size:1.75rem; font-weight:800; color:var(--navy); line-height:1; }
.pdp-price__value--quote{ font-size:1.35rem; }
.pdp-price__note{ font-size:.8rem; color:var(--muted); }
.pdp-buy__ship{ display:inline-flex; align-items:center; gap:7px; flex:none; padding-top:2px; font-size:.8rem; font-weight:600; color:var(--success); white-space:nowrap; }
.pdp-buy__ship svg{ width:18px; height:18px; }
/* Ikke på lager: ingen leveringslovnad – dempet rav i stedet for grønt. */
.pdp-buy__ship--wait{ color:var(--amber); }

/* Native WooCommerce add-to-cart i PDP-drakt — variable produkter */
.pdp-buy .variations{ width:100%; border:0; margin:0; border-collapse:collapse; }
/* Velgerne side ved side (stables på smal skjerm). */
.pdp-buy .variations tbody{ display:grid; grid-template-columns:repeat(auto-fit, minmax(165px, 1fr)); gap:14px 14px; }
.pdp-buy .variations tr{ display:block; margin:0; min-width:0; }
.pdp-buy .variations th,
.pdp-buy .variations td{ display:block; padding:0; text-align:left; }
/* Label-rad: label til venstre, «Nullstill» til høyre – på samme linje. */
.pdp-buy .variations th.label{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:7px; }
.pdp-buy .variations .label label{ display:block; font-size:.8rem; font-weight:700; color:var(--navy); margin-bottom:0; }
.pdp-buy .variations select{ width:100%; padding:13px 42px 13px 15px; border:1.5px solid var(--line-strong); border-radius:10px; background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23002039' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 14px center/16px no-repeat; font-size:.95rem; color:var(--navy); font-weight:600; -webkit-appearance:none; appearance:none; cursor:pointer; transition:border-color var(--t-fast), box-shadow var(--t-fast); }
.pdp-buy .variations select:hover{ border-color:var(--blue); }
.pdp-buy .variations select:focus{ outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,116,200,.14); }
/* «Nullstill valg» – liten, dempet; WooCommerce viser den først når et valg er gjort. */
/* Nullstill-lenke: oppe til høyre, i nivå med velger-labelene. Absolutt = reserverer ikke plass når skjult. */
.pdp-buy .reset_variations{ flex:none; margin:0; display:inline-flex; align-items:center; gap:4px; font-size:.76rem; font-weight:600; color:var(--muted); text-decoration:none; white-space:nowrap; visibility:hidden; transition:color var(--t-fast); }
.pdp-buy .reset_variations::before{ content:"\21BA"; font-size:.95em; line-height:1; }
.pdp-buy .reset_variations:hover{ color:var(--blue); }
/* Valgt variant: pris/lager i egen tonet boks. Tom tilstand tar null plass (ingen dødt gap). */
.pdp-buy .single_variation_wrap{ width:100%; }
.pdp-buy .single_variation{ margin:0; padding:0; border:0; background:none; }
.pdp-buy .single_variation:empty{ display:none; }
/* Sikre at HELE variant-området er uten ramme/bakgrunn (nullstill-lenke, resultat, wrap, celler). */
.pdp-buy .single_variation_wrap,
.pdp-buy .single_variation,
.pdp-buy .woocommerce-variation,
.pdp-buy .reset_variations,
.pdp-buy .variations th,
.pdp-buy .variations td{ border:0 !important; background:none !important; box-shadow:none !important; }
/* Ingen ramme. Pris/lager vises plant, med litt luft før kjøpsraden – kun når det finnes innhold. */
.pdp-buy .single_variation:has(.price),
.pdp-buy .single_variation:has(.woocommerce-variation-availability){ margin:2px 0 12px; }
.pdp-buy .single_variation .price{ font-family:var(--font-heading); font-size:1.55rem; font-weight:800; color:var(--navy); line-height:1.15; }
.pdp-buy .single_variation .price del{ opacity:.5; font-weight:600; margin-right:8px; }
.pdp-buy .single_variation .price ins{ text-decoration:none; }
.pdp-buy .woocommerce-variation-availability{ font-size:.85rem; color:var(--success); margin-top:5px; }
/* Variant-beskrivelsen vises under fanene (Beskrivelse), ikke i kjøpsboksen – skjul WC sin standard her. */
.pdp-buy .woocommerce-variation-description{ display:none; }
/* Kjøpsrad (qty + knapp) – for variable produkter ligger knappen nestet her. */
.pdp-buy .woocommerce-variation-add-to-cart{ display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin:0; }
/* Variable produkt: kjøpsknappen grå som STANDARD (også før WC-JS rekker å kjøre – hindrer blink),
   blå kun når en gyldig variant er aktiv (WC legger .woocommerce-variation-add-to-cart-enabled på containeren). */
.woocommerce .pdp-buy .variations_form button.single_add_to_cart_button{ background:#cfd8e0; border-color:#cfd8e0; color:#fff; box-shadow:none; cursor:not-allowed; transform:none; }
.woocommerce .pdp-buy .variations_form button.single_add_to_cart_button:hover{ background:#cfd8e0; border-color:#cfd8e0; transform:none; }
.woocommerce .pdp-buy .woocommerce-variation-add-to-cart-enabled button.single_add_to_cart_button{ background:var(--blue); border-color:var(--blue); box-shadow:var(--shadow-blue); cursor:pointer; }
.woocommerce .pdp-buy .woocommerce-variation-add-to-cart-enabled button.single_add_to_cart_button:hover{ background:var(--blue-600); border-color:var(--blue-600); transform:translateY(-1px); }
.pdp-buy form.cart{ position:relative; display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin:0; }
.pdp-buy .quantity{ display:flex; align-items:stretch; border:1.5px solid var(--line-strong); border-radius:10px; overflow:hidden; }
.pdp-buy .quantity input.qty{ width:64px; border:0; text-align:center; font-size:1rem; font-weight:700; color:var(--navy); -moz-appearance:textfield; }
.pdp-buy .quantity input.qty::-webkit-outer-spin-button,
.pdp-buy .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.pdp-buy .quantity input.qty{ width:52px; }
.pdp-buy .pdp-qtybtn{ flex:none; width:44px; display:inline-flex; align-items:center; justify-content:center; padding:0; background:var(--bg-soft); border:0; color:var(--navy); cursor:pointer; transition:background var(--t-fast), color var(--t-fast); }
.pdp-buy .pdp-qtybtn:hover{ background:var(--blue); color:#fff; }
.pdp-buy .pdp-qtybtn:active{ transform:none; }
.pdp-buy .pdp-qtybtn svg{ width:17px; height:17px; }
.pdp-buy .pdp-qtybtn--dec{ border-right:1.5px solid var(--line-strong); }
.pdp-buy .pdp-qtybtn--inc{ border-left:1.5px solid var(--line-strong); }
.woocommerce .pdp-buy button.single_add_to_cart_button{ position:relative; flex:1 1 auto; min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 26px; background:var(--blue); color:#fff; border:2px solid var(--blue); border-radius:10px; font-family:var(--font-heading); font-size:1rem; font-weight:800; cursor:pointer; box-shadow:var(--shadow-blue); transition:background var(--t-fast), transform var(--t-fast); }
.woocommerce .pdp-buy button.single_add_to_cart_button:hover{ background:var(--blue-600); border-color:var(--blue-600); transform:translateY(-1px); }
/* Loader-tilstand: skjul tekst/ikon, vis spinner */
.woocommerce .pdp-buy button.single_add_to_cart_button.is-loading{ color:transparent; pointer-events:none; transform:none; }
.woocommerce .pdp-buy button.single_add_to_cart_button.is-loading::after{ opacity:0; }
.woocommerce .pdp-buy button.single_add_to_cart_button.is-loading::before{ content:""; position:absolute; left:50%; top:50%; width:20px; height:20px; margin:-10px 0 0 -10px; border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50% !important; animation:elitSpin .7s linear infinite; }
@keyframes elitSpin{ to{ transform:rotate(360deg); } }
/* Favoritt-hjerte ved siden av kjøpsknappen */
.pdp-buy .pdp-fav{ flex:none; width:52px; min-height:52px; display:inline-flex; align-items:center; justify-content:center; background:#fff; border:1.5px solid var(--line-strong); color:var(--muted); cursor:pointer; transition:border-color .15s ease, color .15s ease, background .15s ease; }
.pdp-buy .pdp-fav:hover{ border-color:#e0574b; color:#e0574b; }
.pdp-buy .pdp-fav svg{ width:22px; height:22px; transition:fill .15s ease, transform .15s ease; }
.pdp-buy .pdp-fav.is-fav{ border-color:#e0574b; color:#e0574b; background:#fdf0ee; }
.pdp-buy .pdp-fav.is-fav svg{ fill:#e0574b; }
.pdp-buy .pdp-fav.is-fav:active svg,
.pdp-buy .pdp-fav:active svg{ transform:scale(.85); }
.pdp-buy button.single_add_to_cart_button::after{ content:""; width:18px; height:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Variasjonsvelgere for gjest (informativt, laast) */
.pdp-variations-guest{ display:grid; gap:12px; margin-bottom:18px; }
.pdp-varopt__label{ display:block; font-size:.8rem; font-weight:700; color:var(--navy); margin-bottom:6px; }
.pdp-varopt select{ width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; background:var(--bg-soft); color:var(--muted); font-size:.95rem; font-weight:600; -webkit-appearance:none; appearance:none; }

/* B2B «logg inn for pris»-kort */
.pdp-b2b{ background:linear-gradient(160deg, var(--navy) 0%, var(--navy-700) 100%); color:#fff; border-radius:12px; padding:22px; }
.pdp-b2b__lock{ display:flex; gap:14px; align-items:flex-start; margin-bottom:16px; }
.pdp-b2b__lock svg{ width:30px; height:30px; flex:none; color:#5fb4ff; }
.pdp-b2b__title{ font-family:var(--font-heading); font-size:1.1rem; font-weight:800; margin:0 0 4px; }
.pdp-b2b__text{ font-size:.88rem; line-height:1.5; color:rgba(255,255,255,.82); margin:0; }
.pdp-b2b__perks{ list-style:none; margin:0 0 18px; padding:0; display:grid; gap:8px; }
.pdp-b2b__perks li{ position:relative; padding-left:26px; font-size:.9rem; color:rgba(255,255,255,.92); }
.pdp-b2b__perks li::before{ content:""; position:absolute; left:0; top:2px; width:17px; height:17px; border-radius:50%; background:rgba(95,180,255,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%235fb4ff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat; }
.pdp-b2b__actions{ display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.pdp-b2b__cta{ width:100%; justify-content:center; }
.pdp-b2b__login{ color:#9fd0ff; font-size:.88rem; font-weight:600; }
.pdp-b2b__login:hover{ color:#fff; text-decoration:underline; }
.pdp-b2b__alt{ width:100%; margin:0; text-align:center; font-size:.88rem; color:rgba(255,255,255,.72); }
.pdp-b2b__alt a{ color:#9fd0ff; font-weight:700; }
.pdp-b2b__alt a:hover{ color:#fff; text-decoration:underline; }
/* Inline login/registrering – panelveksling + skjemaer */
.pdp-b2b__panel[hidden]{ display:none; }
.pdp-b2b__link{ appearance:none; background:none; border:0; padding:0; color:#9fd0ff; font-weight:700; font-size:inherit; font-family:inherit; cursor:pointer; }
.pdp-b2b__link:hover{ color:#fff; text-decoration:underline; }
.pdp-b2b__back{ appearance:none; background:none; border:0; padding:0; margin:0 0 16px; display:inline-flex; align-items:center; gap:5px; color:rgba(255,255,255,.75); font-size:.85rem; font-weight:600; font-family:inherit; cursor:pointer; transition:color var(--t-fast); }
.pdp-b2b__back:hover{ color:#fff; }
.pdp-b2b__back svg{ width:16px; height:16px; }
.pdp-auth{ display:grid; gap:13px; margin-top:14px; }
.pdp-auth__field{ display:grid; gap:6px; }
.pdp-auth__field span{ font-size:.82rem; font-weight:600; color:rgba(255,255,255,.85); }
.pdp-auth__field input{ width:100%; padding:12px 14px; border:1.5px solid rgba(255,255,255,.18); border-radius:10px; background:rgba(255,255,255,.06); color:#fff; font-size:.95rem; transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast); }
.pdp-auth__field input::placeholder{ color:rgba(255,255,255,.4); }
.pdp-auth__field input:focus{ outline:none; border-color:#5fb4ff; background:rgba(255,255,255,.1); box-shadow:0 0 0 3px rgba(95,180,255,.2); }
.pdp-auth__field input:-webkit-autofill{ -webkit-text-fill-color:#fff; -webkit-box-shadow:0 0 0 40px #143252 inset; caret-color:#fff; }
.pdp-auth__submit{ width:100%; justify-content:center; margin-top:2px; position:relative; }
.pdp-auth__submit.is-loading{ color:transparent; pointer-events:none; }
.pdp-auth__submit.is-loading::after{ content:""; position:absolute; left:50%; top:50%; width:18px; height:18px; margin:-9px 0 0 -9px; border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50% !important; animation:elitSpin .7s linear infinite; }
.pdp-auth__err{ background:rgba(224,87,75,.16); border:1px solid rgba(224,87,75,.4); color:#ffd6d1; font-size:.85rem; line-height:1.45; padding:10px 12px; border-radius:8px; }
/* Låst pris (gjest): samme plass i kjøpskortet som en ekte pris. */
.pdp-price__value--locked{ display:inline-flex; align-items:center; gap:9px; font-size:1.3rem; color:var(--muted); }
.pdp-price__value--locked svg{ width:20px; height:20px; flex:none; color:var(--blue); }
/* Gjeste-kortet har ingen add-to-cart-knapp – gi panelet litt luft over trust-raden. */
.pdp-buy .pdp-b2b{ margin-bottom:16px; }

/* Trygghets-rad – innfelt panel med padding, nederst i kjøpskortet */
.pdp-trust{ list-style:none; margin:18px 0 0; padding:14px 18px; background:var(--bg-soft); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 14px; }
.pdp-trust li{ display:flex; align-items:center; gap:8px; font-size:.8rem; font-weight:600; color:var(--muted); }
.pdp-trust svg{ width:18px; height:18px; flex:none; color:var(--success); }

/* Sekundære handlinger */
.pdp-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.pdp-action{ display:inline-flex; align-items:center; gap:8px; padding:10px 15px; background:#fff; border:1.5px solid var(--line); color:var(--navy); font-weight:700; font-size:.85rem; transition:var(--t-fast); }
.pdp-action:hover{ border-color:var(--blue); color:var(--blue); }
.pdp-action svg{ width:18px; height:18px; flex:none; }

/* ---------- Faner ---------- */
.pdp-tabs{ margin-top:56px; background:var(--white); border:1px solid var(--line); border-radius:var(--pdp-radius); box-shadow:var(--shadow-sm); overflow:hidden; }
.pdp-tabs__nav{ display:flex; flex-wrap:wrap; gap:2px; border-bottom:1px solid var(--line); background:var(--bg-soft); padding:6px 6px 0; }
.pdp-tabs__tab{ appearance:none; background:transparent; border:0; border-bottom:3px solid transparent; padding:15px 22px; font-family:var(--font-heading); font-size:.96rem; font-weight:700; color:var(--muted); cursor:pointer; transition:color var(--t-fast), border-color var(--t-fast); }
.pdp-tabs__tab:hover{ color:var(--navy); }
.pdp-tabs__tab.is-active{ color:var(--navy); border-bottom-color:var(--blue); background:var(--white); border-radius:8px 8px 0 0; }
.pdp-panel{ padding:32px; }
.pdp-panel[hidden]{ display:none; }

.pdp-desc__body{ max-width:none; column-width:40ch; column-gap:56px; color:var(--ink); font-size:1rem; line-height:1.7; }
.pdp-desc__body > *:first-child{ margin-top:0; }
.pdp-desc__body p{ break-inside:avoid; }
.pdp-desc__body h2,.pdp-desc__body h3,.pdp-desc__body h4{ font-family:var(--font-heading); color:var(--navy); margin:24px 0 10px; }
.pdp-desc__body p{ margin:0 0 14px; }
.pdp-desc__body ul{ margin:0 0 14px; padding-left:20px; }
.pdp-video{ position:relative; aspect-ratio:16/9; margin-bottom:24px; border-radius:12px; overflow:hidden; background:#000; max-width:640px; }
.pdp-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Spesifikasjonstabell */
.pdp-specs{ width:100%; border-collapse:collapse; }
.pdp-specs tr{ border-bottom:1px solid var(--line); }
.pdp-specs tr:nth-child(odd){ background:var(--bg-soft); }
.pdp-specs th,.pdp-specs td{ text-align:left; padding:13px 16px; font-size:.93rem; vertical-align:top; }
.pdp-specs th{ width:38%; color:var(--muted); font-weight:600; }
.pdp-specs td{ color:var(--navy); font-weight:600; }

/* Dokument-kort */
.pdp-docs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.pdp-doc{ display:flex; align-items:center; gap:14px; padding:15px 16px; border:1px solid var(--line); border-radius:12px; background:var(--white); transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast); }
.pdp-doc:hover{ border-color:var(--blue); box-shadow:var(--shadow-sm); transform:translateY(-2px); }
.pdp-doc__ic{ width:44px; height:44px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--bg-softer); color:var(--blue); border-radius:10px; }
.pdp-doc__ic svg{ width:22px; height:22px; }
.pdp-doc__meta{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.pdp-doc__type{ display:flex; align-items:center; gap:7px; font-size:.9rem; font-weight:800; color:var(--navy); }
.pdp-doc__lang{ font-size:.64rem; font-weight:800; letter-spacing:.05em; color:var(--muted); background:var(--bg-softer); padding:1px 6px; border-radius:5px; }
.pdp-doc__name{ font-size:.78rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pdp-doc__dl{ flex:none; color:var(--line-strong); transition:color var(--t-fast); }
.pdp-doc__dl svg{ width:19px; height:19px; }
.pdp-doc:hover .pdp-doc__dl{ color:var(--blue); }

/* Relaterte/tilbehoer-seksjoner */
.pdp-relsec{ margin-top:56px; }
.section-head--left{ text-align:left; margin:0 0 24px; max-width:none; }
.section-head--left .section-title{ margin:4px 0 0; }

/* Sticky kjoepslinje (mobil) */
.pdp-stickybar{ position:fixed; left:0; right:0; bottom:0; z-index:900; display:none; align-items:center; gap:14px; padding:11px 16px; background:var(--white); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(2,32,57,.1); }
.pdp-stickybar__info{ flex:1; min-width:0; display:flex; flex-direction:column; }
.pdp-stickybar__name{ font-size:.82rem; font-weight:700; color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pdp-stickybar__price{ font-size:.9rem; font-weight:800; color:var(--blue); }
.pdp-stickybar__cta{ flex:none; }

/* Enkel lightbox */
.pdp-lightbox{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:5vw; background:rgba(0,20,36,.9); opacity:0; visibility:hidden; transition:opacity var(--t-fast); }
.pdp-lightbox.is-open{ opacity:1; visibility:visible; }
.pdp-lightbox img{ max-width:100%; max-height:90vh; object-fit:contain; border-radius:8px; }
.pdp-lightbox__close{ position:absolute; top:20px; right:24px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.12); color:#fff; border:0; border-radius:50%; cursor:pointer; }
.pdp-lightbox__close svg{ width:22px; height:22px; }

/* ---------- Responsivt ---------- */
@media (max-width:960px){
    .pdp-top{ grid-template-columns:1fr; gap:28px; }
    .pdp-gallery{ position:static; }
    .pdp-panel{ padding:22px 18px; }
}
@media (max-width:600px){
    .pdp-tabs__nav{ overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
    .pdp-tabs__tab{ white-space:nowrap; padding:13px 16px; }
    .pdp-stickybar[data-shown]{ display:flex; }
    .pdp-main{ padding-bottom:78px; }
}
