/* Dark Barber Core - sezioni premium + WebP-ready */
:root {
    --dark-bg: #050505;
    --dark-panel: #0b0b0b;
    --dark-panel-2: #111111;
    --dark-border: rgba(255,255,255,.10);
    --dark-muted: #8b8b8b;
    --dark-text: #fff;
    --dark-red: #cc0000;
    --dark-red-2: #8f0000;
    --dark-font: 'Montserrat', sans-serif;
    --dark-title: 'Oswald', sans-serif;
}

.dark-page-wrapper { background:#050505; color:#fff; font-family:var(--dark-font); }
.dark-section { padding: 120px 5%; position: relative; overflow: hidden; }
.dark-section + .dark-section { border-top: 1px solid rgba(255,255,255,.06); }
.dark-container { width:min(1480px, 100%); margin:0 auto; }
.dark-eyebrow { color: var(--dark-red); font-size:12px; font-weight:900; letter-spacing:3px; text-transform:uppercase; display:block; margin-bottom:18px; }
.dark-title-xl { font-family:var(--dark-title); font-size:clamp(54px, 7vw, 112px); line-height:.92; letter-spacing:-1px; text-transform:uppercase; margin:0; }
.dark-title-md { font-family:var(--dark-title); font-size:clamp(38px, 4vw, 68px); line-height:.98; text-transform:uppercase; margin:0 0 24px; }
.dark-copy { color:#aaa; font-size:17px; line-height:1.9; max-width:760px; margin:0; }
.dark-red { color: var(--dark-red); }
.dark-grid-2 { display:grid; grid-template-columns: 1.05fr .95fr; gap:70px; align-items:center; }
.dark-grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap:22px; }
.dark-card { background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)); border:1px solid var(--dark-border); border-radius:2px; padding:32px; position:relative; }
.dark-card::before { content:''; position:absolute; left:0; top:28px; width:3px; height:34px; background:var(--dark-red); }
.dark-card h3 { margin:0 0 14px; font-size:17px; letter-spacing:1.5px; text-transform:uppercase; }
.dark-card p { margin:0; color:#8e8e8e; line-height:1.75; font-size:14px; }
.dark-btn-row { display:flex; gap:16px; flex-wrap:wrap; margin-top:36px; }
.dark-btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:17px 28px; min-width:220px; color:#fff!important; text-decoration:none; text-transform:uppercase; letter-spacing:1.5px; font-size:12px; font-weight:900; border:1px solid rgba(255,255,255,.14); transition:.25s ease; }
.dark-btn-primary { background:linear-gradient(90deg,var(--dark-red),var(--dark-red-2)); border-color:var(--dark-red); box-shadow:0 0 25px rgba(204,0,0,.25); }
.dark-btn:hover { transform:translateY(-2px); border-color:var(--dark-red); }
.dark-hero-page { padding:180px 5% 110px; background:radial-gradient(circle at 65% 15%, rgba(204,0,0,.20), transparent 30%), #050505; border-bottom:1px solid rgba(255,255,255,.08); }
.dark-hero-page .dark-copy { margin-top:24px; }
.dark-split-panel { min-height:520px; border:1px solid rgba(255,255,255,.08); background:linear-gradient(135deg, rgba(204,0,0,.15), rgba(255,255,255,.03)); display:flex; align-items:flex-end; padding:34px; position:relative; overflow:hidden; }
.dark-split-panel::after { content:'DARK'; position:absolute; right:-22px; bottom:-38px; font-family:var(--dark-title); font-size:170px; color:rgba(255,255,255,.035); letter-spacing:-5px; }
.dark-split-panel strong { position:relative; z-index:2; display:block; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:#fff; }
.dark-service-list { display:grid; gap:14px; }
.dark-service-row { display:grid; grid-template-columns: 1fr auto; gap:16px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.dark-service-row span:first-child { font-weight:900; text-transform:uppercase; letter-spacing:1px; }
.dark-service-row span:last-child { color:var(--dark-red); font-weight:900; }
.dark-barber-card { min-height:440px; display:flex; flex-direction:column; overflow:hidden; }
.dark-barber-role { color:var(--dark-red); font-weight:900; text-transform:uppercase; font-size:11px; letter-spacing:2px; }
.dark-team-photo-wrap {
    position:relative;
    width:100%;
    aspect-ratio: 4 / 4.2;
    min-height:260px;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
    border-bottom:1px solid rgba(255,255,255,.08);
}
.dark-home-team-card .dark-team-photo-wrap { min-height:280px; }
.dark-team-photo {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    display:block;
    transition:transform .45s ease;
}
.dark-home-team-card:hover .dark-team-photo,
.dark-barber-card:hover .dark-team-photo {
    transform:scale(1.03);
}
.dark-team-card-body {
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:28px 30px 32px;
    flex:1;
}
.dark-team-card-body h3 {
    margin:0;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:1px;
    font-size:20px;
}
.dark-team-card-body p {
    margin:0;
    color:#9a9a9a;
    line-height:1.8;
    font-size:15px;
}
.dark-gallery-grid { display:grid; grid-template-columns: repeat(12, 1fr); gap:18px; }
.dark-gallery-item { min-height:260px; background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(204,0,0,.10)); border:1px solid rgba(255,255,255,.08); position:relative; overflow:hidden; }
.dark-gallery-item.large { grid-column: span 6; min-height:420px; }
.dark-gallery-item.small { grid-column: span 3; }
.dark-gallery-item.medium { grid-column: span 4; }
.dark-gallery-item::before { content:'DARK BARBER'; position:absolute; left:20px; bottom:18px; font-size:11px; letter-spacing:2px; font-weight:900; color:#fff; }
.dark-gallery-item::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 70% 20%, rgba(204,0,0,.2), transparent 35%); }
.dark-contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:start; }
.dark-contact-box { padding:30px; border:1px solid rgba(255,255,255,.09); background:#080808; }
.dark-contact-box h3 { margin:0 0 20px; text-transform:uppercase; letter-spacing:2px; font-size:14px; }
.dark-contact-box a, .dark-contact-box p { color:#aaa; text-decoration:none; line-height:1.8; }
.dark-contact-box a:hover { color:#fff; }
.dark-form-grid { display:grid; gap:16px; }
.dark-form-grid input, .dark-form-grid textarea { width:100%; box-sizing:border-box; background:#050505; color:#fff; border:1px solid rgba(255,255,255,.12); padding:17px 18px; font-family:var(--dark-font); outline:none; }
.dark-form-grid textarea { min-height:160px; resize:vertical; max-height:340px; }
.dark-form-grid input:focus, .dark-form-grid textarea:focus { border-color:var(--dark-red); }
.dark-note { border-left:3px solid var(--dark-red); padding-left:16px; color:#999; line-height:1.8; font-size:14px; }

@media (max-width: 992px) {
    .dark-section { padding:80px 5%; }
    .dark-hero-page { padding:140px 5% 80px; }
    .dark-grid-2, .dark-contact-grid { grid-template-columns:1fr; gap:38px; }
    .dark-grid-3 { grid-template-columns:1fr; }
    .dark-split-panel { min-height:360px; }
    .dark-gallery-grid { grid-template-columns:1fr; }
    .dark-gallery-item.large, .dark-gallery-item.medium, .dark-gallery-item.small { grid-column:auto; min-height:300px; }
    .dark-btn { width:100%; }
}

/* --- HOMEPAGE EXTENDED PREMIUM --- */
.dark-home-wrapper .hero-section { border-bottom: 1px solid rgba(255,255,255,.08); }
.dark-home-section-head {
    display:grid;
    grid-template-columns: .9fr 1.1fr;
    gap:60px;
    align-items:end;
    margin-bottom:54px;
}
.dark-home-section-head .dark-copy { max-width:680px; }
.dark-home-manifesto {
    background:
        radial-gradient(circle at 18% 20%, rgba(204,0,0,.12), transparent 28%),
        linear-gradient(180deg, #050505 0%, #080808 100%);
}
.dark-home-stats {
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:14px;
    margin-top:34px;
}
.dark-home-stats div {
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.035);
    padding:22px 18px;
    min-height:128px;
}
.dark-home-stats strong {
    display:block;
    color:#cc0000;
    font-family:var(--dark-title);
    font-size:38px;
    line-height:1;
    margin-bottom:12px;
}
.dark-home-stats span {
    color:#ddd;
    font-size:12px;
    line-height:1.55;
    letter-spacing:1.4px;
    text-transform:uppercase;
    font-weight:900;
}
.dark-home-visual-card {
    min-height:560px;
    border:1px solid rgba(255,255,255,.10);
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:flex-end;
    padding:36px;
    position:relative;
    overflow:hidden;
}
.dark-home-visual-card::before {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(204,0,0,.16), transparent 55%);
}
.dark-home-visual-card > div { position:relative; z-index:2; max-width:460px; }
.dark-home-visual-card span {
    color:#cc0000;
    display:block;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:11px;
    font-weight:900;
    margin-bottom:12px;
}
.dark-home-visual-card strong {
    display:block;
    color:#fff;
    font-family:var(--dark-title);
    font-size:clamp(34px, 4vw, 58px);
    line-height:1;
    text-transform:uppercase;
}
.dark-home-services { background:#050505; }
.dark-home-service-grid {
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:18px;
}
.dark-home-service-card {
    min-height:320px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
    padding:30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    position:relative;
    overflow:hidden;
    transition:.28s ease;
}
.dark-home-service-card::before {
    content:'';
    position:absolute;
    inset:auto -30% -55% -30%;
    height:65%;
    background:radial-gradient(circle, rgba(204,0,0,.22), transparent 64%);
    transition:.28s ease;
}
.dark-home-service-card:hover { transform:translateY(-6px); border-color:rgba(204,0,0,.55); }
.dark-home-service-card:hover::before { inset:auto -20% -40% -20%; }
.dark-home-card-number {
    position:absolute;
    top:24px;
    right:24px;
    font-family:var(--dark-title);
    font-size:52px;
    color:rgba(255,255,255,.045);
    line-height:1;
}
.dark-home-service-card h3 {
    position:relative;
    z-index:2;
    margin:0 0 14px;
    font-size:18px;
    text-transform:uppercase;
    letter-spacing:1.5px;
}
.dark-home-service-card p {
    position:relative;
    z-index:2;
    margin:0;
    color:#8e8e8e;
    line-height:1.75;
    font-size:14px;
}
.dark-home-method {
    background:
        linear-gradient(90deg, rgba(204,0,0,.10), transparent 35%),
        #070707;
}
.dark-home-method-panel {
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
    padding:34px;
}
.dark-home-method-step {
    display:grid;
    grid-template-columns:70px 1fr;
    gap:8px 22px;
    padding:24px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.dark-home-method-step:first-child { padding-top:0; }
.dark-home-method-step:last-child { border-bottom:none; padding-bottom:0; }
.dark-home-method-step span {
    grid-row:span 2;
    color:#cc0000;
    font-family:var(--dark-title);
    font-size:46px;
    line-height:1;
}
.dark-home-method-step strong {
    color:#fff;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:15px;
}
.dark-home-method-step p {
    color:#8d8d8d;
    margin:0;
    line-height:1.7;
    font-size:14px;
}
.dark-home-barbers { background:#050505; }
.dark-home-team-card { min-height:300px; display:flex; flex-direction:column; overflow:hidden; }
.dark-home-gallery-teaser {
    background:
        radial-gradient(circle at 85% 10%, rgba(204,0,0,.14), transparent 30%),
        #060606;
}
.dark-home-gallery-grid {
    display:grid;
    grid-template-columns:repeat(12, 1fr);
    gap:18px;
}
.dark-home-shot {
    grid-column:span 3;
    min-height:270px;
    background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(204,0,0,.12));
    border:1px solid rgba(255,255,255,.09);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    position:relative;
    overflow:hidden;
}
.dark-home-shot-wide { min-height:280px; }
.dark-shot-tagli { background-position:center 34%; }
.dark-shot-barba { background-position:56% center; }
.dark-shot-hair { background-position:63% center; }
.dark-shot-atmosfera { background-position:center center; }
.dark-shot-lifestyle { background-position:center 18%; }
.dark-home-shot-wide { grid-column:span 6; }
.dark-home-shot::before {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 20%, rgba(0,0,0,.85) 100%);
}
.dark-home-shot span {
    position:absolute;
    left:22px;
    bottom:20px;
    z-index:2;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;
    font-weight:900;
}
.dark-home-centered-btn { justify-content:center; }
.dark-home-final-cta {
    background:
        linear-gradient(180deg, rgba(204,0,0,.12), rgba(0,0,0,0)),
        #050505;
}
.dark-home-cta-box {
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 75% 10%, rgba(204,0,0,.22), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.015));
    padding:70px;
    text-align:center;
}
.dark-home-cta-box .dark-copy { margin:0 auto; }
.dark-home-cta-box .dark-btn-row { justify-content:center; }

@media (max-width: 1180px) {
    .dark-home-service-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 992px) {
    .dark-home-section-head { grid-template-columns:1fr; gap:18px; margin-bottom:34px; }
    .dark-home-stats { grid-template-columns:1fr; }
    .dark-home-visual-card { min-height:390px; padding:26px; }
    .dark-home-service-grid { grid-template-columns:1fr; }
    .dark-home-service-card { min-height:250px; }
    .dark-home-method-panel { padding:26px; }
    .dark-home-method-step { grid-template-columns:54px 1fr; }
    .dark-home-method-step span { font-size:36px; }
    .dark-home-gallery-grid { grid-template-columns:1fr; }
    .dark-home-shot, .dark-home-shot-wide { grid-column:auto; min-height:250px; }
    .dark-home-cta-box { padding:42px 24px; }
}


@media (max-width: 992px) {
    .dark-team-photo-wrap {
        aspect-ratio: 4 / 4.6;
        min-height:240px;
    }
    .dark-team-card-body { padding:22px 22px 26px; }
    .dark-team-card-body h3 { font-size:18px; }
}


/* Concept image: usa direttamente Home 2.webp senza testo HTML sovrapposto */
.dark-home-visual-card.dark-home-visual-card-image {
    padding: 0 !important;
    min-height: auto;
    aspect-ratio: 16 / 9;
    background: transparent !important;
    display: block;
    overflow: hidden;
}
.dark-home-visual-card.dark-home-visual-card-image::before {
    display: none !important;
}
.dark-home-visual-card.dark-home-visual-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
@media (max-width: 992px) {
    .dark-home-visual-card.dark-home-visual-card-image {
        aspect-ratio: 16 / 11;
        min-height: 260px;
    }
}


/* Testo sovrapposto immagine Concept */
.dark-home-visual-card.dark-home-visual-card-image {
    position: relative;
}
.dark-home-visual-card.dark-home-visual-card-image::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(120,0,0,.42) 0%, rgba(0,0,0,.20) 38%, rgba(0,0,0,.68) 100%),
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.70) 100%);
    pointer-events: none;
}
.dark-concept-image-copy {
    position: absolute;
    left: 7%;
    bottom: 8%;
    z-index: 2;
    max-width: 70%;
    pointer-events: none;
}
.dark-concept-image-copy span {
    display: block;
    color: var(--dark-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.dark-concept-image-copy strong {
    display: block;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(42px, 3.7vw, 72px);
    line-height: .95;
    letter-spacing: -1px;
    text-transform: uppercase;
    text-shadow: 0 12px 28px rgba(0,0,0,.65);
}
@media (max-width: 992px) {
    .dark-concept-image-copy {
        left: 22px;
        right: 22px;
        bottom: 24px;
        max-width: none;
    }
    .dark-concept-image-copy span {
        font-size: 9px;
        letter-spacing: 2px;
        margin-bottom: 12px;
    }
    .dark-concept-image-copy strong {
        font-size: clamp(34px, 10vw, 48px);
    }
}

/* Fix finale testo concept Home 2 */
.dark-home-visual-card.dark-home-visual-card-image .dark-concept-image-copy { position:absolute; left:7%; bottom:8%; z-index:2; max-width:70%; }
.dark-home-visual-card.dark-home-visual-card-image .dark-concept-image-copy span { display:block; color:var(--dark-red); font-size:11px; font-weight:900; letter-spacing:3px; text-transform:uppercase; margin-bottom:18px; }
.dark-home-visual-card.dark-home-visual-card-image .dark-concept-image-copy strong { display:block; color:#fff; font-family:'Oswald', sans-serif; font-size:clamp(42px,3.7vw,72px); line-height:.95; letter-spacing:-1px; text-transform:uppercase; text-shadow:0 12px 28px rgba(0,0,0,.65); }
@media (max-width: 992px) {
    .dark-home-visual-card.dark-home-visual-card-image .dark-concept-image-copy { left:22px; right:22px; bottom:24px; max-width:none; }
    .dark-home-visual-card.dark-home-visual-card-image .dark-concept-image-copy span { font-size:9px; letter-spacing:2px; margin-bottom:12px; }
    .dark-home-visual-card.dark-home-visual-card-image .dark-concept-image-copy strong { font-size:clamp(34px,10vw,48px); }
}


/* Servizi con sfondo generale e immagini per card */
.dark-home-services {
    position: relative;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.dark-home-services::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(204,0,0,.22), transparent 26%),
        radial-gradient(circle at 86% 82%, rgba(204,0,0,.14), transparent 28%);
    pointer-events: none;
}
.dark-home-services .dark-container {
    position: relative;
    z-index: 2;
}
.dark-home-service-card.dark-home-service-card-photo {
    padding: 0;
    min-height: 380px;
}
.dark-home-service-card.dark-home-service-card-photo > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(.64) contrast(1.08) saturate(.92);
    transition: transform .45s ease, filter .45s ease;
}
.dark-home-service-card.dark-home-service-card-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.54) 42%, rgba(0,0,0,.94) 100%),
        linear-gradient(90deg, rgba(204,0,0,.18) 0%, rgba(0,0,0,0) 42%);
}
.dark-home-service-card.dark-home-service-card-photo:hover > img {
    transform: scale(1.06);
    filter: brightness(.78) contrast(1.12) saturate(1);
}
.dark-home-service-content {
    position: relative;
    z-index: 3;
    margin-top: auto;
    padding: 30px;
}
.dark-home-service-card.dark-home-service-card-photo .dark-home-card-number {
    z-index: 3;
    color: rgba(255,255,255,.10);
}
.dark-home-service-card.dark-home-service-card-photo h3,
.dark-home-service-card.dark-home-service-card-photo p {
    position: relative;
    z-index: 3;
}
@media (max-width: 992px) {
    .dark-home-service-card.dark-home-service-card-photo {
        min-height: 360px;
    }
}


