/* =========================================================
   Hero – Steam Deck Route
   ========================================================= */

.hero-steamdeck {
    position: relative;
    background-image: url('/img/backgrounds/darkgreen-circuitboard-bg-trans_125x125.png');
    background-color: #0b0f0b;
    border-bottom: 3px solid rgba(25, 135, 84, 0.55);
    overflow: hidden;
}

/* Overlay for text contrast */
.hero-steamdeck::before {
    content: "";
    position: absolute;
    inset: 0;
    /*
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.68),
        rgba(0, 0, 0, 0.45) 55%,
        rgba(0, 0, 0, 0.20)
    );
    */
    pointer-events: none;
}

.hero-steamdeck > .container {
    position: relative;
}

/* Tagline */
.hero-steamdeck-tagline {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.95rem;
}

/* Intro text */
.hero-steamdeck-intro {
    color: rgba(255, 255, 255, 0.85);
}

/* =========================================================
   Breadcrumb – inside Steam Deck Hero
   ========================================================= */

.hero-breadcrumb .breadcrumb {
    font-size: 0.95rem;
}

.hero-breadcrumb .breadcrumb-link {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
}

.hero-breadcrumb .breadcrumb-link:hover,
.hero-breadcrumb .breadcrumb-link:focus {
    color: #9dffcf;
    text-decoration: underline;
}

.hero-breadcrumb .breadcrumb .active {
    color: rgba(255, 255, 255, 0.60);
}

.hero-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.45);
}

/* =========================================================
   Steam Deck Hero – CTA Button Contrast
   ========================================================= */

.hero-steamdeck .hero-btn {
    --bs-btn-color: #c9ffe3;
    --bs-btn-bg: rgba(0, 0, 0, 0.35);       /* FIX: use Bootstrap var */
    --bs-btn-border-color: #4dff9a;

    --bs-btn-hover-color: #0b0f0b;
    --bs-btn-hover-bg: #4dff9a;
    --bs-btn-hover-border-color: #4dff9a;

    --bs-btn-focus-shadow-rgb: 77, 255, 154;

    border-width: 2px;
    font-weight: 600;
    backdrop-filter: saturate(130%);
}

/* Hover lift */
@media (hover: hover) {
    .hero-steamdeck .hero-btn:hover {
        transform: translateY(-1px);
    }
}

/* Keyboard focus */
.hero-steamdeck .hero-btn:focus-visible {
    outline: 2px solid #7dffb3;
    outline-offset: 2px;
}

.hero-steamdeck .hero-btn:hover {
    box-shadow: 0 0.4rem 1rem rgba(77, 255, 154, 0.25);
}

/* =========================================================
   Steam Deck Route – Panels (matching Gaming route)
   ========================================================= */

/* Base panel enhancement */
.hero-steamdeck ~ main .route-panel {
    position: relative;
    overflow: hidden;

    border-left: 6px solid rgba(20, 108, 67, 0.80);
    box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.18);
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        border-left-color 0.15s ease;
}

/* Hover state */
@media (hover: hover) {
    .hero-steamdeck ~ main .route-panel:hover {
        transform: translateY(-4px);
        border-left-color: rgba(77, 255, 154, 0.95);
        box-shadow: 0 0.85rem 1.6rem rgba(0, 0, 0, 0.22);
    }
}

/* Keyboard focus */
.hero-steamdeck ~ main .route-panel:focus-within {
    border-left-color: rgba(77, 255, 154, 0.95);
    outline: 3px solid rgba(77, 255, 154, 0.6);
    outline-offset: 2px;
    box-shadow:
        0 0 0 0.25rem rgba(77, 255, 154, 0.18),
        0 0.85rem 1.6rem rgba(0, 0, 0, 0.22);
}

/* CTA emphasis */
.hero-steamdeck ~ main .route-panel-cta {
    font-weight: 500;
}

/* CTA underline on interaction */
.hero-steamdeck ~ main .route-panel:hover .route-panel-cta,
.hero-steamdeck ~ main .route-panel:focus-within .route-panel-cta {
    text-decoration: underline;
}

/* Arrow micro-interaction */
.hero-steamdeck ~ main .route-panel-cta i {
    transition: transform 0.15s ease;
}

.hero-steamdeck ~ main .route-panel:hover .route-panel-cta i {
    transform: translateX(4px);
}

/* Cursor hint */
.hero-steamdeck ~ main .route-panel {
    cursor: pointer;
}

/* =========================================================
   Steam Deck Route – Panel Watermark
   ========================================================= */

.hero-steamdeck ~ main .route-panel::after {
    content: "";
    position: absolute;
    inset: 0;

    background-image: url('/img/gaming/steamdeck-bg.png');
    background-repeat: no-repeat;
    background-position: right -20px center;
    background-size: 280px auto;

    opacity: 0.05;               /* very subtle at rest */
    filter: contrast(1.03);
    pointer-events: none;
}

/* Slightly stronger on larger screens */
@media (min-width: 992px) {
    .hero-steamdeck ~ main .route-panel::after {
        opacity: 0.06;
        background-size: 320px auto;
    }
}

/* Hide watermark on very small screens */
@media (max-width: 575px) {
    .hero-steamdeck ~ main .route-panel::after {
        display: none;
    }
}

/* Gentle reveal on hover */
@media (hover: hover) {
    .hero-steamdeck ~ main .route-panel:hover::after {
        opacity: 0.09;
        filter: contrast(1.06);
    }
}

/* Keyboard focus reveal */
.hero-steamdeck ~ main .route-panel:focus-within::after {
    opacity: 0.09;
    filter: contrast(1.06);
}

/* =========================================================
   Steam Deck Route – Featured Panel (Performance & Compatibility)
   ========================================================= */

.hero-steamdeck ~ main .route-panel-featured {
    border-left-color: rgba(25, 135, 84, 0.95);
    background: linear-gradient(
        90deg,
        rgba(25, 135, 84, 0.06),
        rgba(255, 255, 255, 1) 40%
    );
}

/* Stronger watermark presence for featured panel */
.hero-steamdeck ~ main .route-panel-featured::after {
    opacity: 0.08;
}

/* Hover emphasis */
@media (hover: hover) {
    .hero-steamdeck ~ main .route-panel-featured:hover {
        border-left-color: rgba(77, 255, 154, 0.95);
        box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.28);
    }

    .hero-steamdeck ~ main .route-panel-featured:hover::after {
        opacity: 0.12;
        filter: contrast(1.08);
    }
}

/* Keyboard focus */
.hero-steamdeck ~ main .route-panel-featured:focus-within {
    border-left-color: rgba(77, 255, 154, 0.95);
    outline-color: rgba(77, 255, 154, 0.75);
    box-shadow:
        0 0 0 0.25rem rgba(77, 255, 154, 0.18),
        0 1rem 2rem rgba(0, 0, 0, 0.28);
}

/* Smaller featured badge inside panel headings */
.hero-steamdeck ~ main .route-panel-featured .badge {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.35em 0.55em;
    letter-spacing: 0.02em;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .hero-steamdeck ~ main .route-panel,
    .hero-steamdeck ~ main .route-panel-cta i {
        transition: none;
    }
}

