/* Hide the search bar on directory pages */
.wpbdp-main-box .main-fields.box-row.cols-2 {
    display: none !important;
}

/* Hide the navigation links */
.wpbdp-main-links,
.wpbdp-navigation-links,
.wpbdp-main-box .wpbdp-bar.cf {
    display: none !important;
}

/* Minimal Search Bar Styles */
.minimal-search-container {
    max-width: 800px;
    margin: 0 auto 30px auto;
}

.minimal-search-card {
    background: white;
    border-radius: 12px;
    padding: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: box-shadow 0.2s ease;
}

.minimal-search-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.minimal-search-form {
    display: flex;
    gap: 6px;
    align-items: center;
}

.minimal-input-wrapper {
    flex: 1;
    position: relative;
}

.minimal-input-wrapper input {
    width: 100%;
    padding: 14px 44px 14px 16px;
    font-size: 15px;
    color: #2d3436;
    background: #f8f9fa;
    border: 2px solid transparent;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.minimal-input-wrapper input::placeholder {
    color: #a0a0a0;
}

.minimal-input-wrapper input:hover {
    background: #e9ecef;
}

.minimal-input-wrapper input:focus {
    outline: none;
    border-color: #d4af37;
    background: white;
}

.minimal-search-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #636e72;
    pointer-events: none;
}

.minimal-submit-btn {
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    color: white;
    background: linear-gradient(135deg, #6c5ce7 0%, #5f4dd4 100%);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.minimal-submit-btn:hover {
    background: linear-gradient(135deg, #5f4dd4 0%, #5543c4 100%);
    transform: translateY(-1px);
}

.minimal-submit-btn:active {
    transform: translateY(0);
}

.minimal-autocomplete-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: white;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    max-height: 280px;
    overflow-y: auto;
    z-index: 9999;
    display: none;
}

.minimal-autocomplete-dropdown.show {
    display: block;
}

.minimal-autocomplete-item {
    padding: 10px 16px;
    cursor: pointer;
    transition: background 0.2s ease;
    border-bottom: 1px solid #f0f0f0;
}

.minimal-autocomplete-item:last-child {
    border-bottom: none;
}

.minimal-autocomplete-item:hover {
    background: #f8f9fa;
}

.minimal-autocomplete-item.selected {
    background: #e9ecef;
}

.minimal-autocomplete-title {
    font-weight: 600;
    color: #2d3436;
    font-size: 14px;
}

.minimal-autocomplete-subtitle {
    font-size: 12px;
    color: #636e72;
    margin-top: 2px;
}

.minimal-autocomplete-type {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 3px;
}

.type-studio {
    background: #e3f2fd;
    color: #1976d2;
}

.type-city {
    background: #f3e5f5;
    color: #7b1fa2;
}

.type-state {
    background: #e8f5e9;
    color: #388e3c;
}

.minimal-autocomplete-loading,
.minimal-autocomplete-empty {
    padding: 12px 16px;
    text-align: center;
    color: #636e72;
    font-size: 13px;
}

@media (max-width: 640px) {
    .minimal-search-form {
        flex-direction: column;
        gap: 8px;
    }

    .minimal-submit-btn {
        width: 100%;
    }
}

/* Hide the breadcrumb navigation */
.breadcrumb,
.breadcrumbs,
.page-header nav {
    display: none !important;
}

/* ========================================
   SINGLE BLOG POST - FIXED LAYOUT
   ======================================== */

/* Hide messy metadata */
body.single-post .entry-meta,
body.single-post .posted-on,
body.single-post .byline,
body.single-post .comments-link {
    display: none !important;
}

/* CRITICAL: Fix the main content area width */
body.single-post #primary.content-area {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

body.single-post .container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

body.single-post .row {
    margin: 0 !important;
}

/* Make the article full width and centered */
body.single-post article.blog-post {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Style the title banner */
body.single-post article.blog-post .inner-post .entry-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    padding: 50px 40px !important;
    margin: 0 0 30px 0 !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    display: block !important;
}

body.single-post article.blog-post .inner-post .entry-header h4.entry-title,
body.single-post article.blog-post .inner-post .entry-header h3.entry-title,
body.single-post article.blog-post .inner-post .entry-header h2.entry-title {
    color: #ffffff !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    background: none !important;
}

body.single-post article.blog-post .inner-post .entry-header .entry-meta {
    display: none !important;
}

/* Featured image - centered and full width */
body.single-post article.blog-post .entry-media {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 40px 0 !important;
    text-align: center !important;
}

body.single-post article.blog-post .entry-media img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12) !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Hide category badge overlay */
body.single-post article.blog-post .entry-media .post-cat {
    display: none !important;
}

