/* Company title panel follows the full navbar frame, not the narrower content shell.
 * The title treatment itself stays unchanged; only its horizontal footprint is normalized. */
body.msdl-ui.msdl-route-company .entry-header,
body.msdl-ui.msdl-route-company .msdl-inner-hero {
    width:100%;
    max-width:none;
    margin-right:0;
    margin-left:0;
    box-sizing:border-box;
}

/* Hybrid system: technical editorial layout driven by reusable semantic classes. */
body.msdl-ui.msdl-route-hybrid .msdl-engine-detail > .msdl-shell {
    padding:clamp(42px,6vw,76px);
    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-hybrid .msdl-hybrid-hero-image {
    width:min(100%,920px);
    margin:0 auto 44px;
    padding:clamp(12px,1.6vw,20px);
    border:1px solid #d5dde2;
    border-radius:18px;
    background:linear-gradient(145deg,#fff,#f2f5f6);
    box-shadow:0 18px 46px rgba(15,29,40,.09);
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-hero-image img {
    display:block;
    width:100%;
    height:auto;
    max-height:500px;
    object-fit:contain;
    object-position:center;
    border-radius:11px;
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-awards {
    display:inline-flex;
    margin:0 0 28px;
    padding:8px 12px;
    border:1px solid rgba(228,0,70,.22);
    border-radius:999px;
    color:var(--msdl-red);
    background:rgba(228,0,70,.055);
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-intro {
    max-width:980px;
    margin-bottom:42px;
    color:#4b5964;
    font-size:17px;
    line-height:1.82;
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-designs,
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-components {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin:28px 0 10px;
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-components { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-card {
    min-width:0;
    padding:26px;
    border:1px solid var(--msdl-line);
    border-radius:14px;
    background:linear-gradient(145deg,#fff,#f7f9fa);
    box-shadow:0 10px 28px rgba(15,29,40,.055);
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-card h3 { margin:0 0 10px; color:var(--msdl-ink); font-size:21px; line-height:1.15; }
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-card p { margin:0; color:#5d6871; font-size:15px; line-height:1.68; }
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-designs .msdl-hybrid-card { position:relative; padding-top:34px; border-top:3px solid var(--msdl-red); }
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-configurations {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:24px 0 34px;
    padding:0;
    list-style:none;
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-configurations li {
    margin:0;
    padding:10px 13px;
    border:1px solid #cfd8de;
    border-radius:8px;
    color:#3c4b57;
    background:#f4f7f8;
    font-size:13px;
    font-weight:760;
    letter-spacing:.015em;
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-contact {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:0 18px;
    border-radius:8px;
    color:#fff;
    background:var(--msdl-red);
    font-weight:780;
    text-decoration:none;
    transition:transform 180ms ease,background 180ms ease,box-shadow 180ms ease;
}
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-contact:hover,
body.msdl-ui.msdl-route-hybrid .msdl-hybrid-contact:focus-visible {
    color:#fff;
    background:var(--msdl-red-dark);
    box-shadow:0 10px 24px rgba(228,0,70,.18);
    transform:translateY(-1px);
}

@media (max-width:1080px) {
    body.msdl-ui .inside-header { grid-template-columns:auto minmax(110px,auto) 1fr; gap:12px; width:min(100% - 32px,var(--msdl-shell)); }
    body.msdl-ui .main-navigation .main-nav ul li a { padding-inline:8px; font-size:11px; }
    body.msdl-ui .msdl-home-slide,
    body.msdl-ui .msdl-home-slide.is-active { grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); padding-inline:30px; }
    body.msdl-ui .msdl-card-grid,
    body.msdl-ui .msdl-engine-grid,
    body.msdl-ui .msdl-values-grid,
    body.msdl-ui .msdl-contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.msdl-ui .msdl-source-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
    body.msdl-ui .msdl-source-gallery figure:nth-child(1),
    body.msdl-ui .msdl-source-gallery figure:nth-child(6) { grid-column:span 1; }
}

@media (max-width:768px) {
    html { scroll-padding-top:78px; }
    body.admin-bar.msdl-ui .site-header { top:46px; }
    body.msdl-ui .msdl-shell,
    body.msdl-ui .msdl-source-page > .msdl-shell,
    body.msdl-ui .msdl-section > .msdl-shell,
    body.msdl-ui .msdl-inner-hero,
    body.msdl-ui:not(.msdl-route-home) .entry-header,
    body.msdl-ui.msdl-route-home .msdl-source-home > .msdl-shell { width:calc(100% - 28px); }

    body.msdl-ui .site-header { min-height:72px; }
    body.msdl-ui .inside-header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:auto auto; gap:0 12px; width:calc(100% - 24px); min-height:72px; padding:8px 0; }
    body.msdl-ui .site-logo { grid-column:1; grid-row:1; }
    body.msdl-ui .site-logo .header-image { width:62px; max-height:48px; }
    body.msdl-ui .site-branding { grid-column:2; grid-row:1; min-width:0; }
    body.msdl-ui .site-branding .main-title { overflow:hidden; font-size:14px; letter-spacing:.035em; text-overflow:ellipsis; }
    body.msdl-ui #mobile-menu-control-wrapper { grid-column:3; grid-row:1; justify-self:end; margin:0; }
    body.msdl-ui .menu-toggle,
    body.msdl-ui #mobile-menu-control-wrapper .menu-toggle { display:grid; place-items:center; width:46px; height:46px; min-width:46px; padding:0; border:1px solid rgba(255,255,255,.18); border-radius:8px; color:#fff; background:rgba(255,255,255,.06); }
    body.msdl-ui #site-navigation { grid-column:1/-1; grid-row:2; width:100%; margin-top:8px; }
    body.msdl-ui .main-navigation.toggled .main-nav > ul { display:grid; gap:4px; padding:10px; border:1px solid rgba(255,255,255,.10); border-radius:12px; background:#111c25; box-shadow:0 18px 42px rgba(0,0,0,.26); }
    body.msdl-ui .main-navigation .main-nav ul li a { min-height:44px; padding:0 13px; border-radius:8px; font-size:12px; }
    body.msdl-ui .main-navigation .main-nav ul li a::after { display:none; }
    body.msdl-ui .main-navigation .msdl-language-switch > a { width:100%; margin:4px 0 0; border-radius:8px; }

    body.msdl-ui .msdl-espa-banner { min-height:58px; padding:7px 10px; }
    body.msdl-ui .msdl-espa-banner a { width:min(100%,430px); padding:2px 7px; }
    body.msdl-ui .msdl-espa-banner img { max-height:44px; }

    body.msdl-ui.msdl-route-home .msdl-source-home { padding-top:18px; }
    body.msdl-ui .msdl-home-slider { --msdl-slide-height:570px; border-radius:18px; }
    body.msdl-ui .msdl-home-slider::before { top:20px; left:20px; }
    body.msdl-ui .msdl-home-slide,
    body.msdl-ui .msdl-home-slide.is-active { grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto; gap:18px; min-height:var(--msdl-slide-height); padding:56px 16px 74px; align-content:center; }
    body.msdl-ui .msdl-home-slide-image { grid-column:1; grid-row:1; width:100%; height:295px; max-height:295px; padding:14px; border-radius:14px; }
    body.msdl-ui .msdl-home-slide-inner { grid-column:1; grid-row:2; }
    body.msdl-ui .msdl-home-slide-title { margin-bottom:16px; font-size:clamp(28px,8.4vw,40px); line-height:1.02; }
    body.msdl-ui .msdl-home-slide-link { min-height:42px; padding:9px 16px; }
    body.msdl-ui .msdl-slider-controls { left:16px; right:16px; bottom:18px; justify-content:center; }
    body.msdl-ui .msdl-slider-prev,
    body.msdl-ui .msdl-slider-next { width:34px; height:34px; }
    body.msdl-ui .msdl-slider-dot { width:19px; height:34px; }
    body.msdl-ui .msdl-home-actions { grid-template-columns:1fr; margin-bottom:66px; }
    body.msdl-ui .msdl-home-actions > .wp-block-column { min-height:72px; padding-block:17px; }

    body.msdl-ui .msdl-source-home > .msdl-shell > h1 { font-size:clamp(40px,13vw,58px); }
    body.msdl-ui .msdl-source-home > .msdl-shell > h1 + h2 { font-size:21px; }
    body.msdl-ui .msdl-source-home > .msdl-shell > h1 + h2 + p { margin-bottom:52px; font-size:17px; }

    body.msdl-ui .msdl-source-home .msdl-card-grid,
    body.msdl-ui .msdl-card-grid,
    body.msdl-ui .msdl-engine-grid,
    body.msdl-ui .msdl-values-grid,
    body.msdl-ui.msdl-route-engines .msdl-card-grid,
    body.msdl-ui.msdl-route-used .msdl-card-grid,
    body.msdl-ui .msdl-contact-grid,
    body.msdl-ui .msdl-form-grid { grid-template-columns:1fr; }
    body.msdl-ui .msdl-source-home .msdl-service-card { min-height:0; }

    body.msdl-ui .msdl-inner-hero,
    body.msdl-ui:not(.msdl-route-home) .entry-header { margin-top:20px; padding:44px 0; border-radius:18px; }
    body.msdl-ui:not(.msdl-route-home) .entry-header { padding-inline:24px; }
    body.msdl-ui .msdl-inner-title,
    body.msdl-ui:not(.msdl-route-home) .entry-header .entry-title,
    body.msdl-ui .msdl-source-page > .msdl-shell > h1:first-child,
    body.msdl-ui .msdl-section > .msdl-shell > .msdl-section-title:first-child { font-size:clamp(36px,11vw,54px); }
    body.msdl-ui .msdl-source-page,
    body.msdl-ui .msdl-section { padding-block:58px; }

    body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell { grid-template-columns:1fr; gap:18px; }
    body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell > h2:first-child,
    body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell > p,
    body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell > .wp-block-buttons { grid-column:1; grid-row:auto; }
    body.msdl-ui.msdl-route-company .msdl-source-page > .msdl-shell > h2:first-child { padding:24px; }

    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:24px 18px 34px; border-radius:16px; }
    body.msdl-ui.msdl-route-hybrid .msdl-engine-detail > .msdl-shell { padding:28px 18px 36px; border-radius:16px; }
    body.msdl-ui.msdl-route-hybrid .msdl-hybrid-designs,
    body.msdl-ui.msdl-route-hybrid .msdl-hybrid-components { grid-template-columns:1fr; gap:12px; }
    body.msdl-ui.msdl-route-hybrid .msdl-hybrid-card { padding:20px; }
    body.msdl-ui.msdl-route-hybrid .msdl-hybrid-hero-image { margin-bottom:30px; padding:8px; border-radius:14px; }
    body.msdl-ui.msdl-route-product .msdl-feature-image { margin-bottom:32px; padding:12px; }
    body.msdl-ui.msdl-route-product .msdl-feature-image img { max-height:300px; }

    body.msdl-ui .msdl-source-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    body.msdl-ui .msdl-source-gallery .msdl-gallery-open,
    body.msdl-ui .msdl-source-gallery .msdl-gallery-open img,
    body.msdl-ui .msdl-source-gallery figure.wp-block-image > img { min-height:170px; }
    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-contact-form-wrap { padding:22px 16px; border-radius:16px; }
    body.msdl-ui .msdl-footer-inner { padding-top:48px; }
    body.msdl-ui .msdl-footer-grid { grid-template-columns:1fr; gap:28px; }
    body.msdl-ui .msdl-footer-logo img { width:130px; }
}

@media (max-width:430px) {
    body.msdl-ui .msdl-home-slider { --msdl-slide-height:530px; }
    body.msdl-ui .msdl-home-slide,
    body.msdl-ui .msdl-home-slide.is-active { padding:52px 13px 70px; }
    body.msdl-ui .msdl-home-slide-image { height:255px; max-height:255px; }
    body.msdl-ui .msdl-home-slide-title { font-size:clamp(26px,8vw,34px); }
    body.msdl-ui .msdl-source-gallery { grid-template-columns:1fr; }
    body.msdl-ui .msdl-source-gallery figure:nth-child(1),
    body.msdl-ui .msdl-source-gallery figure:nth-child(6) { grid-column:span 1; }
    body.msdl-ui .msdl-source-gallery .msdl-gallery-open,
    body.msdl-ui .msdl-source-gallery .msdl-gallery-open img,
    body.msdl-ui .msdl-source-gallery figure.wp-block-image > img { min-height:240px; }
}

/* Lightbox presentation is owned by the Gallery/media module and is intentionally not redefined here. */

/* Route-specific title panels for imported pages that already own their H1. */
body.msdl-ui.msdl-route-engines .msdl-source-page > .msdl-shell > h1:first-child,
body.msdl-ui.msdl-route-used .msdl-source-page > .msdl-shell > h1:first-child,
body.msdl-ui.msdl-route-gallery .msdl-section > .msdl-shell > .msdl-section-title:first-child {
    max-width: none;
    margin-bottom: 24px;
    padding: clamp(42px, 5vw, 68px);
    overflow: hidden;
    border-radius: var(--msdl-radius-lg);
    color: #fff;
    background: var(--msdl-navy);
    box-shadow: var(--msdl-shadow-md);
}

body.msdl-ui.msdl-route-engines .msdl-source-page > .msdl-shell > h1:first-child::before,
body.msdl-ui.msdl-route-used .msdl-source-page > .msdl-shell > h1:first-child::before,
body.msdl-ui.msdl-route-gallery .msdl-section > .msdl-shell > .msdl-section-title:first-child::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
}

body.msdl-ui.msdl-route-engines .msdl-source-page > .msdl-shell > h1:first-child + p {
    margin: 0 0 42px;
}

@media (prefers-reduced-motion: reduce) {
    body.msdl-ui .msdl-service-card,
    body.msdl-ui .msdl-engine-card,
    body.msdl-ui .msdl-value-card,
    body.msdl-ui .msdl-contact-card,
    body.msdl-ui .msdl-home-actions > .wp-block-column,
    body.msdl-ui .msdl-home-slide-link::after,
    body.msdl-ui .msdl-source-gallery .msdl-gallery-open,
    body.msdl-ui .msdl-source-gallery .msdl-gallery-open img {
        transition: none !important;
    }
}


