/*
 * Brighter Core - Frontend CSS
 * v1.1 | 2026-06-21
 *
 * Structural/layout styles only. No hardcoded colours or typography —
 * site theme variables and Breakdance global styles handle those.
 */

/* ============================================
 * PRIVACY POLICY PAGE STYLES
 * Only apply on .page-slug-privacy-policy
 * ============================================ */

.page-slug-privacy-policy .terms-tocs > li a {
    text-decoration: none;
    font-family: var(--bde-body-font-family) !important;
    font-weight: 500;
}

.page-slug-privacy-policy p, 
.page-slug-privacy-policy .terms-text, 
.page-slug-privacy-policy ul, 
.page-slug-privacy-policy li {
    list-style-type: none;
    line-height: 1.5;
    font-family: var(--bde-body-font-family) !important;
    font-size: calc(.9 * var(--bde-base-font-size));
    color: var(--bde-body-text-color) !important;
}

.page-slug-privacy-policy li { 
    padding-bottom: 10px; 
}

.page-slug-privacy-policy h2 {font-size: calc(var(--bde-h2-font-size) * .5) !important;}
.page-slug-privacy-policy h3 {font-size: calc(var(--bde-h3-font-size) * .5) !important;}
.page-slug-privacy-policy h4 {font-size: calc(var(--bde-h4-font-size) * .5) !important;}

.page-slug-privacy-policy h2,
.page-slug-privacy-policy h3,
.page-slug-privacy-policy h4 {
    margin: 10px 0;
    font-family: var(--bde-body-font-family) !important;
}

.page-slug-privacy-policy .c01 { padding-left: 20px; }
.page-slug-privacy-policy .c02 { padding-left: 40px; }
.page-slug-privacy-policy .c03 { padding-left: 60px; }
.page-slug-privacy-policy .c04 { padding-left: 90px; }
.page-slug-privacy-policy .c05 { padding-left: 100px; }

/* ============================================
 * TLDR SHORTCODE
 * Layout only — colour/typography inherits from site
 * ============================================ */

.tldr-summary {
    padding: 1.5rem;
    margin: 0;
}

.tldr-summary .tldr-heading {
    margin-top: 0;
    margin-bottom: 1rem;
}

.tldr-summary .tldr-content {
    line-height: 1.6;
}

.tldr-summary .tldr-content p:last-child {
    margin-bottom: 0;
}

/* ============================================
 * FAQ SHORTCODE
 * Layout and state only — colour/typography inherits from site
 * ============================================ */

.bw-faq-section {
    margin: 2rem 0;
}

.bw-faq-item {
    margin-bottom: 1.5rem;
}

/* Accordion */
.bw-faq-accordion {
    padding: 0;
    margin-bottom: 1rem;
}

.bw-faq-accordion summary {
    padding: 1rem 1.5rem;
    cursor: pointer;
    user-select: none;
}

.bw-faq-accordion[open] summary {
    border-bottom: 1px solid #e0e0e0;
}

.bw-faq-accordion .bw-faq-answer {
    padding: 1.5rem;
}

/* Plain format */
.bw-faq-section[data-format="plain"] .bw-faq-question {
    margin-bottom: 0.5rem;
}

.bw-faq-section[data-format="plain"] .bw-faq-answer {
    margin-bottom: 1.5rem;
    padding-left: 1rem;
    border-left: 3px solid var(--bde-brand-primary-color);
}

/* ============================================
 * LITESPEED LAZY LOAD ANIMATION
 * ============================================ */

img[data-lazyloaded] {
    opacity: 0;
}

img.litespeed-loaded {
    transition: opacity .5s linear 0.2s;
    opacity: 1;
}

/* ============================================
 * BREADCRUMB SHORTCODE
 * Layout and scroll behaviour only — colour/typography inherits from site
 * ============================================ */

.bw-breadcrumbs-wrap {
    position: relative;
    overflow: hidden;
}

ul.bw-breadcrumbs {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    padding-inline-start: 0;
    margin: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.bw-breadcrumbs::-webkit-scrollbar {
    display: none;
}

.bw-breadcrumbs > li:first-child {
    list-style-type: none;
}

.bw-breadcrumbs li::marker {
    color: var(--bde-brand-primary-color);
}

.bw-breadcrumbs li {
    white-space: nowrap;
    list-style-position: inside;
    list-style-type: square;
}

.bw-breadcrumbs li,
.bw-breadcrumbs li a {
    text-decoration-line: none;
    line-height: 1;
    margin-bottom: 5px;
}

@media (max-width: 675px) {
    .bw-breadcrumbs li,
    .bw-breadcrumbs li a {
        font-size: calc(var(--bde-base-font-size) * .8);
    }
}

/* Overflow fade — shared positioning */
.bw-breadcrumbs-wrap.is-overflowing::after,
.bw-breadcrumbs-light-bg .bw-breadcrumbs-wrap.is-overflowing::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 100%;
    pointer-events: none;
}

/* Dark background (default) */
.bw-breadcrumbs-wrap.is-overflowing::after {
    background: linear-gradient(
        to right,
        transparent 0%,
        rgba(255, 255, 255, 0.15) 50%,
        rgba(255, 255, 255, 0.35) 100%
    );
}

/* Light background */
.bw-breadcrumbs-light-bg .bw-breadcrumbs-wrap.is-overflowing::after {
    background: linear-gradient(
        to right,
        transparent 0%,
        rgba(0, 0, 0, 0.15) 50%,
        rgba(0, 0, 0, 0.35) 100%
    );
}
