/* Extends the existing Red Málaga visual system; shared assets stay unchanged. */
.maintenance-page .main-nav { gap: 17px; }
.maintenance-page .hero-media { min-height: 500px; }
.maintenance-page .hero-intro { max-width: 570px; }
.maintenance-intro-note { margin-top: 18px; color: var(--muted); font-size: 12px; line-height: 1.7; max-width: 500px; }
.maintenance-intro-note strong { color: var(--ink); }
.maintenance-plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.maintenance-plan-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; background: white; }
.maintenance-plan-card.featured { border-top: 3px solid var(--red); padding-top: 28px; background: linear-gradient(145deg,#fff,#f4f8fa); }
.maintenance-plan-card .eyebrow { margin-bottom: 13px; }
.maintenance-plan-card h3 { font-size: 25px; margin: 0 0 15px; }
.maintenance-plan-card p { color: var(--ink-soft); font-size: 14px; line-height: 1.8; }
.maintenance-list { margin: 20px 0 0; padding: 0; list-style: none; }
.maintenance-list li { position: relative; padding: 0 0 0 20px; margin: 12px 0; font-size: 13px; color: var(--ink-soft); line-height: 1.7; }
.maintenance-list li::before { content: '✓'; position: absolute; left: 0; color: var(--red); font-weight: 700; }
.maintenance-configurator { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-top: 28px; }
.maintenance-controls { padding: 32px; background: var(--pale); }
.maintenance-controls h3 { font-size: 23px; margin: 0 0 20px; }
.maintenance-controls label { display: block; font-size: 12px; font-weight: 650; margin: 16px 0; }
.maintenance-controls select { display: block; width: 100%; margin-top: 8px; padding: 13px 12px; border: 1px solid #b7c8d3; border-radius: 6px; background: white; color: var(--ink); }
.maintenance-quote { background: var(--ink); color: white; padding: 32px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.maintenance-quote h3 { font-size: 23px; color: white; margin: 0 0 10px; }
.maintenance-quote p { color: #d1e0e9; margin: 0 0 12px; font-size: 13px; line-height: 1.7; }
.maintenance-quote .maintenance-price { color: white; line-height: 1.1; margin: 18px 0 15px; }
.maintenance-price strong { font-size: clamp(38px,4vw,54px); font-weight: 700; letter-spacing: -.04em; }
.maintenance-price span { font-size: 16px; margin-left: 7px; }
.maintenance-quote .button { margin-top: 13px; width: 100%; }
.maintenance-note { font-size: 12px; color: var(--muted); line-height: 1.8; margin: 18px 0 0; }
.maintenance-disclosure { margin-top: 24px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.maintenance-disclosure summary { font-size: 14px; font-weight: 650; padding: 19px 23px; cursor: pointer; background: #f7fafb; }
.maintenance-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.maintenance-table th,.maintenance-table td { padding: 15px 18px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.6; }
.maintenance-table th { background: var(--pale); color: var(--ink); font-weight: 650; }
.maintenance-table td { color: var(--ink-soft); }
.maintenance-table tr:last-child td { border-bottom: 0; }
.maintenance-table-wrap { overflow-x: auto; }
.maintenance-table th:first-child { min-width: 180px; }
.maintenance-table th:not(:first-child),.maintenance-table td:not(:first-child) { min-width: 100px; }
.maintenance-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 38px; }
.maintenance-scope h3 { font-size: 20px; margin: 0 0 16px; }
.maintenance-scope p { font-size: 13px; color: var(--ink-soft); line-height: 1.85; }
.maintenance-exclusion { border-left: 3px solid var(--red); background: #f4f7f9; padding: 20px 24px; margin-top: 26px; }
.maintenance-exclusion p { margin: 0; font-size: 13px; line-height: 1.85; color: var(--ink-soft); }
.maintenance-exclusion strong { color: var(--ink); }
.maintenance-single-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.maintenance-single { border-top: 2px solid var(--ink); padding: 24px 0 0; display: flex; align-items: flex-start; flex-direction: column; }
.maintenance-single h3 { font-size: 21px; min-height: 54px; margin: 0 0 12px; }
.maintenance-single .single-price { font-size: 36px; letter-spacing: -.035em; font-weight: 700; margin: 0 0 4px; }
.maintenance-single small { color: var(--muted); font-size: 11px; }
.maintenance-single p { color: var(--ink-soft); font-size: 13px; line-height: 1.8; margin: 17px 0 23px; }
.maintenance-single a { margin-top: auto; }
.maintenance-incidents { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; margin-top: 48px; }
.maintenance-incidents-heading { padding: 26px; background: var(--pale); }
.maintenance-incidents-heading h3 { margin: 0 0 9px; font-size: 24px; }
.maintenance-incidents-heading p { font-size: 13px; line-height: 1.8; color: var(--ink-soft); margin: 0; max-width: 850px; }
.maintenance-incident-actions { display: flex; flex-wrap: wrap; gap: 13px; padding: 22px 26px; }
.maintenance-record { background: #f3f7f9; }
.maintenance-record-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.maintenance-record h2 { max-width: 570px; }
.maintenance-record p { color: var(--ink-soft); font-size: 14px; line-height: 1.85; }
.maintenance-record-list { border-left: 1px solid #c9d8e1; }
.maintenance-record-item { padding: 0 0 22px 28px; position: relative; }
.maintenance-record-item:last-child { padding-bottom: 0; }
.maintenance-record-item::before { content: ''; width: 8px; height: 8px; border: 2px solid var(--red); border-radius: 50%; background: #f3f7f9; position: absolute; left: -5px; top: 5px; }
.maintenance-record-item h3 { font-size: 17px; margin: 0 0 8px; }
.maintenance-record-item p { margin: 0; font-size: 13px; }
.maintenance-selection-status:empty { display: none; }
.maintenance-selection-status { font-size: 13px; color: var(--ink-soft); padding: 12px 0; }
.maintenance-chosen { font-size: 12px!important; border-left: 3px solid var(--red); padding: 12px 14px; background: var(--pale); color: var(--ink)!important; }
.maintenance-page .contact-form textarea { min-height: 150px; }
.maintenance-page .header-contact { white-space: nowrap; }
@media(max-width:1100px) { .maintenance-page .header-contact { display: none; } }
@media(max-width:800px) {
  .maintenance-plan-grid,.maintenance-configurator,.maintenance-scope,.maintenance-record-grid { grid-template-columns: 1fr; }
  .maintenance-single-grid { grid-template-columns: 1fr; gap: 30px; }
  .maintenance-plan-card,.maintenance-controls,.maintenance-quote { padding: 24px; }
  .maintenance-plan-card.featured { padding-top: 22px; }
  .maintenance-record-grid { gap: 30px; }
  .maintenance-scope { gap: 20px; }
  .maintenance-single h3 { min-height: 0; }
  .maintenance-single p { margin-bottom: 15px; }
  .maintenance-incident-actions { flex-direction: column; }
  .maintenance-page .hero-media,.maintenance-page .hero-media > img { min-height: 390px; }
}
