/* ==========================================================================
   Bilplatformen v2 - Premium polish layer
   Indlæses efter main.css. Tilfører finish, animationer og finere typografi.
   ========================================================================== */

/* Finer typografi med Inter variable + tracking */
body { font-feature-settings: "cv02","cv03","cv04","cv11"; }
h1, h2, h3, h4 { letter-spacing: -.025em; }
h1 { font-weight: 900; }

/* Animeret eyebrow */
.bilp-eyebrow {
    animation: bilpFadeIn .5s ease both;
}
@keyframes bilpFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Hero polish */
.bilp-hero { isolation: isolate; }
.bilp-hero-title { animation: bilpFadeIn .6s .05s ease both; }
.bilp-hero-lede  { animation: bilpFadeIn .6s .15s ease both; }
.bilp-hero-ctas  { animation: bilpFadeIn .6s .25s ease both; }
.bilp-hero-trust { animation: bilpFadeIn .6s .35s ease both; }
.bilp-hero-search { animation: bilpFadeIn .6s .2s ease both; }

.bilp-hero-card { animation: bilpFloat 8s ease-in-out infinite; transition: transform .3s ease; }
.bilp-hero-card.bp-c1 { animation-delay: 0s; }
.bilp-hero-card.bp-c2 { animation-delay: 1.2s; }
.bilp-hero-card.bp-c3 { animation-delay: 2.4s; }
.bilp-hero-card.bp-c4 { animation-delay: .8s; }
@keyframes bilpFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.bilp-hero-card:hover { transform: translateY(-6px) scale(1.02); }

/* Buttons - mere finish */
.bilp-btn { position: relative; overflow: hidden; }
.bilp-btn::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.25) 50%, transparent 70%);
    transform: translateX(-100%); transition: transform .6s ease;
}
.bilp-btn:hover::after { transform: translateX(100%); }
.bilp-btn-primary:focus-visible,
.bilp-btn-accent:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(11,95,255,.25), 0 6px 18px rgba(11,95,255,.28); }

/* Card premium hover */
.bilp-card { transition: transform .25s cubic-bezier(.2,.6,.2,1), box-shadow .25s ease, border-color .25s ease; }
.bilp-card:hover { transform: translateY(-4px); }
.bilp-card-area .bilp-card-icon { transition: transform .25s ease; }
.bilp-card-area:hover .bilp-card-icon { transform: rotate(-6deg) scale(1.08); }
.bilp-card-area:hover .bilp-card-arrow { transform: translateX(4px); transition: transform .2s ease; }

/* Partner card premium */
.bilp-partner-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.bilp-partner-card:hover { transform: translateY(-4px); border-color: var(--bp-line); }
.bilp-partner-card.is-featured { animation: bilpFeaturedGlow 3s ease-in-out infinite alternate; }
@keyframes bilpFeaturedGlow {
    from { box-shadow: 0 12px 32px rgba(11,95,255,.14); }
    to   { box-shadow: 0 16px 40px rgba(11,95,255,.26); }
}

/* Dealer cards: hover row */
.bilp-dealer-card { transition: transform .15s ease, border-color .15s ease, box-shadow .2s ease; }
.bilp-dealer-card:hover { transform: translateY(-2px); }

/* Brand grid hover lift */
.bilp-brand-card { transition: all .2s ease; }
.bilp-brand-card:hover .bilp-brand-mark { transform: scale(1.1); transition: transform .2s ease; }

/* Model cards: gradient image overlay polish */
.bilp-model-media {
    position: relative; overflow: hidden;
}
.bilp-model-media::before {
    content: ""; position: absolute; inset: 0;
    background:
        radial-gradient(circle at 70% 30%, rgba(0,195,137,.3), transparent 50%),
        radial-gradient(circle at 20% 70%, rgba(11,95,255,.25), transparent 50%);
    transition: opacity .3s ease; opacity: .8;
}
.bilp-model-card:hover .bilp-model-media::before { opacity: 1; }
.bilp-model-media::after {
    content: ""; position: absolute; bottom: 16px; left: 24px; right: 24px; height: 36px;
    background:
        radial-gradient(ellipse at center, rgba(0,0,0,.35), transparent 70%);
    filter: blur(6px); pointer-events: none;
}
.bilp-model-card:hover { transform: translateY(-5px); transition: transform .25s ease; }

