/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 7.2
Version: 1.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}

/* ==========================================
   AMVA LEGAL PAGE DESIGN STYLESHEET (V1.1)
   Designed specifically to complement PROLO Landing Page Design System.
   Primary Color: #14B8A6 (Teal) | Heading: #2D3748 | Body: #374151
   ========================================== */
/* ==========================================
   AMVA LEGAL PAGE DESIGN STYLESHEET (V1.2)
   Scoped to #prolo-legal-page to prevent ID collision.
   Primary Color: #14B8A6 (Teal) | Heading: #2D3748 | Body: #374151
   ========================================== */

#prolo-legal-page {
    --primary: #14B8A6;
    --primary-dark: #0D9488;
    --primary-light: rgba(20, 184, 166, 0.08);
    --primary-glow: rgba(20, 184, 166, 0.2);

    --text-heading: #2D3748;
    --text-body: #374151;
    --text-muted: #6B7280;
    --secondary: #6B7280;

    --bg-page: #F9FAFB;
    --bg-white: #FFFFFF;
    --border-color: #E5E7EB;

    --font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    --header-height: 80px;
    --transition-speed: 0.3s;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-full: 9999px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.06);

    font-family: var(--font-body);
    background-color: var(--bg-page);
    color: var(--text-body);
    line-height: 1.6;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    width: 100%;
    overflow-x: hidden;
}

#prolo-legal-page * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

#prolo-legal-page h1,
#prolo-legal-page h2,
#prolo-legal-page h3,
#prolo-legal-page h4 {
    font-family: var(--font-heading) !important;
    color: var(--text-heading) !important;
    line-height: 1.25 !important;
    font-weight: 700;
}

#prolo-legal-page p {
    color: var(--text-body) !important;
    font-size: 15.5px;
    line-height: 1.7;
}

#prolo-legal-page a {
    text-decoration: none;
    color: inherit;
    transition: all var(--transition-speed) ease;
}

#prolo-legal-page .container {
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

/* ------------------------------------------
   HEADER & NAVIGATION
   ------------------------------------------ */
#prolo-legal-page .main-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: var(--header-height) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid var(--border-color) !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
}

body.admin-bar #prolo-legal-page .main-header {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar #prolo-legal-page .main-header {
        top: 46px !important;
    }
}

#prolo-legal-page .nav-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

#prolo-legal-page .brand-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

#prolo-legal-page .logo {
    font-family: var(--font-heading) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--text-heading) !important;
    letter-spacing: 1px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

#prolo-legal-page .logo-accent {
    color: var(--primary) !important;
}

#prolo-legal-page .nav-links {
    display: flex !important;
    align-items: center !important;
    list-style: none !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#prolo-legal-page .nav-link {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--text-body) !important;
    position: relative !important;
    padding: 8px 0 !important;
}

#prolo-legal-page .nav-link:hover,
#prolo-legal-page .nav-link.active {
    color: var(--primary) !important;
}

#prolo-legal-page .nav-link::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 0 !important;
    height: 2.5px !important;
    background-color: var(--primary) !important;
    border-radius: 2px !important;
    transition: width var(--transition-speed) ease !important;
}

#prolo-legal-page .nav-link:hover::after,
#prolo-legal-page .nav-link.active::after {
    width: 100% !important;
}

/* Button Components */
#prolo-legal-page .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    border-radius: var(--radius-sm) !important;
    font-family: var(--font-heading) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all var(--transition-speed) ease !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

#prolo-legal-page .btn-primary {
    background-color: var(--primary) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 16px var(--primary-glow) !important;
}

#prolo-legal-page .btn-primary:hover {
    background-color: var(--primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(20, 184, 166, 0.35) !important;
}

#prolo-legal-page .btn-secondary {
    background-color: #FFFFFF !important;
    color: var(--text-heading) !important;
    border: 1.5px solid var(--border-color) !important;
}

#prolo-legal-page .btn-secondary:hover {
    border-color: var(--primary) !important;
    color: var(--primary) !important;
    background: var(--primary-light) !important;
}

#prolo-legal-page .mobile-nav-toggle {
    display: none;
    background: none;
    border: none;
    color: var(--text-heading);
    font-size: 24px;
    cursor: pointer;
}

/* ------------------------------------------
   HERO SECTION (Legal Page)
   ------------------------------------------ */
#prolo-legal-page .legal-hero-section {
    padding-top: calc(var(--header-height, 80px) + 36px) !important;
    padding-bottom: 28px !important;
    background: linear-gradient(180deg, rgba(20, 184, 166, 0.05) 0%, rgba(249, 250, 251, 0.8) 100%) !important;
    border-bottom: 1px solid rgba(229, 231, 235, 0.8) !important;
    text-align: center !important;
}

#prolo-legal-page .legal-hero-content {
    max-width: 800px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

