/* ─────────────────────────────────────────────────────────────
   Home Vivre sur l'eau — layout distinct (à la une + blocs par rubrique)
   Classes vw-* (structure volontairement différente des autres sites)
   ─────────────────────────────────────────────────────────── */
.vw-wrap { max-width: var(--vsl-container-max, 1240px); margin: 0 auto; padding: 0 24px; }

/* ── À la une : 1 grand + liste ── */
.vw-hero { padding: 46px 0 20px; }
.vw-hero-grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: 26px; }
.vw-hero-main {
    position: relative; display: block; min-height: 460px; border-radius: var(--vsl-radius-lg, 20px);
    overflow: hidden; background-size: cover; background-position: center;
    box-shadow: var(--vsl-shadow, 0 4px 12px rgba(23,56,79,.10));
}
.vw-hero-main::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(23,56,79,0) 30%, rgba(23,56,79,.86) 100%);
}
.vw-hero-main-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 32px; color: #fff; }
.vw-hero-main-body h2 { color: #fff !important; font-size: 32px; line-height: 1.15; margin: 12px 0 8px; }
.vw-hero-main-body p { color: rgba(255,255,255,.86); font-size: 16px; margin: 0; max-width: 90%; }
.vw-badge {
    display: inline-block; background: var(--vsl-accent, #2a9d8f); color: #fff;
    font-family: var(--vsl-font-body, 'Inter'), sans-serif; font-size: 12px; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px;
}
.vw-hero-side { display: flex; flex-direction: column; gap: 14px; }
.vw-hero-item {
    display: grid; grid-template-columns: 104px 1fr; gap: 14px; align-items: center;
    background: #fff; border: 1px solid var(--vsl-gray-200, #e5e7eb); border-radius: var(--vsl-radius, 12px);
    padding: 10px; transition: box-shadow .15s, transform .15s;
}
.vw-hero-item:hover { box-shadow: var(--vsl-shadow, 0 4px 12px rgba(23,56,79,.12)); transform: translateY(-2px); }
.vw-hero-item-img { display: block; height: 74px; border-radius: 9px; background-size: cover; background-position: center; }
.vw-hero-item-body strong { display: block; font-family: var(--vsl-font-heading, 'Fraunces'), serif; color: var(--vsl-primary, #17384f); font-size: 16px; line-height: 1.25; }
.vw-hero-item-cat { display: block; color: var(--vsl-accent, #2a9d8f); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px; }

/* ── Blocs par rubrique ── */
.vw-block { padding: 40px 0; }
.vw-block:nth-of-type(even) { background: var(--vsl-cream, #e9f3f1); }
.vw-block-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 22px; border-bottom: 2px solid var(--vsl-primary, #17384f); padding-bottom: 10px; }
.vw-block-head h2 { color: var(--vsl-primary, #17384f); font-size: 27px; margin: 0; }
.vw-block-head a { color: var(--vsl-coral, #e07a5f); font-family: var(--vsl-font-body, 'Inter'), sans-serif; font-weight: 600; font-size: 14px; }
.vw-block-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vw-card { display: block; background: #fff; border-radius: var(--vsl-radius, 12px); overflow: hidden; box-shadow: var(--vsl-shadow-sm, 0 1px 3px rgba(23,56,79,.08)); transition: box-shadow .15s, transform .15s; }
.vw-card:hover { box-shadow: var(--vsl-shadow-lg, 0 10px 30px rgba(23,56,79,.15)); transform: translateY(-3px); }
.vw-card-img { display: block; height: 176px; background-size: cover; background-position: center; }
.vw-card-body { padding: 16px 18px 20px; }
.vw-card-body h3 { color: var(--vsl-primary, #17384f); font-size: 19px; line-height: 1.25; margin: 0 0 8px; }
.vw-card-meta { color: var(--vsl-gray-500, #6b7280); font-family: var(--vsl-font-body, 'Inter'), sans-serif; font-size: 13px; }

/* ── Bandeau bas ── */
.vw-cta { background: var(--vsl-primary, #17384f); color: #fff; text-align: center; padding: 54px 24px; margin-top: 12px; }
.vw-cta h2 { color: #fff !important; font-size: 28px; margin: 0 0 10px; }
.vw-cta p { color: rgba(255,255,255,.82); max-width: 620px; margin: 0 auto 22px; font-size: 16px; }
.vw-cta a { display: inline-block; background: var(--vsl-coral, #e07a5f); color: #fff; font-family: var(--vsl-font-body, 'Inter'), sans-serif; font-weight: 700; padding: 13px 28px; border-radius: 999px; }

@media (max-width: 900px) {
    .vw-hero-grid { grid-template-columns: 1fr; }
    .vw-block-grid { grid-template-columns: 1fr; }
    .vw-hero-main-body h2 { font-size: 26px; }
}
