/*
Theme Name: Divi Child
Theme URI: https://thstudio.co.uk
Description: Divi Child – Nano Nurseries Reset
Author: thstudio
Template: Divi
Version: 1.0.3
*/

/* =================================================
   Base typography
================================================= */
body,
input,
textarea,
select,
button {
    font-family: 'Figtree', sans-serif;
    color: #333;
    line-height: 1.6;
}

/* =================================================
   Utilities
================================================= */
.nn-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.nn-hidden {
    display: none;
}

/* =================================================
   Links & Buttons
================================================= */
a {
    color: #D4A95F;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* =================================================
   WPUF Account Page – hide billing/subscription
================================================= */
.page-id-33 #wpuf-account-subscription,
.page-id-33 #wpuf-account-billing,
.page-id-33 .wpuf-account-subscription-content,
.page-id-33 .wpuf-account-billing-content,
.page-id-33 .wpuf-account-tabs li a[href*="subscription"],
.page-id-33 .wpuf-account-tabs li a[href*="billing"] {
    display: none !important;
}

/* =================================================
   Dashboard Login (WordPress)
================================================= */
.nn-container .login form {
    max-width: 400px;
    margin: 40px auto;
    padding: 32px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.nn-container .login label {
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.nn-container .login input[type="text"],
.nn-container .login input[type="password"] {
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.nn-container .login input[type="submit"] {
    width: 100%;
    padding: 12px;
    background: #D4A95F;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}

.nn-container .login input[type="submit"]:hover {
    background: #b8904d;
}

/* =================================================
   WPUF Dashboard Forms (Submit Nursery)
================================================= */
.nn-dashboard-form label {
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.nn-dashboard-form input,
.nn-dashboard-form textarea,
.nn-dashboard-form select {
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
}

.nn-dashboard-form input:focus,
.nn-dashboard-form textarea:focus,
.nn-dashboard-form select:focus {
    border-color: #D4A95F;
    box-shadow: 0 0 0 2px rgba(212,169,95,.2);
    outline: none;
}

.nn-dashboard-form input[type="submit"],
.nn-dashboard-form button[type="submit"] {
    background: #D4A95F;
    color: #fff;
    padding: 12px 22px;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}

.nn-dashboard-form input[type="submit"]:hover {
    background: #b8904d;
}

/* =================================================
   Custom WPUF Login
================================================= */
.custom-wpuf-login .wpuf-login-form {
    max-width: 400px !important;
    margin: 50px auto !important;
    padding: 32px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
}

.custom-wpuf-login h3 {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 24px;
}

.custom-wpuf-login input {
    width: 100% !important;
    padding: 12px 14px !important;
    margin-bottom: 18px !important;
    border-radius: 6px !important;
    border: 1px solid #ccc !important;
}

.custom-wpuf-login input[type="submit"] {
    background: #D4A95F !important;
    color: #fff !important;
    font-weight: 700 !important;
}

/* =================================================
   WPUF Registration Form
================================================= */
.wpuf-registration-form {
    max-width: 460px !important;
    margin: 60px auto !important;
    padding: 36px !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.1) !important;
}

.wpuf-registration-form h2,
.wpuf-registration-form h3 {
    font-size: 28px !important;
    font-weight: 700 !important;
    margin-bottom: 24px !important;
    text-align: center !important;
}

.wpuf-registration-form label {
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.wpuf-registration-form input {
    width: 100% !important;
    padding: 12px 14px !important;
    margin-bottom: 18px !important;
    border-radius: 6px !important;
    border: 1px solid #ddd !important;
}

.wpuf-registration-form input:focus {
    border-color: #D4A95F !important;
    box-shadow: 0 0 0 2px rgba(212,169,95,.2);
}

.wpuf-registration-form input[type="submit"] {
    width: 100% !important;
    padding: 14px !important;
    background: #D4A95F !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
}

/* =================================================
   Archive – Nurseries (Grid & Cards)
================================================= */
.nn-archive #map {
    width: 100%;
    height: 600px;
    margin-bottom: 40px;
}

.nn-nursery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.nn-card {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

/* Make card link wrap entire content */
.nn-card > a {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none !important;
}

.nn-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.07);
    border-color: #D4A95F;
}

.nn-card-logo {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.nn-card-logo img {
    max-width: 120px;
    max-height: 80px;
    object-fit: contain;
}

.nn-card-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.3;
}

.nn-card-address {
    font-size: 14px !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    flex-grow: 1; /* Pushes the button to the bottom */
}

.nn-card-link {
    display: inline-block;
    color: #D4A95F;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: auto;
}

/* =================================================
   Single Nursery
================================================= */
.single-nursery-wrapper {
    display: flex;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.single-nursery-left,
.single-nursery-right {
    flex: 1;
    min-width: 300px;
}

.single-nursery-left h1 {
    font-size: 2.6rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.single-nursery-left p {
    font-size: 16px;
    margin-bottom: 14px;
}

.single-nursery-left p strong {
    display: inline-block;
    width: 120px;
    font-weight: 600;
}

.single-nursery-right #map {
    height: 600px;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(0,0,0,.1);
}

/* =================================================
   Role based code
================================================= */

/* Hide Nursery management from anyone with the Subscriber role */
body.role-subscriber li.nurseries, 
body.role-subscriber .wpuf-account-add-post { 
    display: none !important; 
}

/* =================================================
   Style for the Smart Dashboard Links
================================================= */
.nn-menu-link {
    color: #D4A95F !important;
    font-weight: bold;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 0 5px;
}

.nn-menu-link:hover {
    color: #1a1a1a !important;
    text-decoration: underline;
}

/* =================================================
   Fix Huge Archive Header Spacing (Live Site Fix)
================================================= */
/* 1. Kill the main container padding and the vertical line */
.post-type-archive-nursery #main-content .container,
.post-type-archive-nursery #main-content .container:before {
    padding-top: 0 !important;
    display: none !important;
}

/* 2. Force the page container to sit at the very top */
.post-type-archive-nursery #page-container,
.post-type-archive-nursery #main-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 3. Handle the 'Archives' header title padding */
.post-type-archive-nursery header.entry-header {
    margin-top: 0 !important;
    padding-top: 40px !important; /* Space between menu and Title */
    padding-bottom: 20px !important;
}

/* 4. NEW: Specifically target the Divi column padding on archives */
.post-type-archive-nursery #left-area {
    padding-top: 0 !important;
}

.post-type-archive-nursery p:empty {
    display: none !important;
}

/* =================================================
   WPUF FORM IMPROVEMENT
================================================= */
.wpuf-form h2.wpuf-section-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    margin-bottom: 5px !important;
    padding-top: 20px !important;
    display: block !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.wpuf-form .wpuf-section-details {
    font-size: 16px !important;
    color: #666 !important;
    font-style: italic !important;
    margin-bottom: 25px !important;
    display: block !important;
    text-align: center !important;
}

.wpuf-section-wrap {
    border-bottom: 2px solid #eeeeee;
    margin-bottom: 30px !important;
    padding-bottom: 10px !important;
}

.wpuf-form .wpuf-label label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.wpuf-form .wpuf-help {
    font-size: 14px !important;
    font-style: italic !important;
    color: #666 !important;
    margin-top: 6px !important;
    line-height: 1.5 !important;
    display: block !important;
}

.wpuf-form input[type="text"], 
.wpuf-form input[type="email"], 
.wpuf-form textarea, 
.wpuf-form select {
    font-size: 16px !important;
    padding: 12px !important;
    border-radius: 5px !important;
    border: 1px solid #ccc !important;
}

/* 5. HIGHLIGHT MAP INSTRUCTIONS (ID Specific Override) */
/* This targets the field by its unique ID: #wpuf-el-nursery_map_input */

#wpuf-el-nursery_map_input .wpuf-help {
    display: block !important;
    background: #fdf6e3 !important;
    padding: 20px !important;
    border-left: 5px solid #D4A95F !important;
    color: #4a3b10 !important;
    font-style: normal !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    border-radius: 4px !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-shadow: none !important;
}

/* =================================================
   MODERN WPUF LOGIN FORM 
================================================= */
#wpuf-login-form {
    max-width: 450px;
    margin: 40px auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    border: 1px solid #f0f0f0;
}

.wpuf-login-header {
    text-align: center;
    margin-bottom: 30px;
}

.wpuf-login-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #333 !important;
}

