/* Shared internal pages */
body.msdl-ui:not(.msdl-route-home) .entry-content { min-height:55vh; }
body.msdl-ui:not(.msdl-route-home) .entry-header {
    position:relative; width:min(var(--msdl-shell),calc(100% - 56px)); margin:clamp(34px,5vw,70px) auto 0; padding:clamp(48px,6vw,78px); overflow:hidden;
    border-radius:var(--msdl-radius-lg); background:var(--msdl-navy); box-shadow:var(--msdl-shadow-md);
}
body.msdl-ui:not(.msdl-route-home) .entry-header .entry-title { position:relative; z-index:2; max-width:900px; margin:0; color:#fff; font-size:clamp(44px,6vw,76px); line-height:.98; letter-spacing:-.055em; }
body.msdl-ui .msdl-inner-hero {
    position:relative; margin:clamp(34px,5vw,70px) auto 0; width:min(var(--msdl-shell),calc(100% - 56px)); padding:clamp(58px,7vw,90px) 0; overflow:hidden;
    border:1px solid rgba(255,255,255,.08); border-radius:var(--msdl-radius-lg); background:var(--msdl-navy); box-shadow:var(--msdl-shadow-md);
}
body.msdl-ui .msdl-inner-hero::after,
body.msdl-ui:not(.msdl-route-home) .entry-header::after { content:""; position:absolute; right:-80px; bottom:-120px; width:340px; height:340px; border:70px solid rgba(228,0,70,.18); border-radius:50%; pointer-events:none; }
body.msdl-ui .msdl-inner-title { position:relative; z-index:2; max-width:930px; margin:0; color:#fff; font-size:clamp(42px,6vw,74px); line-height:1; letter-spacing:-.055em; }
body.msdl-ui .msdl-inner-lead { position:relative; z-index:2; max-width:760px; margin:24px 0 0; color:rgba(255,255,255,.72); font-size:clamp(17px,1.6vw,20px); line-height:1.7; }
body.msdl-ui .msdl-section-kicker,
body.msdl-ui .msdl-eyebrow { position:relative; z-index:2; color:#ff426f; font-size:11px; font-weight:820; letter-spacing:.18em; }
body.msdl-ui .msdl-source-page,
body.msdl-ui .msdl-section { padding:clamp(68px,8vw,112px) 0; background:transparent; }
body.msdl-ui .msdl-source-page > .msdl-shell,
body.msdl-ui .msdl-section > .msdl-shell { width:min(var(--msdl-shell),calc(100% - 56px)); }
body.msdl-ui .msdl-source-page > .msdl-shell > h1:first-child,
body.msdl-ui .msdl-section > .msdl-shell > .msdl-section-title:first-child { position:relative; max-width:980px; margin:0 0 20px; padding-top:22px; color:var(--msdl-ink); font-size:clamp(42px,5.5vw,68px); line-height:1; letter-spacing:-.05em; }
body.msdl-ui .msdl-source-page > .msdl-shell > h1:first-child::before,
body.msdl-ui .msdl-section > .msdl-shell > .msdl-section-title:first-child::before { content:""; position:absolute; top:0; left:0; width:74px; height:4px; background:var(--msdl-red); }
body.msdl-ui .msdl-source-page > .msdl-shell > h1:first-child + p,
body.msdl-ui .msdl-section > .msdl-shell > .msdl-section-title:first-child + p,
body.msdl-ui .msdl-lead { max-width:860px; margin:0 0 44px; color:var(--msdl-steel); font-size:clamp(17px,1.5vw,20px); line-height:1.75; }
body.msdl-ui .msdl-source-page h2,
body.msdl-ui .msdl-section h2 { margin-top:0px; margin-bottom:16px; color:var(--msdl-ink); font-size:clamp(27px,3vw,38px); line-height:1.12; }
body.msdl-ui .msdl-source-page p,
body.msdl-ui .msdl-section p { font-size:16.5px; line-height:1.78; }
body.msdl-ui .msdl-source-page ul:not(.msdl-footer-list),
body.msdl-ui .msdl-section ul:not(.msdl-footer-list) { margin:24px 0 34px 1.15em; }
body.msdl-ui .msdl-source-page li,
body.msdl-ui .msdl-section li { margin-bottom:9px; line-height:1.65; }

body.msdl-ui .wp-block-buttons { gap:10px; }
body.msdl-ui .wp-block-button__link,
body.msdl-ui .msdl-form-submit { min-height:46px; padding:12px 20px; border:1px solid var(--msdl-navy); border-radius:8px; color:#fff; background:var(--msdl-navy); font-size:14px; font-weight:760; text-decoration:none; }
body.msdl-ui .wp-block-button__link:hover,
body.msdl-ui .wp-block-button__link:focus-visible,
body.msdl-ui .msdl-form-submit:hover,
body.msdl-ui .msdl-form-submit:focus-visible { border-color:var(--msdl-red); color:#fff; background:var(--msdl-red); transform:translateY(-2px); }

/* Cards */
body.msdl-ui .msdl-card-grid,
body.msdl-ui .msdl-engine-grid,
body.msdl-ui .msdl-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:18px 0 0; }
body.msdl-ui.msdl-route-engines .msdl-card-grid,
body.msdl-ui.msdl-route-used .msdl-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:16px; }
body.msdl-ui .msdl-service-card,
body.msdl-ui .msdl-engine-card,
body.msdl-ui .msdl-value-card,
body.msdl-ui .msdl-contact-card { position:relative; min-height:0; padding:30px; overflow:hidden; border:1px solid var(--msdl-line); border-radius:var(--msdl-radius-md); background:#fff; box-shadow:var(--msdl-shadow-sm); }
body.msdl-ui .msdl-service-card::after,
body.msdl-ui .msdl-engine-card::after,
body.msdl-ui .msdl-value-card::after,
body.msdl-ui .msdl-contact-card::after { content:""; position:absolute; inset:auto 0 0; width:100%; height:3px; background:var(--msdl-red); transform:scaleX(0); transform-origin:left; transition:transform 190ms ease; }
body.msdl-ui .msdl-service-card:hover,
body.msdl-ui .msdl-engine-card:hover,
body.msdl-ui .msdl-value-card:hover,
body.msdl-ui .msdl-contact-card:hover { transform:translateY(-5px); border-color:#bfcbd2; box-shadow:var(--msdl-shadow-md); }
body.msdl-ui .msdl-service-card:hover::after,
body.msdl-ui .msdl-engine-card:hover::after,
body.msdl-ui .msdl-value-card:hover::after,
body.msdl-ui .msdl-contact-card:hover::after { transform:scaleX(1); }
body.msdl-ui .msdl-service-card h2,
body.msdl-ui .msdl-service-card h3,
body.msdl-ui .msdl-engine-card h3,
body.msdl-ui .msdl-value-card h3,
body.msdl-ui .msdl-contact-card h3 { margin:0 0 14px; color:var(--msdl-ink); font-size:clamp(21px,2vw,28px); line-height:1.18; letter-spacing:-.035em; }
body.msdl-ui .msdl-service-card h2 a,
body.msdl-ui .msdl-service-card h3 a,
body.msdl-ui .msdl-engine-card a { color:inherit; text-decoration:none; }
body.msdl-ui .msdl-service-card h2 a::after,
body.msdl-ui .msdl-service-card h3 a::after { content:" ↗"; color:var(--msdl-red); font-size:.75em; }
body.msdl-ui .msdl-service-card p,
body.msdl-ui .msdl-engine-card p,
body.msdl-ui .msdl-value-card p,
body.msdl-ui .msdl-contact-card p { margin-bottom:0; color:var(--msdl-muted); font-size:15px; line-height:1.68; }
body.msdl-ui .msdl-card-index { margin:0 0 46px; color:var(--msdl-red); font-size:11px; line-height:1; font-weight:820; letter-spacing:.16em; }
body.msdl-ui.msdl-route-engines .msdl-service-card { min-height:150px; display:flex; align-items:flex-end; padding:30px 64px 30px 30px; background:linear-gradient(135deg,#fff 0%,#f4f7f8 100%); }
body.msdl-ui.msdl-route-engines .msdl-service-card::before { content:"MAN"; position:absolute; top:21px; right:24px; color:#c4ccd1; font-size:11px; font-weight:900; letter-spacing:.15em; }
body.msdl-ui.msdl-route-used .msdl-service-card p { display:inline-block; margin-top:14px; padding:8px 11px; border-radius:7px; color:#41505d; background:#edf1f3; font-size:12px; font-weight:760; letter-spacing:.025em; }

/* Company */
body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell { display:grid; grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr); gap:32px clamp(46px,7vw,100px); }
body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell > h2:first-child { grid-column:1; grid-row:1 / span 4; align-self:start; margin:0; padding:30px; border-top:4px solid var(--msdl-red); border-radius:0 0 var(--msdl-radius-md) var(--msdl-radius-md); color:#fff; background:var(--msdl-navy); font-size:clamp(32px,4vw,54px); line-height:1; }
body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell > p { grid-column:2; max-width:820px; margin:0; padding-bottom:24px; border-bottom:1px solid var(--msdl-line); color:#52606b; font-size:17px; line-height:1.82; }
body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell > .wp-block-buttons { grid-column:2; margin-top:8px; }
body.msdl-ui.msdl-route-company .msdl-section .msdl-company-copy { max-width:960px; color:var(--msdl-ink); }
body.msdl-ui.msdl-route-company .msdl-section .msdl-company-copy p { color:#52606b; }

/* Product / used details */
body.msdl-ui.msdl-route-product .msdl-engines-section,
body.msdl-ui.msdl-route-product .msdl-engine-detail,
body.msdl-ui.msdl-route-used-detail .msdl-source-page { background:transparent; }
body.msdl-ui.msdl-route-product .msdl-engines-section > .msdl-shell,
body.msdl-ui.msdl-route-product .msdl-engine-detail > .msdl-shell,
body.msdl-ui.msdl-route-used-detail .msdl-source-page > .msdl-shell { padding:clamp(44px,6vw,78px); border:1px solid var(--msdl-line); border-radius:var(--msdl-radius-lg); background:#fff; box-shadow:var(--msdl-shadow-sm); }
body.msdl-ui.msdl-route-product .msdl-feature-image { width:min(100%,700px); margin:0 auto 44px; padding:clamp(16px,2.5vw,30px); border:1px solid #d8dee2; border-radius:18px; background:#f5f7f7; box-shadow:none; }
body.msdl-ui.msdl-route-product .msdl-feature-image img { display:block; width:100%; height:auto; max-height:430px; object-fit:contain; object-position:center; background:transparent; }
body.msdl-ui.msdl-route-product .msdl-section-title { max-width:980px; margin:0 0 14px; color:var(--msdl-ink); font-size:clamp(42px,5.6vw,70px); line-height:.99; letter-spacing:-.055em; }
body.msdl-ui.msdl-route-product .msdl-lead { max-width:800px; margin-bottom:52px; color:var(--msdl-red); font-size:18px; font-weight:650; }
body.msdl-ui.msdl-route-product .msdl-engines-section h2,
body.msdl-ui.msdl-route-product .msdl-engine-detail h2 { margin-top:56px; padding-top:26px; border-top:1px solid var(--msdl-line); font-size:clamp(27px,3vw,38px); }
body.msdl-ui.msdl-route-product .msdl-engines-section p,
body.msdl-ui.msdl-route-product .msdl-engine-detail p { max-width:980px; }

body.msdl-ui .msdl-spec-table { width:100%; margin:24px 0 44px; overflow-x:auto; border:1px solid var(--msdl-line); border-radius:14px; background:#fff; box-shadow:var(--msdl-shadow-sm); }
body.msdl-ui .msdl-spec-table table { width:100%; min-width:620px; margin:0; border:0; border-collapse:collapse; background:#fff; }
body.msdl-ui .msdl-spec-table td,
body.msdl-ui .msdl-spec-table th { padding:14px 18px; border:0; border-bottom:1px solid #e3e8eb; vertical-align:top; font-size:14px; line-height:1.5; }
body.msdl-ui .msdl-spec-table tr:last-child td,
body.msdl-ui .msdl-spec-table tr:last-child th { border-bottom:0; }
body.msdl-ui .msdl-spec-table td:first-child,
body.msdl-ui .msdl-spec-table th:first-child { width:42%; color:var(--msdl-ink); background:#f3f6f7; font-weight:730; }
body.msdl-ui .msdl-spec-table tr:nth-child(even) td:not(:first-child) { background:#fbfcfc; }

/* Technical engine pages -------------------------------------------------- */
body.msdl-ui.msdl-route-product .msdl-spec-highlights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    max-width: 980px;
    margin: 24px 0 8px;
    padding: 0;
    list-style: none;
}
body.msdl-ui.msdl-route-product .msdl-spec-highlights li {
    position: relative;
    min-height: 104px;
    padding: 22px 18px 18px;
    border: 1px solid var(--msdl-line);
    border-radius: 12px;
    background: linear-gradient(145deg, #ffffff 0%, #f4f7f8 100%);
    box-shadow: var(--msdl-shadow-sm);
    color: var(--msdl-ink);
    font-size: 15px;
    line-height: 1.4;
    font-weight: 760;
}
body.msdl-ui.msdl-route-product .msdl-spec-highlights li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    width: 42px;
    height: 3px;
    border-radius: 0 0 3px 3px;
    background: var(--msdl-red);
}

body.msdl-ui.msdl-route-product .msdl-tech-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 26px 0 48px;
}
body.msdl-ui.msdl-route-product .msdl-tech-feature {
    position: relative;
    min-width: 0;
    min-height: 176px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid var(--msdl-line);
    border-radius: 14px;
    background: linear-gradient(150deg, #ffffff 0%, #f4f7f8 100%);
    box-shadow: 0 1px 2px rgba(15,29,40,.04), 0 10px 28px rgba(15,29,40,.055);
}
body.msdl-ui.msdl-route-product .msdl-tech-feature::after {
    content: "MAN";
    position: absolute;
    right: 18px;
    bottom: 14px;
    color: #d4dade;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .16em;
}
body.msdl-ui.msdl-route-product .msdl-tech-feature h3 {
    max-width: 88%;
    margin: 0 0 14px;
    color: var(--msdl-ink);
    font-size: 17px;
    line-height: 1.18;
    letter-spacing: -.015em;
}
body.msdl-ui.msdl-route-product .msdl-tech-feature p {
    margin: 0;
    color: var(--msdl-muted);
    font-size: 14px;
    line-height: 1.65;
}

body.msdl-ui.msdl-route-product .msdl-characteristics-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
    max-width: 1040px;
    margin: 22px 0 42px;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--msdl-line);
}
body.msdl-ui.msdl-route-product .msdl-characteristics-list li {
    position: relative;
    margin: 0;
    padding: 15px 0 15px 22px;
    border-bottom: 1px solid var(--msdl-line);
    color: #4e5d68;
    font-size: 14px;
    line-height: 1.55;
}
body.msdl-ui.msdl-route-product .msdl-characteristics-list li::before {
    content: "";
    position: absolute;
    top: 21px;
    left: 2px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--msdl-red);
    box-shadow: 0 0 0 4px rgba(205, 20, 45, .08);
}

body.msdl-ui.msdl-route-product .msdl-benefit-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    max-width: 980px;
    margin: 22px 0 42px;
    padding: 0;
    list-style: none;
}
body.msdl-ui.msdl-route-product .msdl-benefit-list li {
    min-height: 82px;
    margin: 0;
    padding: 20px 18px;
    border: 1px solid var(--msdl-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--msdl-shadow-sm);
    color: var(--msdl-ink);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 720;
}

body.msdl-ui.msdl-route-product .msdl-spec-table {
    scrollbar-width: thin;
    scrollbar-color: #aab6bd transparent;
    -webkit-overflow-scrolling: touch;
}
body.msdl-ui.msdl-route-product .msdl-spec-table::-webkit-scrollbar { height: 7px; }
body.msdl-ui.msdl-route-product .msdl-spec-table::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #aab6bd;
}

@media (max-width: 980px) {
    body.msdl-ui.msdl-route-product .msdl-spec-highlights,
    body.msdl-ui.msdl-route-product .msdl-benefit-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.msdl-ui.msdl-route-product .msdl-tech-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    body.msdl-ui.msdl-route-product .msdl-spec-highlights,
    body.msdl-ui.msdl-route-product .msdl-tech-feature-grid,
    body.msdl-ui.msdl-route-product .msdl-characteristics-list,
    body.msdl-ui.msdl-route-product .msdl-benefit-list {
        grid-template-columns: 1fr;
    }
    body.msdl-ui.msdl-route-product .msdl-spec-highlights li,
    body.msdl-ui.msdl-route-product .msdl-tech-feature,
    body.msdl-ui.msdl-route-product .msdl-benefit-list li {
        min-height: 0;
    }
    body.msdl-ui.msdl-route-product .msdl-characteristics-list {
        gap: 0;
    }
}

/* Gallery */
body.msdl-ui.msdl-route-gallery .msdl-gallery-section { padding-top:clamp(64px,8vw,110px); }
body.msdl-ui .msdl-source-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:42px; }
body.msdl-ui .msdl-source-gallery figure.wp-block-image { margin:0; min-width:0; }
body.msdl-ui .msdl-source-gallery .msdl-gallery-open,
body.msdl-ui .msdl-source-gallery figure.wp-block-image > img { width:100%; height:100%; min-height:250px; padding:0; overflow:hidden; border:1px solid var(--msdl-line); border-radius:14px; background:#fff; box-shadow:var(--msdl-shadow-sm); }
body.msdl-ui .msdl-source-gallery .msdl-gallery-open img,
body.msdl-ui .msdl-source-gallery figure.wp-block-image > img { width:100%; height:100%; min-height:250px; aspect-ratio:4/3; object-fit:cover; object-position:center; transition:transform 260ms ease; }
body.msdl-ui .msdl-source-gallery figure:nth-child(1),
body.msdl-ui .msdl-source-gallery figure:nth-child(6) { grid-column:span 2; }
body.msdl-ui .msdl-source-gallery .msdl-gallery-open:hover,
body.msdl-ui .msdl-source-gallery .msdl-gallery-open:focus-visible { transform:translateY(-3px); border-color:#bbc7ce; box-shadow:var(--msdl-shadow-md); }
body.msdl-ui .msdl-source-gallery .msdl-gallery-open:hover img,
body.msdl-ui .msdl-source-gallery .msdl-gallery-open:focus-visible img { transform:scale(1.018); }

/* Contact */
body.msdl-ui .msdl-contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.msdl-ui .msdl-contact-card { min-height:260px; }
body.msdl-ui .msdl-contact-form-section { padding:0 0 clamp(76px,9vw,120px); }
body.msdl-ui .msdl-contact-form-wrap { padding:clamp(28px,4vw,48px); border:1px solid var(--msdl-line); border-radius:var(--msdl-radius-lg); background:#fff; box-shadow:var(--msdl-shadow-md); }
body.msdl-ui .msdl-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
body.msdl-ui .msdl-field { margin:0 0 18px; }
body.msdl-ui .msdl-field label { display:block; margin-bottom:8px; color:var(--msdl-ink); font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
body.msdl-ui .msdl-field input,
body.msdl-ui .msdl-field textarea { width:100%; min-height:48px; padding:12px 14px; border:1px solid #cbd4da; border-radius:8px; color:var(--msdl-ink); background:#f8fafb; box-shadow:none; }
body.msdl-ui .msdl-field textarea { min-height:170px; resize:vertical; }
body.msdl-ui .msdl-field input:focus,
body.msdl-ui .msdl-field textarea:focus { border-color:var(--msdl-red); background:#fff; outline:3px solid rgba(228,0,70,.10); }

/* Footer */
body.msdl-ui .msdl-footer { margin:0; border-top:4px solid var(--msdl-red); background:#111c25; color:#fff; }
body.msdl-ui .msdl-footer-inner { padding:clamp(56px,7vw,86px) 0 28px; }
body.msdl-ui .msdl-footer-grid { display:grid; grid-template-columns:minmax(160px,.8fr) 1fr 1fr; gap:clamp(34px,6vw,88px); align-items:start; margin:0; }
body.msdl-ui .msdl-footer-grid > .wp-block-column { flex-basis:auto !important; }
body.msdl-ui .msdl-footer-logo img { width:min(170px,100%); height:auto; }
body.msdl-ui .msdl-footer-title { margin:0 0 18px; color:#fff; font-size:14px; font-weight:800; letter-spacing:.075em; text-transform:uppercase; }
body.msdl-ui .msdl-footer-list { margin:0; padding:0; list-style:none; }
body.msdl-ui .msdl-footer-list li { margin:0 0 10px; color:rgba(255,255,255,.64); font-size:14px; }
body.msdl-ui .msdl-footer-list a { color:rgba(255,255,255,.84); text-decoration:none; }
body.msdl-ui .msdl-footer-list a:hover,
body.msdl-ui .msdl-footer-list a:focus-visible { color:#fff; }
body.msdl-ui .msdl-footer-bottom { margin-top:46px; padding-top:22px; border-top:1px solid rgba(255,255,255,.10); }
body.msdl-ui .msdl-footer-bottom p { margin:0; color:rgba(255,255,255,.45); font-size:12px; line-height:1.7; }
body.msdl-ui .msdl-footer-bottom a { color:rgba(255,255,255,.65); }

