/* ==========================================================================
   ZB AEM-to-WordPress Converter — Target-Site Styles
   Delivered as a separate .css file, enqueued by the plugin on the front end.
   Mirrors: support.zbmymobilitysolutions.com (ferg-framework theme)
   ========================================================================== */

/* --- Base Typography ---------------------------------------------------- */
.zb-converted-content {
    font-family: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: #444;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- Paragraphs --------------------------------------------------------- */
.zb-converted-content p {
    margin-bottom: 1rem;
    font-size: inherit;
    line-height: 2.2;
    text-rendering: optimizeLegibility;
    text-align: justify;
}

/* --- Lists --------------------------------------------------------------
   !important is required to override the ferg-framework theme's base rule:
   .entry-content ul { list-style-type: none }
   which strips bullet markers. The .privacypolicy body class normally
   re-enables them, but converted content may not have that body class.
   ----------------------------------------------------------------------- */
.zb-converted-content ol,
.zb-converted-content ul {
    line-height: 2.2;
    font-size: 1em;
    list-style-position: outside !important;
    margin-inline-start: 1.8rem;
    margin-bottom: 1rem;
}
.zb-converted-content ul {
    list-style-type: disc !important;
}
.zb-converted-content ul ul {
    list-style-type: square !important;
    margin-bottom: 0;
}
.zb-converted-content ul ul ul {
    list-style-type: circle !important;
}
.zb-converted-content ol {
    list-style-type: decimal !important;
}
.zb-converted-content ol ol {
    list-style-type: lower-alpha !important;
    margin-bottom: 0;
}
.zb-converted-content ol ol ol {
    list-style-type: lower-roman !important;
}
.zb-converted-content li {
    font-size: inherit;
    line-height: 2.2;
    margin: 0;
    padding: 0;
}

/* --- Headings ----------------------------------------------------------- */
.zb-converted-content h1,
.zb-converted-content h2,
.zb-converted-content h3,
.zb-converted-content h4,
.zb-converted-content h5,
.zb-converted-content h6 {
    font-family: inherit;
    font-style: normal;
    font-weight: 400;
    color: inherit;
    text-rendering: optimizeLegibility;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: .5rem;
}
.zb-converted-content h1 { font-size: 1.5rem; }
.zb-converted-content h2 { font-size: 1.25rem; color: #0092ad; }
.zb-converted-content h3 { font-size: 1.1875rem; }
.zb-converted-content h4 { font-size: 1.125rem; }
.zb-converted-content h5 { font-size: 1.0625rem; }
.zb-converted-content h6 { font-size: 1rem; }

@media print, screen and (min-width: 40em) {
    .zb-converted-content h1 { font-size: 3rem; }
    .zb-converted-content h2 { font-size: 2.5rem; }
    .zb-converted-content h3 { font-size: 1.9375rem; }
    .zb-converted-content h4 { font-size: 1.5625rem; }
    .zb-converted-content h5 { font-size: 1.25rem; }
    .zb-converted-content h6 { font-size: 1rem; }
}

.zb-converted-content h1 small,
.zb-converted-content h2 small,
.zb-converted-content h3 small {
    font-size: 60%;
    padding: .75em 0 1.5em;
    display: block;
}

/* --- Links -------------------------------------------------------------- */
.zb-converted-content a {
    color: #007bbc;
    text-decoration: none;
    line-height: inherit;
    cursor: pointer;
}
.zb-converted-content a:hover {
    text-decoration: underline;
    color: #1468a0;
}

/* --- Strong / Bold ------------------------------------------------------ */
.zb-converted-content strong,
.zb-converted-content b {
    font-weight: 700;
    color: #666;
    line-height: inherit;
}

/* --- Tables (matching table__data from ferg-framework) ------------------ */
.zb-converted-content table {
    width: 100%;
    max-width: 100%;
    background-color: #fefefe;
    font-size: .75rem;
    border-collapse: collapse;
    margin-bottom: 1rem;
}
.zb-converted-content table td,
.zb-converted-content table th {
    line-height: 1.375;
    vertical-align: top;
    padding: .25rem .9375rem;
    border: 1px solid #e0e0e0;
}
.zb-converted-content table th {
    font-weight: 700;
    text-align: center;
}
.zb-converted-content table td p,
.zb-converted-content table td ol,
.zb-converted-content table td ul,
.zb-converted-content table th p,
.zb-converted-content table th ol,
.zb-converted-content table th ul {
    line-height: 1.375;
    margin-bottom: 0;
}

@media screen and (min-width: 640px) {
    .zb-converted-content table { font-size: .875rem; }
}
@media screen and (min-width: 1024px) {
    .zb-converted-content table { font-size: 1rem; }
}

/* --- Horizontal Rules --------------------------------------------------- */
.zb-converted-content hr {
    clear: both;
    max-width: 75rem;
    height: 0;
    margin: 1.25rem auto;
    border: 0;
    border-bottom: 1px solid #cacaca;
    width: 100%;
}

/* --- Blockquotes -------------------------------------------------------- */
.zb-converted-content blockquote {
    margin: 0 0 1rem;
    padding: .5625rem 1.25rem 0 1.1875rem;
    border-left: 0;
    border-inline-start: 0;
}
.zb-converted-content blockquote p {
    line-height: 2;
    color: #444;
}

/* --- Footnotes (converted from AEM h6 elements) ------------------------ */
.zb-converted-content .zb-footnote {
    font-size: .8125rem;
    line-height: 2;
    color: #444;
    margin-bottom: .75rem;
    text-align: justify;
}

/* --- Bullet points inside content (higher specificity for WP themes) ---- */
.zb-converted-content .entry-content ul,
.zb-converted-content .wpb_text_column ul,
.zb-converted-content .wpb_content_element ul {
    list-style-type: disc !important;
    list-style-position: outside !important;
    margin-inline-start: 1.8rem;
    margin-bottom: 1rem;
    line-height: 2.2;
}
.zb-converted-content .entry-content ul li,
.zb-converted-content .wpb_text_column ul li,
.zb-converted-content .wpb_content_element ul li,
.zb-converted-content ul li {
    font-size: inherit;
    line-height: 2.2;
}
.zb-converted-content .entry-content ul ul,
.zb-converted-content .wpb_text_column ul ul {
    list-style-type: square !important;
    margin-bottom: 0;
}
.zb-converted-content .entry-content ul ul ul,
.zb-converted-content .wpb_text_column ul ul ul {
    list-style-type: circle !important;
}
.zb-converted-content .entry-content ol,
.zb-converted-content .wpb_text_column ol,
.zb-converted-content .wpb_content_element ol {
    list-style-type: decimal !important;
    list-style-position: outside !important;
    margin-inline-start: 1.8rem;
    margin-bottom: 1rem;
    line-height: 2.2;
}
.zb-converted-content .entry-content ol li,
.zb-converted-content .wpb_text_column ol li,
.zb-converted-content .wpb_content_element ol li,
.zb-converted-content ol li {
    font-size: inherit;
    line-height: 2.2;
}
.zb-converted-content .entry-content ol ol,
.zb-converted-content .wpb_text_column ol ol {
    list-style-type: lower-alpha !important;
    margin-bottom: 0;
}

/* --- Table cell content formatting -------------------------------------- */
.zb-converted-content table td,
.zb-converted-content table th {
    font-size: inherit;
    color: #444;
}
.zb-converted-content table b,
.zb-converted-content table strong {
    color: #444;
}
.zb-converted-content table ul,
.zb-converted-content table ol {
    margin-inline-start: 0;
    margin-bottom: 0;
    list-style-type: none;
    line-height: 1.375;
}
.zb-converted-content table li {
    line-height: 1.375;
    padding: .125rem 0;
}
