/* =========================================================
   melegek.hu - responsive.css
   Központi responsive override-ok és media query-k.
   Forrás: korábbi /assets/css/style.css
   Refaktor típusa: moduláris bontás redesign nélkül
   ========================================================= */

@media (max-width: 768px) {
    .profile-row {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 768px) {
    .request-card {
        flex-direction: column;
    }

}

@media (max-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 768px) {
    .profile-actions {
        flex-direction: column;
    }

}

@media (max-width: 768px) {
    .blocked-item {
        flex-direction: column;
    }

    .blocked-item-actions {
        width: 100%;
        min-width: 0;
    }

    .blocked-item-actions .btn {
        width: 100%;
    }

}

@media (max-width: 768px) {
    .checkbox-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 1100px) {
    .header-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 14px 0;
    }

    .main-nav {
        width: 100%;
        justify-content: flex-start;
    }

}

@media (max-width: 700px) {
    .main-nav {
        gap: 8px;
    }

    .nav-pill,
    .nav-user-pill {
        min-height: 38px;
        padding: 0 13px;
        font-size: 13px;
    }

    .logo {
        font-size: 18px;
    }

}

@media (max-width: 700px) {
    .grid-2 {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 900px) {
    .results-grid {
        grid-template-columns: 1fr 1fr;
    }

}

@media (max-width: 700px) {
    .results-grid {
        grid-template-columns: 1fr;
    }

    .search-profile-photo-wrap {
        height: 280px;
    }

    .results-header {
        flex-direction: column;
        align-items: flex-start;
    }

}

@media (max-width: 980px) {
    .landing-hero-inner {
        grid-template-columns: 1fr;
    }

    .landing-feature-grid,
    .landing-audience-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 640px) {
    .landing-hero {
        padding-top: 34px;
    }

    .landing-title {
        font-size: 30px;
    }

    .landing-subtitle {
        font-size: 15px;
    }

    .landing-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .landing-actions .btn {
        width: 100%;
        justify-content: center;
    }

}

@media (max-width: 640px) {
    .messages-list-item {
        padding: 14px;
        align-items: flex-start;
    }

    .messages-list-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .messages-list-avatar {
        width: 46px;
        height: 46px;
        min-width: 46px;
        font-size: 18px;
    }

}

@media (max-width: 768px) {
    .flirt-section-head,
    .flirt-card,
    .flirt-card-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .flirt-card-actions {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .premium-feature-grid,
    .premium-plan-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .payment-card {
        padding: 24px 18px;
        border-radius: 20px;
    }

    .payment-feature-checks {
        grid-template-columns: 1fr;
    }

    .payment-actions {
        flex-direction: column;
    }

    .payment-actions .btn {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 1280px) {
    .landing-latest-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .landing-latest-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .landing-latest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .landing-latest-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1280px) {
    .landing-latest-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .landing-latest-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .landing-latest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .landing-latest-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1100px) {
    .profile-hero-card {
        grid-template-columns: 1fr;
    }

    .profile-info-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .profile-hero-main {
        flex-direction: column;
    }

    .profile-data-row {
        flex-direction: column;
    }

    .profile-value {
        text-align: left;
    }
}

@media (max-width: 1100px) {
    .profile-view-hero {
        grid-template-columns: 1fr;
    }

    .profile-view-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .profile-view-hero-main {
        flex-direction: column;
    }

    .profile-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .profile-photo-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .profile-view-grid-3 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1200px) {
    .landing-featured-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .landing-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .landing-featured-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1200px) {
    .landing-featured-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .landing-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .landing-featured-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .payment-result-card {
        padding: 28px 18px;
    }

    .payment-result-title {
        font-size: 1.75rem;
    }

    .payment-feature-grid {
        grid-template-columns: 1fr;
    }

    .payment-expire-box,
    .payment-featured-box {
        text-align: center;
    }
}

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


@media (max-width: 1180px) {
    .header-inner {
        justify-content: center;
    }

    .logo {
        width: 100%;
        justify-content: center;
    }

    .main-nav,
    .nav-actions {
        justify-content: center;
    }
}

@media (max-width: 860px) {
    .site-header {
        position: static;
    }

    .header-inner {
        min-height: auto;
        padding: 14px 0 16px;
        gap: 14px;
    }

    .logo-main,
    .logo-dot {
        font-size: 1.7rem;
    }

    .main-nav,
    .nav-actions,
    .nav-extra {
        width: 100%;
        justify-content: center;
    }

    .nav-pill,
    .nav-sub,
    .nav-user-pill {
        min-height: 44px;
        padding: 0 16px;
        font-size: 0.92rem;
    }
}

@media (max-width: 560px) {
    .header-inner {
        gap: 12px;
    }

    .nav-pill,
    .nav-sub,
    .nav-user-pill {
        width: 100%;
        max-width: 100%;
    }

    .logout-form {
        width: 100%;
    }

    .logout-form .nav-pill {
        width: 100%;
    }

    .main-nav,
    .nav-actions,
    .nav-extra {
        gap: 8px;
    }
}

@media (max-width: 1100px) {
    .landing-latest-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .landing-latest-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .logo-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-radius: 12px;
    }

    .logo-heart {
        width: 26px;
        height: 26px;
    }

    .logo-main,
    .logo-dot {
        font-size: 1.8rem;
    }
}

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


@media (max-width: 980px) {
    .landing-hero-inner {
        grid-template-columns: 1fr;
    }

    .landing-feature-grid,
    .landing-audience-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .results-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .results-grid {
        grid-template-columns: 1fr;
    }

    .search-profile-photo-wrap {
        height: 280px;
    }

    .landing-hero {
        padding-top: 34px;
    }

    .landing-title {
        font-size: 30px;
    }

    .landing-subtitle {
        font-size: 15px;
    }

    .landing-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .landing-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .landing-section-head {
        text-align: left;
    }

    .search-subtitle {
        margin-left: 0;
        margin-right: 0;
    }
}

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


@media (max-width: 1200px) {
    .latest-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .featured-grid {
        grid-template-columns: 1fr;
    }

    .latest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .latest-grid {
        grid-template-columns: 1fr;
    }

    .featured-profile-card .search-profile-photo-wrap {
        height: 300px;
    }

    .latest-profile-card .search-profile-photo-wrap {
        height: 240px;
    }
}

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


@media (max-width: 1000px) {
    .premium-hero-top {
        grid-template-columns: 1fr;
    }

    .premium-feature-grid,
    .premium-why-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .header-inner {
        min-height: 78px;
        padding: 12px 0;
        flex-wrap: nowrap;
    }

    .header-desktop-nav {
        display: none;
    }

    .burger-toggle {
        display: inline-flex;
    }

    .mobile-nav-panel {
        display: block;
    }

    .mobile-nav-panel[hidden] {
        display: none !important;
    }
}

/* MOBIL */

@media (max-width: 900px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
}

/* mobil */

@media (max-width: 600px) {
    .contact-data-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .admin-topbar-inner {
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        padding: 12px 0;
    }

    .admin-nav {
        justify-content: space-between;
    }
}

@media (max-width: 900px) {
    .admin-filter-form {
        grid-template-columns: 1fr;
    }

    .admin-filter-actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 1100px) {
    .admin-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-photo-filter-form {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .admin-photo-grid {
        grid-template-columns: 1fr;
    }

    .admin-photo-filter-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .admin-premium-filter-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .message-thread-upgraded {
        max-height: 56vh;
        padding: 14px;
        border-radius: 20px;
    }

    .message-bubble,
    .message-system-bubble {
        max-width: 88%;
    }

    .message-composer-card {
        padding: 14px;
        border-radius: 20px;
    }

    .emoji-picker-panel {
        right: 0;
        left: 0;
        width: 100%;
        bottom: calc(100% + 10px);
    }

    .message-form-actions-upgraded {
        align-items: stretch;
    }

    .message-send-btn {
        width: 100%;
    }
}

@media (max-width: 980px) {
    .hero-inner,
    .info-grid,
    .steps-grid,
    .cta-card {
        grid-template-columns: 1fr;
        display: grid;
    }

    .cta-card {
        align-items: start;
    }

    .hero-home {
        min-height: auto;
        padding-top: 56px;
    }
}

@media (max-width: 640px) {
    .hero-actions,
    .cta-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-points {
        flex-direction: column;
        gap: 8px;
    }

    .hero-side,
    .info-card,
    .step-card,
    .cta-card,
    .seo-card {
        padding: 22px;
    }
}

@media (max-width: 1100px) {
    .header-desktop-nav-clean {
        display: none;
    }

    .header-inner-clean {
        display: flex;
        justify-content: space-between;
    }
}

@media (max-width: 900px) {
    .recommended-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 780px) {
    .messages-dashboard-page,
    .message-chat-page {
        border-radius: 22px;
    }

    .messages-dashboard-hero,
    .message-chat-header {
        padding: 22px 18px 18px;
    }

    .messages-hero-row,
    .message-chat-header,
    .message-request-panel {
        flex-direction: column;
        align-items: stretch;
    }

    .messages-hero-stats {
        width: 100%;
    }

    .messages-stat-card {
        flex: 1;
    }

    .messages-section-card,
    .message-chat-thread,
    .message-form-upgraded,
    .message-request-panel {
        margin-left: 14px;
        margin-right: 14px;
    }

    .messages-section-card {
        padding: 16px;
    }

    .messages-conversation-card,
    .messages-list-item-upgraded {
        grid-template-columns: 50px 1fr;
        padding: 14px;
    }

    .messages-list-avatar-wrap,
    .messages-list-avatar {
        width: 50px;
        height: 50px;
        min-width: 50px;
        border-radius: 17px;
        font-size: 19px;
    }

    .message-back-btn,
    .message-request-actions .btn {
        width: 100%;
    }
}

@media (max-width: 980px) {
    .dashboard {
        grid-template-columns: 1fr !important;
    }

    .dashboard-left {
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}

@media (max-width: 768px) {
	.dashboard {
    display: flex !important;
    flex-direction: column;
    gap: 16px;
}
.dashboard-left {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}
.dashboard-right {
    width: 100%;
}
.card {
    width: 100%;
}
.recommended-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 12px;
}
.btn-primary,
.btn-secondary {
    width: 100%;
    text-align: center;
}
.profile-card {
    text-align: center;
}

}

/* ===== DASHBOARD MOBILE FIX ===== */

@media (max-width: 768px) {

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

    .dashboard {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 18px !important;
        padding: 16px 14px 28px !important;
        overflow-x: hidden !important;
    }

    .dashboard-left,
    .dashboard-right {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .dashboard-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 14px !important;
    }

    .dashboard-grid .card,
    .dashboard-left .card,
    .recommended-section {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .dashboard-grid .card {
        min-height: auto !important;
        padding: 22px 20px !important;
    }

    .dashboard-grid .card h3 {
        font-size: 22px !important;
        line-height: 1.25 !important;
        margin-bottom: 12px !important;
    }

    .dashboard-grid .card p,
    .dashboard-grid .card a {
        font-size: 17px !important;
        line-height: 1.45 !important;
    }

    .profile-card,
    .growth-card {
        position: relative !important;
        top: auto !important;
    }

    .recommended-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .recommended-card {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .invite-page {
        padding: 20px 12px;
    }

    .invite-card {
        padding: 20px;
    }

    .invite-header h1 {
        font-size: 28px;
    }

    .invite-link-row {
        grid-template-columns: 1fr;
    }

    .invite-link-row .btn-primary {
        width: 100%;
        text-align: center;
    }

    .invite-actions {
        flex-direction: column;
    }

    .invite-actions .btn-secondary {
        width: 100%;
        text-align: center;
    }

    .invite-qr-box {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .invite-qr img {
        width: 180px;
        height: 180px;
    }

    .invite-code-box {
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 820px) {
    .community-entry-grid,
    .community-rules-grid {
        grid-template-columns: 1fr;
    }

    .community-hero h1 {
        font-size: 32px;
    }
}

@media (max-width: 820px) {
    .community-entry-grid,
    .community-rules-grid {
        grid-template-columns: 1fr;
    }

    .community-entry-card {
        min-height: auto;
    }
}

@media (max-width: 720px) {
    .community-blog-card {
        padding: 22px;
    }

    .community-blog-card h2 {
        font-size: 24px;
    }

    .community-blog-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 720px) {
    .community-blog-detail-card {
        padding: 24px;
    }

    .community-blog-content {
        font-size: 16px;
    }
}

@media (max-width: 720px) {
    .community-wall-page {
        padding: 0 16px;
    }

    .community-wall-form-actions {
        justify-content: stretch;
    }

    .community-wall-form-actions .community-vote-button {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .community-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .verification-header {
        flex-direction: column;
    }

    .verification-code-box {
        width: 100%;
        font-size: 21px;
    }
}

@media (max-width: 980px) {
    .verification-admin-meta-grid,
    .admin-verification-compare-grid,
    .admin-verification-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .verification-admin-meta-grid,
    .admin-verification-compare-grid,
    .admin-verification-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .verification-header {
        flex-direction: column;
    }

    .verification-code-box {
        width: 100%;
        font-size: 21px;
    }
}

@media (max-width: 900px) {
    .official-admin-header {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }

    .official-admin-actions {
        grid-template-columns: 1fr;
    }

    .official-admin-subtitle {
        font-size: 16px;
    }
}

@media (max-width: 560px) {
    .official-admin-card {
        padding: 24px 18px;
        border-radius: 22px;
    }

    .official-admin-logo {
        width: 104px;
        height: 104px;
        border-radius: 26px;
    }

    .official-admin-logo-inner {
        border-radius: 23px;
        font-size: 44px;
    }

    .official-admin-actions .btn,
    .official-admin-actions button.btn {
        min-height: 54px;
        font-size: 14px;
    }
}

@media (max-width: 700px) {
    .report-card {
        padding: 24px 18px;
        border-radius: 22px;
    }

    .report-form .form-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .report-form .form-actions .btn {
        width: 100%;
    }
}

@media (max-width: 760px) {

    .system-announcements-hero {
        padding: 28px 22px;
        border-radius: 24px;
    }

    .system-announcement-card {
        padding: 22px;
        border-radius: 22px;
    }

    .system-announcement-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .system-announcement-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {

    .dashboard-section-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-system-announcement-top {
        flex-direction: column;
        align-items: flex-start;
    }
}
