/* NT-FELANMALAN (18 okt 2026). Väljarna börjar med .entry-content .asko-fa och bär !important där den gamla
   Forminator-stilen i asko-css-hotfixes.php (.page-id-10865 .entry-content input/label/p …!important) annars vinner.
   Fälten har 16 px text: under 16 px zoomar iPhone in vid fokus. */
.asko-fa { --fa-gron: #10b981; --fa-grond: #059669; --fa-text: #1a1a2e; --fa-mjuk: #6b7280; --fa-kant: #d1d5db; --fa-yta: #f8f9fa; --fa-fel: #dc2626; max-width: 760px; margin: 0 auto; color: var(--fa-text); font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.asko-fa [hidden] { display: none !important; }
.entry-content .asko-fa .asko-fa-titel { font-size: 1.6rem !important; font-weight: 800 !important; text-align: left !important; margin: 0 0 1.25rem !important; color: var(--fa-text) !important; line-height: 1.2; }
.asko-fa-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Förlopp */
.asko-fa-stegrad { display: flex; justify-content: space-between; gap: 4px; margin-bottom: 10px; }
.asko-fa-stegnamn { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; font-size: 12px; color: var(--fa-mjuk); text-align: center; }
.asko-fa-stegnamn b { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 700; background: #eef0f2; color: var(--fa-mjuk); transition: background .2s, color .2s; }
.asko-fa-stegnamn em { font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.asko-fa-stegnamn.aktiv { color: var(--fa-text); font-weight: 600; }
.asko-fa-stegnamn.aktiv b { background: var(--fa-gron); color: #fff; box-shadow: 0 0 0 4px rgba(16,185,129,.15); }
.asko-fa-stegnamn.klar b { background: #d1fae5; color: var(--fa-grond); }
.asko-fa-stapel { height: 6px; border-radius: 6px; background: #eef0f2; overflow: hidden; }
.asko-fa-stapel i { display: block; height: 100%; background: linear-gradient(90deg, var(--fa-gron), var(--fa-grond)); border-radius: 6px; transition: width .3s ease; }
.entry-content .asko-fa .asko-fa-steginfo { margin: 10px 0 18px !important; font-size: 14px !important; color: var(--fa-mjuk) !important; }
@media (max-width: 560px) { .asko-fa-stegnamn em { display: none; } }   /* stegets namn står i .asko-fa-steginfo */

/* Fält */
.asko-fa-form fieldset.asko-fa-sida { border: 0; margin: 0; padding: 0; min-width: 0; }
.asko-fa-rutnat { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.asko-fa-falt, .asko-fa-info { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 600px) { .asko-fa-halv { grid-column: span 1; } }
.entry-content .asko-fa .asko-fa-etikett { display: block; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; margin: 0 0 6px !important; padding: 0; }
.asko-fa-krav { color: var(--fa-fel); }
.entry-content .asko-fa input[type="text"], .entry-content .asko-fa input[type="email"], .entry-content .asko-fa input[type="tel"],
.entry-content .asko-fa input[type="date"], .entry-content .asko-fa select, .entry-content .asko-fa textarea {
    width: 100% !important; max-width: none !important; box-sizing: border-box !important; font-size: 16px !important; line-height: 1.4 !important;
    padding: 12px 14px !important; border: 1px solid var(--fa-kant) !important; border-radius: 10px !important; background: #fff !important; color: var(--fa-text) !important;
    min-height: 48px; font-family: inherit !important; -webkit-appearance: none; appearance: none; margin: 0 !important;
}
.entry-content .asko-fa select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; padding-right: 38px !important; }
.entry-content .asko-fa textarea { min-height: 140px; resize: vertical; }
.entry-content .asko-fa input:focus, .entry-content .asko-fa select:focus, .entry-content .asko-fa textarea:focus { border-color: var(--fa-gron) !important; box-shadow: 0 0 0 3px rgba(16,185,129,.15) !important; outline: none !important; }
.entry-content .asko-fa .asko-fa-beskr { font-size: 13px !important; color: var(--fa-mjuk) !important; margin: 6px 0 0 !important; line-height: 1.5 !important; }
.entry-content .asko-fa .asko-fa-fel { font-size: 13px !important; color: var(--fa-fel) !important; margin: 6px 0 0 !important; font-weight: 600; }
.entry-content .asko-fa .asko-fa-har-fel input, .entry-content .asko-fa .asko-fa-har-fel select, .entry-content .asko-fa .asko-fa-har-fel textarea { border-color: var(--fa-fel) !important; }

/* Infotext (Asko support, adresstexten) */
.entry-content .asko-fa .asko-fa-info { background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 12px; padding: 14px 16px; font-size: 14px; line-height: 1.6; color: #065f46; }
.entry-content .asko-fa .asko-fa-info p { margin: 0 0 6px !important; font-size: 14px !important; color: #065f46 !important; }
.entry-content .asko-fa .asko-fa-info p:last-child { margin: 0 !important; }
.entry-content .asko-fa .asko-fa-info a { color: var(--fa-grond) !important; font-weight: 600; word-break: break-word; }

/* Val (radioknappar som kort) */
.asko-fa-grupp { border: 0; margin: 0; padding: 0; min-width: 0; }
.asko-fa-val { display: flex; flex-wrap: wrap; gap: 8px; }
.entry-content .asko-fa .asko-fa-valruta { position: relative; display: inline-flex !important; align-items: center; margin: 0 !important; cursor: pointer; font-weight: 500 !important; font-size: 15px !important; color: var(--fa-text) !important; }
.asko-fa-valruta input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.asko-fa-valruta span { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px 10px 40px; border: 1px solid var(--fa-kant); border-radius: 999px; background: #fff; position: relative; transition: border-color .15s, background .15s; }
.asko-fa-valruta span::before { content: ''; position: absolute; left: 14px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 50%; border: 2px solid #9ca3af; background: #fff; box-sizing: border-box; }
.asko-fa-valruta input:checked + span { border-color: var(--fa-gron); background: #ecfdf5; }
.asko-fa-valruta input:checked + span::before { border: 5px solid var(--fa-gron); }
.asko-fa-valruta input:focus-visible + span { box-shadow: 0 0 0 3px rgba(16,185,129,.3); }
.asko-fa-har-fel .asko-fa-valruta span { border-color: var(--fa-fel); }

/* Kryssruta (GDPR) */
.entry-content .asko-fa .asko-fa-gdprtext { font-size: 13px !important; line-height: 1.6 !important; color: var(--fa-mjuk) !important; background: var(--fa-yta); border-radius: 10px; padding: 12px 14px; margin: 0 0 10px !important; }
.entry-content .asko-fa .asko-fa-kryss { display: inline-flex !important; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; font-size: 15px !important; font-weight: 600 !important; color: var(--fa-text) !important; margin: 0 !important; }
.asko-fa-kryss input { width: 22px; height: 22px; accent-color: var(--fa-gron); margin: 0; }

/* Fil */
.asko-fa-filruta { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border: 1.5px dashed #a7f3d0; background: #f0fdf9; border-radius: 12px; padding: 12px 14px; }
.asko-fa-filruta input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.asko-fa-filknapp { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 8px; background: var(--fa-gron); color: #fff; font-weight: 700; font-size: 14px; }
.asko-fa-filnamn { font-size: 14px; color: var(--fa-mjuk); min-width: 0; overflow-wrap: anywhere; flex: 1 1 140px; }
.asko-fa-filbort { position: relative; z-index: 1; }
.asko-fa-filruta:focus-within { box-shadow: 0 0 0 3px rgba(16,185,129,.3); }

/* Knappar */
.asko-fa-knappar { display: flex; gap: 10px; justify-content: space-between; margin-top: 24px; }
.entry-content .asko-fa .asko-fa-knapp, .entry-content .asko-fa button.asko-fa-knapp[type="submit"] { min-height: 48px; padding: 12px 24px !important; border-radius: 10px !important; font-weight: 700 !important; font-size: 16px !important; cursor: pointer; border: 1px solid transparent !important; transition: filter .15s, transform .15s; font-family: inherit; }
.entry-content .asko-fa .asko-fa-primar { background: var(--fa-gron) !important; color: #fff !important; margin-left: auto; }
.entry-content .asko-fa .asko-fa-primar:hover { filter: brightness(1.05); transform: translateY(-1px); }
.entry-content .asko-fa .asko-fa-sekundar { background: #fff !important; color: var(--fa-text) !important; border-color: var(--fa-kant) !important; }
.entry-content .asko-fa .asko-fa-knapp:disabled { opacity: .6; cursor: wait; transform: none; }
@media (max-width: 480px) { .asko-fa-knappar .asko-fa-knapp { flex: 1 1 0; padding-left: 12px !important; padding-right: 12px !important; } }
.entry-content .asko-fa .asko-fa-lank { background: none !important; border: 0 !important; padding: 4px 0 !important; color: var(--fa-grond) !important; font-weight: 600 !important; font-size: 14px !important; text-decoration: underline; cursor: pointer; box-shadow: none !important; min-height: 0; }
.entry-content .asko-fa .asko-fa-utkastrad { text-align: center !important; margin: 14px 0 0 !important; }
.entry-content .asko-fa .asko-fa-fel-allman { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b !important; border-radius: 10px; padding: 10px 14px; font-size: 14px !important; margin: 16px 0 0 !important; font-weight: 600; }
.entry-content .asko-fa .asko-fa-skickar { text-align: center !important; color: var(--fa-mjuk) !important; font-size: 14px !important; margin: 12px 0 0 !important; }
.asko-fa-skickar::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px; border: 2px solid var(--fa-gron); border-right-color: transparent; border-radius: 50%; animation: asko-fa-snurr .8s linear infinite; }
@keyframes asko-fa-snurr { to { transform: rotate(360deg); } }

/* Utkast och tack */
.asko-fa-utkast, .asko-fa-tack { border: 1px solid #a7f3d0; background: #f0fdf9; border-radius: 14px; padding: 20px; }
.entry-content .asko-fa .asko-fa-utkast p { font-size: 14px !important; color: #374151 !important; }
.asko-fa-utkastlank, .asko-fa-utkastskicka { display: flex; gap: 8px; flex-wrap: wrap; }
.entry-content .asko-fa .asko-fa-utkastlank input, .entry-content .asko-fa .asko-fa-utkastskicka input { flex: 1 1 220px; width: auto !important; }
.entry-content .asko-fa .asko-fa-utkastnot { font-size: 13px !important; color: var(--fa-mjuk) !important; }
.entry-content .asko-fa .asko-fa-utkastsvar { font-weight: 600; color: var(--fa-grond) !important; }
.asko-fa-tack { text-align: center; padding: 32px 20px; outline: none; }
.entry-content .asko-fa .asko-fa-tack h2 { font-size: 1.4rem !important; color: var(--fa-text) !important; margin: 0 0 10px !important; text-align: center !important; }
.entry-content .asko-fa .asko-fa-tack p { font-size: 15px !important; color: #374151 !important; margin: 0 !important; }
.asko-fa-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.asko-fa-steginfo:focus { outline: none; }
/* NT-FAADRESS: Googles adressförslag (samma som kassan) */
.pac-container { z-index: 999999 !important; border-radius: 10px; border: 1px solid #e5e7eb; box-shadow: 0 6px 18px rgba(0,0,0,.12); font-family: inherit; margin-top: 4px; }
.pac-container::after, .pac-container .pac-logo::after { display: none !important; }
.pac-item { padding: 10px 12px; font-size: 15px; cursor: pointer; line-height: 1.4; }
.pac-item:hover, .pac-item-selected { background: #f0fdf4; }

/* NT-FALOGGA (Peter 18 okt: "Asko loggan är för stor, gör den mer diskret"): sidans egen bild efter formuläret */
.entry-content .asko-fa ~ br { display: none !important; }
.entry-content .asko-fa ~ img { display: block !important; width: 84px !important; max-width: 84px !important; height: auto !important; margin: 4px 0 0 !important; opacity: .55; }

/* NT-FATOPPLUFT (Peter 18 okt: "för mycket padding i toppen"): temat ger 48 px på huvudytan + 32 px över kortet, hotfixen 40 px i kortet */
body.page-id-10865 #main.site-main { padding-top: 16px !important; }
body.page-id-10865 .entry-content { margin-top: 0 !important; padding-top: 24px !important; }

/* NT-FABREDD (Peter 18 okt: "öka på paddingen på bredden i mobilversionen" = bredare fält): kortet 40 → 18 px på sidorna */
@media (max-width: 600px) { body.page-id-10865 .entry-content { padding-left: 18px !important; padding-right: 18px !important; } }
