/* Footer — font tokens when prototype base.css is not loaded (legacy pages with secondary footer only). */
:root {
	--font-heading: 'Lora', Georgia, 'Times New Roman', Times, serif;
	--font-body: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Footer */
body.template-block-builder .footer,
body.template-page .footer,
.editor-styles-wrapper .footer {
    background: #000;
    color: white;
    padding: 4rem 0 2rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.template-block-builder .footer *,
body.template-page .footer *,
.editor-styles-wrapper .footer * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.template-block-builder .footer-content,
body.template-page .footer-content,
.editor-styles-wrapper .footer-content {
    display: grid;
    grid-template-columns: minmax(200px, 1fr) minmax(0, 4fr);
    gap: 4rem;
    margin-bottom: 3rem;
}

body.template-block-builder .footer.footer-secondary .footer-content,
body.template-page .footer.footer-secondary .footer-content,
.editor-styles-wrapper .footer.footer-secondary .footer-content {
    gap: clamp(3.5rem, 5vw, 5.5rem);
}

body.template-block-builder .footer-left,
body.template-page .footer-left,
.editor-styles-wrapper .footer-left {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.template-block-builder .footer-logo-img,
body.template-page .footer-logo-img,
.editor-styles-wrapper .footer-logo-img {
    height: auto;
    width: 250px;
    margin-bottom: 1rem;
    filter: brightness(0) invert(1);
}

body.template-block-builder .footer-logo p,
body.template-page .footer-logo p,
.editor-styles-wrapper .footer-logo p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}

body.template-block-builder .footer-logo p a,
body.template-page .footer-logo p a,
.editor-styles-wrapper .footer-logo p a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.3s ease;
}

body.template-block-builder .footer-secondary .footer-logo .social,
body.template-page .footer-secondary .footer-logo .social,
.editor-styles-wrapper .footer-secondary .footer-logo .social {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem 1rem;
    margin-top: 1rem;
}

body.template-block-builder .footer-secondary .footer-logo .social a,
body.template-page .footer-secondary .footer-logo .social a,
.editor-styles-wrapper .footer-secondary .footer-logo .social a {
    color: rgba(255, 255, 255, 0.72);
    font-size: 1.35rem;
    line-height: 1;
    text-decoration: none;
    transition: color 0.25s ease, opacity 0.25s ease;
}

body.template-block-builder .footer-secondary .footer-logo .social a:hover,
body.template-page .footer-secondary .footer-logo .social a:hover,
.editor-styles-wrapper .footer-secondary .footer-logo .social a:hover {
    color: #fff;
}

/* Accreditation seals (secondary footer, under logo + phone) */
body.template-block-builder .footer-secondary .footer-row-two,
body.template-page .footer-secondary .footer-row-two,
.editor-styles-wrapper .footer-secondary .footer-row-two {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.65rem 1rem;
    margin-top: 1.25rem;
    max-width: 320px;
}

body.template-block-builder .footer-secondary .footer-row-two > section,
body.template-page .footer-secondary .footer-row-two > section,
.editor-styles-wrapper .footer-secondary .footer-row-two > section {
    margin: 0;
    line-height: 0;
}

body.template-block-builder .footer-secondary .footer-secondary-badge-img,
body.template-page .footer-secondary .footer-secondary-badge-img,
.editor-styles-wrapper .footer-secondary .footer-secondary-badge-img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100px;
    max-height: 52px;
    object-fit: contain;
}

body.template-block-builder .footer-secondary .footer-secondary-badge-img--legitscript,
body.template-page .footer-secondary .footer-secondary-badge-img--legitscript,
.editor-styles-wrapper .footer-secondary .footer-secondary-badge-img--legitscript {
    max-width: 132px;
    max-height: 56px;
}

body.template-block-builder .footer-secondary .footer-row-two a,
body.template-page .footer-secondary .footer-row-two a,
.editor-styles-wrapper .footer-secondary .footer-row-two a {
    display: inline-block;
    line-height: 0;
}

body.template-block-builder .footer-nav,
body.template-page .footer-nav,
.editor-styles-wrapper .footer-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
}

/* Secondary footer: clearer separation between nav columns */
body.template-block-builder .footer-secondary .footer-nav,
body.template-page .footer-secondary .footer-nav,
.editor-styles-wrapper .footer-secondary .footer-nav {
    column-gap: clamp(1.75rem, 4vw, 3.5rem);
    row-gap: 2.25rem;
}

body.template-block-builder .footer-secondary .footer-column,
body.template-page .footer-secondary .footer-column,
.editor-styles-wrapper .footer-secondary .footer-column {
    min-width: 0;
    padding-left: clamp(0.35rem, 1.2vw, 0.85rem);
    padding-right: clamp(0.35rem, 1.2vw, 0.85rem);
    box-sizing: border-box;
}

body.template-block-builder .footer-column h4,
body.template-page .footer-column h4,
.editor-styles-wrapper .footer-column h4 {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: white;
}

body.template-block-builder .footer-column ul,
body.template-page .footer-column ul,
.editor-styles-wrapper .footer-column ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding-left: 0;
}

body.template-block-builder .footer-column a,
body.template-page .footer-column a,
.editor-styles-wrapper .footer-column a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
    font-weight: 500;
    font-family: var(--font-body);
}

