/*
 * Business Directory Plugin - Text Margins & Padding
 * Adds extra padding to text blocks for better readability
 */

/* ===== TEXT BLOCK MARGINS ===== */

/* Main text content areas */
.business-directory-container .card-content {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.business-directory-container .card-content-inner {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* Business title and headings */
.business-directory-container .business-title,
.business-directory-container .business-title a {
    padding-left: 4px !important;
    padding-right: 4px !important;
}

/* Business tagline */
.business-directory-container .business-tagline {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

/* Business description - main text content */
.business-directory-container .business-description,
.business-directory-container .bd-description {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-left: 4px !important;
    margin-right: 4px !important;
}

/* Contact information */
.business-directory-container .contact-info {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.business-directory-container .contact-item {
    padding-left: 4px !important;
    padding-right: 4px !important;
}

/* Business badges and categories */
.business-directory-container .business-badges-container {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.business-directory-container .bd-category-badge,
.business-directory-container .bd-location-badge {
    margin-left: 2px !important;
    margin-right: 2px !important;
}

/* Social media links */
.business-directory-container .social-links {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 16px !important;
}

/* Business social section */
.business-directory-container .business-social {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-bottom: 20px !important;
    padding-bottom: 8px !important;
}

/* Social media icons within business-social */
.business-directory-container .business-social .social-icon,
.business-directory-container .business-social a {
    margin-bottom: 4px !important;
}

.business-directory-container .business-social .social-icon:last-child,
.business-directory-container .business-social a:last-child {
    margin-bottom: 0 !important;
}

/* Content below social media icons */
.business-directory-container .social-links + *,
.business-directory-container .bd-social-icons + *,
.business-directory-container .business-social + * {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-top: 12px !important;
}

/* Specific elements that come after social media */
.business-directory-container .social-links + .card-footer,
.business-directory-container .bd-social-icons + .card-footer,
.business-directory-container .business-social + .card-footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-top: 16px !important;
}

.business-directory-container .social-links + .view-details-button,
.business-directory-container .bd-social-icons + .view-details-button,
.business-directory-container .business-social + .view-details-button {
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-top: 16px !important;
}

/* Rating section below social media */
.business-directory-container .social-links + .rating-section,
.business-directory-container .bd-social-icons + .rating-section,
.business-directory-container .business-social + .rating-section {
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-top: 14px !important;
}

/* Hours section below social media */
.business-directory-container .social-links + .hours-section,
.business-directory-container .bd-social-icons + .hours-section,
.business-directory-container .business-social + .hours-section {
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-top: 14px !important;
}

/* Additional info below social media */
.business-directory-container .social-links + .additional-info,
.business-directory-container .bd-social-icons + .additional-info,
.business-directory-container .business-social + .additional-info {
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-top: 14px !important;
}

/* Any paragraph or text element below social media */
.business-directory-container .social-links + p,
.business-directory-container .bd-social-icons + p,
.business-directory-container .business-social + p {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-top: 12px !important;
}

/* Any div element below social media */
.business-directory-container .social-links + div:not(.card-footer):not(.view-details-button),
.business-directory-container .bd-social-icons + div:not(.card-footer):not(.view-details-button),
.business-directory-container .business-social + div:not(.card-footer):not(.view-details-button) {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-top: 12px !important;
}

/* ===== SINGLE BUSINESS PAGE MARGINS ===== */

/* Single business page content */
.business-directory-container .business-single-content {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* Business details sections */
.business-directory-container .business-details,
.business-directory-container .business-info {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* ===== CONTROLS SECTION MARGINS ===== */

/* Business directory controls */
.business-directory-controls {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.business-directory-controls .bd-controls-wrapper {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* Filter groups */
.business-directory-controls .bd-filter-group {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

/* Filter labels */
.business-directory-controls .bd-filter-label {
    padding-left: 2px !important;
    padding-right: 2px !important;
}

/* Filter inputs */
.business-directory-controls .bd-filter-search,
.business-directory-controls .bd-filter-select {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* ===== RESULTS SECTION MARGINS ===== */

/* Results header */
.business-directory-container .results-header {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Results count */
.business-directory-container .results-count {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* ===== MOBILE RESPONSIVE MARGINS ===== */

@media (max-width: 768px) {
    /* Increase padding on mobile for better touch targets */
    .business-directory-container .card-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .business-directory-container .card-content-inner {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    /* Mobile text content */
    .business-directory-container .business-description,
    .business-directory-container .bd-description {
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-left: 6px !important;
        margin-right: 6px !important;
    }
    
    /* Mobile contact info */
    .business-directory-container .contact-info {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    /* Mobile social media spacing */
    .business-directory-container .social-links {
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-bottom: 20px !important;
    }
    
    /* Mobile business social section */
    .business-directory-container .business-social {
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-bottom: 24px !important;
        padding-bottom: 12px !important;
    }
    
    /* Mobile content below social media */
    .business-directory-container .social-links + *,
    .business-directory-container .bd-social-icons + *,
    .business-directory-container .business-social + * {
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-top: 16px !important;
    }
    
    /* Mobile card footer below social media */
    .business-directory-container .social-links + .card-footer,
    .business-directory-container .bd-social-icons + .card-footer,
    .business-directory-container .business-social + .card-footer {
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-top: 20px !important;
    }
    
    /* Mobile controls */
    .business-directory-controls {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    /* Mobile single page */
    .business-directory-container .business-single-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 480px) {
    /* Extra small screens - maximum padding */
    .business-directory-container .card-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    .business-directory-container .card-content-inner {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    .business-directory-container .business-description,
    .business-directory-container .bd-description {
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-left: 4px !important;
        margin-right: 4px !important;
    }
    
    .business-directory-controls {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    /* Small mobile social media spacing */
    .business-directory-container .social-links {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-bottom: 18px !important;
    }
    
    /* Small mobile business social section */
    .business-directory-container .business-social {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-bottom: 20px !important;
        padding-bottom: 10px !important;
    }
    
    /* Small mobile content below social media */
    .business-directory-container .social-links + *,
    .business-directory-container .bd-social-icons + *,
    .business-directory-container .business-social + * {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-top: 14px !important;
    }
}

/* ===== ACCESSIBILITY IMPROVEMENTS ===== */

/* High contrast mode - ensure text is well-spaced */
@media (prefers-contrast: high) {
    .business-directory-container .business-description,
    .business-directory-container .bd-description {
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
    }
    
    .business-directory-container .contact-info {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ===== PRINT STYLES ===== */

@media print {
    /* Ensure good margins for printing */
    .business-directory-container .card-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .business-directory-container .business-description,
    .business-directory-container .bd-description {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ===== LARGE SCREEN OPTIMIZATIONS ===== */

@media (min-width: 1200px) {
    /* Larger screens can handle more padding */
    .business-directory-container .card-content {
        padding-left: 32px !important;
        padding-right: 32px !important;
    }
    
    .business-directory-container .business-description,
    .business-directory-container .bd-description {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    .business-directory-container .contact-info {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* ===== FOCUS STATES ===== */

/* Ensure focus states respect the new padding */
.business-directory-container .business-title a:focus,
.business-directory-container .contact-item:focus,
.business-directory-container .phone-link:focus,
.business-directory-container .email-link:focus,
.business-directory-container .website-link:focus {
    outline-offset: 4px !important;
}

/* ===== CONSISTENCY FIXES ===== */

/* Ensure all text elements have consistent left/right spacing */
.business-directory-container .business-title,
.business-directory-container .business-tagline,
.business-directory-container .business-description,
.business-directory-container .contact-info,
.business-directory-container .business-badges-container {
    box-sizing: border-box !important;
}

/* ===== LEGACY SUPPORT ===== */

/* Support for older template structures */
.business-directory-container .business-content,
.business-directory-container .business-details-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.business-directory-container .business-text,
.business-directory-container .business-info-text {
    padding-left: 8px !important;
    padding-right: 8px !important;
}
