/* ==========================================================
   FAIR FUTURE FOUNDATION
   PICTURE OF THE DAY - SINGLE CONTENT 2026

   Canonical presentation layer for Picture of the Day body.

   Scope:
   body.fff-potd2-single only.

   Responsibilities:
   - dark documentary reading context;
   - typography controlled by the Divi Post Content module;
   - left-aligned editorial copy on all screen sizes;
   - deterministic lists;
   - legacy text-colour normalization.

   Intentionally NOT responsible for:
   - link colours / underline behaviour;
   - buttons;
   - Post Navigation;
   - image module sizing;
   - module-specific caption font sizes.

   Existing fff-dark-post-links remains authoritative for links.
   ========================================================== */


/* ----------------------------------------------------------
   BASE READING CONTEXT

   Typography is intentionally delegated to Divi Post Content settings.
   Therefore module-specific settings such as the 0.6rem image
   caption remain intact.
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content {
    color:
        #f6f6f6;

    overflow-wrap:
        break-word;
}


/* ----------------------------------------------------------
   LEGACY / NESTED DIVI TEXT MODULES

   Do not force font-size or line-height here.
   Local documentary elements such as image captions retain
   their deliberate module-level scale.
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content
.et_pb_text,

body.fff-potd2-single
.fff-potd-content
.et_pb_text_inner {
    color:
        inherit;

}


/* ----------------------------------------------------------
   ORDINARY EDITORIAL TEXT COLOUR

   Strong legacy colour declarations exist in historical POTD.
   White normalization remains intentional.

   Links are deliberately excluded.
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content
p,

body.fff-potd2-single
.fff-potd-content
li,

body.fff-potd2-single
.fff-potd-content
dt,

body.fff-potd2-single
.fff-potd-content
dd,

body.fff-potd2-single
.fff-potd-content
blockquote,

body.fff-potd2-single
.fff-potd-content
figcaption,

body.fff-potd2-single
.fff-potd-content
small,

body.fff-potd2-single
.fff-potd-content
label,

body.fff-potd2-single
.fff-potd-content
table,

body.fff-potd2-single
.fff-potd-content
th,

body.fff-potd2-single
.fff-potd-content
td,

body.fff-potd2-single
.fff-potd-content
caption,

body.fff-potd2-single
.fff-potd-content
pre,

body.fff-potd2-single
.fff-potd-content
code {
    color:
        #f6f6f6 !important;
}


/* ----------------------------------------------------------
   PARAGRAPH RHYTHM
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content
> p,

body.fff-potd2-single
.fff-potd-content
.et_pb_text_inner
> p {
    margin:
        0 0 1.08em;
}


/*
 * Documentary long-form typography.
 *
 * A one-line image caption is not stretched because the last
 * line remains explicitly left aligned.
 */

@media (min-width: 981px) {

    body.fff-potd2-single
    .fff-potd-content
    > p,

    body.fff-potd2-single
    .fff-potd-content
    .et_pb_text_inner
    > p {
        text-align:
            left;

        text-align-last:
            left;

    }

}