body.template-block-builder .footer-column a:hover,
body.template-page .footer-column a:hover,
.editor-styles-wrapper .footer-column a:hover {
    color: #fff;
}

body.template-block-builder .footer-bottom,
body.template-page .footer-bottom,
.editor-styles-wrapper .footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

body.template-block-builder .footer-bottom p,
body.template-page .footer-bottom p,
.editor-styles-wrapper .footer-bottom p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
    font-weight: 500;
}

body.template-block-builder .footer-secondary .footer-legal-links,
body.template-page .footer-secondary .footer-legal-links,
.editor-styles-wrapper .footer-secondary .footer-legal-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.65rem;
    margin-top: 0.85rem;
}

body.template-block-builder .footer-secondary .footer-legal-links a,
body.template-page .footer-secondary .footer-legal-links a,
.editor-styles-wrapper .footer-secondary .footer-legal-links a {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.85rem;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.02em;
    transition: color 0.25s ease;
}

body.template-block-builder .footer-secondary .footer-legal-links a:hover,
body.template-page .footer-secondary .footer-legal-links a:hover,
.editor-styles-wrapper .footer-secondary .footer-legal-links a:hover {
    color: #fff;
    text-decoration: underline;
}

body.template-block-builder .footer-secondary .footer-legal-sep,
body.template-page .footer-secondary .footer-legal-sep,
.editor-styles-wrapper .footer-secondary .footer-legal-sep {
    color: rgba(255, 255, 255, 0.35);
    font-size: 0.85rem;
    user-select: none;
}

/* Secondary footer: two nav columns from tablet widths down (logo stack above) */
@media (max-width: 1080px) {
    body.template-block-builder .footer.footer-secondary .footer-content,
    body.template-page .footer.footer-secondary .footer-content,
    .editor-styles-wrapper .footer.footer-secondary .footer-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    body.template-block-builder .footer-secondary .footer-nav,
    body.template-page .footer-secondary .footer-nav,
    .editor-styles-wrapper .footer-secondary .footer-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(1.5rem, 5vw, 2.75rem);
        row-gap: 2rem;
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    body.template-block-builder .container, .editor-styles-wrapper .container {
        padding: 0 2rem;
    }
    
    body.template-block-builder .header-container, .editor-styles-wrapper .header-container {
        padding: 1.5rem 2rem;
    }
    
    body.template-block-builder .conditions-grid, .editor-styles-wrapper .conditions-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    body.template-block-builder .condition-item, .editor-styles-wrapper .condition-item {
        flex-direction: column;
        text-align: center;
        padding: 2rem;
    }
    
    body.template-block-builder .condition-item:nth-child(even), .editor-styles-wrapper .condition-item:nth-child(even) {
        flex-direction: column;
    }
    
    body.template-block-builder .approach-content, .editor-styles-wrapper .approach-content {
        grid-template-columns: 1fr;
        gap: 4rem;
    }
    
    body.template-block-builder .founder-content, .editor-styles-wrapper .founder-content {
        grid-template-columns: 1fr;
        gap: 4rem;
    }
    
    body.template-block-builder .team-grid, .editor-styles-wrapper .team-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
}

@media (max-width: 768px) {
    body.template-block-builder .header-container, .editor-styles-wrapper .header-container {
        padding: 1rem 2rem;
    }
    
    body.template-block-builder .header-right, .editor-styles-wrapper .header-right {
        gap: 1.5rem;
    }
    
    body.template-block-builder .language-switcher, .editor-styles-wrapper .language-switcher {
        display: none;
    }
    
    body.template-block-builder .menu-content, .editor-styles-wrapper .menu-content {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    body.template-block-builder .welcome-message h2, .editor-styles-wrapper .welcome-message h2 {
        font-size: 2.5rem;
    }
    
    body.template-block-builder .main-nav a, .editor-styles-wrapper .main-nav a {
        font-size: 2rem;
    }
    
    body.template-block-builder .sub-nav, .editor-styles-wrapper .sub-nav {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    body.template-block-builder .hero-content, .editor-styles-wrapper .hero-content {
        padding: 0 2rem;
    }
    
    body.template-block-builder .hero-badge, .editor-styles-wrapper .hero-badge {
        flex-direction: column;
        gap: 1rem;
    }
    
    body.template-block-builder .footer-content,
    body.template-page .footer-content,
    .editor-styles-wrapper .footer-content {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    
    body.template-block-builder .footer-nav,
    body.template-page .footer-nav,
    .editor-styles-wrapper .footer-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
    }
}

@media (max-width: 480px) {
    body.template-block-builder .container, .editor-styles-wrapper .container {
        padding: 0 1rem;
    }
    
    body.template-block-builder .header-container, .editor-styles-wrapper .header-container {
        padding: 1rem;
    }
    
    body.template-block-builder .hero-content, .editor-styles-wrapper .hero-content {
        padding: 0 1rem;
    }
    
    body.template-block-builder .footer-nav,
    body.template-page .footer-nav,
    .editor-styles-wrapper .footer-nav {
        grid-template-columns: 1fr;
    }

    /* Secondary footer: keep two link columns on narrow phones */
    body.template-block-builder .footer-secondary .footer-nav,
    body.template-page .footer-secondary .footer-nav,
    .editor-styles-wrapper .footer-secondary .footer-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(1rem, 4vw, 1.75rem);
        row-gap: 1.75rem;
    }
}
