/* MAG Document & Link Library - Frontend v1.2.6 */

.magdl-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Sticky Header Effects moves the live header out of document flow while
   scrolling. Preserve the measured header space on library pages so short
   pages do not repeatedly gain and lose height near the bottom. */
.ekit-template-content-header.magdl-stable-header-space {
    min-height: var(--magdl-header-space) !important;
}
.magdl-library {
    width: 100%;
    margin: 0 0 28px;
}

.magdl-search-wrap {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 10px;
}

.magdl-search {
    width: min(100%, 320px);
    padding: 9px 12px;
    border: 1px solid #cdd7e0;
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
    font-size: 14px;
    box-sizing: border-box;
}

.magdl-search:focus {
    outline: 2px solid rgba(27, 43, 111, 0.18);
    outline-offset: 1px;
    border-color: #1b2b6f;
}

.magdl-global-search-wrap,
.magdl-global-toolbar {
    margin: 0 0 24px;
}

.magdl-global-toolbar {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.magdl-global-search-label {
    display: block;
    flex: 1 1 640px;
    color: #1b2b6f;
    font-size: 15px;
    font-weight: 600;
}

.magdl-global-search {
    display: block;
    width: min(100%, 640px);
    margin-top: 0;
    padding: 12px 14px;
    font-size: 16px;
}

.magdl-share-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    margin: 0;
    padding: 0;
    border: 1px solid #c7d2df;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(20, 33, 85, 0.12);
    color: #1b2b6f;
    cursor: pointer;
    line-height: 1;
    transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.magdl-share-button:hover,
.magdl-share-button:focus-visible {
    border-color: #1b2b6f;
    background: #eef2fb;
    box-shadow: 0 4px 10px rgba(20, 33, 85, 0.18);
    color: #1b2b6f;
    transform: translateY(-1px);
}

.magdl-share-button.is-copied {
    background: #147a4b;
    border-color: #147a4b;
    color: #ffffff;
}

.magdl-share-button svg {
    display: block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    fill: currentColor;
}

.magdl-share-status {
    min-height: 18px;
    margin: -17px 0 14px;
    color: #475467;
    font-size: 13px;
}

.magdl-global-no-results {
    margin: 0 0 24px;
}

.magdl-table-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
}

.magdl-table,
.doclib-table.magdl-table {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid #cdd7e0;
    border-radius: 12px;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.07);
    table-layout: auto;
}

.magdl-table thead th {
    background: #1b2b6f;
    color: #ffffff;
    font-weight: 600;
    padding: 14px 16px;
    border-bottom: 2px solid #142155;
    text-align: left;
    white-space: nowrap;
}

.magdl-table thead th:first-child { border-radius: 11px 0 0 0; }
.magdl-table thead th:last-child { border-radius: 0 11px 0 0; }

.magdl-table thead .magdl-collection-title-link {
    color: #ffffff;
    text-decoration: none;
}

.magdl-table thead .magdl-collection-title-link:hover,
.magdl-table thead .magdl-collection-title-link:focus {
    color: #ffffff;
    text-decoration: underline;
}

.magdl-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #d0dbe3;
    vertical-align: middle;
    background: #fff;
}

.magdl-table tbody tr:nth-child(even) td { background: #fcfdff; }
.magdl-table tbody tr:hover td { background: #f4f7fc; }
.magdl-table tbody tr:last-child td { border-bottom: none; }
.magdl-table tbody td:first-child { font-weight: 400; }

.magdl-table a {
    color: #0000cc;
    text-decoration: none;
}
.magdl-table a:hover { text-decoration: underline; }

.magdl-link-col {
    width: 1%;
    white-space: nowrap;
    text-align: center;
}

.magdl-category-col {
    width: 1%;
    white-space: nowrap;
}

.magdl-name-inner {
    display: flex;
    align-items: center;
    gap: 10px;
}

.magdl-icon {
    display: block;
    flex: 0 0 auto;
    object-fit: contain;
}
.magdl-icon-small { width: 20px; height: 20px; }
.magdl-icon-medium { width: 32px; height: 32px; }
.magdl-icon-large { width: 48px; height: 48px; }

.magdl-description {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.35;
    color: #667085;
    font-weight: 400;
}

.magdl-no-results,
.magdl-empty,
.magdl-error {
    padding: 12px 14px;
    border: 1px solid #d0dbe3;
    background: #fff;
    border-radius: 8px;
}

/* Optional layout helper when two collections are intentionally placed together. */
.magdl-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(460px, 1.3fr);
    gap: 30px;
    align-items: start;
}

.magdl-grid > * { min-width: 0; }

/* Independently stacked columns prevent short tables from inheriting a tall row's gap. */
.magdl-stack-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    align-items: start;
}

