/*
 Theme Name:   Twenty Twenty-Five Child
 Theme URI:    http://example.com/twenty-twenty-five-child/
 Description:  A child theme for Twenty Twenty-Four.
 Author:       Your Name
 Author URI:   http://example.com
 Template:     twentytwentyfive
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         block-editor, accessibility-ready, custom-colors
 Text Domain:  twentytwentyfive-child
*/




/* GLOBAL RESET */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}


/* SUPER-RELIABLE STICKY FOOTER LAYOUT */
.stickypage-wrapper {
    display: grid;
    grid-template-rows: 1fr auto; /* content grows | footer sticks */
    min-height: 100vh;
    width: 100%;
}

/* MAIN CONTENT */
.stickypage-content {
    padding: 0;
    margin: 0;
}

/* CUSTOM CONTENT AREA FROM YOUR TEMPLATE */
.site-content {
    width: 100%;
}

.custom-main-content {
    width: 100%;
}

/* FOOTER */
.povestasi-footer {
    background-color: #221732;
    font-family: sans-serif;
    width: 100%;
    margin-top: auto; /* Backup push to bottom */
    padding-top: 3rem;   /* Standard size */
    padding-bottom: 6rem; /* Extra large size */
}

.povestasi-footer a:hover {
    opacity: 0.8;
    text-decoration: underline !important;
}

.povestasi-footer * {
    color: white !important;
}


/*navbar*/



@media (min-width: 992px) { 
    .custom-fixed-nav {
        height: 60px;      /* Set your desired height here */
        max-height: 60px;
        overflow: visible; /* Allows dropdowns to spill out if you have submenus */
    }

    /* Center the menu links vertically within that height */
    .custom-fixed-nav .navbar-nav {
        height: 100%;
        display: flex;
        align-items: center;
    }

    /* Optional: Ensure logo fits inside the height */
    .custom-fixed-nav .navbar-brand img {
        max-height: 50px; /* Slightly smaller than the nav height */
        width: auto;
    }
}

/* 2. GENERAL FIX: Make links look good (as discussed before) */
.navbar-nav li {
    list-style: none;
}
.navbar-nav li a {
    text-decoration: none;
    color: rgba(0,0,0,0.6);
    padding: 0.5rem 1rem;
    display: block;
}




/*section*/
.custom-purple-btn {
    background-color: #6211DB !important; /* A nice purple color */
    border-color: #6211DB !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

.custom-purple-btn:hover,
.custom-purple-btn:focus {
    background-color: #6A1FB8 !important; /* Slightly darker on hover */
    border-color: #6A1FB8 !important;
    color: #fff !important;
}



.custom-crop-container {
    position: relative;
    background-image: url('https://images.squarespace-cdn.com/content/v1/6373666d5c1c2716a469e276/ade36aaa-1ed1-44db-a40d-a162f0321e97/mndcbtr_about.jpg?format=1500w');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* 1. SMOOTH TRANSITION: This animates the height change */
    transition: height 0.5s ease-in-out, min-height 0.5s ease-in-out; 
    
    display: flex;
    flex-direction: column;
}

/* 3. MOBILE SPECIFIC (Until 991px) */
@media (max-width: 991.98px) {
    .custom-crop-container {
        /* 2. PIXEL-BY-PIXEL SCALING: 
           Instead of a fixed 350px, we use '60vw' (60% of screen width).
           This ensures the image shrinks/grows smoothly as you drag the window. */
        height: 60vw; 
        
        /* Optional: Prevent it from getting too short on tiny screens */
        min-height: 250px; 
        
        margin-bottom: 2rem;
    }
}

/* 4. DESKTOP SPECIFIC */
@media (min-width: 992px) {
    .custom-crop-container {
        /* Matches the text column height */
        height: 100%; 
        
        /* Reset min-height for desktop shape */
        min-height: 400px; 
    }
}


/*hero section*/

/* HERO HEADER CSS (No Navbar Styles) */
.hero-header {
    position: relative;
    background-image: url('https://images.squarespace-cdn.com/content/v1/6373666d5c1c2716a469e276/c9d2a0fa-0ef1-4676-9bae-2773f50a8da2/mndcbtr_history.jpg?format=2500w');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* Adjust height as needed */
    height: 65vh; 
    
    display: flex;
    flex-direction: column;
}



.banner-home {
    position: relative;
    background-image: url('https://images.squarespace-cdn.com/content/v1/6373666d5c1c2716a469e276/2f0ac52d-08cd-4a5e-ae53-a752b4958b5e/mndcbtr_drone.jpg?format=1500w');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* Adjust height as needed */
    height: 55vh; 
    
    display: flex;
    flex-direction: column;
}



.hero-header::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4); /* Dark Overlay */
    z-index: 1;
}