/* CRITICAL: Content styling - FULL WIDTH and CENTERED */
body.single-post article.blog-post .entry-summary {
    background: white !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 0 40px 0 !important;
    text-align: left !important;
}

body.single-post article.blog-post .entry-summary p,
body.single-post article.blog-post .entry-summary h2,
body.single-post article.blog-post .entry-summary h3,
body.single-post article.blog-post .entry-summary h4,
body.single-post article.blog-post .entry-summary ul,
body.single-post article.blog-post .entry-summary ol {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.single-post article.blog-post .entry-summary p {
    font-size: 18px !important;
    line-height: 1.8 !important;
    color: #333 !important;
    margin-bottom: 20px !important;
}

body.single-post article.blog-post .entry-summary h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 40px 0 20px 0 !important;
}

body.single-post article.blog-post .entry-summary h3 {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #2d3436 !important;
    margin: 30px 0 15px 0 !important;
}

body.single-post article.blog-post .entry-summary ul,
body.single-post article.blog-post .entry-summary ol {
    padding-left: 30px !important;
    margin-bottom: 20px !important;
}

body.single-post article.blog-post .entry-summary li {
    font-size: 18px !important;
    line-height: 1.7 !important;
    margin-bottom: 10px !important;
}

/* Author bio and other sections */
body.single-post article.blog-post .author-bio,
body.single-post article.blog-post .post-nav,
body.single-post article.blog-post .entry-footer {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 0 30px 0 !important;
}

/* ========================================
   RELATED POSTS - 2-COLUMN HORIZONTAL GRID
   ======================================== */

/* Container */
.related-posts {
    background: #f8f9fa !important;
    padding: 40px 20px !important;
    margin-top: 40px !important;
    border-radius: 12px !important;
    clear: both !important;
    overflow: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Heading */
.related-posts > h4 {
    background: none !important;
    color: #1a1a1a !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    padding: 0 0 20px 0 !important;
    margin: 0 0 30px 0 !important;
    border-bottom: 3px solid #e0e0e0 !important;
    text-align: left !important;
    border-radius: 0 !important;
}

/* CRITICAL: 2-column layout */
.related-posts > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

/* Each column - 50% width */
.related-posts > .row > .col-sm-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* The post card */
.related-posts .post-box.post-item {
    background: white !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    height: 100% !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.related-posts .post-box.post-item:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

/* Image */
.related-posts .post-box.post-item .entry-media {
    order: 1 !important;
    margin: 0 !important;
    position: relative !important;
}

.related-posts .post-box.post-item .entry-media img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    display: block !important;
}

/* Hide category badge */
.related-posts .post-box.post-item .entry-media .post-cat {
    display: none !important;
}

/* Inner content */
.related-posts .post-box.post-item .post-inner {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Title banner - WHITE TEXT */
.related-posts .post-box.post-item .post-inner .entry-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    padding: 20px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    text-align: center !important;
    order: 1 !important;
}

.related-posts .post-box.post-item .post-inner .entry-header h5.entry-title,
.related-posts .post-box.post-item .post-inner .entry-header h5.entry-title a,
.related-posts .post-box.post-item .post-inner .entry-header h5.entry-title a.title-link {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
}

.related-posts .post-box.post-item .post-inner .entry-header h5.entry-title a:hover {
    color: #ffffff !important;
    opacity: 0.9 !important;
}

/* Meta info */
.related-posts .post-box.post-item .post-inner .entry-meta {
    order: 2 !important;
    padding: 15px 20px !important;
    background: white !important;
    font-size: 12px !important;
    color: #888 !important;
    display: block !important;
    margin-top: auto !important;
}

/* Hide arrow button */
.related-posts .post-box.post-item .btn-details {
    display: none !important;
}

/* ========================================
   MOBILE RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    /* Single post */
    body.single-post article.blog-post {
        padding: 0 15px !important;
    }
    
    body.single-post article.blog-post .inner-post .entry-header {
        padding: 30px 20px !important;
    }
    
    body.single-post article.blog-post .inner-post .entry-header h4.entry-title {
        font-size: 26px !important;
    }
    
    body.single-post article.blog-post .entry-media {
        margin: 0 0 25px 0 !important;
    }
    
    body.single-post article.blog-post .entry-media img {
        border-radius: 8px !important;
    }
    
    body.single-post article.blog-post .entry-summary p {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }
    
    body.single-post article.blog-post .entry-summary h2 {
        font-size: 24px !important;
    }
    
    body.single-post article.blog-post .entry-summary h3 {
        font-size: 20px !important;
    }
    
    /* Related posts - single column */
    .related-posts > .row > .col-sm-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 25px !important;
    }
    
    .related-posts .post-box.post-item .entry-media img {
        height: 180px !important;
    }
    
    .related-posts .post-box.post-item .post-inner .entry-header {
        padding: 15px !important;
    }
    
    .related-posts .post-box.post-item .post-inner .entry-header h5.entry-title,
    .related-posts .post-box.post-item .post-inner .entry-header h5.entry-title a {
        font-size: 16px !important;
        color: #ffffff !important;
    }
    
    .related-posts .post-box.post-item .post-inner .entry-meta {
        padding: 12px 15px !important;
        font-size: 11px !important;
    }
}

