/*
 * Neo Maroon — mobile & tablet overrides only.
 * Desktop (≥992px) unchanged; all rules scoped below 992px / 768px.
 */

@media (max-width: 991.98px) {
    html {
        overflow-x: clip;
    }

    body {
        overflow-x: hidden;
        max-width: 100%;
    }

    .container {
        padding-left: 0.875rem;
        padding-right: 0.875rem;
        max-width: 100%;
        width: 100%;
    }

    /* Navbar */
    .navbar .container {
        height: 60px;
    }

    .logo img {
        height: 32px;
    }

    .menu-toggle {
        font-size: 1.25rem;
    }

    .mobile-menu ul li a {
        font-size: 0.9375rem;
        padding: 14px 0;
    }

    .mobile-menu .submenu li a {
        font-size: 0.875rem;
        padding: 10px 0;
    }

    .mobile-auth .btn-login,
    .mobile-auth .btn-register {
        padding: 11px;
        font-size: 0.875rem;
    }

    /* Hero — hide decorative bg icons (fixed px positions cause overflow) */
    .hero > div:not(.container) {
        display: none !important;
    }

    .hero {
        padding: 2rem 0 2.25rem;
    }

    .hero-container {
        flex-direction: column-reverse;
        text-align: center;
        gap: 1.25rem;
    }

    .hero-text {
        max-width: 100%;
        margin-top: 0.5rem;
    }

    .hero-text h1 {
        font-size: 1.625rem;
        line-height: 1.3;
        margin-bottom: 0.75rem;
    }

    .hero-text p {
        font-size: 0.875rem;
        line-height: 1.55;
        margin-bottom: 1.125rem;
        max-width: 100%;
    }

    .hero-image {
        max-width: 72%;
        margin: 0 auto;
    }

    .hero-image img {
        max-width: 100% !important;
    }

    .hero-image > i.fas {
        display: none !important;
    }

    .btn-cta {
        padding: 0.5625rem 1.125rem;
        font-size: 0.8125rem;
    }

    .btn-cta i {
        margin-left: 0.375rem;
        font-size: 0.75rem;
    }

    /* Section spacing */
    .advantages-section,
    .pricing-section {
        padding: 2.75rem 0;
    }

    .section-header {
        margin-bottom: 2rem;
    }

    .section-header h2 {
        font-size: 1.375rem;
        line-height: 1.35;
        margin-bottom: 0.75rem;
    }

    .section-header p {
        font-size: 0.875rem;
        line-height: 1.55;
    }

    /* Advantages */
    .advantages-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.875rem;
        margin-bottom: 2.5rem;
    }

    .advantage-card {
        padding: 1rem 0.75rem;
    }

    .advantage-card h4 {
        font-size: 0.8125rem;
        margin-bottom: 0.375rem;
    }

    .advantage-card p {
        font-size: 0.6875rem;
        line-height: 1.45;
    }

    .icon-wrapper {
        width: 48px;
        height: 48px;
        margin-bottom: 0.625rem;
    }

    .advantage-card .icon-wrapper i {
        font-size: 1.375rem !important;
    }

    .start-business {
        flex-direction: column;
        text-align: center;
        gap: 1.25rem;
    }

    .start-business-text h3 {
        font-size: 1.25rem;
        margin-bottom: 0.75rem;
    }

    .start-business-text p {
        font-size: 0.8125rem;
        line-height: 1.55;
        margin-bottom: 0.75rem;
    }

    /* Pricing tabs */
    .custom-tab-container {
        margin-bottom: 1.5rem !important;
        overflow: hidden;
    }

    .custom-tab-list,
    .tab-wrap-style {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start !important;
        gap: 0.5rem !important;
        max-width: 100%;
        padding-bottom: 0.25rem;
        scrollbar-width: none;
    }

    .custom-tab-list::-webkit-scrollbar,
    .tab-wrap-style::-webkit-scrollbar {
        display: none;
    }

    .custom-tab-list li,
    .tab-wrap-style li {
        flex: 0 0 auto;
    }

    .custom-tab-link,
    .tab-btn-style {
        padding: 0.4375rem 0.875rem !important;
        font-size: 0.75rem !important;
        white-space: nowrap;
    }

    .btn-tab {
        padding: 0.4375rem 0.875rem !important;
        font-size: 0.75rem !important;
    }

    /* Pricing cards */
    .pricing-cards {
        gap: 1.25rem;
    }

    .pricing-card {
        padding: 1.25rem 1rem;
    }

    .pricing-card h3 {
        font-size: 1.0625rem;
    }

    .pricing-card .price {
        font-size: 1.375rem;
        margin: 0.625rem 0;
    }

    .price .strikethrough {
        font-size: 0.875rem;
    }

    .pricing-card .description {
        font-size: 0.8125rem;
        margin-bottom: 1rem;
    }

    .features-list li {
        font-size: 0.75rem;
        margin-bottom: 0.5rem;
    }

    .pricing-card .btn-primary,
    .pricing-card .btn-secondary,
    .pricing-card .btn {
        padding: 0.5625rem 0.875rem !important;
        font-size: 0.8125rem !important;
    }

    .btn-primary {
        padding: 0.5625rem 1.125rem;
        font-size: 0.8125rem;
    }

    .discount-badge {
        font-size: 0.625rem;
        padding: 0.25rem 0.625rem;
        top: 0.75rem;
    }

    .note {
        font-size: 0.75rem;
        padding: 0.75rem;
    }

    /* Footer */
    .site-footer {
        padding-top: 2.5rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding-bottom: 1.5rem;
    }

    .footer-column h4 {
        font-size: 0.8125rem;
        margin-bottom: 0.75rem;
    }

    .footer-column p,
    .footer-column ul a {
        font-size: 0.8125rem;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
        padding: 1rem 0;
    }

    .footer-bottom p {
        font-size: 0.75rem;
    }

    .social-icon {
        width: 34px;
        height: 34px;
        font-size: 0.9375rem;
    }

    /* Blog */
    .blog-section {
        padding: 1.75rem 0 2.5rem;
    }

    .blog-main-flex,
    .blog-main-flex-detail {
        flex-direction: column;
        gap: 1.5rem;
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .blog-card {
        min-height: 0;
    }

    .blog-image {
        height: 140px;
    }

    .blog-content {
        padding: 0.875rem 0.75rem;
    }

    .blog-meta {
        font-size: 0.75rem;
        gap: 0.5rem;
    }

    .blog-title {
        font-size: 0.9375rem;
    }

    .blog-summary {
        font-size: 0.8125rem;
    }

    .blog-sidebar,
    .blog-detail-sidebar {
        max-width: 100%;
        min-width: 0;
        margin-top: 0;
    }

    .blog-detail-card {
        padding: 1rem !important;
        min-height: 0;
    }

    .blog-detail-title,
    .blog-detail-card .blog-title,
    .blog-detail-card h1.blog-title {
        font-size: 1.25rem !important;
        margin-bottom: 0.75rem !important;
    }

    .blog-detail-content {
        font-size: 0.875rem;
        line-height: 1.65;
    }

    .blog-detail-header {
        margin-bottom: 1.25rem !important;
    }

    .blog-detail-image {
        margin-bottom: 1rem !important;
    }

    .blog-detail-social {
        padding-top: 1rem !important;
        gap: 0.75rem !important;
    }

    .blog-detail-social-label {
        font-size: 0.8125rem !important;
    }

    .blog-detail-social-link {
        width: 34px !important;
        height: 34px !important;
        font-size: 0.8125rem;
    }

    .blog-detail-tag {
        font-size: 0.6875rem !important;
        padding: 0.25rem 0.5rem !important;
    }

    .blog-detail-tags {
        margin-left: 0 !important;
        width: 100%;
        flex-wrap: wrap;
    }

    .blog-sidebar-ui {
        padding: 1rem 0.875rem !important;
    }

    .blog-sidebar-ui input[type="search"] {
        font-size: 0.8125rem !important;
        padding: 0.5rem 2rem 0.5rem 0.75rem !important;
    }

    .blog-categories > div:first-child,
    .blog-tab-btn {
        font-size: 0.875rem !important;
    }

    .blog-sidebar-ui .blog-categories a {
        font-size: 0.8125rem !important;
    }

    .pagination-wrapper a,
    .pagination-wrapper span {
        font-size: 0.75rem !important;
        padding: 0.375rem 0.625rem !important;
    }

    /* Themes page */
    .themes-section {
        padding: 1.5rem 0 !important;
    }

    .themes-section > .container > h1 {
        font-size: 1.375rem !important;
        margin-bottom: 1.25rem !important;
    }

    .themes-section h3 {
        font-size: 1rem !important;
        margin: 1rem 0 !important;
    }

    .themes-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start !important;
        gap: 0.5rem !important;
        padding-bottom: 0.25rem;
        scrollbar-width: none;
    }

    .themes-tabs::-webkit-scrollbar {
        display: none;
    }

    .themes-tabs .tab-card {
        flex: 0 0 auto;
        padding: 0.625rem 0.875rem !important;
        min-width: 72px;
    }

    .themes-tabs .tab-card > div:first-child {
        font-size: 1.25rem !important;
        margin-bottom: 0.25rem !important;
    }

    .themes-tabs .tab-card > div:last-child {
        font-size: 0.6875rem !important;
        font-weight: 500;
        white-space: nowrap;
    }

    .themes-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .theme-card {
        padding: 0.875rem 0.75rem !important;
    }

    .theme-card > div > div:first-child {
        font-size: 0.875rem !important;
        margin-bottom: 0.75rem !important;
    }

    .btn-preview {
        font-size: 0.75rem !important;
        padding: 0.4375rem 0 !important;
    }

    /* Wedding planner card */
    .wedding-planner-card-body {
        padding: 1.125rem !important;
    }

    .wedding-planner-title {
        font-size: 1.0625rem !important;
        margin-bottom: 1.25rem !important;
    }

    .wedding-planner-feature-icon {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        font-size: 1rem !important;
        margin-right: 0.75rem !important;
    }

    .wedding-planner-feature-desc {
        font-size: 0.8125rem !important;
    }

    .wedding-planner-feature-desc strong {
        font-size: 0.875rem !important;
    }

    .wedding-planner-feature {
        margin-bottom: 1rem !important;
    }

    /* Legal pages */
    main .container[style*="margin-top"] {
        margin-top: 1.5rem !important;
        margin-bottom: 2rem !important;
    }

    main .container > h1 {
        font-size: 1.375rem !important;
        margin-bottom: 1.5rem !important;
        margin-top: 1.5rem !important;
    }

    main .container h6 {
        font-size: 0.9375rem !important;
    }

    main .container p,
    main .container li {
        font-size: 0.8125rem;
        line-height: 1.6;
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: 0.875rem;
    }

    .hero-text h1 {
        font-size: 1.375rem;
    }

    .hero-text p {
        font-size: 0.8125rem;
    }

    .hero-image {
        max-width: 78%;
    }

    .section-header h2 {
        font-size: 1.2rem;
    }

    .advantages-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .advantage-card h4 {
        font-size: 0.875rem;
    }

    .advantage-card p {
        font-size: 0.75rem;
    }

    .start-business-text h3 {
        font-size: 1.125rem;
    }

    .pricing-card .price {
        font-size: 1.25rem;
    }

    .custom-tab-link,
    .tab-btn-style,
    .btn-tab {
        font-size: 0.6875rem !important;
        padding: 0.375rem 0.75rem !important;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .hero-text h1 {
        font-size: 1.25rem;
    }

    .hero-image {
        max-width: 85%;
    }

    .btn-cta,
    .btn-primary {
        font-size: 0.75rem;
        padding: 0.5rem 0.875rem;
    }

    .section-header h2 {
        font-size: 1.0625rem;
    }

    .pricing-card {
        padding: 1rem 0.875rem;
    }

    .themes-tabs .tab-card {
        padding: 0.5rem 0.625rem !important;
        min-width: 64px;
    }

    .themes-tabs .tab-card > div:first-child {
        font-size: 1.125rem !important;
    }

    .themes-tabs .tab-card > div:last-child {
        font-size: 0.625rem !important;
    }

    main .container > h1 {
        font-size: 1.2rem !important;
    }
}