/* Fix attacco sezione Servizi + rifinitura UX */
.dark-home-manifesto + .dark-home-services {
    border-top: 0 !important;
    margin-top: -1px;
}
.dark-home-services {
    background-color: #050505 !important;
    background-blend-mode: multiply;
    padding-top: 130px;
    padding-bottom: 135px;
    isolation: isolate;
}
.dark-home-services::before {
    z-index: 0;
    background:
        linear-gradient(180deg, #050505 0%, rgba(5,5,5,.86) 14%, rgba(0,0,0,.76) 44%, rgba(5,5,5,.92) 100%),
        radial-gradient(circle at 8% 18%, rgba(204,0,0,.30), transparent 28%),
        radial-gradient(circle at 92% 82%, rgba(204,0,0,.22), transparent 30%);
}
.dark-home-services::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -2px;
    height: 95px;
    z-index: 1;
    background: linear-gradient(180deg, #050505 0%, rgba(5,5,5,.96) 34%, rgba(5,5,5,0) 100%);
    pointer-events: none;
}
.dark-home-services .dark-container {
    position: relative;
    z-index: 2;
}
.dark-home-service-grid {
    align-items: stretch;
}
.dark-home-service-card.dark-home-service-card-photo {
    min-height: 400px;
    border-color: rgba(255,255,255,.13);
    box-shadow: 0 22px 55px rgba(0,0,0,.28);
}
.dark-home-service-card.dark-home-service-card-photo::after {
    background:
        linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.46) 43%, rgba(0,0,0,.96) 100%),
        linear-gradient(90deg, rgba(204,0,0,.20) 0%, rgba(0,0,0,0) 46%);
}
.dark-home-service-card.dark-home-service-card-photo > img {
    filter: brightness(.70) contrast(1.10) saturate(.95);
}
.dark-home-service-card.dark-home-service-card-photo:hover {
    transform: translateY(-8px);
    border-color: rgba(204,0,0,.70);
    box-shadow: 0 28px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(204,0,0,.14);
}
.dark-home-service-content {
    padding: 34px;
}
.dark-home-service-card.dark-home-service-card-photo h3 {
    font-size: 19px;
}
@media (max-width: 992px) {
    .dark-home-services {
        padding-top: 90px;
        padding-bottom: 95px;
    }
    .dark-home-services::after {
        height: 70px;
    }
    .dark-home-service-card.dark-home-service-card-photo {
        min-height: 380px;
    }
}