.hero-header .container {
    position: relative;
    z-index: 2;
}

/* Optional: Fix Menu Colors for White Background */
.navbar-light .navbar-nav .nav-link {
    color: rgba(0,0,0,0.65); /* Dark text */
}
.navbar-light .navbar-nav .nav-link:hover {
    color: #000;
}


/* Custom CSS for Navbar Toggler */
@media (max-width: 991.98px) {
    /* Target the hamburger button on screens smaller than large (lg) */
    .navbar-toggler {
        /* Remove the border */
        border: none !important;
        /* Remove the default box-shadow/focus outline */
        box-shadow: none !important; 
    }

    /* Optional: Remove any default hover/focus background color */
    .navbar-toggler:focus {
        background-color: transparent !important;
    }
}


/*echipa*/


.image-zoom-container {
    /* Required to contain the image zoom */
    overflow: hidden; 
    /* Required to make the <a> tag act as a block element */
    display: block; 
}

/* 2. Style the image within the container */
.image-zoom-container img {
    /* Smooth transition for the zoom effect */
    transition: transform 0.5s ease-in-out; 
    /* Ensures the image takes up the full space */
    width: 100%;
    height: auto;
}

/* 3. Define the zoom action on hover */
.image-zoom-container:hover img {
    /* Scale the image up by 5% */
    transform: scale(1.1); 
}



/*team-member*/



/* --- Custom CSS for Profile Card Section (Bootstrap) --- */

.circular-image-container {
    /* Sets the default size (e.g., 50vw wide, which is half the screen width) */
    width: 60vw;
    height: 60vw; 
    
    border-radius: 50%; 
    overflow: hidden; 
    
    
}

/* Define the size for larger screens (e.g., 992px wide, which is Bootstrap's 'lg' breakpoint) */
@media (min-width: 992px) {
    /* Set height to 35vh (35% of viewport height) and width to maintain circle */
    .circular-image-container {
        width: 40vh;
        height: 40vh; 
    }
}

/* Style the image inside the circular container */
.circular-image-container img {
    width: 100%; 
    height: 100%;
    object-fit: cover; /* Crops the image nicely to fit the circle */
}

/* Specific styling for the main name to match the desired look */
.main-name {
    font-size: 3rem; 
    font-weight: 900; 
    text-transform: uppercase;
}

/* Styling for the primary description line */
.primary-description {
    font-size: 1.5rem; 
    font-weight: 700;
}

/* Styling for the star separators */
.star-separator {
    color: #6f42c1; /* Example purple color for stars */
}

/*partners*/



/* --- Custom CSS for Partners Section (Bigger Images) --- */

/* Style for individual logo containers */
.partner-logo-wrapper {
    background-color: #dadada; 
    border-radius: 0.5rem; 
    padding: 1rem; 
    height: 200px; /* <--- INCREASED HEIGHT for bigger images */
    width: 300px;
    display: flex; 
    align-items: center; 
    justify-content: center; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); 
    transition: transform 0.2s ease-in-out; 
}

.partner-logo-wrapper:hover {
    transform: translateY(-3px); 
}