#prolo-legal-page .legal-hero-content .badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 5px 14px !important;
    background: var(--primary-light) !important;
    color: var(--primary) !important;
    border: 1px solid rgba(20, 184, 166, 0.25) !important;
    border-radius: var(--radius-full) !important;
    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
}

#prolo-legal-page .legal-page-title {
    font-family: var(--font-heading) !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    color: var(--text-heading) !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
}

#prolo-legal-page .legal-hero-subtitle {
    font-size: 15.5px !important;
    color: var(--text-muted) !important;
    line-height: 1.5 !important;
    margin-bottom: 18px !important;
    max-width: 650px !important;
}

#prolo-legal-page .legal-meta-bar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    background: #FFFFFF !important;
    padding: 8px 18px !important;
    border-radius: var(--radius-full) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: var(--shadow-sm) !important;
    font-size: 13px !important;
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

#prolo-legal-page .legal-meta-bar .meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

#prolo-legal-page .legal-meta-bar i {
    color: var(--primary) !important;
}

#prolo-legal-page .legal-meta-bar .meta-separator {
    color: var(--border-color) !important;
}

/* ------------------------------------------
   MAIN CONTENT SECTION & CARD
   ------------------------------------------ */
#prolo-legal-page .legal-page-section {
    padding: 24px 0 60px 0 !important;
    background-color: var(--bg-page) !important;
}

#prolo-legal-page .legal-page-card {
    background: var(--bg-white) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 20px !important;
    padding: 40px 48px !important;
    box-shadow: 0 10px 30px rgba(45, 55, 72, 0.04) !important;
    margin: 0 auto !important;
    max-width: 1000px !important;
}

/* Hide duplicate heading at top of content */
#prolo-legal-page .legal-page-content > h1:first-child,
#prolo-legal-page .legal-page-content > h2:first-child {
    display: none !important;
}

#prolo-legal-page .legal-page-content > p:first-of-type {
    margin-top: 0 !important;
}

/* ------------------------------------------
   LEGAL TYPOGRAPHY & ELEMENTS STYLING
   ------------------------------------------ */
#prolo-legal-page .legal-page-content {
    color: var(--text-body) !important;
    font-size: 15.5px !important;
    line-height: 1.75 !important;
}

#prolo-legal-page .legal-page-content h2,
#prolo-legal-page .legal-page-content h3 {
    font-family: var(--font-heading) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--text-heading) !important;
    margin: 28px 0 12px 0 !important;
    padding-bottom: 0 !important;
    border: none !important;
}

#prolo-legal-page .legal-page-content h4,
#prolo-legal-page .legal-page-content h5 {
    font-family: var(--font-heading) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--text-heading) !important;
    margin: 20px 0 8px 0 !important;
}

#prolo-legal-page .legal-page-content p {
    font-size: 15.5px !important;
    color: var(--text-body) !important;
    line-height: 1.75 !important;
    margin-bottom: 14px !important;
}

#prolo-legal-page .legal-page-content ul,
#prolo-legal-page .legal-page-content ol {
    margin: 10px 0 18px 24px !important;
    padding: 0 !important;
}

#prolo-legal-page .legal-page-content li {
    font-size: 15.5px !important;
    color: var(--text-body) !important;
    line-height: 1.7 !important;
    margin-bottom: 6px !important;
}

#prolo-legal-page .legal-page-content li strong,
#prolo-legal-page .legal-page-content p strong {
    color: var(--text-heading) !important;
    font-weight: 700 !important;
}

#prolo-legal-page .legal-page-content a {
    color: var(--primary) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: all 0.2s ease !important;
}

#prolo-legal-page .legal-page-content a:hover {
    color: var(--primary-dark) !important;
}

#prolo-legal-page .legal-page-content blockquote {
    background: var(--primary-light) !important;
    border-left: 4px solid var(--primary) !important;
    padding: 16px 22px !important;
    border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
    margin: 24px 0 !important;
    font-style: italic !important;
    color: var(--text-heading) !important;
    font-size: 15px !important;
}

#prolo-legal-page .legal-page-content blockquote p {
    margin-bottom: 0 !important;
}

#prolo-legal-page .legal-page-content hr {
    border: 0 !important;
    height: 1px !important;
    background: var(--border-color) !important;
    margin: 28px 0 !important;
}

#prolo-legal-page .legal-page-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 24px 0 !important;
    border-radius: var(--radius-md) !important;
    overflow: hidden !important;
    border: 1px solid var(--border-color) !important;
}

#prolo-legal-page .legal-page-content th {
    background: #F8FAFC !important;
    color: var(--text-heading) !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 12px 16px !important;
    text-align: left !important;
    border-bottom: 2px solid var(--border-color) !important;
}

#prolo-legal-page .legal-page-content td {
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--border-color) !important;
    font-size: 14.5px !important;
    color: var(--text-body) !important;
}

#prolo-legal-page .legal-page-content tr:nth-child(even) {
    background: #F9FAFB !important;
}

/* ------------------------------------------
   LEGAL CTA ASSISTANCE BOX
   ------------------------------------------ */
