/* =========================================================================
   HCV BENCHMARKING - PREMIUM CLEAN LAYOUTS
   ========================================================================= */

/* General Utilities */
.dark-theme { background-color: #0f172a; color: #f8fafc; }
.light-theme { background-color: #f8fafc; color: #0f172a; }
.text-muted { color: #64748b !important; }
.text-light { color: #cbd5e1 !important; }
.clean-list { list-style: none; padding: 0; margin: 0; }
.clean-list li { margin-bottom: 15px; display: flex; align-items: flex-start; gap: 10px; font-size: 1.05rem;}
.title-accent { color: #1b1564; }
.status-badge { display: inline-block; padding: 4px 10px; border-radius: 4px; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; margin-bottom: 15px; letter-spacing: 1px;}
.status-outdated { background: #fee2e2; color: #b91c1c; }
.status-advanced { background: #e0f2fe; color: #1b1564; }

/* =========================================================================
   SECTION 2: 3D FLIP-ROWS
   ========================================================================= */
.hcv-flip-section { padding: 60px 0; background: #ffffff; }
.flip-list-container {
    max-width: 900px;
    margin: 40px auto 0 auto; /* Added 40px top margin */
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.flip-row {
    perspective: 1000px;
    height: 80px;
    width: 100%;
}

.flip-row-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
    cursor: pointer;
}

.flip-row:hover .flip-row-inner {
    transform: rotateX(180deg);
}

.flip-front, .flip-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    padding: 0 30px;
    border-radius: 12px;
}

.flip-front {
    background: #f8fafc;
    border: 1px solid #f1f5f9;
}

.flip-front p {
    margin: 0 0 0 20px;
    color: #64748b;
    font-size: 1.1rem;
}

.flip-back {
    background: #0f172a;
    color: white;
    transform: rotateX(180deg);
    border: 1px solid #1e293b;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.flip-back p {
    margin: 0 0 0 20px;
    color: #f8fafc;
    font-size: 1.1rem;
}

.flip-back strong {
    color: #29abe3;
}

.flip-front .status-badge, .flip-back .status-badge {
    margin-bottom: 0; /* Remove default margin for inline layout */
}

@media (max-width: 768px) {
    .flip-row { height: 120px; }
    .flip-front, .flip-back { flex-direction: column; align-items: flex-start; justify-content: center; padding: 20px; gap: 10px;}
    .flip-front p, .flip-back p { margin: 0; font-size: 1rem;}
}

/* =========================================================================
   SECTION 3: BENTO GRID COVERAGE
   ========================================================================= */
.hcv-bento-section { padding: 100px 0; }
.bento-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto auto; gap: 20px; max-width: 1200px; margin: 40px auto 0 auto; padding: 0 20px; }
.bento-item { position: relative; border-radius: 16px; overflow: hidden; background: #1e293b; border: 1px solid rgba(255,255,255,0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.bento-item:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0,0,0,0.3); border-color: rgba(0,123,181,0.5); }
.bento-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0.1; transition: opacity 0.3s ease; background-color: #0f172a;}
.bento-item:hover .bento-bg { opacity: 0.2; }
.bento-content { position: relative; z-index: 2; padding: 30px; display: flex; flex-direction: column; height: 100%; }
.bento-content h3 { color: white; margin-bottom: 15px; font-size: 1.5rem; }
.bento-content p { color: #94a3b8; flex-grow: 1; font-size: 1.05rem; line-height: 1.5; }
.bento-link { color: #29abe3; text-decoration: none; font-weight: 600; font-size: 0.95rem; margin-top: 20px; display: inline-block; transition: color 0.2s;}
.bento-link:hover { color: #bae6fd; }

.bento-cab { grid-column: 1 / 3; }
.bento-powertrain { grid-column: 3 / 4; grid-row: 1 / 3; }
.bento-chassis { grid-column: 1 / 2; }
.bento-materials { grid-column: 2 / 3; }

@media (max-width: 768px) {
    .bento-grid { grid-template-columns: 1fr; }
    .bento-cab, .bento-powertrain, .bento-chassis, .bento-materials { grid-column: 1 / -1; grid-row: auto; }
}

/* =========================================================================
   SECTION 4: STICKY WIREFRAME REVEAL
   ========================================================================= */
.hcv-sticky-section { padding: 100px 0; }
.sticky-layout-container { display: flex; gap: 60px; align-items: flex-start; max-width: 1200px; margin: 40px auto 0 auto; padding: 0 20px; position: relative; }
.sticky-content-scroll { flex: 1; padding: 40px 0 40vh 0; }
.scroll-step { opacity: 0.3; transition: all 0.5s ease; margin-bottom: 100px; padding: 30px; border-left: 3px solid transparent; }
.scroll-step.active { opacity: 1; border-left-color: #007bb5; background: rgba(0,123,181,0.03); border-radius: 0 8px 8px 0; }
.scroll-step h3 { font-size: 1.8rem; margin-bottom: 15px; color: #0f172a; }
.scroll-step p { color: #475569; font-size: 1.1rem; line-height: 1.6; }

.sticky-visual-panel { flex: 1; position: sticky; top: 150px; height: 60vh; display: flex; align-items: center; justify-content: center; }
.sticky-wireframe-box { width: 100%; height: 100%; background: #1e293b; border-radius: 16px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.1); transition: transform 0.3s ease;}
.placeholder-wireframe { color: rgba(255,255,255,0.2); font-weight: bold; font-size: 1.5rem; letter-spacing: 2px; }

@media (max-width: 768px) {
    .sticky-layout-container { flex-direction: column; }
    .sticky-visual-panel { position: relative; top: 0; height: 300px; margin-bottom: 40px; order: -1; width: 100%; }
    .sticky-content-scroll { padding: 0 0 40px 0; }
    .scroll-step { margin-bottom: 40px; opacity: 1; border-left-color: #e2e8f0; padding: 20px;}
    .scroll-step.active { border-left-color: #007bb5; }
}

/* =========================================================================
   SECTION 5: MINIMALIST SPLIT-PANE INDEX
   ========================================================================= */
.hcv-simple-section { padding: 100px 0; background: #ffffff; overflow: hidden; }
.hcv-simple-container { display: flex; gap: 60px; max-width: 1200px; margin: 40px auto 0 auto; align-items: center; }

.simple-list { flex: 1; display: flex; flex-direction: column; gap: 30px; }
.simple-list-item { display: flex; align-items: flex-start; gap: 20px; opacity: 0.7; transition: all 0.3s ease; cursor: default; }
.simple-list-item:hover { opacity: 1; transform: translateX(10px); }

.item-number { font-size: 2.5rem; font-weight: 900; color: #cbd5e1; line-height: 1; font-family: monospace; transition: color 0.3s ease; }
.simple-list-item:hover .item-number { color: #1b1564; }

.item-content h4 { color: #0f172a; font-size: 1.3rem; margin-bottom: 8px; }
.item-content p { color: #475569; font-size: 1rem; line-height: 1.5; margin: 0; }

.simple-image-wrapper { flex: 1; display: flex; justify-content: center; align-items: center; background: #f8fafc; border-radius: 20px; border: 1px solid #e2e8f0; height: 500px; }
.placeholder-blueprint { color: rgba(15,23,42,0.1); font-size: 1.5rem; border: 2px dashed rgba(15,23,42,0.1); padding: 40px; border-radius: 10px; }

@media (max-width: 992px) {
    .hcv-simple-container { flex-direction: column; }
    .simple-image-wrapper { width: 100%; height: 300px; order: -1; }
    .simple-list-item { opacity: 1; }
}
/* =========================================================================
   SECTION 6: HORIZONTAL PROGRESS CARDS
   ========================================================================= */
.hcv-process-section { padding: 100px 0; }
.process-track { display: flex; gap: 20px; justify-content: space-between; overflow-x: auto; padding-bottom: 20px; margin-top: 40px; }
.process-card { flex: 1; min-width: 250px; background: white; border-radius: 12px; padding: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); border-top: 4px solid #007bb5; transition: transform 0.3s ease; }
.process-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0,0,0,0.1); }
.step-number { font-size: 3.5rem; font-weight: 900; color: #f1f5f9; margin-bottom: 15px; line-height: 1; transition: color 0.3s;}
.process-card:hover .step-number { color: #e0f2fe; }
.process-content h4 { font-size: 1.25rem; color: #0f172a; margin-bottom: 10px; }
.process-content p { color: #64748b; font-size: 1rem; line-height: 1.5; margin: 0; }

@media (max-width: 992px) {
    .process-track { flex-wrap: wrap; justify-content: flex-start; }
    .process-card { min-width: calc(50% - 10px); }
}
@media (max-width: 576px) {
    .process-card { min-width: 100%; }
}

/* =========================================================================
   SECTION 7: MINIMALIST MAP SIDEBAR
   ========================================================================= */
.hcv-map-section { padding: 100px 0; overflow: hidden; background-color: #ffffff; color: #0f172a; }
.hcv-map-section .standard-section-title { color: #0f172a !important; }
.map-layout-grid { display: flex; gap: 60px; align-items: center; max-width: 1200px; margin: 40px auto 0 auto; padding: 0 20px; }
.map-sidebar { flex: 0 0 400px; }
.map-visual { flex: 1; position: relative; }

.hub-list { display: flex; flex-direction: column; gap: 15px; }
.hub-item { padding: 20px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; cursor: pointer; transition: all 0.3s ease; }
.hub-item:hover { background: #ffffff; border-color: #007bb5; box-shadow: 0 10px 25px rgba(0,0,0,0.05); transform: translateX(5px); }
.hub-item h4 { color: #0f172a; margin-bottom: 5px; }

.clean-map-container { width: 100%; height: 500px; background: #f1f5f9; border-radius: 20px; display: flex; align-items: center; justify-content: center; position: relative; border: 1px solid #e2e8f0; }
.placeholder-map { color: rgba(15,23,42,0.1); font-size: 2rem; font-weight: bold; letter-spacing: 3px; }

.map-pin { position: absolute; width: 16px; height: 16px; background: #007bb5; border-radius: 50%; box-shadow: 0 0 20px rgba(0,123,181,0.5); transition: transform 0.3s ease; }
.map-pin::after { content: ''; position: absolute; top: -8px; left: -8px; right: -8px; bottom: -8px; border-radius: 50%; border: 2px solid rgba(0,123,181,0.5); animation: pulse-pin 2s infinite; }

@keyframes pulse-pin {
    0% { transform: scale(0.8); opacity: 1; }
    100% { transform: scale(2); opacity: 0; }
}

.capability-tag { background: #ffffff; padding: 10px 20px; border-radius: 20px; border: 1px solid #e2e8f0; color: #475569; font-size: 0.95rem; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }

@media (max-width: 992px) {
    .map-layout-grid { flex-direction: column; }
    .map-sidebar { flex: none; width: 100%; }
    .clean-map-container { height: 350px; }
}