/* ========================================
   CONTACT FORM
   ======================================== */

.wpcf7-form {
    max-width: 700px;
    margin: 0 auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    width: 100%;
    padding: 14px 18px;
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #f9fafb;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
    outline: none;
    border-color: #667eea;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.wpcf7-form label {
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
    display: block;
}

.wpcf7-form input[type="submit"],
.wpcf7-submit {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    color: white !important;
    padding: 18px 60px !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3) !important;
    width: auto !important;
    min-width: 250px !important;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4) !important;
}

.wpcf7-form textarea {
    min-height: 150px;
    resize: vertical;
}

.wpcf7-form p {
    margin-bottom: 20px;
}

/* ========================================
   BLOG LISTING PAGE - FULL WIDTH 2-COLUMN GRID
   ======================================== */

/* Section Title - Add class "blog-section-title" to your Elementor heading */
.blog-section-title {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.blog-section-title h2,
.blog-section-title .elementor-heading-title {
    font-size: 42px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.2 !important;
}

.blog-section-title p,
.blog-section-title .elementor-text-editor p {
    font-size: 18px !important;
    color: #666 !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* Main container - FULL WIDTH */
.elementor-posts-container {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* 2-Column Grid Layout */
.elementor-posts-container .elementor-posts {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 40px !important;
}

/* Individual post card */
.elementor-post {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: none !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.elementor-post:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.elementor-post:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.15) !important;
}

/* Featured image */
.elementor-post__thumbnail,
.elementor-post__thumbnail__link {
    width: 100% !important;
    height: 240px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    box-shadow: none !important;
    display: block !important;
    margin: 0 !important;
    transition: none !important;
}

.elementor-post:hover .elementor-post__thumbnail {
    transform: none !important;
    box-shadow: none !important;
}

.elementor-post__thumbnail img {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s ease !important;
}

.elementor-post:hover .elementor-post__thumbnail img {
    transform: scale(1.05) !important;
}

/* Text content area */
.elementor-post__text {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 28px !important;
    flex-grow: 1 !important;
}

/* Date */
.elementor-post-date {
    font-size: 13px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
    order: 1;
}

/* Title */
.elementor-posts-container .elementor-post__title {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    order: 2;
}

.elementor-posts-container .elementor-post__title a {
    background: none !important;
    color: #1a1a1a !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    padding: 0 !important;
    line-height: 1.3 !important;
    display: block !important;
    transition: color 0.3s ease !important;
}

.elementor-post__title a:hover {
    color: #667eea !important;
}

/* Excerpt */
.elementor-post__excerpt {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    order: 3;
    flex-grow: 1;
}

/* Read More button */
.elementor-post__read-more {
    background: linear-gradient(135deg, #FF9800 0%, #F57C00 100%) !important;
    color: #ffffff !important;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px !important;
    padding: 14px 28px !important;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 152, 0, 0.3);
    order: 4;
    margin-top: 8px;
}

.elementor-post__read-more:after {
    content: ' →';
    margin-left: 8px;
    transition: margin-left 0.3s ease;
}

.elementor-post__read-more:hover {
    background: linear-gradient(135deg, #F57C00 0%, #E65100 100%) !important;
    box-shadow: 0 6px 20px rgba(255, 152, 0, 0.4);
    transform: translateX(4px);
}

.elementor-post__read-more:hover:after {
    margin-left: 12px;
}

/* ========================================
   BLOG LISTING - TABLET (2 columns)
   ======================================== */

@media (max-width: 1024px) {
    .elementor-posts-container .elementor-posts {
        gap: 30px !important;
    }
    
    .elementor-post__thumbnail,
    .elementor-post__thumbnail__link,
    .elementor-post__thumbnail img {
        height: 200px !important;
    }
    
    .elementor-post__text {
        padding: 24px !important;
    }
    
    .elementor-posts-container .elementor-post__title a {
        font-size: 22px !important;
    }
}

/* ========================================
   BLOG LISTING - MOBILE (1 column)
   ======================================== */

@media (max-width: 768px) {
    .blog-section-title h2,
    .blog-section-title .elementor-heading-title {
        font-size: 32px !important;
    }
    
    .blog-section-title p,
    .blog-section-title .elementor-text-editor p {
        font-size: 16px !important;
    }
    
    .elementor-posts-container {
        padding: 0 15px !important;
    }
    
    .elementor-posts-container .elementor-posts {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }
    
    .elementor-post {
        border-radius: 12px !important;
    }
    
    .elementor-post__thumbnail,
    .elementor-post__thumbnail__link {
        height: auto !important;
        aspect-ratio: 16/9 !important;
    }
    
    .elementor-post__thumbnail img {
        height: auto !important;
        aspect-ratio: 16/9 !important;
    }
    
    .elementor-post__text {
        padding: 20px !important;
        gap: 10px !important;
    }
    
    .elementor-posts-container .elementor-post__title a {
        font-size: 20px !important;
    }
    
    .elementor-post__excerpt {
        font-size: 14px !important;
    }
    
    .elementor-post__read-more {
        width: 100%;
        justify-content: center;
        padding: 14px 24px !important;
    }
    
    .elementor-post:hover {
        transform: none !important;
    }
    
    .elementor-post:hover .elementor-post__thumbnail img {
        transform: none !important;
    }
}

@media (max-width: 768px) {
    body.single-post article.blog-post {
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    body.single-post .container {
        padding: 0 !important;
        max-width: 100% !important;
    }
    
    body.single-post article.blog-post .inner-post .entry-header {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 30px 20px !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }
    
    body.single-post article.blog-post .inner-post .entry-header h4.entry-title,
    body.single-post article.blog-post .inner-post .entry-header h3.entry-title,
    body.single-post article.blog-post .inner-post .entry-header h2.entry-title {
        font-size: 24px !important;
    }
    
    body.single-post article.blog-post .entry-media {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 25px 0 !important;
        padding: 0 !important;
    }
    
    body.single-post article.blog-post .entry-media img {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        margin: 0 !important;
        display: block !important;
    }
    
    body.single-post article.blog-post .entry-summary {
        padding: 0 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ========================================
   BLOG ARCHIVE PAGE - CENTER ALIGNMENT FIX
   ======================================== */

/* Center the entire blog page content */
body.blog #primary.content-area,
body.archive #primary.content-area {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    float: none !important;
}

body.blog .container,
body.archive .container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

body.blog .row,
body.archive .row {
    margin: 0 !important;
}

/* Center the blog content wrapper */
body.blog #content.site-content,
body.archive #content.site-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* ========================================
   HIDE BLACK BANNER ON ABOUT US & SIMILAR PAGES
   ======================================== */

/* Hide the first Elementor section on specific pages */
body.page .elementor-section.elementor-top-section:first-of-type {
    display: none !important;
}

/* Alternative: Target sections with dark backgrounds */
.elementor-section[style*="background-color: rgb(0, 0, 0)"],
.elementor-section[style*="background-color: #000"],
.elementor-section[data-settings*="background_background:classic"] {
    background: transparent !important;
}

/* Hide page title headers */
.page-header,
.entry-header.page-header,
body.page .entry-header {
    display: none !important;
}

/* Simple banner positioning - add at TOP of your CSS */
body .yoga-banner-wrapper {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

body .elementor-section:has(.yoga-banner-wrapper) {
    margin: 0 !important;
    padding: 0 !important;
}

body .elementor-section:has(.yoga-banner-wrapper) .elementor-container,
body .elementor-section:has(.yoga-banner-wrapper) .elementor-column > .elementor-widget-wrap {
    padding: 0 !important;
}

body .hero-section {
    margin-top: 0 !important;
}
.yoga-banner-container {
    border-bottom: none !important;
}

.wpbdp-field-rating_average { 
    display: none !important; 
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

@media (max-width: 768px) {
    .entry-content {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .site-content {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
    
    #content {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* ========================================
   YOGA NEAR ME USA - WPBDP Add Listing
   HIGH CONTRAST + LARGE TEXT VERSION
   ======================================== */

/* ----------------------------------------
   1. CSS VARIABLES
   ---------------------------------------- */
:root {
  --brand-orange: #E8734A;
  --brand-orange-dark: #D4623B;
  --brand-purple: #7C5AC2;
  --brand-purple-dark: #6347A8;
  --brand-dark: #1a1a1a;
  --brand-gray: #4a4a4a;
  --brand-light-gray: #888;
  --radius-md: 20px;
  --radius-lg: 28px;
}

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

/* ----------------------------------------
   2. PAGE BACKGROUND
   ---------------------------------------- */
body.wpbdp-view-submit_listing {
  background: linear-gradient(180deg, #FDFCFB 0%, #F8F6F3 100%) !important;
}

/* ----------------------------------------
   3. MAIN CONTAINER
   ---------------------------------------- */
#wpbdp-submit-listing {
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 2rem 1.5rem !important;
}

/* ----------------------------------------
   4. FORM LABELS - LARGE
   ---------------------------------------- */
#wpbdp-submit-listing label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--brand-dark) !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
}

#wpbdp-submit-listing .wpbdp-form-field-description,
#wpbdp-submit-listing > small,
#wpbdp-submit-listing .geodir-description {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  color: var(--brand-gray) !important;
  display: block !important;
  margin-bottom: 1rem !important;
}

/* ----------------------------------------
   5. SELECT DROPDOWN
   ---------------------------------------- */
#wpbdp-submit-listing select {
  width: 100% !important;
  padding: 1.25rem 3.5rem 1.25rem 1.5rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: var(--brand-dark) !important;
  background: white !important;
  border: 2px solid #ddd !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237C5AC2' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1.25rem center !important;
  transition: all 0.3s ease !important;
}

#wpbdp-submit-listing select:focus {
  outline: none !important;
  border-color: var(--brand-purple) !important;
  box-shadow: 0 0 0 4px rgba(124, 90, 194, 0.15) !important;
}

/* ----------------------------------------
   6. PRICING CARDS CONTAINER
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-selection-list,
.wpbdp-plan-selection-list {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 2rem !important;
  max-width: 900px !important;
  margin: 2.5rem auto !important;
  padding: 0 !important;
  list-style: none !important;
}

/* ----------------------------------------
   7. PLAN CARDS
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-selection-list > div,
#wpbdp-submit-listing .wpbdp-plan-selection-list > li,
.wpbdp-plan-selection-list > div,
.wpbdp-plan-selection-list > li {
  position: relative !important;
  padding: 2.5rem 2rem !important;
  background: white !important;
  border: 2px solid #e8e8e8 !important;
  border-radius: var(--radius-lg) !important;
  text-align: center !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.4s ease !important;
  list-style: none !important;
}

/* Card hover */
#wpbdp-submit-listing .wpbdp-plan-selection-list > div:not(.wpbdp-plan-disabled):hover,
#wpbdp-submit-listing .wpbdp-plan-selection-list > li:not(.wpbdp-plan-disabled):hover {
  transform: translateY(-8px) !important;
  border-color: var(--brand-purple) !important;
  box-shadow: 0 20px 50px rgba(124, 90, 194, 0.2) !important;
}

/* ----------------------------------------
   8. DISABLED CARD - CLEAN IT UP
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-selection-list > div.wpbdp-plan-disabled,
#wpbdp-submit-listing .wpbdp-plan-selection-list > li.wpbdp-plan-disabled,
.wpbdp-plan-disabled {
  background: #f9f7f5 !important;
  border-color: #e0dcd8 !important;
  opacity: 0.85 !important;
}

#wpbdp-submit-listing .wpbdp-plan-disabled:hover {
  transform: none !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
}

/* ----------------------------------------
   9. PLAN TITLE - BIG & BOLD
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-selection-list h4,
#wpbdp-submit-listing .wpbdp-plan-label,
.wpbdp-plan-label,
.wpbdp-plan-selection-list h4 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: var(--brand-dark) !important;
  margin: 0 0 1rem 0 !important;
  line-height: 1.2 !important;
}

/* ----------------------------------------
   10. PLAN PRICE - HUGE & COLORFUL
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-selection-list .wpbdp-plan-price,
#wpbdp-submit-listing .wpbdp-plan-price,
.wpbdp-plan-price {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 3.5rem !important;
  font-weight: 700 !important;
  color: var(--brand-purple) !important;
  margin: 0.5rem 0 1.5rem 0 !important;
  line-height: 1 !important;
  display: block !important;
}

/* Free text also styled */
#wpbdp-submit-listing .wpbdp-plan-selection-list .wpbdp-plan-price-free,
.wpbdp-plan-price-free {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 3.5rem !important;
  font-weight: 700 !important;
  color: var(--brand-orange) !important;
}

/* ----------------------------------------
   11. PLAN DESCRIPTION - READABLE
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-selection-list .wpbdp-plan-description,
#wpbdp-submit-listing .wpbdp-plan-description,
#wpbdp-submit-listing .wpbdp-plan-selection-list p,
.wpbdp-plan-description {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  color: var(--brand-gray) !important;
  line-height: 1.6 !important;
  margin: 0 0 1rem 0 !important;
}

/* Warning text - make it stand out but readable */
#wpbdp-submit-listing .wpbdp-plan-disabled em,
#wpbdp-submit-listing .wpbdp-plan-selection-list em,
.wpbdp-plan-disabled em {
  display: block !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 600 !important;
  color: #c53030 !important;
  background: #fff5f5 !important;
  border: 1px solid #feb2b2 !important;
  padding: 1rem 1.25rem !important;
  border-radius: 12px !important;
  margin: 1rem 0 !important;
  line-height: 1.5 !important;
}

/* ----------------------------------------
   12. PLAN DETAILS LIST
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-details,
#wpbdp-submit-listing .wpbdp-plan-selection-list ul,
.wpbdp-plan-details {
  list-style: none !important;
  padding: 0 !important;
  margin: 1rem 0 1.5rem 0 !important;
}

#wpbdp-submit-listing .wpbdp-plan-details li,
#wpbdp-submit-listing .wpbdp-plan-selection-list ul li,
.wpbdp-plan-details li {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  color: var(--brand-dark) !important;
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid #eee !important;
  list-style: none !important;
}

#wpbdp-submit-listing .wpbdp-plan-details li:last-child {
  border-bottom: none !important;
}

/* Badge */
#wpbdp-submit-listing .wpbdp-plan-badge,
.wpbdp-plan-badge {
  display: inline-block !important;
  padding: 0.5rem 1.25rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-radius: 50px !important;
  background: rgba(124, 90, 194, 0.1) !important;
  color: var(--brand-purple) !important;
  margin-top: 0.5rem !important;
}

/* ----------------------------------------
   13. SELECT BUTTON - ORANGE
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-plan-selection-list button,
#wpbdp-submit-listing .wpbdp-plan-selection-list input[type="submit"],
#wpbdp-submit-listing .wpbdp-plan-selection-list .button,
#wpbdp-submit-listing .wpbdp-plan-selection-list a.button,
.wpbdp-plan-selection-list button,
.wpbdp-plan-selection-list .button {
  display: block !important;
  width: 100% !important;
  padding: 1.1rem 2rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  text-decoration: none !important;
  text-align: center !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer !important;
  margin-top: 1.5rem !important;
  transition: all 0.3s ease !important;
  
  background: linear-gradient(135deg, var(--brand-orange) 0%, var(--brand-orange-dark) 100%) !important;
  color: white !important;
  box-shadow: 0 6px 20px rgba(232, 115, 74, 0.4) !important;
}

#wpbdp-submit-listing .wpbdp-plan-selection-list button:hover,
.wpbdp-plan-selection-list button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px rgba(232, 115, 74, 0.5) !important;
}

/* Disabled button */
#wpbdp-submit-listing .wpbdp-plan-disabled button,
.wpbdp-plan-disabled button {
  background: linear-gradient(135deg, #999 0%, #777 100%) !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

#wpbdp-submit-listing .wpbdp-plan-disabled button:hover {
  transform: none !important;
}

/* ----------------------------------------
   14. NEXT BUTTON - PURPLE & BIG
   ---------------------------------------- */
#wpbdp-submit-listing input[type="submit"],
#wpbdp-submit-listing button[type="submit"],
#wpbdp-submit-listing .wpbdp-submit-btn,
.wpbdp-submit-page input[type="submit"],
.wpbdp-submit-page button[type="submit"] {
  display: block !important;
  width: auto !important;
  min-width: 250px !important;
  margin: 3rem auto 2rem !important;
  padding: 1.25rem 3.5rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer !important;
  
  background: linear-gradient(135deg, var(--brand-purple) 0%, var(--brand-purple-dark) 100%) !important;
  color: white !important;
  box-shadow: 0 8px 30px rgba(124, 90, 194, 0.4) !important;
  transition: all 0.3s ease !important;
}

#wpbdp-submit-listing input[type="submit"]:hover,
.wpbdp-submit-page input[type="submit"]:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 40px rgba(124, 90, 194, 0.5) !important;
}

/* ----------------------------------------
   15. ADMIN NOTICE
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-msg,
.wpbdp-submit-page .wpbdp-msg {
  max-width: 800px !important;
  margin: 0 auto 2rem !important;
  padding: 1.25rem 1.75rem !important;
  border-radius: var(--radius-md) !important;
  background: #fff8f5 !important;
  border: 2px solid var(--brand-orange) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--brand-orange-dark) !important;
  text-align: center !important;
}

/* ----------------------------------------
   16. STEP INDICATOR
   ---------------------------------------- */
#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 1.5rem !important;
  margin: 1rem auto 2rem !important;
  max-width: 700px !important;
  list-style: none !important;
}

#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  position: relative !important;
  flex: 1 !important;
  list-style: none !important;
}

/* Connection line */
#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  top: 30px !important;
  left: calc(50% + 35px) !important;
  width: calc(100% - 70px) !important;
  height: 3px !important;
  background: #e0e0e0 !important;
  z-index: 1 !important;
}

/* Step circle */
#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li a,
#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li > span:first-child {
  width: 60px !important;
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  background: white !important;
  border: 3px solid #ddd !important;
  color: #999 !important;
  z-index: 2 !important;
  transition: all 0.3s ease !important;
}

/* Active step */
#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li.wpbdp-current-tab a,
#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li.wpbdp-current-tab > span:first-child {
  background: var(--brand-purple) !important;
  border-color: var(--brand-purple) !important;
  color: white !important;
  box-shadow: 0 6px 25px rgba(124, 90, 194, 0.4) !important;
  transform: scale(1.1) !important;
}

