/*!
 * LBF Car & Truck Show — car-show-hovers.css
 *
 * Hover micro-motions for the car-show page, enqueued separately so they
 * land in <head> as a normal stylesheet (rather than inline at the bottom
 * of <body>). The inline approach was being silently suppressed in the
 * production environment — debug testing confirmed that an identical
 * stylesheet appended to <head> at runtime DID activate the hover rules,
 * while the inline <style> block did not. Moving these rules to a proper
 * enqueued file restores the normal load path.
 *
 * Every selector uses `.lbf-car-show-page` (the page-scoping body class)
 * plus !important to beat any other cascade contender (theme global rules,
 * plugin styles, optimizer-injected inlines).
 *
 * The earlier `body .lbf-car-show-page` prefix was wrong because
 * `.lbf-car-show-page` is the body class itself, not a descendant —
 * making the selector match nothing. Fixed in v27.1.
 *
 * Related files:
 *   - page-car-show.php           (template — no longer contains hover CSS)
 *   - assets/css/car-show-page-v2.css (layout/colors/typography)
 *   - inc/enqueue.php             (enqueues this stylesheet)
 */

/* === HOVER MICRO-MOTIONS — INLINE GUARANTEE === */

/* License plate badges: lift + tilt on hover */
.lbf-car-show-page .cs-class-badge {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                box-shadow 0.4s ease,
                z-index 0s !important;
    cursor: pointer !important;
}
.lbf-car-show-page .cs-class-badge:hover {
    transform: translateY(-8px) rotate(1deg) !important;
    box-shadow: 0 25px 50px rgba(0,0,0,0.18),
                inset 0 0 20px rgba(255,255,255,0.85) !important;
    z-index: 50 !important;
}
.lbf-car-show-page .cs-class-badge:active {
    transform: scale(0.96) !important;
}

/* Buttons */
.lbf-car-show-page .btn {
    transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease !important;
}
.lbf-car-show-page .btn:hover {
    transform: translateY(-5px) !important;
    filter: brightness(1.15) !important;
}
.lbf-car-show-page .btn:active {
    transform: translateY(-2px) scale(0.98) !important;
}

/* Award rows — slide right on hover with bg highlight */
.lbf-car-show-page .cs-award-row {
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease !important;
}
.lbf-car-show-page .cs-award-row:hover {
    transform: translateX(8px) !important;
    background: rgba(255,255,255,0.04) !important;
}
.lbf-car-show-page .cs-award-row:hover .cs-award-icon {
    background: rgba(243,195,3,0.25) !important;
    border-color: rgba(243,195,3,0.6) !important;
}

/* Rules list — slide right + circle turns gold and grows */
.lbf-car-show-page .cs-rules li {
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease !important;
}
.lbf-car-show-page .cs-rules li:hover {
    transform: translateX(10px) !important;
    background: rgba(0,55,167,0.04) !important;
}
.lbf-car-show-page .cs-rules li::before {
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease !important;
}
.lbf-car-show-page .cs-rules li:hover::before {
    background: var(--gold, #f3c303) !important;
    color: #0c1650 !important;
    transform: scale(1.12) !important;
}

/* Community Choice steps */
.lbf-car-show-page .cs-cca-step {
    transition: transform 0.25s ease !important;
}
.lbf-car-show-page .cs-cca-step:hover {
    transform: translateX(5px) !important;
}

/* Past winners — feature card lifts */
.lbf-car-show-page .cs-winner-feature {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.lbf-car-show-page .cs-winner-feature:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 18px 40px rgba(0,0,0,0.25) !important;
}

/* Past winners — thumb cards slide right */
.lbf-car-show-page .cs-winner-thumb {
    transition: transform 0.3s ease !important;
}
.lbf-car-show-page .cs-winner-thumb:hover {
    transform: translateX(6px) !important;
}

/* FAQ accordion items — slide right + bg */
.lbf-car-show-page .cs-faq-item {
    transition: transform 0.25s ease, background 0.25s ease !important;
}
.lbf-car-show-page .cs-faq-item:hover {
    transform: translateX(8px) !important;
    background: rgba(26,43,140,0.04) !important;
}

/* Hero feature card — 3D tilt on hover */
.lbf-car-show-page .cs-hero-inner > div:last-child {
    perspective: 1000px;
}
.lbf-car-show-page .cs-hero-feature {
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                box-shadow 0.5s ease !important;
    transform-style: preserve-3d;
    will-change: transform;
}
.lbf-car-show-page .cs-hero-feature:hover {
    transform: rotateY(-10deg) rotateX(5deg) scale(1.02) !important;
    box-shadow: 0 30px 60px rgba(0,0,0,0.35) !important;
}

/* Hero feature image scales up subtly inside the tilting card */
.lbf-car-show-page .cs-hero-feature-img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}
.lbf-car-show-page .cs-hero-feature:hover .cs-hero-feature-img {
    transform: scale(1.08) !important;
}

/* Detail rows — bounce slightly RIGHT on hover with a springy ease.
   Uses a keyframe so the row overshoots then settles, giving the bounce. */
@keyframes cs-detail-bounce-right {
    0%   { transform: translateX(0); }
    55%  { transform: translateX(12px); }    /* overshoot right */
    80%  { transform: translateX(4px); }     /* small bounce back */
    100% { transform: translateX(8px); }     /* settle slightly right */
}
.lbf-car-show-page .cs-detail {
    transition: background 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    border-radius: 8px !important;
    margin: 0 -8px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}
.lbf-car-show-page .cs-detail:hover {
    background: rgba(26,43,140,0.04) !important;
    animation: cs-detail-bounce-right 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
}

/* Detail icon — solid gold fill with dark-blue icon stroke on row hover */
.lbf-car-show-page .cs-detail-icon {
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
.lbf-car-show-page .cs-detail:hover .cs-detail-icon {
    background: var(--gold, #f3c303) !important;
    color: #0c1650 !important;
    transform: scale(1.08) !important;
    box-shadow: 0 4px 12px rgba(243,195,3,0.45) !important;
}

/* Stats — subtle scale on hover */
.lbf-car-show-page .cs-stat {
    transition: transform 0.25s ease !important;
}
.lbf-car-show-page .cs-stat:hover {
    transform: translateY(-3px) !important;
}
.lbf-car-show-page .cs-stat:hover .cs-stat-icon {
    transform: scale(1.1) !important;
    transition: transform 0.25s ease !important;
}

/* CTA buttons in CTAs container */
.lbf-car-show-page .cs-hero-ctas .btn:hover,
.lbf-car-show-page .cs-final .btns .btn:hover {
    transform: translateY(-5px) !important;
}

/* Best of Show + Dash Plaques cards — gentle hover lift */
.lbf-car-show-page .cs-bos {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.lbf-car-show-page .cs-bos:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 28px rgba(243,195,3,0.25) !important;
}

/* Judging rows — emphasize on hover */
.lbf-car-show-page .cs-judging-row {
    transition: transform 0.25s ease !important;
    border-radius: 6px !important;
    padding: 4px 8px !important;
    margin: 0 -8px !important;
}
.lbf-car-show-page .cs-judging-row:hover {
    background: rgba(26,43,140,0.04) !important;
    transform: translateX(2px) !important;
}

/* Form inputs — focus glow */
.lbf-car-show-page .cs-form input:focus,
.lbf-car-show-page .cs-form select:focus,
.lbf-car-show-page .cs-form textarea:focus {
    outline: none !important;
    border-color: var(--blue, #1a2b8c) !important;
    box-shadow: 0 0 0 3px rgba(26,43,140,0.15) !important;
}