#wpuf-login-form input[type="text"], 
#wpuf-login-form input[type="password"] {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 16px !important;
}

#wpuf-login-form input:focus {
    border-color: #D4A95F !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(212, 169, 95, 0.15);
}

#wpuf-login-form #wp-submit {
    width: 100%;
    background-color: #D4A95F !important; 
    color: #fff !important;
    padding: 12px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

.wpuf-lost-password a {
    color: #D4A95F !important;
    text-decoration: none !important;
}

#wpuf-rememberme {
    margin-right: 8px !important;
    accent-color: #D4A95F; 
}

/* =================================================
   Header over top of map
================================================= */
#main-header, 
#top-header,
.et_mobile_menu {
    z-index: 99999 !important;
}

#map.leaflet-container {
    z-index: 1 !important;
}

.leaflet-control-container {
    z-index: 800 !important;
}

header {
    z-index: 99999;
}

/* =================================================
   Modern Map Popup (Leaflet Upgrade)
================================================= */
.leaflet-popup-content-wrapper {
    border-radius: 12px !important;
    padding: 0 !important;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important;
}

.leaflet-popup-content {
    margin: 0 !important;
    width: 260px !important;
}

.nn-map-popup {
    padding: 20px;
    font-family: 'Figtree', sans-serif;
    text-align: left;
}

.nn-map-popup img {
    max-width: 80px;
    height: auto;
    margin-bottom: 15px;
    border-radius: 4px;
}

.nn-map-popup h3 {
    margin: 0 0 6px 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a;
    line-height: 1.2;
}

.nn-map-popup p {
    margin: 0 0 15px 0 !important;
    font-size: 14px !important;
    color: #666;
    line-height: 1.5 !important;
}

.nn-popup-button {
    display: block !important;
    background-color: #D4A95F !important;
    color: #fff !important;
    text-align: center;
    padding: 10px 15px;
    border-radius: 6px;
    text-decoration: none !important;
    font-weight: 700;
}

.nn-popup-button:hover {
    background-color: #ba8d4a !important;
}

.leaflet-container a.leaflet-popup-close-button {
    padding: 8px 12px 0 0 !important;
}

/* =================================================
   Responsive
================================================= */
@media (max-width: 768px) {
    .single-nursery-wrapper {
        flex-direction: column;
    }

    .single-nursery-left p strong {
        width: auto;
    }
}