#prolo-legal-page .legal-cta-box {
    margin-top: 36px !important;
    padding: 24px 28px !important;
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.05) 0%, rgba(255, 255, 255, 1) 100%) !important;
    border: 1px solid rgba(20, 184, 166, 0.25) !important;
    border-radius: var(--radius-md) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

#prolo-legal-page .legal-cta-icon {
    font-size: 28px !important;
    color: var(--primary) !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#prolo-legal-page .legal-cta-text h3 {
    font-family: var(--font-heading) !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: var(--text-heading) !important;
    margin-bottom: 4px !important;
}

#prolo-legal-page .legal-cta-text p {
    font-size: 14px !important;
    color: var(--text-muted) !important;
    margin-bottom: 0 !important;
}

#prolo-legal-page .legal-cta-btn {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
}

/* ------------------------------------------
   FOOTER STYLING
   ------------------------------------------ */
#prolo-legal-page .main-footer {
    padding: 32px 0 !important;
    background: var(--text-heading) !important;
    font-size: 14px !important;
    color: #E5E7EB !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

#prolo-legal-page .footer-content {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 24px !important;
}

#prolo-legal-page .footer-col {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

#prolo-legal-page .footer-col-right {
    text-align: right !important;
    align-items: flex-end !important;
}

#prolo-legal-page .footer-brand {
    font-family: var(--font-heading) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
}

#prolo-legal-page .footer-brand span {
    color: var(--primary) !important;
    font-weight: 600 !important;
}

#prolo-legal-page .footer-links {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 13.5px !important;
}

#prolo-legal-page .footer-links a {
    color: #E2E8F0 !important;
    font-weight: 500 !important;
}

#prolo-legal-page .footer-links a:hover,
#prolo-legal-page .footer-links a.active {
    color: var(--primary) !important;
}

#prolo-legal-page .footer-links .separator {
    color: #64748B !important;
}

#prolo-legal-page .copy_right {
    color: #E2E8F0 !important;
    font-size: 13.5px !important;
    margin-bottom: 0 !important;
}

#prolo-legal-page .devloped_by {
    color: #94A3B8 !important;
    font-size: 12.5px !important;
    margin-bottom: 0 !important;
}

/* ------------------------------------------
   RESPONSIVE MEDIA QUERIES
   ------------------------------------------ */
@media (max-width: 991px) {
    #prolo-legal-page .mobile-nav-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 24px !important;
        color: var(--text-heading) !important;
        z-index: 10001 !important;
        cursor: pointer !important;
        padding: 8px !important;
        background: transparent !important;
        border: none !important;
        position: relative !important;
    }

    #prolo-legal-page .nav-links {
        position: fixed !important;
        top: 0 !important;
        left: -320px !important;
        width: 290px !important;
        max-width: 85vw !important;
        height: 100vh !important;
        background: #FFFFFF !important;
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.25) !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 90px 24px 40px 24px !important;
        gap: 18px !important;
        transition: all 0.35s ease-in-out !important;
        z-index: 9998 !important;
        overflow-y: auto !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    #prolo-legal-page .nav-links.active,
    #proloNavLinks.active {
        left: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: flex !important;
    }

    #prolo-legal-page .nav-link {
        width: 100% !important;
        font-size: 16px !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid var(--border-color) !important;
    }

    #prolo-legal-page .nav-links li {
        width: 100% !important;
    }

    #prolo-legal-page .nav-links .btn {
        width: 100% !important;
        margin-top: 10px !important;
    }

    #prolo-legal-page .legal-hero-section {
        padding-top: calc(var(--header-height) + 24px) !important;
        padding-bottom: 24px !important;
    }

    #prolo-legal-page .legal-page-title {
        font-size: 28px !important;
    }

    #prolo-legal-page .legal-page-card {
        padding: 28px 24px !important;
        border-radius: 16px !important;
    }

    #prolo-legal-page .legal-cta-box {
        flex-direction: column !important;
        text-align: center !important;
        padding: 20px 18px !important;
    }

    #prolo-legal-page .legal-cta-btn {
        width: 100% !important;
    }

    #prolo-legal-page .footer-content {
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
        gap: 16px !important;
    }

    #prolo-legal-page .footer-col-right {
        text-align: center !important;
        align-items: center !important;
    }
}

@media (max-width: 576px) {
    #prolo-legal-page .legal-page-card {
        padding: 20px 16px !important;
    }

    #prolo-legal-page .legal-page-title {
        font-size: 22px !important;
    }

    #prolo-legal-page .legal-page-content h2,
    #prolo-legal-page .legal-page-content h3 {
        font-size: 18px !important;
    }

    #prolo-legal-page .legal-meta-bar {
        flex-direction: column !important;
        gap: 4px !important;
        border-radius: 14px !important;
        padding: 10px 14px !important;
    }

    #prolo-legal-page .legal-meta-bar .meta-separator {
        display: none !important;
    }
}
