/* Responsive Layout Fixes for Post Pages */

/* Global overflow prevention */
html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* Prevent horizontal scrolling on all containers */
.tour-page-wrapper,
.page-container,
.content-container,
.content-wrapper,
.main-content,
.article-body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* Ensure all text content wraps properly */
.article-body p,
.article-body h1,
.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6,
.article-body div,
.article-body span,
.article-body a {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
}

/* Image responsiveness fixes */
.article-body img,
.main-content img,
.content-wrapper img {
    max-width: 100% !important;
    height: auto !important;
    width: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* WordPress image classes */
.wp-image-4123,
.wp-image-4566,
.wp-image-4149,
.wp-image-4158,
.wp-image-4588,
.wp-image-4132,
.wp-image-4944,
.wp-image-4698,
.wp-image-4141,
.wp-image-4152,
.wp-image-4826,
.wp-image-4696,
.wp-image-4803,
.size-large,
.size-full,
.alignnone,
.aligncenter,
.alignleft,
.alignright {
    max-width: 100% !important;
    height: auto !important;
    width: auto !important;
}

/* Ensure fade-in elements are visible */
.fade-in-element {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
}

/* Mobile-specific fixes */
@media (max-width: 768px) {
    .content-container {
        padding: 1rem 0.5rem !important;
    }
    
    .main-content {
        padding: 1rem !important;
        margin: 0 !important;
    }
    
    .article-body p {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }
    
    .article-body h2 {
        font-size: 1.5rem !important;
    }
    
    .article-body h3 {
        font-size: 1.3rem !important;
    }
    
    .article-body h4 {
        font-size: 1.2rem !important;
    }
}

@media (max-width: 480px) {
    .content-container {
        padding: 0.5rem 0.25rem !important;
    }
    
    .main-content {
        padding: 0.75rem !important;
        border-radius: 4px !important;
    }
    
    .article-body p {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
        margin-bottom: 1rem !important;
    }
    
    .article-body h2 {
        font-size: 1.3rem !important;
        margin-top: 1.5rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    .article-body h3 {
        font-size: 1.2rem !important;
        margin-top: 1.25rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    .article-body h4 {
        font-size: 1.1rem !important;
        margin-top: 1rem !important;
        margin-bottom: 0.5rem !important;
    }
}

@media (max-width: 320px) {
    .content-container {
        padding: 0.25rem !important;
    }
    
    .main-content {
        padding: 0.5rem !important;
    }
    
    .article-body p {
        font-size: 0.9rem !important;
        line-height: 1.4 !important;
    }
    
    .article-body h2 {
        font-size: 1.2rem !important;
    }
    
    .article-body h3 {
        font-size: 1.1rem !important;
    }
    
    .article-body h4 {
        font-size: 1rem !important;
    }
}

/* Fix for specific content issues */
.article-body strong {
    font-weight: 600 !important;
}

.article-body a {
    color: #007bff !important;
    text-decoration: underline !important;
}

.article-body a:hover {
    color: #0056b3 !important;
}

/* Ensure proper spacing */
.article-body > * {
    margin-bottom: 1rem !important;
}

.article-body > *:last-child {
    margin-bottom: 0 !important;
}

/* Fix for any remaining overflow issues */
* {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Specific fix for the tour page wrapper */
body.single .tour-page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Ensure hero section doesn't cause horizontal scroll */
.hero-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.hero-content {
    max-width: 100% !important;
    padding: 0 1rem !important;
}

.hero-title {
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Form section fixes */
.form-section {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.form-container {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.form-wrapper {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Sidebar fixes */
.tour-sidebar {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Additional safety measures */
.content-wrapper > * {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Ensure all child elements respect container width */
.main-content * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Fix for WordPress content that might have inline styles */
.article-body [style*="width"] {
    width: auto !important;
    max-width: 100% !important;
}

/* Fix for any tables that might cause horizontal scroll */
.article-body table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    overflow-x: auto !important;
    display: block !important;
    white-space: nowrap !important;
}

.article-body table td,
.article-body table th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* Fix for any embedded content */
.article-body iframe,
.article-body embed,
.article-body object,
.article-body video {
    max-width: 100% !important;
    height: auto !important;
}

/* Fix for any pre-formatted text */
.article-body pre,
.article-body code {
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    overflow-x: auto !important;
    max-width: 100% !important;
}

/* Fix for any lists */
.article-body ul,
.article-body ol {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.article-body li {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
}

/* Fix for any blockquotes */
.article-body blockquote {
    max-width: 100% !important;
    overflow-x: hidden !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Additional safety for WordPress blocks */
.wp-block-image,
.wp-block-gallery,
.wp-block-media-text,
.wp-block-columns,
.wp-block-column {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Fix for any floating elements */
.article-body .alignleft,
.article-body .alignright {
    max-width: 50% !important;
}

@media (max-width: 768px) {
    .article-body .alignleft,
    .article-body .alignright {
        float: none !important;
        display: block !important;
        margin: 1rem auto !important;
        max-width: 100% !important;
    }
}

/* Emergency fix for any remaining overflow */
body * {
    max-width: 100% !important;
}

/* Specific fix for the content mentioned in the issue */
.article-body h6,
.article-body h4 strong {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}
