.hero-banner{
    position: relative;
    min-height: 60vh;
    background: url("../photos/image-plomberie.webp") center / cover no-repeat;
    overflow: hidden;
    isolation: isolate;
}

.hero-overlay{
    position: absolute;
    inset: 0;
    background:
            radial-gradient(1200px 600px at 25% 30%, rgba(32,201,151,.20) 0%, rgba(0,0,0,0) 55%),
            linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.40) 55%, rgba(0,0,0,.18) 100%);
    pointer-events: none;
    z-index: 0;
}

.hero-text{
    position: relative;
    z-index: 1;
    color: #fff;
    padding: clamp(16px, 3vw, 56px);
    min-height: 60vh;
    display: flex;
    align-items: center;
}

.hero-grid{
    width: 100%;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: clamp(16px, 2vw, 28px);
    align-items: center;
}

.hero-badge{
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    padding: .55rem .9rem;
    border-radius: 999px;
    background: rgba(25,135,84,.22);
    border: 1px solid rgba(25,135,84,.35);
    color: #eafff7;
    font-weight: 600;
    letter-spacing: .2px;
    width: fit-content;
    margin-bottom: 14px;
    backdrop-filter: blur(8px);
}

.hero-title{
    text-shadow: 0 2px 14px rgba(0,0,0,.45);
    margin-bottom: .35rem;
}

.hero-lead{
    text-shadow: 0 2px 14px rgba(0,0,0,.45);
    margin-bottom: 1rem;
    color: rgba(255,255,255,.92);
}

.hero-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.hero-actions .btn{
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.22);
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* carte tarifs */
.price-card{
    background: rgba(255,255,255,.92);
    color: #1f2937;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(0,0,0,.28);
    backdrop-filter: blur(12px);
    overflow: hidden;
}

.price-card .pc-head{
    padding: 16px 18px;
    background: linear-gradient(90deg, rgba(13,110,253,.10), rgba(32,201,151,.10));
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.price-card .pc-title{
    margin: 0;
    font-weight: 800;
    font-size: 1.15rem;
}

.price-card .pc-sub{
    margin: 2px 0 0 0;
    color: rgba(31,41,55,.70);
    font-size: .92rem;
}

.pc-body{ padding: 14px 18px 18px; }

.pc-line{
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed rgba(0,0,0,.12);
    font-size: .98rem;
}
.pc-line:last-child{ border-bottom: none; padding-bottom: 0; }

.pc-strong-green{ color: #198754; font-weight: 800; }
.pc-strong-red{ color: #dc3545; font-weight: 800; }

.pc-cta{
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.pc-note{
    margin-top: 10px;
    font-size: .85rem;
    color: rgba(31,41,55,.68);
}

/* responsive */
@media (max-width: 992px){
    .hero-grid{ grid-template-columns: 1fr; }
    .price-card{ max-width: 520px; }
}

@media (max-width: 768px){
    .hero-text{ text-align: center; }
    .hero-badge{ margin-left: auto; margin-right: auto; }
    .hero-actions{ justify-content: center; }
    .price-card{ margin-left: auto; margin-right: auto; }
}