/* ----------------------------------------------------------
   HEADINGS
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content
h1,

body.fff-potd2-single
.fff-potd-content
h2,

body.fff-potd2-single
.fff-potd-content
h3,

body.fff-potd2-single
.fff-potd-content
h4,

body.fff-potd2-single
.fff-potd-content
h5,

body.fff-potd2-single
.fff-potd-content
h6 {
    color:
        #ffffff !important;

    text-align:
        left !important;

    text-wrap:
        balance;
}


body.fff-potd2-single
.fff-potd-content
h2 {
    margin:
        1.9rem 0 0.68rem;

}


body.fff-potd2-single
.fff-potd-content
h3 {
    margin:
        1.6rem 0 0.6rem;

}


body.fff-potd2-single
.fff-potd-content
h4 {
    margin:
        1.4rem 0 0.52rem;

}


/* ----------------------------------------------------------
   LISTS
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content
ul,

body.fff-potd2-single
.fff-potd-content
ol {
    margin:
        0 0 1.25rem;

    padding:
        0 0 0 1.5rem;

    color:
        #f6f6f6;

    list-style-position:
        outside;

    text-align:
        left;
}


body.fff-potd2-single
.fff-potd-content
ul {
    list-style-type:
        disc;
}


body.fff-potd2-single
.fff-potd-content
ol {
    list-style-type:
        decimal;
}


body.fff-potd2-single
.fff-potd-content
li {
    margin:
        0 0 0.45rem;

    padding:
        0 0 0 0.08rem;

    text-align:
        left;
}


body.fff-potd2-single
.fff-potd-content
li:last-child {
    margin-bottom:
        0;
}


body.fff-potd2-single
.fff-potd-content
li::marker {
    color:
        #c7ccd2;

}


body.fff-potd2-single
.fff-potd-content
li
ul,

body.fff-potd2-single
.fff-potd-content
li
ol {
    margin:
        0.4rem 0 0.35rem;

    padding-left:
        1.35rem;
}


/* ----------------------------------------------------------
   BLOCKQUOTES
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content
blockquote {
    margin:
        1.6rem 0;

    padding:
        0.9rem 1.05rem;

    border:
        0;

    border-left:
        3px solid
        var(--fff-brand-blue);

    background:
        rgba(255,255,255,0.045);

}


/* ----------------------------------------------------------
   TABLES / EMBEDS
   ---------------------------------------------------------- */

body.fff-potd2-single
.fff-potd-content
table {
    max-width:
        100%;

    border-collapse:
        collapse;
}


body.fff-potd2-single
.fff-potd-content
th,

body.fff-potd2-single
.fff-potd-content
td {
    padding:
        0.65rem 0.75rem;

    border:
        1px solid
        rgba(255,255,255,0.16);

    text-align:
        left;
}


body.fff-potd2-single
.fff-potd-content
iframe,

body.fff-potd2-single
.fff-potd-content
video,

body.fff-potd2-single
.fff-potd-content
img {
    max-width:
        100%;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 767px) {

    body.fff-potd2-single
    .fff-potd-content {

    }


    body.fff-potd2-single
    .fff-potd-content
    > p,

    body.fff-potd2-single
    .fff-potd-content
    .et_pb_text_inner
    > p {
        margin-bottom:
            1em;

        text-align:
            left;

        text-align-last:
            auto;
    }


    body.fff-potd2-single
    .fff-potd-content
    h2 {
        margin-top:
            1.65rem;

    }


    body.fff-potd2-single
    .fff-potd-content
    h3 {
        margin-top:
            1.4rem;

    }


    body.fff-potd2-single
    .fff-potd-content
    h4 {
        margin-top:
            1.25rem;

    }


    body.fff-potd2-single
    .fff-potd-content
    ul,

    body.fff-potd2-single
    .fff-potd-content
    ol {
        margin-bottom:
            1.1rem;

        padding-left:
            1.3rem;
    }


    body.fff-potd2-single
    .fff-potd-content
    li {
        margin-bottom:
            0.38rem;
    }

}


/* ----------------------------------------------------------
   INTENTIONALLY NOT TARGETED

   a / a:hover / a:focus / a:visited
   .fff-text-link
   buttons
   Post Navigation

   Link presentation remains in fff-text-link.css.
   ---------------------------------------------------------- */

/* Authentic previews in the existing POTD navigation cards. */
body.fff-potd2-single .fff-post-navigation .fff-potd-nav-thumb {
    display: block;
    width: 100%;
    height: 110px;
    object-fit: cover;
    border-radius: 2px;
    margin: 2px 0 10px;
}
@media (max-width: 767px) {
    body.fff-potd2-single .fff-post-navigation .fff-potd-nav-thumb {
        height: 100px;
    }
}

/* Legacy inline justification must not stretch words on small screens. */
@media (max-width: 767px) {
    body.fff-potd2-single .fff-potd-content p[style*="text-align:justify"],
    body.fff-potd2-single .fff-potd-content p[style*="text-align: justify"],
    body.fff-potd2-single .popup-fair-future-explain li {
        text-align: left !important;
    }
}