.magdl-stack-column {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.magdl-stack-grid-single {
    grid-template-columns: minmax(0, 1fr);
}

body.page-id-2470 .elementor-element-e03ebab {
    grid-column: 1 / -1 !important;
}

body.page-id-2470 .elementor-element-41a32cd,
body.page-id-2470 .elementor-element-8795ba3,
body.page-id-2470 .elementor-element-ea42c16 {
    display: none !important;
}

.magdl-location-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.magdl-location-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid #d7e0e8;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(20, 33, 85, 0.08);
    transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.magdl-location-card:hover {
    border-color: #b7c4d2;
    box-shadow: 0 8px 20px rgba(20, 33, 85, 0.12);
    transform: translateY(-1px);
}

.magdl-location-card[hidden] { display: none !important; }

.magdl-location-card-head {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 40px;
    gap: 12px;
    align-items: center;
    margin: 0 0 14px;
}

.magdl-location-card h3 {
    min-width: 0;
    margin: 0;
    color: #142155;
    font-size: 17px;
    line-height: 1.3;
}

.magdl-location-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    overflow: hidden;
    border: 1px solid #e0e6ed;
    border-radius: 11px;
    background: #f8fafc;
    color: #1b2b6f;
    font-size: 13px;
    font-weight: 700;
}

.magdl-location-logo img {
    display: block;
    width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
    object-fit: contain;
}

.magdl-location-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #c7d2df;
    border-radius: 10px;
    background: #eef2fb;
    color: #1b2b6f;
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease, transform 150ms ease;
}

.magdl-location-copy:hover,
.magdl-location-copy:focus-visible {
    background: #1b2b6f;
    color: #ffffff;
    transform: translateY(-1px);
}

.magdl-location-copy.is-copied {
    border-color: #147a4b;
    background: #147a4b;
    color: #ffffff;
}

.magdl-location-copy svg {
    display: block !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    fill: currentColor;
}

.magdl-location-card address {
    min-height: 48px;
    margin: 0 0 10px;
    color: #344054;
    font-size: 14px;
    font-style: normal;
    line-height: 1.55;
}

.magdl-location-phone {
    display: inline-block;
    margin: 0 0 12px;
    color: #1b2b6f;
    font-weight: 600;
    text-decoration: none;
}

.magdl-location-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.magdl-location-actions a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid #c7d2df;
    border-radius: 8px;
    background: #ffffff;
    color: #1b2b6f;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}

.magdl-location-actions a:hover,
.magdl-location-actions a:focus {
    border-color: #1b2b6f;
    background: #eef2fb;
    text-decoration: none;
}

.magdl-location-no-results {
    margin: 0 0 20px;
}

/* Homepage brand carousel: use a continuous, ticker-like glide. */
.elementor-element-dd65a72 .swiper-wrapper {
    transition-timing-function: linear !important;
    will-change: transform;
}

/* The supplied Dodge canvas has much less surrounding whitespace than the
 * legacy 167x100 carousel artwork, so balance its visible mark separately. */
.elementor-element-dd65a72 img[src*="Dodge-Logo"] {
    display: block;
    width: 60% !important;
    height: auto !important;
    margin-inline: auto;
}

@media (max-width: 1024px) {
    .magdl-grid,
    .magdl-stack-grid { grid-template-columns: 1fr; }

    .magdl-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .magdl-table thead th,
    .magdl-table td { padding: 10px 12px; }

    .magdl-search,
    .magdl-global-search { width: 100%; }

    .magdl-global-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .magdl-global-search-label { flex-basis: auto; }

    .magdl-share-button {
        align-self: flex-end;
        width: 46px;
    }

    .magdl-location-grid { grid-template-columns: 1fr; }
}