/* Fix finale: linea Hero/Concept + sfondo Servizi visibile */
.dark-home-wrapper .hero-section {
    border-bottom: 0 !important;
}
.hero-section + .dark-home-manifesto,
.dark-home-manifesto {
    border-top: 0 !important;
}
.dark-home-manifesto {
    margin-top: -1px;
}
.dark-home-services {
    background-color: #050505 !important;
    background-blend-mode: normal !important;
    padding-top: 120px;
    padding-bottom: 130px;
}
.dark-home-services::before {
    z-index: 0;
    background:
        linear-gradient(180deg, rgba(5,5,5,.50) 0%, rgba(5,5,5,.30) 42%, rgba(5,5,5,.72) 100%),
        radial-gradient(circle at 8% 18%, rgba(204,0,0,.26), transparent 28%),
        radial-gradient(circle at 92% 82%, rgba(204,0,0,.18), transparent 30%);
}
.dark-home-services::after {
    height: 52px;
    background: linear-gradient(180deg, #050505 0%, rgba(5,5,5,.74) 38%, rgba(5,5,5,0) 100%);
}
.dark-home-service-card.dark-home-service-card-photo > img {
    filter: brightness(.76) contrast(1.08) saturate(.98);
}
.dark-home-service-card.dark-home-service-card-photo::after {
    background:
        linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.38) 43%, rgba(0,0,0,.92) 100%),
        linear-gradient(90deg, rgba(204,0,0,.16) 0%, rgba(0,0,0,0) 46%);
}
@media (max-width: 992px) {
    .dark-home-services {
        padding-top: 88px;
        padding-bottom: 92px;
    }
    .dark-home-services::after {
        height: 45px;
    }
}