/* Statsband premium */
.bilp-statsband { background:
    radial-gradient(600px 300px at 100% 0%, rgba(0,195,137,.2), transparent 60%),
    radial-gradient(600px 300px at 0% 100%, rgba(11,95,255,.18), transparent 60%),
    #0B1220;
}
.bilp-stat { animation: bilpStatPop .6s ease both; }
.bilp-stat:nth-child(2) { animation-delay: .1s; }
.bilp-stat:nth-child(3) { animation-delay: .2s; }
.bilp-stat:nth-child(4) { animation-delay: .3s; }
@keyframes bilpStatPop { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.bilp-stat .num {
    background: linear-gradient(120deg, #fff 30%, #C9D1E0 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* KPI band hover */
.bilp-kpi-band { transition: box-shadow .2s ease; }
.bilp-kpi { transition: transform .2s ease; }
.bilp-kpi:hover { transform: translateY(-2px); }

/* Faq item hover */
.bilp-faq-item { transition: border-color .15s ease, box-shadow .15s ease; }
.bilp-faq-item:hover { border-color: var(--bp-primary); box-shadow: 0 4px 18px rgba(11,95,255,.08); }

/* Wizard premium */
.bilp-wizard-option { transition: all .15s ease; }
.bilp-wizard-option:hover { transform: translateY(-2px); }
.bilp-wizard-option.is-selected { box-shadow: 0 0 0 3px rgba(11,95,255,.2), 0 8px 20px rgba(11,95,255,.12); }
.bilp-wizard-progress span { background: linear-gradient(90deg, var(--bp-primary), var(--bp-accent), var(--bp-primary)); background-size: 200% 100%; animation: bilpProgressShine 2s linear infinite; }
@keyframes bilpProgressShine { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }

/* Compare table hover */
.bilp-compare-table tbody tr { transition: background .15s ease; }

/* Final CTA - subtle motion */
.bilp-final-cta {
    background:
        radial-gradient(900px 400px at 80% 0%, rgba(0,195,137,.35), transparent 60%),
        radial-gradient(900px 400px at 0% 100%, rgba(11,95,255,.35), transparent 60%),
        linear-gradient(135deg, var(--bp-primary), var(--bp-accent));
    background-size: 200% 200%; animation: bilpGradientShift 18s ease-in-out infinite;
}
@keyframes bilpGradientShift {
    0%, 100% { background-position: 0% 0%, 100% 100%, 0% 0%; }
    50%      { background-position: 100% 100%, 0% 0%, 100% 100%; }
}

/* Teaser polish */
.bilp-teaser { position: relative; overflow: hidden; }
.bilp-teaser::before {
    content: ""; position: absolute; top: -50%; right: -10%; width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(0,195,137,.25), transparent 60%);
    filter: blur(40px); animation: bilpDrift 12s ease-in-out infinite alternate;
}
@keyframes bilpDrift { from { transform: translateY(0); } to { transform: translateY(50px); } }

/* Compare drawer fancy entrance */
.bilp-compare-drawer { transition: transform .35s cubic-bezier(.2,.6,.2,1); }

/* Sticky scroll header shadow */
.bilp-header.is-scrolled { box-shadow: 0 10px 30px rgba(13,27,42,.07); border-bottom-color: transparent; }

/* Focus ring globalt */
*:focus-visible { outline: 3px solid rgba(11,95,255,.4); outline-offset: 2px; border-radius: 8px; }

/* Subtle noise grain over hero for premium feel */
.bilp-hero::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    opacity: .35; mix-blend-mode: overlay;
}

/* Section divider polish */
.bilp-section-head h2 {
    background: linear-gradient(120deg, var(--bp-ink) 30%, var(--bp-ink-700) 70%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Footer polish */
.bilp-footer { background:
    radial-gradient(800px 400px at 90% 0%, rgba(11,95,255,.10), transparent 60%),
    radial-gradient(800px 400px at 10% 100%, rgba(0,195,137,.07), transparent 60%),
    #0A1422;
}

/* Prose typografi */
.bilp-prose { font-size: 17px; line-height: 1.7; }
.bilp-prose > * + * { margin-top: 1.1em; }
.bilp-prose strong { color: var(--bp-ink); }

/* Premium input focus */
.bilp-input:focus, .bilp-select:focus {
    box-shadow: 0 0 0 4px rgba(11,95,255,.18), 0 2px 8px rgba(11,95,255,.08) !important;
    border-color: var(--bp-primary) !important;
}

/* Premium hero search styling */
.bilp-hero-search {
    border: 1px solid rgba(11,95,255,.15);
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Premium dealer rating chip */
.bilp-dealer-rating {
    background: linear-gradient(135deg, #FFF5E1, #FFE5B8);
    color: #8A5800; font-weight: 800; padding: 5px 10px; border-radius: 999px;
    font-size: 13px; display: inline-flex; align-items: center; gap: 4px;
}

/* Mega menu animation */
.bilp-menu > li.has-mega .bilp-mega {
    opacity: 0; transform: translate(-50%, -10px); transition: opacity .15s ease, transform .15s ease;
}
.bilp-menu > li.has-mega:hover .bilp-mega,
.bilp-menu > li.has-mega:focus-within .bilp-mega,
.bilp-menu > li.has-mega.is-open .bilp-mega {
    opacity: 1; transform: translate(-50%, 0);
}

/* Premium logobar polish */
.bilp-logobar { background: linear-gradient(180deg, #fff, #FAFBFE); }

/* Glow rings around primary buttons in hero */
.bilp-hero .bilp-btn-primary { box-shadow: 0 6px 24px rgba(11,95,255,.32), 0 0 0 4px rgba(11,95,255,.06); }
.bilp-hero .bilp-btn-accent  { box-shadow: 0 6px 24px rgba(0,195,137,.32), 0 0 0 4px rgba(0,195,137,.06); }
