/* ==========================================================
   SALTEK Railway Article
   Budaker.hu custom styling
   ========================================================== */
.section{
    width:min(100%) !important;
    margin:0 auto; 
    padding:70px 20px;
}
.section-label{
    color:#00967d;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:15px;
    text-transform:uppercase;
}

.section h2{
    font-size:42px;
    line-height:1.2;
    margin-bottom:25px;
    color:#111827;
}

.intro-text,
.desc,
.wec-text p{
    font-size:18px;
    line-height:1.8;
    color:#475569;
}

/* ==========================================================
   OVERVIEW STATS
   ========================================================== */

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
    margin-top:40px;
}

.stat-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:30px;
    text-align:center;
    box-shadow:0 4px 20px rgba(0,0,0,.05);
    transition:.3s;
}

.stat-card:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 35px rgba(0,0,0,.08);
}

.stat-number{
    font-size:54px;
    line-height:1;
    font-weight:800;
    color:#00967d;
}

.stat-unit{
    font-size:20px;
    font-weight:600;
    margin-top:5px;
}

.stat-desc{
    margin-top:15px;
    color:#64748b;
    line-height:1.5;
}

/* ==========================================================
   PROBLEM
   ========================================================== */

.overview-visual img{
    width:100%;
    border-radius:20px;
    margin:40px 0;
}

.locations-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:20px;
}

.location-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:30px;
    text-align:center;
    transition:.3s;
}

.location-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 30px rgba(15,23,42,.08);
}

.location-card h3{
    font-size:18px;
    margin-bottom:10px;
    color:#111827;
}

.location-card p{
    color:#64748b;
    line-height:1.6;
}

/* ==========================================================
  DAMAGE ========================================================== */

.damage-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:40px;
}

.damage-card{
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 8px 30px rgba(15,23,42,.08);
}

.damage-card-media img{
    width:100%;
    height:260px;
    object-fit:cover;
}

.damage-card-header{
    padding:24px 24px 0;
}

.damage-card-header h3{
    margin:0;
    color:#111827;
}

.damage-card-header .sub{
    color:#00967d;
    font-weight:600;
    margin-top:5px;
}

.damage-card-body{
    padding:20px 24px 24px;
}

.damage-card-body p{
    color:#64748b;
    line-height:1.7;
}

.highlight{
    font-style:italic;
    font-weight:600;
    color:#111827 !important;
}

.quote-bar{
    margin-top:35px;
    padding:30px;
    border-left:5px solid #00967d;
    background:#f8fafc;
    border-radius:12px;
}

.quote-bar p{
    font-size:18px;
    line-height:1.8;
}

.quote-bar .source{
    margin-top:15px;
    font-weight:600;
    color:#00967d;
}

/* ==========================================================
   PROGRESSION
   ========================================================== */

.stages-timeline{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-top:40px;
}

.stage{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:30px;
    text-align:center;
}

.stage-number{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#00967d;
    color:#fff;
    margin:0 auto 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    font-weight:700;
}

.stage h3{
    margin-bottom:15px;
}

.stage p{
    color:#64748b;
    line-height:1.7;
}

/* ==========================================================
   WEC
   ========================================================== */

.wec-content{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
    align-items:center;
}

.wec-alert{
    background:#dc2626;
    color:#fff;
    padding:40px;
    border-radius:24px;
    text-align:center;
}

.big-number{
    font-size:80px;
    font-weight:800;
    line-height:1;
}

.big-label{
    font-size:22px;
    font-weight:700;
    margin-top:10px;
}

.big-desc{
    margin-top:10px;
    opacity:.9;
}

/* ==========================================================
   FINANCIAL
   ========================================================== */

.financial-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.fin-card{
    text-align:center;
    padding:35px 20px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
}

.fin-number{
    font-size:52px;
    font-weight:800;
    color:#00967d;
}

.fin-unit{
    font-weight:700;
    margin-top:10px;
}

.fin-desc{
    margin-top:10px;
    color:#64748b;
}

/* ==========================================================
   CASE STUDY
   ========================================================== */

.case-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.case-card{
    background:#fff;
    border-radius:18px;
    border:1px solid #e5e7eb;
    padding:30px;
    text-align:center;
}

.case-label{
    color:#64748b;
    margin-bottom:15px;
}

.case-value{
    font-size:34px;
    font-weight:800;
    color:#00967d;
    margin-bottom:10px;
}

.case-desc{
    line-height:1.6;
    color:#475569;
}

/* ==========================================================
   SOLUTION
   ========================================================== */

.product-name{
    font-size:22px;
    font-weight:700;
    color:#00967d;
    margin-bottom:20px;
}

.layers-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-top:40px;
}

.layer{
    position:relative;
    background:#fff;
    padding:35px;
    border-radius:18px;
    border:1px solid #e5e7eb;
}

.layer-num{
    font-size:46px;
    font-weight:800;
    color:#00967d;
}

.layer h3{
    margin:15px 0;
}

.layer p{
    color:#64748b;
    line-height:1.7;
}

.arrow-connect{
    font-size:24px;
    color:#00967d;
    margin-top:20px;
    font-weight:bold;
}

/* ==========================================================
   SPECS TABLE
   ========================================================== */

.specs-table{
    width:100%;
    border-collapse:collapse;
}

.specs-table th{
    background:#00967d;
    color:#fff;
    text-align:left;
    padding:16px;
}

.specs-table td{
    padding:16px;
    border-bottom:1px solid #e5e7eb;
}

.specs-table tr:hover{
    background:#f8fafc;
}

.standards-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:25px;
}

.standard-badge{
    padding:10px 16px;
    border-radius:25px;
    background:#eef8f6;
    color:#00967d;
    font-weight:600;
}

/* ==========================================================
   COMPARISON
   ========================================================== */

.compare-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
}

.compare-col{
    padding:35px;
    border-radius:20px;
}

.compare-col h3{
    margin-bottom:25px;
}

.compare-col.bad{
    background:#fff5f5;
    border:2px solid #fecaca;
}

.compare-col.good{
    background:#f0fdf4;
    border:2px solid #bbf7d0;
}

.compare-item{
    display:flex;
    gap:15px;
    margin-bottom:20px;
    align-items:flex-start;
    line-height:1.6;
}

.icon-mark{
    font-weight:700;
    min-width:20px;
}

.compare-col.bad .icon-mark{
    color:#dc2626;
}

.compare-col.good .icon-mark{
    color:#16a34a;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:991px){

    .stats-grid,
    .damage-grid,
    .financial-grid,
    .case-grid,
    .layers-grid,
    .compare-grid,
    .wec-content{
        grid-template-columns:1fr 1fr;
    }

    .stages-timeline{
        grid-template-columns:1fr;
    }
}

@media (max-width:768px){

    .section{
        padding:50px 15px;
    }

    .section h2{
        font-size:32px;
    }

    .stats-grid,
    .locations-grid,
    .damage-grid,
    .financial-grid,
    .case-grid,
    .layers-grid,
    .compare-grid,
    .wec-content{
        grid-template-columns:1fr;
    }

    .stat-number{
        font-size:42px;
    }

    .big-number{
        font-size:56px;
    }
}