/* ==========================================================================
   PROMOZAR · página de Mantenimientos  (se apoya en home.css)
   ========================================================================== */

.mant-hero { min-height: 72vh; min-height: 72svh; }
.mant-hero .hero-content { grid-template-columns: minmax(0, 1fr); }
.mant-title { font-size: clamp(1.9rem, .6rem + 4.2vw, 3.9rem); }
.mant-title .ln-2 { padding-left: clamp(0px, 5.5vw, 5.5rem); }
.mant-title .mant-sub { text-transform: none; font-size: .62em; line-height: 1.15; letter-spacing: 0; }
.mant-hero .hero-media img { object-position: 50% 45%; }
.mant-hero::before {
    background:
        linear-gradient(180deg, rgba(10,10,11,.78) 0%, rgba(10,10,11,.3) 30%, rgba(10,10,11,.8) 78%, rgba(10,10,11,1) 100%),
        linear-gradient(90deg, rgba(10,10,11,.88) 0%, rgba(10,10,11,.45) 55%, rgba(10,10,11,.1) 100%);
}

.mant-intro h2, .mant-systems h2, .mant-split h2, .mant-cert h2 {
    font-size: clamp(1.7rem, 1rem + 2.2vw, 2.7rem); margin-bottom: 1.4rem;
}

/* Introducción + insignia Fireblue */
.mant-intro-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4.4fr); gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.mant-intro .lede {
    font-family: var(--font-serif); font-weight: 400; font-size: clamp(1.05rem, .95rem + .5vw, 1.25rem);
    line-height: 1.75; max-width: 46ch; margin-bottom: 1.5rem; color: var(--bone);
}
.mant-intro .lede strong { font-weight: 400; font-style: italic; color: var(--sello); }
.mant-intro p { max-width: 60ch; color: var(--steel); }
.fireblue-badge { background: var(--graphite); padding: clamp(1.6rem, 3vw, 2.6rem); border-top: 3px solid var(--sello); }
.fireblue-badge img { width: min(240px, 70%); margin-bottom: 1.6rem; }
.fireblue-badge h3 { font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; font-size: 1.05rem; line-height: 1.25; margin-bottom: .8rem; }
.fireblue-badge p { color: var(--steel); }

/* Sistemas que mantenemos (hormigón) */
.mant-lead { max-width: 62ch; margin-bottom: clamp(1.8rem, 3vw, 2.4rem); font-size: 1.0625rem; }
.systems-list { columns: 3; column-gap: clamp(1.5rem, 3.4vw, 4rem); border-top: 1.5px solid var(--ink); }
.systems-list li {
    break-inside: avoid; display: flex; align-items: center; gap: .95rem; padding: 1.05rem 0;
    border-bottom: 1px solid rgba(10, 10, 11, .3); font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--ink);
}
.systems-list li::before { content: ""; flex: none; width: 5px; height: 18px; background: var(--sello-ink); }

/* Preventivo / correctivo */
.mant-split-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 7rem); align-items: center; }
.mant-photo { aspect-ratio: 4 / 3.15; overflow: hidden; position: relative; background: var(--graphite); }
.mant-photo img { width: 100%; height: 100%; object-fit: cover; }
.mant-split p { color: var(--steel); max-width: 58ch; margin-bottom: 1.15rem; }
.mant-split-alt { background: var(--graphite); }
.check-list { margin-top: .8rem; max-width: 58ch; }
.check-list li { position: relative; padding: .9rem 0 .9rem 2.3rem; border-bottom: 1px solid var(--rule); color: var(--bone); }
.check-list li:first-child { border-top: 1px solid var(--rule); }
.check-list li::before {
    content: ""; position: absolute; left: 0; top: 1.15rem; width: 1.15rem; height: 1.15rem; background: var(--sello);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 12.5l5.5 5.5L20.5 6.5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 12.5l5.5 5.5L20.5 6.5' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Certificado */
.cert-card { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.cert-card img { width: 100%; mix-blend-mode: multiply; }
.cert-card h2 { margin-bottom: 1.2rem; }
.cert-card p { max-width: 56ch; font-size: 1.12rem; }

/* Contacto (inmersión en rojo sello) */
.mant-contact { color: var(--ink); }
.mant-contact h2 { font-size: clamp(1.8rem, 1rem + 2.6vw, 3rem); margin-bottom: 1.2rem; }
.mant-contact p { color: var(--ink); max-width: 48ch; font-size: 1.0625rem; margin-bottom: clamp(1.8rem, 3.4vw, 2.6rem); }
.mant-contact :focus-visible { outline-color: var(--ink); box-shadow: 0 0 0 6px var(--bone); }
.contact-info-grid { border-top: 1.5px solid var(--ink); }
.contact-item-simple {
    display: grid; grid-template-columns: auto minmax(90px, .3fr) minmax(0, 1fr) auto; align-items: center;
    gap: clamp(1rem, 2vw, 1.8rem); padding: clamp(1rem, 1.8vw, 1.4rem) clamp(0px, 1vw, 1rem);
    border-bottom: 1.5px solid var(--ink); text-decoration: none; color: var(--ink);
    transition: background-color .5s var(--ease), color .5s var(--ease);
}
.contact-item-simple::after {
    content: ""; width: 22px; height: 22px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: transform .6s var(--ease);
}
.contact-icon-simple { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: miter; stroke-linecap: square; }
.contact-label { font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.contact-value {
    font-weight: 900; letter-spacing: -.02em; line-height: 1.05; font-variant-numeric: tabular-nums;
    font-size: clamp(1.25rem, .9rem + 1.3vw, 1.8rem); overflow-wrap: anywhere;
}
@media (hover: hover) {
    .contact-item-simple:hover { background: var(--ink); color: var(--bone); }
    .contact-item-simple:hover::after { transform: translateX(8px); }
}

@media (max-width: 1100px) {
    .systems-list { columns: 2; }
    .mant-intro-grid, .mant-split-grid, .cert-card { grid-template-columns: 1fr; }
    .mant-split-alt .mant-photo { order: -1; }
    .cert-card img { max-width: 280px; }
}
@media (max-width: 820px) {
    .mant-title { font-size: clamp(1.55rem, calc((100vw - 2 * var(--pad)) / 10.8), 3.9rem); }
}
@media (max-width: 700px) {
    .systems-list { columns: 1; }
    .mant-title .ln-2 { padding-left: 1.4rem; }
    .contact-item-simple { grid-template-columns: auto minmax(0, 1fr) auto; row-gap: .2rem; }
    .contact-icon-simple { grid-row: 1 / 3; }
    .contact-label { grid-column: 2; grid-row: 1; font-size: .72rem; }
    .contact-value { grid-column: 2; grid-row: 2; }
    .contact-item-simple::after { grid-column: 3; grid-row: 1 / 3; width: 20px; height: 20px; }
}