/* Ensure images within the wrapper fit correctly */
.partner-logo-wrapper img {
    max-width: 95%; /* <--- SLIGHTLY INCREASED max-width */
    max-height: 100%; 
    height: auto; 
    width: auto; 
    display: block; 
}

/* Style for the main partner headings (no change needed here) */
.partners-heading {
    font-size: 2.5rem; 
    font-weight: 900; 
    text-align: center;
    margin-bottom: 2rem;
}

/* Style for the sub-headings (no change needed here) */
.partners-subheading {
    font-size: 1.8rem; 
    font-weight: 800; 
    text-align: center;
    margin-bottom: 2.5rem; 
    margin-top: 3rem; 
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .partners-heading {
        font-size: 2rem;
    }
    .partners-subheading {
        font-size: 1.5rem;
    }
    .partner-logo-wrapper {
        height: 120px; /* <--- Adjusted height for mobile as well */
    }
}



/*contact*/


/* --- Custom CSS for Contact Section --- */

/* Main section padding and background */
.contact-section {
    background-color: #fff; /* White background */
}

/* Main "Contact" heading */
.contact-section .main-contact-heading {
    font-size: 3rem;
    font-weight: 900;
    color: #212529;
    margin-bottom: 1.5rem;
}

/* Introductory text */
.contact-section .intro-text {
    font-size: 1.1rem;
    color: #6c757d;
    margin-bottom: 2rem;
}

/* General style for contact details */
.contact-section .contact-detail {
    font-size: 1.1rem;
    color: #343a40;
    margin-bottom: 0.5rem;
    display: block; /* Ensures each detail is on its own line */
    text-decoration: none; /* For links */
}

.contact-section .contact-detail:hover {
    color: #6f42c1; /* Hover effect for contact links */
}

/* Social icons container */
.contact-section .social-icons {
    margin-top: 2rem;
    display: flex; /* Arrange icons in a row */
    gap: 1.2rem; /* Space between icons */
}

