/*
Theme Name: Twenty Twenty-Two
Theme URI: https://wordpress.org/themes/twentytwentytwo/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Built on a solidly designed foundation, Twenty Twenty-Two embraces the idea that everyone deserves a truly unique website. The theme’s subtle styles are inspired by the diversity and versatility of birds: its typography is lightweight yet strong, its color palette is drawn from nature, and its layout elements sit gently on the page. The true richness of Twenty Twenty-Two lies in its opportunity for customization. The theme is built to take advantage of the Site Editor features introduced in WordPress 5.9, which means that colors, typography, and the layout of every single page on your site can be customized to suit your vision. It also includes dozens of block patterns, opening the door to a wide range of professionally designed layouts in just a few clicks. Whether you’re building a single-page website, a blog, a business website, or a portfolio, Twenty Twenty-Two will help you create a site that is uniquely yours.
Requires at least: 5.9
Tested up to: 6.9
Requires PHP: 5.6
Version: 2.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentytwo
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, style-variations, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news

Twenty Twenty-Two WordPress Theme, (C) 2021 WordPress.org
Twenty Twenty-Two is distributed under the terms of the GNU GPL.
*/

/*
 * 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.
 */

/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/*
 * Text and navigation link styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ch;
}

a:hover,
a:focus {
	text-decoration-style: dashed;
}

a:active {
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
}

/*
 * Search and File Block button styles.
 * Necessary until the following issues are resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/36444
 * https://github.com/WordPress/gutenberg/issues/27760
 */

.wp-block-search__button,
.wp-block-file .wp-block-file__button {
	background-color: var(--wp--preset--color--primary);
	border-radius: 0;
	border: 0 solid;
	color: var(--wp--preset--color--background);
	font-size: var(--wp--preset--font-size--medium);
	padding: calc(.667em + 2px) calc(1.333em + 2px);
}

/*
 * Button hover styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

.wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover,
.wp-block-button__link:hover {
	opacity: 0.90;
}

/*
 * Alignment styles.
 * These rules are temporary, and should not be relied on or
 * modified too heavily by themes or plugins that build on
 * Twenty Twenty-Two. These are meant to be a precursor to
 * a global solution provided by the Block Editor.
 *
 * Relevant issues:
 * https://github.com/WordPress/gutenberg/issues/35607
 * https://github.com/WordPress/gutenberg/issues/35884
 */

.wp-site-blocks,
body > .is-root-container,
.edit-post-visual-editor__post-title-wrapper,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-block-cover.alignfull,
.is-root-container .wp-block[data-align="full"] > .wp-block-group,
.is-root-container .wp-block[data-align="full"] > .wp-block-cover {
	padding-left: var(--wp--custom--spacing--outer);
	padding-right: var(--wp--custom--spacing--outer);
}

.wp-site-blocks .alignfull,
.wp-site-blocks > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-cover,
.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-template-part > .wp-block-cover,
body > .is-root-container > .wp-block-cover,
body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background,
body > .is-root-container > .wp-block-template-part > .wp-block-cover,
.is-root-container .wp-block[data-align="full"] {
	margin-left: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	margin-right: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	width: unset;
}

/* Blocks inside columns don't have negative margins. */
.wp-site-blocks .wp-block-columns .wp-block-column .alignfull,
.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align="full"],
/* We also want to avoid stacking negative margins. */
.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull,
.is-root-container .wp-block[data-align="full"] > *:not(.wp-block-group) .wp-block[data-align="full"] {
	margin-left: auto !important;
	margin-right: auto !important;
	width: inherit;
}

/*
 * Responsive menu container padding.
 * This ensures the responsive container inherits the same
 * spacing defined above. This behavior may be built into
 * the Block Editor in the future.
 */

.wp-block-navigation__responsive-container.is-menu-open {
	padding-top: var(--wp--custom--spacing--outer);
	padding-bottom: var(--wp--custom--spacing--large);
	padding-right: var(--wp--custom--spacing--outer);
	padding-left: var(--wp--custom--spacing--outer);
}

