/* FraktAlltinor staging overrides. Scoped to .frakt-site (front-end body class). */

/* 1. Content that the original revealed with JS animations must be visible without JS. */
.frakt-site [style*="opacity:0"], .frakt-site [style*="opacity: 0"] { opacity: 1 !important; transform: none !important; }
.frakt-site .animate-in, .frakt-site [class*="animate-"], .frakt-site [class*="fade-in"], .frakt-site [class*="slide-in"] { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .frakt-site * { transition: none !important; animation: none !important; } }

/* 2. WordPress admin bar offset for the fixed header. */
.admin-bar .frakt-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .frakt-header { top: 46px; } }

/* 3. Mobile navigation (native <details>, no JS). */
.frakt-mobile-nav > summary { list-style: none; cursor: pointer; display: inline-flex; }
.frakt-mobile-nav > summary::-webkit-details-marker { display: none; }
.frakt-mobile-nav .frakt-icon-close { display: none; }
.frakt-mobile-nav[open] .frakt-icon-close { display: block; }
.frakt-mobile-nav[open] .frakt-icon-open { display: none; }
.frakt-mobile-panel { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100dvh - 80px); overflow-y: auto; }
@media (min-width: 1024px) { .frakt-mobile-nav { display: none !important; } }

/* 4. FAQ accordions (native <details>). */
.frakt-faq > summary { list-style: none; cursor: pointer; display: flex; }
.frakt-faq > summary::-webkit-details-marker { display: none; }
.frakt-faq > summary .frakt-faq-h { font: inherit; color: inherit; margin: 0; }
.frakt-faq > summary svg { transition: transform .2s ease; }
.frakt-faq[open] > summary svg { transform: rotate(180deg); }
.frakt-faq > .frakt-faq-a { overflow: visible; }
.frakt-faq > summary:focus-visible { outline: 2px solid hsl(var(--accent, 24 95% 53%)); outline-offset: 2px; }

/* 5. Inert forms and disabled handoff links. */
.frakt-inert-form [disabled], .frakt-inert-form button { cursor: not-allowed; }
.frakt-inert-form button[disabled] { opacity: .6; }
.frakt-staging-notice { margin: 0 0 1rem; padding: .625rem .875rem; border-radius: .5rem; border: 1px dashed currentColor; font-size: .8125rem; line-height: 1.4; opacity: .85; }
.frakt-handoff-disabled, a[aria-disabled="true"] { cursor: not-allowed; }
.frakt-site button[disabled] { pointer-events: none; }

/* 6. Generic prose for new (non-imported) entries. */
.frakt-prose > * + * { margin-top: 1.1em; }
.frakt-prose h2 { font-size: 1.5rem; font-weight: 700; margin-top: 2em; }
.frakt-prose h3 { font-size: 1.2rem; font-weight: 700; margin-top: 1.6em; }
.frakt-prose ul { list-style: disc; padding-left: 1.4em; }
.frakt-prose ol { list-style: decimal; padding-left: 1.4em; }
.frakt-prose a { color: hsl(var(--accent)); text-decoration: underline; }

/* 7. Staging badge. */
.frakt-staging-badge { position: fixed; left: 12px; bottom: 12px; z-index: 9999; padding: 4px 10px; border-radius: 999px; font: 600 11px/1.4 "Plus Jakarta Sans", system-ui, sans-serif; letter-spacing: .06em; background: hsl(174 32% 26%); color: #fdfbf7; opacity: .85; pointer-events: none; }

/* 8. v2 interactive layer (progressive enhancement; inert without JS). */
.frakt-site [data-frakt-trusted] { cursor: pointer; pointer-events: auto; }
.frakt-site [data-frakt-trusted]:disabled { cursor: not-allowed; }
.frakt-site form[data-frakt-form] button[type="submit"]:disabled { cursor: progress; opacity: .7; pointer-events: none; }
.frakt-test-banner { margin: 0 0 1rem; padding: .625rem .875rem; border-radius: .5rem; border: 1px solid hsl(24 95% 53% / .55); background: hsl(24 95% 53% / .08); color: hsl(174 32% 22%); font-size: .8125rem; font-weight: 600; line-height: 1.45; }
.frakt-field-msg { font-size: .8rem; margin-top: .375rem; }
.frakt-site .frakt-spin { animation: frakt-spin 1s linear infinite !important; }
@keyframes frakt-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .frakt-site .frakt-spin { animation: none !important; } }
@media (min-width: 1280px) { .frakt-site [data-frakt-map] .xl\:scale-\[1\.02\] { transform: scale(1.02); } }
.frakt-site [data-frakt-map] [aria-pressed] { cursor: pointer; }
.frakt-success-host { display: flex; flex-direction: column; align-items: center; }
#artikler[data-frakt-blog] .grid[hidden] { display: none; }
.frakt-hp { display: none !important; }
/* v2.0.0 map stop controls (SVG and container are pointer-events-none in the original markup). */
.frakt-site .frakt-map-stop { pointer-events: auto; cursor: pointer; outline: none; }
.frakt-site .frakt-map-stop:focus-visible .frakt-stop-hit { stroke: hsl(var(--accent)); stroke-width: 3px; vector-effect: non-scaling-stroke; }
.frakt-site .frakt-map-stop:hover > rect { stroke: hsl(var(--accent)); }
.frakt-stop-status { display: block; max-width: 22rem; white-space: normal; font-weight: 600; }
.frakt-stop-status[hidden] { display: none; }