/* Step label */
#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li small {
  margin-top: 0.75rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #666 !important;
  text-align: center !important;
  max-width: 100px !important;
}

#wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li.wpbdp-current-tab small {
  color: var(--brand-purple) !important;
}

/* ----------------------------------------
   17. TEXT INPUTS
   ---------------------------------------- */
#wpbdp-submit-listing input[type="text"],
#wpbdp-submit-listing input[type="email"],
#wpbdp-submit-listing input[type="url"],
#wpbdp-submit-listing input[type="tel"],
#wpbdp-submit-listing textarea {
  width: 100% !important;
  padding: 1.1rem 1.25rem !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 1.1rem !important;
  color: var(--brand-dark) !important;
  background: white !important;
  border: 2px solid #ddd !important;
  border-radius: var(--radius-md) !important;
  transition: all 0.3s ease !important;
}

#wpbdp-submit-listing input[type="text"]:focus,
#wpbdp-submit-listing textarea:focus {
  outline: none !important;
  border-color: var(--brand-purple) !important;
  box-shadow: 0 0 0 4px rgba(124, 90, 194, 0.15) !important;
}

/* ----------------------------------------
   18. CHECKBOXES
   ---------------------------------------- */
#wpbdp-submit-listing input[type="checkbox"],
#wpbdp-submit-listing input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 24px !important;
  height: 24px !important;
  border: 2px solid #ccc !important;
  border-radius: 6px !important;
  background: white !important;
  cursor: pointer !important;
  position: relative !important;
  vertical-align: middle !important;
  margin-right: 0.75rem !important;
}