/*
 * Improves spacing for the legacy Post Comments block.
 * https://core.trac.wordpress.org/ticket/57560
 */

.wp-block-post-comments ol.commentlist ul.children {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.wp-block-post-comments ol.commentlist li.comment:not(:last-child) {
	margin-bottom: 1rem;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */

:where(pre) {
	overflow-x: auto;
}


/* --- CUSTOM MODERN PREMIUM THEME BY ANTIGRAVITY --- */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

html, :root {
    background-color: #0d0d11 !important;
    scroll-behavior: smooth;
}

body {
    background-color: transparent !important;
    color: #f4f4f6 !important;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    line-height: 1.7 !important;
    -webkit-font-smoothing: antialiased;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
    position: relative !important;
    z-index: 0 !important;
}

/* Fixed background workaround for iOS/Mobile support */
body::before {
    content: "" !important;
    position: fixed !important;
    display: block !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: -1 !important;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"),
        radial-gradient(ellipse at 50% 50%, rgba(13,13,17,0.7) 0%, rgba(0,0,0,0.92) 100%),
        url("https://agustincastro.com/wp-content/uploads/2026/06/bg-studio-console.jpg") !important;
    background-size: 300px 300px, cover, cover !important;
    background-position: center, center, center center !important;
    pointer-events: none !important;
}

::selection {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
}

/* Sleek Dark Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #0d0d11;
}
::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Headers */
h1, h2, h3, h4, h5, h6, 
.wp-block-post-title {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #ffffff !important;
    letter-spacing: -0.02em !important;
    font-weight: 700 !important;
}

/* Sticky Glass Header Bar (Whole Header) */
header.wp-block-template-part,
.wp-block-template-part[area="header"] {
    background: rgba(22, 22, 23, 0.2) !important;
    backdrop-filter: blur(8px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(8px) saturate(140%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    position: sticky !important;
    top: 0;
    z-index: 9999 !important;
    width: 100% !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2) !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Shrink header on scroll (desktop too) */
header.wp-block-template-part.is-scrolled,
.wp-block-template-part[area="header"].is-scrolled {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.35) !important;
}

/* VERY IMPORTANT: Prevent header from trapping fullscreen mobile menu */
body.has-modal-open header.wp-block-template-part,
body:has(.is-menu-open) header.wp-block-template-part {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    z-index: 99999 !important;
}

/* Global Logo Constraints (Desktop & Mobile) */
.wp-block-site-logo {
    max-width: 140px !important;
    display: flex !important;
    align-items: center !important;
}
.wp-block-site-logo img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

/* ===== MOBILE HEADER — Logo left, Hamburger right ===== */
@media (max-width: 767px) {
    header.wp-block-template-part {
        position: sticky !important;
        top: 0 !important;
        z-index: 9999 !important;
        transition: transform 0.3s ease !important;
    }
    header.wp-block-template-part.header-hidden {
        transform: translateY(-100%) !important;
        pointer-events: none !important;
    }

    /* Constrain logo on mobile */
    header .wp-block-site-logo {
        max-width: 100px !important;
    }
    
    /* Make sure header columns don't overflow */
    header .wp-block-group.is-content-justification-space-between {
        flex-wrap: nowrap !important;
        padding: 0.5rem 1rem !important;
    }
    header .wp-block-columns {
        flex-wrap: nowrap !important;
        margin-bottom: 0 !important;
    }

    /* ===== BIO PAGE (Sobre mí) Layout for mobile ===== */
    .wp-block-media-text.is-stacked-on-mobile,
    .wp-block-media-text {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
        margin: 2rem 0 !important;
    }
    .wp-block-media-text__media {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        display: flex !important;
        justify-content: center !important;
    }
    .wp-block-media-text__media img {
        width: 100% !important;
        max-width: 360px !important;
        max-height: 280px !important;
        height: auto !important;
        object-fit: cover !important;
        margin: 0 auto !important;
    }
    .wp-block-media-text__content {
        order: 2 !important;
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }

    /* Style the hamburger button */
    .wp-block-navigation__responsive-container-open {
        color: #f4f4f6 !important;
        background: rgba(255, 255, 255, 0.05) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 8px !important;
        padding: 0.5rem !important;
    }
    .wp-block-navigation__responsive-container-open svg {
        fill: currentColor !important;
        width: 24px !important;
        height: 24px !important;
    }


    /* Clean up the mobile menu overlay */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        align-items: center !important;
        justify-content: center !important;
        padding-top: 2rem !important;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
        font-size: 1.2rem !important;
        padding: 1rem !important;
    }
    
    /* Social icons in mobile menu */
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-social-links {
        justify-content: center !important;
        margin-top: 2rem !important;
    }
}

/* ===== BIO PAGE — photo + text layout ===== */
.bio-photo {
    margin: 2rem auto !important;
    max-width: 700px !important;
}
.bio-photo img {
    width: 100% !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5) !important;
}

/* Ensure inner header groups are transparent with NO borders or card paddings */
header.wp-block-template-part .wp-block-group,
header .wp-block-group,
.wp-block-template-part[area="header"] .wp-block-group {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    margin: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    max-width: 100% !important;
}

/* Transparent and clean Navigation Block (integrated with the header) */
.wp-block-navigation {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    padding: 0 !important;
    position: static !important;
    box-shadow: none !important;
    margin: 0 !important;
}
.wp-block-navigation-item a {
    color: rgba(255, 255, 255, 0.8) !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}
.wp-block-navigation-item a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
}

