/* DNM Dental Guides 1.1.0. Brand: Deep Navy #001D41, Bright Blue #004FDE, Aqua #98DBF8, Manrope. */
.dnm-guide,
.dnm-guides-box,
.dnm-guides-sc,
.dnm-guides-links {
    --dnm-navy: #001D41;
    --dnm-blue: #004FDE;
    --dnm-aqua: #98DBF8;
    --dnm-aqua-soft: #EEF8FE;
    font-family: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--dnm-navy);
}

/* ---- Guide and hub pages ---- */
.dnm-guide {
    max-width: 820px;
    margin: 0 auto 40px;
    font-size: 17px;
    line-height: 1.7;
}
.dnm-guide h2 {
    font-family: inherit;
    color: var(--dnm-navy);
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    margin: 36px 0 12px;
}
.dnm-guide p,
.dnm-guide li {
    color: var(--dnm-navy);
    font-size: 17px;
    line-height: 1.7;
}
.dnm-guide ul,
.dnm-guide ol {
    margin: 0 0 18px 1.3em;
    padding: 0;
}
.dnm-guide ul { list-style: disc; }
.dnm-guide ol { list-style: decimal; }
.dnm-guide li { margin-bottom: 6px; }
.dnm-guide a { color: var(--dnm-blue); text-decoration: underline; text-underline-offset: 2px; }
.dnm-guide a:hover,
.dnm-guide a:focus { color: var(--dnm-navy); }
.dnm-guide-reviewed {
    display: inline-block;
    font-size: 14px !important;
    color: #44546a !important;
    background: var(--dnm-aqua-soft);
    border-radius: 6px;
    padding: 4px 10px;
    margin-bottom: 18px;
}
.dnm-guide-cta {
    background: var(--dnm-navy);
    border-radius: 12px;
    padding: 24px 28px;
    margin: 36px 0;
}
.dnm-guide-cta h2,
.dnm-guide-cta p { color: #fff !important; margin-top: 0; }
.dnm-guide-cta p:last-child { margin-bottom: 0; }
.dnm-guide .dnm-guide-cta__btn,
.dnm-guide .dnm-guide-cta__btn:visited {
    display: inline-block;
    background: var(--dnm-blue);
    color: #fff !important;
    text-decoration: none;
    font-weight: 700;
    border-radius: 8px;
    padding: 12px 22px;
    margin-right: 12px;
    line-height: 1.3;
}
.dnm-guide .dnm-guide-cta__btn:hover,
.dnm-guide .dnm-guide-cta__btn:focus { background: #fff; color: var(--dnm-navy) !important; }
.dnm-guide .dnm-guide-cta__link { color: var(--dnm-aqua) !important; font-weight: 600; }
.dnm-guide-related {
    border-left: 4px solid var(--dnm-aqua);
    padding: 4px 0 4px 18px;
    margin: 32px 0;
}
.dnm-guide-related h2 { margin-top: 0; font-size: 20px; }
.dnm-guide-sources { font-size: 15px; }
.dnm-guide-sources h2 { font-size: 20px; }
.dnm-guide-sources li,
.dnm-guide-sources p { font-size: 15px; word-break: break-word; }
.dnm-guide-disclaimer {
    font-size: 15px !important;
    font-style: italic;
    border-top: 1px solid #dbe3ee;
    padding-top: 14px;
    margin-top: 28px;
}

/* ---- Cards (hub and [dnm_guides]) ---- */
.dnm-guides-hub__intro { font-size: 18px !important; }
.dnm-guides-group { margin: 30px 0; }
.dnm-guides-group__title { margin-bottom: 4px !important; }
.dnm-guides-group__intro { margin: 0 0 14px; color: #44546a !important; }
.dnm-guides-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}
a.dnm-guides-card,
a.dnm-guides-card:visited {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: #fff;
    border: 1px solid #dbe3ee;
    border-top: 4px solid var(--dnm-aqua);
    border-radius: 10px;
    padding: 18px 18px 16px;
    text-decoration: none !important;
    color: var(--dnm-navy) !important;
    transition: border-color .15s ease, box-shadow .15s ease;
    font-family: "Manrope", system-ui, sans-serif;
}
a.dnm-guides-card:hover,
a.dnm-guides-card:focus {
    border-color: var(--dnm-blue);
    box-shadow: 0 6px 18px rgba(0, 29, 65, .08);
}
.dnm-guides-card__title { font-weight: 700; font-size: 18px; line-height: 1.35; color: #001D41; }
.dnm-guides-card__desc { font-size: 15px; line-height: 1.55; color: #44546a; flex: 1; }
.dnm-guides-card__more { font-size: 14px; font-weight: 700; color: #004FDE; }
.dnm-guides-cards > br,
.dnm-guides-cards > p:empty { display: none; }
.dnm-guides-sc { margin: 10px 0 20px; }
.dnm-guides-sc__title { font-family: "Manrope", system-ui, sans-serif; color: #001D41; }
.dnm-guides-sc__all a { color: #004FDE; font-weight: 700; }
.dnm-guides-sc__note { font-size: 13px; color: #5b6b80; margin-top: 8px; }
.dnm-guides-sc .dnm-guides-group__title { font-size: 19px; color: #001D41; font-family: "Manrope", system-ui, sans-serif; }

/* ---- Link boxes (archives, listings) ---- */
.dnm-guides-box {
    background: var(--dnm-aqua-soft);
    border: 1px solid #cfeafb;
    border-left: 4px solid var(--dnm-blue);
    border-radius: 10px;
    padding: 18px 20px;
    margin: 30px 0 10px;
    clear: both;
}
.dnm-guides-box__title {
    font-family: inherit;
    font-size: 18px !important;
    font-weight: 700;
    color: var(--dnm-navy);
    margin: 0 0 10px !important;
}
.dnm-guides-box__list { list-style: none; margin: 0; padding: 0; }
.dnm-guides-box__list li { margin: 0 0 10px; padding: 0; line-height: 1.5; }
.dnm-guides-box__list a { color: var(--dnm-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.dnm-guides-box__desc { display: block; font-size: 14px; color: #44546a; }
.dnm-guides-box__more { margin: 6px 0 0; font-size: 14px; }
.dnm-guides-box__more a { color: var(--dnm-navy); font-weight: 600; }
.dnm-guides-box__note { margin: 8px 0 0; font-size: 12px; color: #5b6b80; }
.dnm-guides-box--listing { margin-top: 25px; padding: 16px 18px; }
.dnm-guides-box--listing .dnm-guides-box__list li { margin-bottom: 6px; }

/* ---- [dnm_guides_links] ---- */
.dnm-guides-links__title { font-weight: 700; margin: 0 0 6px; }
.dnm-guides-links ul { margin: 0 0 0 1.1em; padding: 0; list-style: disc; }
.dnm-guides-links a { color: #004FDE; }

@media (max-width: 767px) {
    .dnm-guide { font-size: 16px; }
    .dnm-guide h2 { font-size: 21px; }
    .dnm-guide-cta { padding: 20px; }
    .dnm-guide .dnm-guide-cta__btn { margin-bottom: 10px; }
}

/* ---- 1.0.1: full-width grid for [dnm_guides layout="grid"] ---- */
/* Let the Elementor shortcode widget (inside a flex container) take the full row width. */
.elementor-widget-shortcode:has(.dnm-guides-sc) {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;
}
.elementor-widget-shortcode:has(.dnm-guides-sc) > .elementor-widget-container,
.elementor-widget-shortcode:has(.dnm-guides-sc) .elementor-shortcode { width: 100%; max-width: 100%; }
.dnm-guides-sc { width: 100%; max-width: 100%; box-sizing: border-box; }
.dnm-guides-sc--grid { margin: 0 0 30px; }
.dnm-guides-sc .dnm-guides-cards--grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.dnm-guides-sc--grid .dnm-guides-sc__heading { font-family: inherit; }
.dnm-guides-sc__all--center,
.dnm-guides-sc__note--center { text-align: center; }
.dnm-guides-sc__all--center { margin: 26px 0 0; }
.dnm-guides-sc__all--center a { font-size: 16px; text-decoration: none; }
.dnm-guides-sc__all--center a:hover,
.dnm-guides-sc__all--center a:focus { text-decoration: underline; }
@media (max-width: 1024px) {
    .dnm-guides-sc .dnm-guides-cards--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 767px) {
    .dnm-guides-sc .dnm-guides-cards--grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ---- 1.0.1: hub page uses the full content width; groups sit in a 2-column grid ---- */
.dnm-guide.dnm-guides-hub { max-width: none; }
.dnm-guides-hub > p,
.dnm-guides-hub > .dnm-guide-cta { max-width: none; }
.dnm-guides-hub__intro { max-width: 900px; }
@media (min-width: 992px) {
    .dnm-guides-hub {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 32px;
    }
    .dnm-guides-hub > :not(.dnm-guides-group) { grid-column: 1 / -1; }
    .dnm-guides-hub .dnm-guides-group { margin: 18px 0; }
}
.dnm-guides-hub .dnm-guides-cards { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
/* wpautop may wrap stray whitespace between hub blocks */
.dnm-guides-hub > p:empty,
.dnm-guides-hub > br { display: none; }
.dnm-guides-hub > .dnm-guide-reviewed { justify-self: start; }