#wpbdp-submit-listing input[type="radio"] {
  border-radius: 50% !important;
}

#wpbdp-submit-listing input[type="checkbox"]:checked {
  background: var(--brand-purple) !important;
  border-color: var(--brand-purple) !important;
}

#wpbdp-submit-listing input[type="checkbox"]:checked::after {
  content: '✓' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: white !important;
  font-size: 16px !important;
  font-weight: bold !important;
}

/* ----------------------------------------
   19. RESPONSIVE - MOBILE
   ---------------------------------------- */
@media (max-width: 768px) {
  #wpbdp-submit-listing {
    padding: 1.5rem 1rem !important;
  }
  
  /* Stack cards */
  #wpbdp-submit-listing .wpbdp-plan-selection-list,
  .wpbdp-plan-selection-list {
    grid-template-columns: 1fr !important;
    max-width: 450px !important;
    gap: 1.5rem !important;
  }
  
  /* Card padding */
  #wpbdp-submit-listing .wpbdp-plan-selection-list > div,
  #wpbdp-submit-listing .wpbdp-plan-selection-list > li {
    padding: 2rem 1.5rem !important;
  }
  
  /* Title */
  #wpbdp-submit-listing .wpbdp-plan-label,
  .wpbdp-plan-label {
    font-size: 1.5rem !important;
  }
  
  /* Price */
  #wpbdp-submit-listing .wpbdp-plan-price,
  .wpbdp-plan-price {
    font-size: 2.75rem !important;
  }
  
  /* Description */
  #wpbdp-submit-listing .wpbdp-plan-description {
    font-size: 1rem !important;
  }
  
  /* List items */
  #wpbdp-submit-listing .wpbdp-plan-details li {
    font-size: 1rem !important;
  }
  
  /* Step indicator */
  #wpbdp-submit-listing .wpbdp-submit-listing-section-tabs {
    flex-wrap: wrap !important;
    gap: 1rem !important;
  }
  
  #wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li:not(:last-child)::after {
    display: none !important;
  }
  
  #wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li a,
  #wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li > span:first-child {
    width: 50px !important;
    height: 50px !important;
    font-size: 1.25rem !important;
  }
  
  #wpbdp-submit-listing .wpbdp-submit-listing-section-tabs li small {
    font-size: 0.75rem !important;
  }
  
  /* Next button */
  #wpbdp-submit-listing input[type="submit"],
  .wpbdp-submit-page input[type="submit"] {
    width: 100% !important;
    max-width: 350px !important;
    min-width: unset !important;
    padding: 1.1rem 2rem !important;
    font-size: 1.1rem !important;
  }
  
  /* Labels */
  #wpbdp-submit-listing label {
    font-size: 1.3rem !important;
  }
  
  /* Prevent iOS zoom */
  #wpbdp-submit-listing select,
  #wpbdp-submit-listing input[type="text"],
  #wpbdp-submit-listing textarea {
    font-size: 16px !important;
  }
}

/* Extra small */
@media (max-width: 400px) {
  #wpbdp-submit-listing .wpbdp-plan-selection-list {
    max-width: 100% !important;
  }
  
  #wpbdp-submit-listing .wpbdp-plan-selection-list > div,
  #wpbdp-submit-listing .wpbdp-plan-selection-list > li {
    padding: 1.75rem 1.25rem !important;
  }
  
  #wpbdp-submit-listing .wpbdp-plan-price {
    font-size: 2.5rem !important;
  }
}

/* ----------------------------------------
   20. ACCESSIBILITY
   ---------------------------------------- */
#wpbdp-submit-listing *:focus-visible {
  outline: 3px solid var(--brand-purple) !important;
  outline-offset: 3px !important;
}
/* Blog Section Title - CSS Generated */
.elementor-posts-container::before {
    content: 'Yoga Insights';
    display: block;
    width: 100%;
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    color: #1a1a1a;
    margin-top: 80px;
    margin-bottom: 2px;
    padding-bottom: 20px;
    font-family: inherit;
    letter-spacing: -0.5px;
}