/* Gallery teaser con foto riutilizzate, senza Shop */
.dark-home-gallery-teaser {
    background:
        radial-gradient(circle at 85% 10%, rgba(204,0,0,.13), transparent 30%),
        linear-gradient(180deg, #050505 0%, #080202 100%) !important;
}
.dark-home-shot {
    background-size: cover !important;
    background-position: center !important;
    filter: saturate(.92);
}
.dark-home-shot::before {
    background:
        linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.34) 45%, rgba(0,0,0,.88) 100%),
        linear-gradient(90deg, rgba(204,0,0,.13) 0%, rgba(0,0,0,0) 42%);
}
.dark-home-shot span {
    text-shadow: 0 10px 26px rgba(0,0,0,.8);
}
.dark-home-shot:hover {
    border-color: rgba(204,0,0,.55);
    transform: translateY(-4px);
}


/* Gallery premium: layout verticale coerente, senza spazi neri brutti */
.dark-home-gallery-grid-portrait {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}
.dark-home-gallery-grid-portrait .dark-home-gallery-card {
    position: relative;
    min-height: 430px;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    background: #090909;
    box-shadow: 0 28px 70px rgba(0,0,0,.34);
}
.dark-home-gallery-grid-portrait .dark-home-gallery-card::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.26) 42%, rgba(0,0,0,.92) 100%),
        linear-gradient(90deg, rgba(204,0,0,.16) 0%, rgba(0,0,0,0) 42%);
    pointer-events: none;
}
.dark-home-gallery-grid-portrait .dark-home-gallery-card::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 3px;
    height: 72px;
    z-index: 2;
    background: var(--dark-red);
    opacity: .85;
}
.dark-home-gallery-grid-portrait .dark-home-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(.74) contrast(1.08) saturate(.95);
    transform: scale(1.01);
    transition: transform .45s ease, filter .45s ease;
}
.dark-home-gallery-grid-portrait .dark-home-gallery-card:hover {
    border-color: rgba(204,0,0,.65);
}
.dark-home-gallery-grid-portrait .dark-home-gallery-card:hover img {
    transform: scale(1.06);
    filter: brightness(.86) contrast(1.1) saturate(1);
}
.dark-home-gallery-card-content {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 3;
}
.dark-home-gallery-card-content span {
    display: block;
    color: var(--dark-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 2px;
    margin-bottom: 8px;
}
.dark-home-gallery-card-content h3 {
    margin: 0;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 13px;
    font-weight: 900;
    text-shadow: 0 10px 26px rgba(0,0,0,.85);
}
.dark-gallery-card-tagli img { object-position: center 42%; }
.dark-gallery-card-barba img { object-position: 55% center; }
.dark-gallery-card-hair img { object-position: 58% center; }
.dark-gallery-card-atmosfera img { object-position: center center; }
.dark-gallery-card-lifestyle img { object-position: center 22%; }

@media (max-width: 1280px) {
    .dark-home-gallery-grid-portrait {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .dark-home-gallery-grid-portrait .dark-home-gallery-card {
        min-height: 380px;
    }
}
@media (max-width: 768px) {
    .dark-home-gallery-grid-portrait {
        grid-template-columns: 1fr;
    }
    .dark-home-gallery-grid-portrait .dark-home-gallery-card {
        min-height: 430px;
        aspect-ratio: 4 / 5;
    }
}
