/*
Theme Name: Beyond Gender
Theme URI: https://beyondgender.org
Author: I4Policy Engineering
Author URI: https://beyondgender.org
Description: A custom React-based theme for the Beyond Gender initiative.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beyondgender
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;
}
/* New React Site Header is handled via src/blocks/site-header styles */

/* Overlap Group Styling */
.hero-overlap-group {
    position: relative;
    z-index: 10;
}

/* Footer Styles */
.site-footer {
    font-family: 'Montserrat', sans-serif;
}

.footer-tagline-wrapper {
    margin-top: 20px;
    margin-bottom: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding: 10px 0;
    max-width: fit-content;
}

.footer-heading {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 25px;
    text-transform: none;
}

.footer-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background-color: var(--wp--preset--color--yellow);
}

.footer-heading.is-aligned-right::after {
    left: auto;
    right: 0;
}

.footer-list {
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: right;
}

.footer-list li {
    margin-bottom: 12px;
    padding-left: 0 !important;
}

.footer-list li a {
    color: #ffffff !important;
    text-decoration: none !important;
    opacity: 0.8;
    transition: opacity 0.2s ease;
    font-weight: 400;
    display: inline-block;
}

/* Footer brand logo sizing */
.site-footer .footer-brand-logo img {
    max-width: 220px;
    width: 100% !important;
    height: auto;
}

.footer-list li a:hover {
    opacity: 1;
}

.footer-social-links.wp-block-social-links {
    margin: 0 !important;
    padding: 0 !important;
}

.footer-social-links .wp-social-link {
    border: 1.5px solid var(--wp--preset--color--yellow) !important;
    border-radius: 4px !important;
    background-color: transparent !important;
    transition: background-color 0.2s ease;
}

.footer-social-links .wp-social-link:hover {
    background-color: rgba(241, 192, 60, 0.1) !important;
}

.footer-social-links .wp-social-link a {
    padding: 8px !important;
}

.footer-social-links .wp-social-link svg {
    fill: #ffffff !important;
    width: 20px !important;
    height: 20px !important;
}

.has-yellow-color {
    color: var(--wp--preset--color--yellow) !important;
}

.cc-logo {
    margin-bottom: 15px;
}

.cc-logo img {
    display: block;
    margin: 0 auto;
}

/* Force Full Width Footer */
.site-footer,
.site-footer .alignfull {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

.site-footer .wp-block-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Old Styles Removed - Moved to Block SCSS */

/* ============================================================
   UTILITIES
   ============================================================ */
.shadow-sm {
    box-shadow: 5px 5px 0px #000000;
}

.bg-card {
    background: #ffffff;
    padding: 48px;
    border-radius: 24px;
    border: 1px solid #EAEAEA;
    color: #4E4F4F;
}

.bg-card .wp-block-columns {
    margin: 0;
}

@media (max-width: 768px) {
    .bg-card {
        padding: 28px;
    }
}

/* Base Alignment System */
.alignwide {
    max-width: var(--wp--style--global--wide-size) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: calc(100% - var(--wp--preset--spacing--50) * 2) !important;
}

@media (max-width: 768px) {
    .alignwide {
        width: calc(100% - var(--wp--preset--spacing--30) * 2) !important;
    }
}

.bg-accent-line {
    width: 60px;
    height: 6px;
    background-color: #F1C03C;
    margin-top: 16px;
    margin-bottom: 48px;
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Scenario feedback (Contact Form 7) */
.bg-scenario-tab .bg-tab-card {
    background: #ffffff;
}

.bg-scenario-tab .wp-block-columns {
    margin-bottom: 0;
}

.bg-scenario-tab .bg-scenario-icon {
    margin: 0;
}

.bg-scenario-tab .bg-scenario-icon img {
    width: 200px;
    height: 200px;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 18px;
    padding: 14px;
    border: 1px solid rgba(0, 0, 0, 0.12);
}

.bg-scenario-tab .bg-scenario-image img {
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    width: 100%;
    height: auto;
    display: block;
}

.bg-scenario-tab .bg-scenario-prompt {
    margin-top: 18px;
    padding: 14px 14px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 14px;
    border: 1px dashed rgba(0, 0, 0, 0.28);
}

.bg-scenario-tab .bg-scenario-prompt p {
    margin: 0;
    color: #4E4F4F;
}

.bg-scenario-tab .bg-scenario-feedback-strip {
    margin-top: 28px;
    margin-left: -60px;
    margin-right: -60px;
    padding: 28px 60px 34px;
    background: #EAEAEA;
    border-top: 1px solid rgba(0, 0, 0, 0.10);
}

.bg-scenario-tab .bg-scenario-feedback-strip .wpcf7 {
    max-width: 100%;
}

.bg-scenario-tab .bg-scenario-feedback-strip h4 {
    margin-top: 0;
}

.bg-scenario-tab .wpcf7 form {
    margin-top: 16px;
}

.bg-scenario-tab .wpcf7 label {
    display: block;
    font-weight: 700;
    color: #000000;
    margin-bottom: 8px;
}

.bg-scenario-tab .wpcf7 input[type="text"],
.bg-scenario-tab .wpcf7 input[type="email"],
.bg-scenario-tab .wpcf7 select,
.bg-scenario-tab .wpcf7 textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1.5px solid #000000;
    border-radius: 14px;
    padding: 14px 14px;
    font-size: 1rem;
    line-height: 1.4;
    background: #ffffff;
}

.bg-scenario-tab .wpcf7 textarea {
    min-height: 160px;
    resize: vertical;
}

.bg-scenario-tab .wpcf7 input[type="text"]:focus,
.bg-scenario-tab .wpcf7 input[type="email"]:focus,
.bg-scenario-tab .wpcf7 select:focus,
.bg-scenario-tab .wpcf7 textarea:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(0, 174, 239, 0.18);
}

.bg-scenario-tab .wpcf7 .wpcf7-submit {
    margin-top: 16px;
    background: #00AEEF;
    color: #ffffff;
    border: 1.5px solid #000000;
    border-radius: 999px;
    padding: 14px 22px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 4px 4px 0px #000000;
    transition: transform 120ms ease, box-shadow 120ms ease;
}

.bg-scenario-tab .wpcf7 .wpcf7-submit:hover {
    transform: translate(-1px, -1px);
    box-shadow: 6px 6px 0px #000000;
}

.bg-scenario-tab .wpcf7 .wpcf7-submit:active {
    transform: translate(0, 0);
    box-shadow: 4px 4px 0px #000000;
}

.bg-scenario-tab .wpcf7 .wpcf7-spinner {
    margin-left: 10px;
}

.bg-scenario-tab .wpcf7 .wpcf7-response-output {
    margin: 16px 0 0;
    border: 1.5px solid #000000;
    border-radius: 14px;
    padding: 14px;
}

@media (max-width: 768px) {
    .bg-scenario-tab .bg-tab-card {
        padding: 30px;
    }

    .bg-scenario-tab .bg-scenario-feedback-strip {
        margin-left: -30px;
        margin-right: -30px;
        padding-left: 30px;
        padding-right: 30px;
    }

    .bg-scenario-tab .bg-scenario-icon img {
        width: 160px;
        height: 160px;
    }
}

/* Align content inside nutshell-grid with other blocks */
.beyondgender-nutshell-grid .wp-block-group.alignwide {
    max-width: var(--wp--style--global--wide-size) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