/* Global Link Hover overrides - removes default theme yellow hovers */
a {
    transition: all 0.3s ease !important;
}
a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.3) !important;
}

/* Mobile Menu Open Overlay Glass Styling */
.wp-block-navigation__responsive-container.is-menu-open {
    background: rgba(13, 13, 17, 0.98) !important;
    backdrop-filter: blur(25px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(25px) saturate(180%) !important;
    z-index: 999999 !important;
}
.wp-block-navigation__responsive-container.is-menu-open a {
    font-family: 'Outfit', sans-serif !important;
    color: #ffffff !important;
}
.wp-block-navigation__responsive-container-close {
    color: #ffffff !important;
}
.wp-block-navigation__responsive-container-close svg {
    fill: currentColor !important;
}

/* --- SINGLE LIQUID GLASS CARDS (no double frame) --- */
/*
  Apply glass ONLY to the outermost content containers:
  - .wp-block-group that is a DIRECT child of .entry-content or .wp-site-blocks
  - .wp-block-media-text
  - .wp-block-group.has-background
  Never to .wp-block-columns (which lives inside a group, causing double frames)
*/

.entry-content > .wp-block-group,
.wp-site-blocks > .wp-block-group:not(header .wp-block-group):not(footer .wp-block-group),
.wp-block-post-content > .wp-block-group,
.wp-block-media-text,
.wp-block-group.has-background:not(header .wp-block-group):not(footer .wp-block-group) {
    background: rgba(255, 255, 255, 0.005) !important;
    backdrop-filter: blur(6px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(130%) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 24px !important;
    padding: 2.5rem !important;
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.10),
        inset 0 -1px 0 rgba(0, 0, 0, 0.15) !important;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

/* Everything INSIDE a glass card is transparent - no double frame */
.entry-content > .wp-block-group *,
.wp-block-group.has-background > *,
.wp-block-media-text .wp-block-media-text__content {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Restore padding/margin for content blocks INSIDE cards */
.entry-content > .wp-block-group p,
.entry-content > .wp-block-group h1,
.entry-content > .wp-block-group h2,
.entry-content > .wp-block-group h3,
.entry-content > .wp-block-group ul,
.entry-content > .wp-block-group ol {
    margin-bottom: 1rem !important;
}
.entry-content > .wp-block-group .wp-block-columns {
    display: flex !important;
    gap: 2rem !important;
}

/* Hover lift only on outer cards */
.entry-content > .wp-block-group:hover,
.wp-block-media-text:hover,
.wp-block-group.has-background:not(header .wp-block-group):not(footer .wp-block-group):hover {
    transform: translateY(-4px);
    border-color: rgba(245, 158, 11, 0.18) !important;
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.15),
        0 0 0 1px rgba(245, 158, 11, 0.06) !important;
}

/* Images Premium Shadow & Zoom */
.wp-block-image img,
.wp-block-media-text__media img {
    border-radius: 16px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}
.wp-block-image.alignfull {
    max-width: 100vw !important;
    overflow: hidden !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.wp-block-image:hover img,
.wp-block-media-text__media:hover img {
    transform: scale(1.025);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6) !important;
}

/* Buttons (Apple Premium Dark Glass Style with Amber/Yellow Borders) */
.wp-block-button__link,
.wp-element-button,
.wpcf7-submit,
#cn-accept-cookie.cn-button {
    background: #000000 !important;
    border: 1px solid #f59e0b !important;
    border-radius: 50px !important;
    padding: 14px 32px !important;
    color: #f59e0b !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: 
        0 8px 20px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.wpcf7-submit:hover,
#cn-accept-cookie.cn-button:hover {
    transform: translateY(-3px) scale(1.02);
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #000000 !important;
    box-shadow: 
        0 12px 28px rgba(245, 158, 11, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    text-shadow: none !important;
}

/* Accordion (Apilables) Biography Styling */
.wp-block-accordion {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Prevent double frame if accordion is wrapped in a group */
.wp-block-group:has(.wp-block-accordion) {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.wp-block-accordion-item {
    background: rgba(255, 255, 255, 0.01) !important;
    backdrop-filter: blur(6px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(6px) saturate(130%) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 16px !important;
    margin-bottom: 16px !important;
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.wp-block-accordion-item:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

.wp-block-accordion-heading {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.wp-block-accordion-heading__toggle {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    padding: 22px 28px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}
.wp-block-accordion-heading__toggle:hover {
    color: #ffffff !important;
}

.wp-block-accordion-heading__toggle-title {
    display: flex !important;
    align-items: center !important;
}
.wp-block-accordion-heading__toggle-title strong {
    font-weight: 600 !important;
}

/* Custom Accordion toggle icons styling */
.wp-block-accordion-heading__toggle-icon {
    font-size: 1.4rem !important;
    font-weight: 300 !important;
    color: #ffffff !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    order: 2 !important; /* Move icon to the right side */
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 50% !important;
}

/* Accordion open state styling */
.wp-block-accordion-item.is-open,
.wp-block-accordion-item.is-active,
.wp-block-accordion-item.active,
.wp-block-accordion-item[open],
.wp-block-accordion-item.open {
    background: rgba(28, 28, 30, 0.55) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-item.is-active .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-item.active .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-item[open] .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-item.open .wp-block-accordion-heading__toggle-icon {
    transform: rotate(45deg) !important;
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

/* Accordion Panel Content */
.wp-block-accordion-panel {
    background: rgba(0, 0, 0, 0.2) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 28px 32px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 300 !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
}

/* Make header and footer full width (100x100) */
header .wp-block-group, footer .wp-block-group,
header .alignwide, footer .alignwide,
header .alignfull, footer .alignfull {
    max-width: 100% !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}
@media (max-width: 767px) {
    header .wp-block-group, footer .wp-block-group,
    header .alignwide, footer .alignwide,
    header .alignfull, footer .alignfull {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* White Separation lines */
hr.wp-block-separator {
    background-color: rgba(255, 255, 255, 0.3) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: rgba(255, 255, 255, 0.3) !important;
    opacity: 1 !important;
}

/* Separation lines */
.wp-block-separator {
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    max-width: 100px !important;
    margin: 3.5rem auto !important;
}

/* --- APPLE GLASS CONTACT FORM --- */
.wpcf7 {
    width: 100% !important;
    max-width: 650px !important;
    margin: 0 auto !important;
}

.wpcf7-form p {
    margin-bottom: 24px !important;
    position: relative !important;
}

.wpcf7-form label {
    display: block !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    transition: all 0.3s ease !important;
}

.wpcf7-form label:focus-within {
    color: #ffffff !important;
}

.wpcf7-form-control-wrap {
    display: block !important;
    margin-top: 4px !important;
}

.wpcf7-text, 
.wpcf7-textarea {
    width: 100% !important;
    background: rgba(18, 18, 20, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 
        inset 0 2px 5px rgba(0, 0, 0, 0.4),
        0 1px 0 rgba(255, 255, 255, 0.05) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
}

.wpcf7-text:hover, 
.wpcf7-textarea:hover {
    background: rgba(25, 25, 30, 0.7) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

.wpcf7-text:focus, 
.wpcf7-textarea:focus {
    background: rgba(30, 30, 35, 0.8) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 
        0 0 0 4px rgba(255, 255, 255, 0.05),
        inset 0 2px 5px rgba(0, 0, 0, 0.4) !important;
    outline: none !important;
}

/* Specific placeholder styling */
.wpcf7-text::placeholder, 
.wpcf7-textarea::placeholder {
    color: rgba(255, 255, 255, 0.3) !important;
}

/* Contact Form 7 Response Output */
.wpcf7-response-output {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    background: rgba(18, 18, 20, 0.6) !important;
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.95rem !important;
    margin: 20px 0 0 0 !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* Spinner validation layout fixes */
.wpcf7 .wpcf7-spinner {
    background-color: #ffffff !important;
    margin: 0 auto !important;
    display: block !important;
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* --- APPLE GLASS COOKIE NOTICE --- */
#cookie-notice {
    background: rgba(20, 20, 25, 0.85) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.4) !important;
    padding: 1rem 2rem !important;
}

#cookie-notice .cookie-notice-container {
    max-width: 1000px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.9rem !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

#cn-accept-cookie.cn-button {
    background: #000000 !important;
    border: 1px solid #f59e0b !important;
    color: #f59e0b !important;
    text-transform: uppercase !important;
    border-radius: 30px !important;
    padding: 10px 24px !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}

#cn-accept-cookie.cn-button:hover {
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #000000 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(245, 158, 11, 0.3) !important;
}

/* Footer styling */
footer, .wp-block-template-part[area="footer"] {
    background: #09090b !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 4rem 2rem !important;
    text-align: center !important;
}
footer p, footer a {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}
footer a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
}

/* Footer Site Title / Copyright Modern Typography */
.wp-block-site-title {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Force footer texts into separate centered lines */
footer .wp-block-group.is-layout-flex {
    display: block !important;
    text-align: center !important;
}

footer .wp-block-site-title,
footer p.wp-block-paragraph {
    display: block !important;
    font-size: 0.75rem !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin: 4px auto !important;
    color: rgba(255, 255, 255, 0.6) !important;
    white-space: nowrap !important;
}

/* @barrosodigital link brighter */
footer p.wp-block-paragraph a {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.5) !important;
    opacity: 1 !important;
    letter-spacing: 0.5px !important;
}

.wp-block-site-title a {
    color: rgba(255, 255, 255, 0.45) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    font-weight: 400 !important;
}

.wp-block-site-title a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.3) !important;
}

/* Biography page text line reduction on mobile devices */
@media (max-width: 767px) {
    .page-id-165 p:not(.has-large-font-size) {
        font-size: 0.85rem !important;
        line-height: 1.55 !important;
        letter-spacing: -0.015em !important;
    }
}

/* ===== FIX: Remove bottom white gap caused by empty blocks ===== */

/* Hide empty paragraph blocks — using min-height trick since :empty doesn't match whitespace-only */
.wp-block-paragraph:empty,
p.wp-block-paragraph:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* Target paragraphs that only contain whitespace (via CSS hack with opacity 0 height 0) */
.entry-content > p:last-child:not(:first-child),
.wp-block-post-content > p:last-child {
    /* If the last p in content is visually empty, collapse it */
}

/* Hide empty group/column containers */
.wp-block-group:empty,
.wp-block-column:empty,
.wp-block-columns:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

/* Remove any large bottom margin/padding from the main content area */
main, .wp-site-blocks > main, #main, .site-main {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Ensure no background bleed below footer */
.wp-site-blocks {
    background: transparent !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* === FOOTER OVERRIDES — kill all inline paddings === */

/* The outer footer group (the one with inline padding-top:8rem / 0rem) */
footer.wp-block-template-part .wp-block-group:first-child,
footer.wp-block-template-part > div:first-child {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}

/* All wp-block-group inside footer — zero out any inline padding */ 
footer .wp-block-group {
    padding-top: 0 !important;
}

/* Only the innermost flex group (the one that has the logo + copyright) gets our padding */
footer .wp-block-group.is-layout-flex[style*="padding"] {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

/* Kill inline padding-top on ALL divs inside footer */
footer div[style*="padding-top"] {
    padding-top: 0 !important;
}
footer div[style*="padding-bottom"] {
    padding-bottom: 0 !important;
}

/* The footer logo */
footer .wp-block-site-logo,
footer .footer-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto 0.75rem auto !important;
}
footer .wp-block-site-logo a,
footer .footer-logo a {
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
}
footer .wp-block-site-logo img {
    max-height: 52px !important;
    width: auto !important;
    opacity: 0.75 !important;
    filter: brightness(10) !important; /* Make dark logo white */
    transition: opacity 0.3s ease, filter 0.3s ease !important;
}
footer .wp-block-site-logo img:hover {
    opacity: 1 !important;
    filter: brightness(10) !important;
}

/* --- EXHAUSTIVE DESIGN UPDATE --- */

/* 1. Global Layout Fixes (Box Sizing & Max Width) */
.wp-site-blocks, .wp-site-blocks *, .wp-block-group, .wp-block-group *, .wp-block-column, .wp-block-columns {
    box-sizing: border-box !important;
}

/* Fix text boxing and overflowing frames on mobile */
@media (max-width: 767px) {
    .wp-block-post-content > .wp-block-group,
    .wp-block-media-text,
    .wp-block-group.has-background {
        padding: 1.25rem !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
}

/* 2. Exhaustive Accordion (Apilables) Redesign */
.wp-block-group:has(.wp-block-accordion) {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.wp-block-accordion-item {
    background: rgba(255, 255, 255, 0.02) !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    margin-bottom: 1.2rem !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden !important;
}

.wp-block-accordion-item:hover {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 193, 7, 0.3) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.3) !important;
}

.wp-block-accordion-item .wp-block-accordion-heading {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wp-block-accordion-item .wp-block-accordion-heading__toggle {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    padding: 1.25rem 1.5rem !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

.wp-block-accordion-item .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none !important;
    color: #ffc107 !important;
}

.wp-block-accordion-item .wp-block-accordion-heading__toggle-icon {
    color: #ffc107 !important;
    font-size: 1.5rem !important;
    transition: transform 0.3s ease !important;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
    transform: rotate(45deg) !important;
}

.wp-block-accordion-item .wp-block-accordion-panel {
    background: rgba(0,0,0,0.2) !important;
    border-top: 1px solid rgba(255,255,255,0.05) !important;
    padding: 1.5rem !important;
    color: rgba(255,255,255,0.85) !important;
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    border-radius: 0 0 16px 16px !important;
}

/* Fix inline borders imposed by WP */
.wp-block-accordion-heading[style*="border-color"] {
    border-color: transparent !important;
    border-style: none !important;
}

/* 3. Exhaustive Footer Redesign */
footer, .wp-block-template-part[area="footer"] {
    background: #050507 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    position: relative !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

footer::before {
    content: "" !important;
    position: absolute !important;
    top: -1px !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(255,193,7,0.3), transparent) !important;
    z-index: 10 !important;
}

footer .wp-block-site-logo {
    margin-bottom: 2rem !important;
}

footer .wp-block-site-logo img {
    max-height: 60px !important;
    opacity: 0.8 !important;
    filter: brightness(10) !important;
    transition: all 0.3s ease !important;
}
footer .wp-block-site-logo img:hover {
    opacity: 1 !important;
    transform: scale(1.05) !important;
}

footer .wp-block-site-title,
footer p.wp-block-paragraph {
    display: block !important;
    text-align: center !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.4) !important;
    margin: 10px auto !important;
    white-space: normal !important; 
}

footer p.wp-block-paragraph a {
    color: #ffc107 !important;
    font-weight: 500 !important;
    text-shadow: none !important;
    transition: all 0.3s ease !important;
    letter-spacing: 0.1em !important;
}

footer p.wp-block-paragraph a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 12px rgba(255, 193, 7, 0.8) !important;
}

footer .wp-block-group.is-layout-flex {
    padding: 0 !important;
}



/* ===================================================
   MASTER WIDE EDITORIAL LAYOUT (OVERRIDE 650px LIMIT)
   =================================================== */

:root {
    --wp--style--global--content-size: 1320px !important;
    --wp--style--global--wide-size: 1440px !important;
}

main#wp--skip-link--target {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.entry-content.wp-block-post-content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 2rem !important;
    box-sizing: border-box !important;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.entry-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 1360px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.alignwide,
.wp-block-media-text.alignwide,
.wp-block-group.alignwide {
    max-width: 1360px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ===================================================
   HERO HEADER: DYNAMIC, WIDE, LEFT-ALIGNED (NOT CENTERED)
   =================================================== */
.bio-hero-header {
    text-align: left !important;
    padding: 3rem 0 1rem 0 !important;
    margin-bottom: 2rem !important;
    width: 100% !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.bio-hero-kicker {
    color: #ffc107 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    margin: 0 0 0.5rem 0 !important;
    text-align: left !important;
}

.bio-hero-title {
    color: #ffffff !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(2.5rem, 5vw, 3.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 0.75rem 0 !important;
    text-align: left !important;
    text-shadow: 0 4px 20px rgba(0,0,0,0.6) !important;
}

.bio-hero-subtitle {
    color: rgba(255, 255, 255, 0.75) !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    margin: 0 0 1.5rem 0 !important;
    text-align: left !important;
}

.bio-hero-line {
    width: 100% !important;
    height: 2px !important;
    background: linear-gradient(90deg, #ffc107 0%, rgba(255, 193, 7, 0.5) 35%, rgba(255, 255, 255, 0.1) 100%) !important;
    margin-top: 1rem !important;
    margin-bottom: 2.5rem !important;
}

/* ===================================================
   EXPANSIVE WIDE CARDS FOR SECTIONS (UTILIZING FULL PAGE)
   =================================================== */
.wp-block-media-text.alignwide {
    background: rgba(255, 255, 255, 0.015) !important;
    backdrop-filter: blur(12px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 20px !important;
    padding: 3rem 3.5rem !important;
    margin: 2.5rem auto !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    box-sizing: border-box !important;
    display: grid !important;
    align-items: center !important;
    column-gap: 4rem !important;
    row-gap: 2rem !important;
    width: 100% !important;
    max-width: 1360px !important;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
}

.wp-block-media-text.alignwide:hover {
    border-color: rgba(255, 193, 7, 0.3) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55) !important;
    transform: translateY(-2px);
}

/* Column distribution: 62% text, 38% photo */
.wp-block-media-text.alignwide:not(.has-media-on-the-right) {
    grid-template-columns: minmax(280px, 38%) 1fr !important;
}
.wp-block-media-text.alignwide.has-media-on-the-right {
    grid-template-columns: 1fr minmax(280px, 38%) !important;
}

/* Photo column */
.wp-block-media-text.alignwide .wp-block-media-text__media {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.wp-block-media-text.alignwide .wp-block-media-text__media img {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 480px !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
    display: block !important;
}

.wp-block-media-text.alignwide .wp-block-media-text__media img:hover {
    transform: scale(1.02) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 193, 7, 0.35) !important;
}

/* Text column */
.wp-block-media-text.alignwide .wp-block-media-text__content {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    text-align: left !important;
}

/* Section Title: inside the text column, left-aligned */
.bio-section-title,
.wp-block-media-text__content .bio-section-title,
.wp-block-heading.bio-section-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    color: #ffc107 !important;
    text-transform: none !important;
    margin: 0 0 1.25rem 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    text-align: left !important;
}

.bio-section-title::before,
.wp-block-media-text__content .bio-section-title::before {
    content: '' !important;
    display: inline-block !important;
    width: 4px !important;
    height: 1.4rem !important;
    background: #ffc107 !important;
    border-radius: 2px !important;
    box-shadow: 0 0 10px rgba(255, 193, 7, 0.6) !important;
    flex-shrink: 0 !important;
}

.wp-block-media-text.alignwide .wp-block-media-text__content p {
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    margin-bottom: 1rem !important;
    text-align: left !important;
}

.wp-block-media-text.alignwide .wp-block-media-text__content p:last-child {
    margin-bottom: 0 !important;
}

.wp-block-media-text.alignwide .wp-block-media-text__content strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Responsive Mobile Rules */
@media (max-width: 900px) {
    .entry-content.wp-block-post-content {
        padding: 0 1rem !important;
    }
    
    .wp-block-media-text.alignwide {
        padding: 2rem 1.25rem !important;
        margin: 1.75rem 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
    }
    
    .wp-block-media-text.alignwide .wp-block-media-text__media {
        order: 1 !important;
        width: 100% !important;
    }
    
    .wp-block-media-text.alignwide .wp-block-media-text__media img {
        max-width: 100% !important;
        max-height: 320px !important;
    }
    
    .wp-block-media-text.alignwide .wp-block-media-text__content {
        order: 2 !important;
        width: 100% !important;
    }
    
    .bio-section-title {
        font-size: 1.25rem !important;
    }
    
    .bio-hero-header {
        padding: 1.5rem 0 1rem 0 !important;
    }
}


/* ===================================================
   MASTER FOOTER: ORDERED, CENTERED & BARROSO DIGITAL
   =================================================== */
footer, .wp-block-template-part[area="footer"], footer.wp-block-template-part {
    background: #000000 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    position: relative !important;
    padding: 3rem 1rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

footer::before {
    content: '' !important;
    position: absolute !important;
    top: -1px !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.4), transparent) !important;
    z-index: 10 !important;
}

footer .wp-block-group,
footer .wp-block-columns,
footer .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* 1. Logo Centered on top */
footer .wp-block-site-logo,
footer .footer-logo {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto 1.5rem auto !important;
}

footer .wp-block-site-logo a,
footer .footer-logo a {
    display: inline-flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
}

footer .wp-block-site-logo img,
footer .footer-logo img {
    max-height: 55px !important;
    width: auto !important;
    opacity: 0.85 !important;
    filter: brightness(10) !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    margin: 0 auto !important;
}

footer .wp-block-site-logo img:hover,
footer .footer-logo img:hover {
    opacity: 1 !important;
    transform: scale(1.04) !important;
}

/* 2. Copyright & Credit lines: clean, centered, distinct */
footer p,
footer .wp-block-site-title,
footer .footer-copyright-text,
footer .footer-credit-text {
    display: block !important;
    text-align: center !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.78rem !important;
    line-height: 1.6 !important;
    letter-spacing: 0.05em !important;
    margin: 0.35rem auto !important;
    color: rgba(255, 255, 255, 0.5) !important;
    width: 100% !important;
}

footer p a,
footer .wp-block-site-title a,
footer .footer-credit-text a {
    color: #ffc107 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    transition: color 0.3s ease, text-shadow 0.3s ease !important;
}

footer p a:hover,
footer .footer-credit-text a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255, 193, 7, 0.8) !important;
}