/* Individual social icon */
.contact-section .social-icons .icon {
    font-size: 1.8rem; /* Size of the icon */
    color: #212529; /* Default icon color */
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.contact-section .social-icons .icon:hover {
    color: #6f42c1; /* Purple hover effect */
}

/* Override WPForms submit button if necessary to match purple */
/* Adjust this selector based on actual WPForms button class if needed */
.contact-section .wpforms-submit {
    background-color: #6f42c1 !important; /* Your custom purple */
    border-color: #6f42c1 !important; /* Border color to match */
    color: #fff !important;
    font-weight: bold !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 0.25rem !important;
    transition: background-color 0.2s ease-in-out !important;
}

.contact-section .wpforms-submit:hover {
    background-color: #5a36a0 !important; /* Slightly darker purple on hover */
    border-color: #5a36a0 !important;
}

/* Adjustments for WPForms field labels */
.contact-section .wpforms-field-label {
    font-weight: normal; /* Make labels less bold if desired */
    color: #495057; /* Slightly darker label color */
}


/* Responsive adjustments */
@media (max-width: 768px) {
    .contact-section .main-contact-heading {
        font-size: 2.5rem;
    }
    .contact-section .intro-text,
    .contact-section .contact-detail {
        font-size: 1rem;
    }
}


/* events */


/* --- Custom CSS for Events Section (Display Only) --- */

.event-card {
    border: 1px solid #e9ecef; /* Light border for definition */
    border-radius: 0.5rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.event-card:hover {
    transform: translateY(-5px); /* Lift effect on hover */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

.event-card .card-title {
    font-size: 1.5rem;
    color: #212529; /* Dark text for title */
    margin-bottom: 0.5rem;
}

.event-details-list {
    padding-left: 0; /* Remove default list padding */
    margin-bottom: 0; /* No margin at the bottom since there's no button */
    font-size: 0.95rem;
}

.event-details-list li {
    margin-bottom: 0.4rem;
    line-height: 1.4;
    color: #495057; /* Slightly lighter text for details */
}

/* Status text highlight */
.event-status-item .fw-semibold {
    color: #6211DB; /* Highlight the status with the brand color */
}

/* Icons styling (requires FontAwesome to be included in your site) */
.event-details-list li i {
    color: #6211DB; /* Matching the purple button color */
}





/* --- Donation Boxes CSS (Kept) --- */
.custom-purple-bg {
    background-color: #f7f3ff; 
    border-radius: 0.5rem;
    color: #495057; 
}

/* ... (other donation box styles) ... */

/* --- FORM LAYOUT & FIELD STYLES --- */

/* 1. ROW STRUCTURE: SIDE-BY-SIDE FIELDS */
.form-row-half {
    display: flex;
    gap: 40px; 
    margin-bottom: 1.5rem; 
}

.form-row-half > p {
  flex: 1;
  margin: 0; /* remove default p margins */
}



.form-row-half label {
    flex: 1 1 50%;       /* Grow, shrink, base width 50% */
    margin-bottom: 0;
    display: flex;        /* Allows stacking label text + input vertically */
    flex-direction: row; 
    min-width: 200px;     /* Prevents wrapping on wider screens */
}

/* 2. FULL-WIDTH FIELD SPACING (NEWLY ADDED/CONFIRMED) */
/* This rule applies to all labels, setting vertical space for full-width fields */
.wpcf7-form label {
    display: block;
    margin-bottom: 1.5rem; /* Ensures vertical spacing for full-width rows */
}


/* 3. FORM CONTAINER LIMIT (Ensures the whole form is constrained and centered) */
.row.justify-content-center .col-lg-8 > .wpcf7 {
    max-width: 600px; /* **CRITICAL** for consistent width */
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}


/* 4. FIELD VISUALS (Underlines) */
.wpcf7-form-control {
    width: 100%; /* Ensures fields span the full width of their label/container */
    
}

.wpcf7-form-control:not(.wpcf7-checkbox):not(.wpcf7-submit) {
    border: none;
    border-bottom: 1px solid #ced4da; 
    border-radius: 0;
    padding: 0.375rem 0; 
    width: 100%;
    box-shadow: none;
    transition: border-color 0.15s ease-in-out;
}

.wpcf7-form-control:focus {
    border-color: #6211DB; 
    outline: 0;
    box-shadow: none;
}

.wpcf7-textarea {
    min-height: 100px;
    resize: vertical;
    padding: 0.375rem 0 !important;
}

/* 5. CHECKBOX */
.wpcf7-list-item {
    display: block;
    margin-bottom: 0;
}
.wpcf7-list-item-label {
    font-size: 0.95rem;
}


/* 6. SUBMIT BUTTON (Centered and styled) */
.wpcf7-submit {
    display: block !important; 
    margin: 30px auto 0 auto !important; /* Centers the button horizontally */
    
    background-color: #6211DB !important;
    border-color: #6211DB !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: bold !important;
    font-size: medium;
    text-transform: capitalize; 
    width: auto !important; /* Keep it from being full width */
}

.wpcf7-submit:hover {
    background-color: #6A1FB8 !important; 
    border-color: #6A1FB8 !important;
}






/* Update the existing donation-box style */
.donation-box {
    display: flex;       /* Keep this for vertical alignment */
    flex-direction: column; /* Keep this for vertical alignment */
    height: 100%;        /* Keep this to ensure uniform height */
    
    /* Ensure all text inside the box is left-aligned */
    text-align: left !important; /* <-- NEW: Ensures consistent left alignment */
    margin-left: 0.4rem;
    margin-right: 0.4rem;
}

/* Ensure paragraphs have controlled bottom margin */
.donation-box p {
    font-size: 0.95rem;
    margin-bottom: 0.5rem; /* <-- ADJUSTED: Reduced margin after paragraphs */
}

/* Ensure the text content pushes the link down */
.donation-box .donation-link-wrapper {
    margin-top: auto;      /* Keeps the link stuck to the bottom */
    padding-top: 5px;     /* <-- ADJUSTED: Reduced padding above the link */
    text-align: left;      /* <-- NEW: Forces the link to the left */
}

/* Keep your existing donation-link styles */
.donation-link {
    color: #6211DB !important;
    text-decoration: none;
    display: inline-block;
    /* Removed margin-top, as it's now handled by the wrapper */
}


/* PNNR */


/* --- PNRR COMPLIANCE SECTION STYLES --- */

.pnrr-compliance-section {
    background-color: #ffffff !important; /* MIV Recommends white background [cite: 119] */
    position: relative;
    z-index: 10;
}

/* Common Logo Styles */
.pnrr-logo {
    display: inline-block;
    transition: transform 0.2s ease-in-out;
}

.pnrr-logo:hover {
    transform: scale(1.05);
}

/* Specific Sizing to respect hierarchy  */
/* The EU logo usually dictates the height, approx 1.5 ratio */
.pnrr-logo-eu {
    max-height: 80px; 
    width: auto;
}

.pnrr-logo-gov {
    max-height: 80px; /* Gov logo should be visually similar in height */
    width: auto;
}

.pnrr-logo-pnrr {
    max-height: 70px; /* PNRR logo is often wider, so we restrict height slightly less */
    width: auto;
}

/* Responsive adjustments for Mobile */
@media (max-width: 768px) {
    .pnrr-logo-eu, 
    .pnrr-logo-gov, 
    .pnrr-logo-pnrr {
        max-height: 60px;
        margin-bottom: 1.5rem;
    }
}

/* Slogan Styling */
.pnrr-slogan {
    font-size: 1.75rem; /* Adjustable based on design needs */
    color: #000;
}

/* Disclaimer Styling */
.pnrr-disclaimer {
    font-size: 0.85rem;
    line-height: 1.4;
    color: #6c757d; /* Bootstrap muted */
}

/* Links Styling */
.pnrr-links a:hover {
    text-decoration: underline !important;
    color: #6211DB !important; /* Your brand purple for hover state */
}



/* event gallery*/





/* Gallery Grid Styling */
.photo-gallery-grid {
    display: grid;
    /* 2 columns on mobile, 3 on larger screens */
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
}

.photo-gallery-item {
    aspect-ratio: 16 / 9; /* Maintain a consistent aspect ratio for thumbnails */
    overflow: hidden;
    border-radius: 8px;
    transition: transform 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.photo-gallery-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}

.photo-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Lightbox/Modal Styling */
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    /* Hide by default, show when #target is active */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* Show lightbox when its hash anchor is in the URL */
.lightbox:target {
    opacity: 1;
    pointer-events: auto;
}

.lightbox img {
    /* Center the image in the screen */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    max-height: 90%;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s;
}

.lightbox-close:hover {
    color: #6610f2; /* Purple hover */
}



/*contact form 2*/



/* Style the Labels */
.custom-label {
    font-weight: 700; /* Bold text for labels */
    color: #333;      /* Dark grey text */
    font-size: 16px;
    margin-bottom: 5px;
    display: inline-block;
}

/* Style the Red Asterisk */
.required-star {
    color: #d9534f; /* Red color */
    margin-left: 2px;
}

/* Style the Inputs (Name, Email, Message) */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc; /* Light grey border */
    border-radius: 4px;     /* Rounded corners */
    margin-top: 5px;
    font-size: 14px;
    box-sizing: border-box; /* Ensures padding doesn't break layout */
    background-color: #fff;
}

/* Focus state (when you click inside the box) */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
    border-color: #6f42c1; /* Purple border on focus */
    outline: none;
}

/* Style the Submit Button */
.wpcf7 input[type="submit"].custom-purple-btn {
    background-color: #6f42c1; /* The specific purple from your image */
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    padding: 10px 30px;
    border: none;
    border-radius: 5px; /* Slightly rounded button */
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 10px;
}

/* Button Hover Effect */
.wpcf7 input[type="submit"].custom-purple-btn:hover {
    background-color: #5a32a3; /* Darker purple when hovering */
}