/* Wide desktop screens */
@media (min-width: 1500px) {
    .container { width: min(1320px, calc(100% - 80px)); }
    .hero { min-height: 740px; }
    .hero-content { padding-top: 95px; padding-bottom: 80px; }
    .property-image { height: 265px; }
}

/* Standard desktop and smaller laptops */
@media (max-width: 1280px) {
    .container { width: min(1160px, calc(100% - 42px)); }
    .main-nav { gap: 19px; }
    .nav-wrap { gap: 20px; }
    .journey-grid { gap: 58px; }
    .details-layout { grid-template-columns: minmax(0, 1fr) 335px; }
    .review-actions { flex-wrap: wrap; justify-content: flex-end; max-width: 330px; }
}

@media (max-width: 1120px) {
    :root { --header-height: 76px; }
    .brand-copy small { display: none; }
    .main-nav { gap: 15px; }
    .main-nav > a { font-size: 10px; }
    .nav-actions .btn { padding-inline: 14px; }
    .hero { min-height: 640px; }
    .search-panel { grid-template-columns: repeat(3, 1fr) 145px; }
    .properties-grid { gap: 17px; }
    .property-image { height: 215px; }
    .property-body { padding-inline: 16px; }
    .property-meta span { font-size: 7px; }
    .footer-grid { gap: 32px; }
    .listing-layout { grid-template-columns: 255px minmax(0, 1fr); gap: 20px; }
    .details-heading h1 { font-size: 25px; }
    .details-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; }
    .admin-shell { grid-template-columns: 220px minmax(0, 1fr); }
    .admin-sidebar { padding-inline: 12px; }
    .admin-content { padding: 20px; }
    .admin-list article { flex-wrap: wrap; }
    .review-actions { width: 100%; max-width: none; margin-right: 80px; justify-content: flex-start; }
}

/* Tablets landscape / compact laptops */
@media (max-width: 992px) {
    .nav-actions { display: none; }
    .menu-toggle { display: grid; margin-right: auto; }
    .main-nav {
        width: min(360px, 88vw);
        height: 100dvh;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 120;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding: 0 21px 25px;
        color: var(--ink);
        background: #fff;
        box-shadow: -20px 0 60px rgba(5,30,28,.17);
        overflow-y: auto;
        transform: translateX(105%);
        transition: transform .7s var(--ease);
    }
    .menu-open .main-nav { transform: translateX(0); }
    .main-nav > a { padding: 13px 3px; border-bottom: 1px solid var(--line); font-size: 12px; }
    .main-nav > a::after { display: none; }
    .mobile-nav-head { min-height: 76px; display: flex; align-items: center; justify-content: space-between; color: var(--primary); border-bottom: 1px solid var(--line); font-weight: 900; }
    .mobile-nav-head button { width: 38px; height: 38px; display: grid; place-items: center; color: var(--primary); background: var(--primary-soft); border: 0; border-radius: 10px; }
    .mobile-nav-actions { display: grid; gap: 9px; margin-top: 20px; }
    .menu-overlay { position: fixed; inset: 0; z-index: 110; display: block; visibility: hidden; background: rgba(5,30,28,.56); opacity: 0; backdrop-filter: blur(3px); transition: opacity .6s var(--ease), visibility .6s var(--ease); }
    .menu-open .menu-overlay { visibility: visible; opacity: 1; }
    .menu-open .menu-open-icon { display: none; }
    .menu-open .menu-close-icon { display: block; }
    .hero h1 { font-size: 54px; }
    .search-panel { grid-template-columns: repeat(3, 1fr); }
    .search-button { grid-column: 1 / -1; min-height: 52px; margin-top: 7px; }
    .properties-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .property-image { height: 235px; }
    .category-grid { height: 430px; }
    .journey-grid { grid-template-columns: .9fr 1.1fr; gap: 38px; }
    .journey-visual img { height: 480px; }
    .locations-grid { grid-template-columns: 1.15fr 1fr 1fr; }
    .plans-grid { gap: 15px; }
    .plan-card { padding: 24px 20px; }
    .owner-cta-inner { align-items: flex-start; }
    .owner-cta-actions { flex-direction: column; }
    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .footer-grid > div:last-child { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); }
    .footer-grid > div:last-child .btn { width: auto; }
    .listing-layout { display: block; margin-top: 0; }
    .listing-results { padding-top: 30px; }
    .filters {
        width: min(370px, 90vw);
        height: 100dvh;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 150;
        overflow-y: auto;
        border-radius: 0;
        transform: translateX(105%);
        transition: transform .68s var(--ease);
    }
    .filter-open .filters { transform: translateX(0); }
    .filters-head button { display: grid; }
    .filter-overlay { position: fixed; inset: 0; z-index: 140; display: block; visibility: hidden; background: rgba(5,30,28,.55); opacity: 0; transition: opacity .6s var(--ease), visibility .6s var(--ease); }
    .filter-open .filter-overlay { visibility: visible; opacity: 1; }
    .filter-mobile-button { display: inline-flex; }
    .details-layout { grid-template-columns: minmax(0, 1fr) 290px; }
    .property-gallery { height: 440px; }
    .info-grid { grid-template-columns: repeat(2, 1fr); }
    .details-features { padding-inline: 8px; }
    .details-features > div { gap: 6px; }
    .dashboard-grid { grid-template-columns: minmax(0, 1fr) 285px; }
    .admin-shell { display: block; }
    .admin-sidebar { width: 255px; position: fixed; right: 0; transform: translateX(105%); transition: transform .68s var(--ease); }
    .admin-menu-open .admin-sidebar { transform: translateX(0); }
    .admin-menu { display: grid; }
    .admin-topbar { justify-content: flex-start; gap: 14px; }
    .admin-stats { grid-template-columns: repeat(2, 1fr); }
    .admin-two-cols { grid-template-columns: 1fr; }
    .contact-grid { gap: 15px; }
}

/* Tablet portrait */
@media (max-width: 820px) {
    .container { width: min(100% - 32px, 720px); }
    .section { padding: 72px 0; }
    .hero { min-height: 690px; }
    .hero-media { background-position: 38% center; }
    .hero-shade { background: linear-gradient(90deg, rgba(7,31,29,.56), rgba(7,31,29,.94) 78%); }
    .hero-content { padding-top: 54px; padding-bottom: 50px; }
    .hero h1 { font-size: 49px; }
    .trust-strip .container { min-height: 90px; }
    .section-head { align-items: flex-start; }
    .property-image { height: 220px; }
    .category-grid { height: 390px; }
    .journey-grid { grid-template-columns: 1fr; }
    .journey-visual { max-width: 620px; }
    .journey-visual img { height: 510px; }
    .locations-grid { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 300px 250px; }
    .locations-grid a:first-child { grid-column: 1 / -1; }
    .plans-grid { grid-template-columns: 1fr; max-width: 610px; margin-inline: auto; }
    .plan-card { padding: 28px; }
    .plan-card > p,
    .plan-card ul { min-height: 0; }
    .process-grid { grid-template-columns: 1fr; }
    .owner-cta-inner { flex-direction: column; }
    .owner-cta-actions { width: 100%; flex-direction: row; }
    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 25px; }
    .property-gallery { height: 380px; }
    .details-layout { grid-template-columns: 1fr; }
    .contact-card { position: static; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .dashboard-stats { grid-template-columns: repeat(2, 1fr); }
    .package-options { grid-template-columns: 1fr; }
    .admin-content { padding: 17px; }
    .admin-list article { align-items: flex-start; }
    .review-actions { margin-right: 0; }
    .contact-grid { grid-template-columns: 1fr; }
    .about-values { grid-template-columns: 1fr; }
}

/* Mobile */
@media (max-width: 640px) {
    :root { --header-height: 70px; }
    body { font-size: 13px; }
    .container { width: calc(100% - 26px); }
    .site-header { height: 70px; }
    .brand-mark { width: 39px; height: 39px; border-radius: 12px 12px 4px 12px; }
    .brand-mark .icon { width: 21px; height: 21px; }
    .brand-copy strong { font-size: 21px; }
    .menu-toggle { width: 40px; height: 40px; }
    .section { padding: 60px 0; }
    .section-head { display: block; margin-bottom: 25px; }
    .section-head h2,
    .section h2 { font-size: 27px; }
    .section-head p { font-size: 11px; }
    .section-link { margin-top: 13px; }
    .hero { min-height: auto; }
    .hero-media { background-position: 33% center; }
    .hero-shade { background: rgba(7,31,29,.85); }
    .hero-content { padding-top: 53px; padding-bottom: 43px; }
    .eyebrow { padding: 6px 10px; font-size: 9px; }
    .hero h1 { margin-top: 13px; font-size: 39px; line-height: 1.35; letter-spacing: -1px; }
    .hero-copy > p { font-size: 13px; line-height: 1.9; }
    .search-panel { margin-top: 23px; padding: 11px; grid-template-columns: 1fr; border-radius: 15px; }
    .search-panel label { min-height: 57px; padding-inline: 10px; border-left: 0; border-bottom: 1px solid var(--line); }
    .search-panel label:last-of-type { border-bottom: 0; }
    .search-panel select { font-size: 11px; }
    .search-button { grid-column: auto; margin-top: 9px; }
    .hero-stats { justify-content: space-between; }
    .hero-stats div { min-width: 0; flex: 1; padding-inline: 10px; }
    .hero-stats div:first-child { padding-right: 0; }
    .hero-stats strong { font-size: 19px; }
    .hero-stats span { font-size: 7px; }
    .trust-strip .container { padding: 14px 0; grid-template-columns: 1fr; }
    .trust-strip .container > div { min-height: 58px; justify-content: flex-start; border-left: 0; border-bottom: 1px solid var(--line); }
    .trust-strip .container > div:last-child { border-bottom: 0; }
    .properties-grid,
    .properties-grid.two-cols { grid-template-columns: 1fr; }
    .property-image { height: 245px; }
    .property-body h3 { min-height: 0; }
    .category-grid { height: auto; grid-template-columns: 1fr; grid-template-rows: repeat(3, 230px); }
    .category-large { grid-row: auto; }
    .journey-grid { gap: 38px; }
    .journey-visual { padding: 0 0 24px 20px; }
    .journey-visual img { height: 390px; border-radius: 18px; }
    .experience-card { min-width: 175px; padding: 14px 17px; }
    .benefits small { font-size: 9px; }
    .locations-grid { grid-template-columns: 1fr; grid-template-rows: repeat(3, 225px); }
    .locations-grid a:first-child { grid-column: auto; }
    .plan-card { padding: 25px 20px; }
    .owner-cta { padding: 55px 0; }
    .owner-cta h2 { font-size: 26px; }
    .owner-cta-actions { display: grid; grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
    .footer-about { grid-column: 1 / -1; }
    .footer-grid > div:last-child { grid-column: 1 / -1; }
    .footer-bottom > div { padding: 17px 0; flex-direction: column; align-items: flex-start; }
    .inner-page,
    .dashboard-page,
    .details-page { padding-bottom: 60px; }
    .inner-hero { padding: 43px 0 64px; }
    .inner-hero h1 { font-size: 30px; }
    .inner-hero p { font-size: 10px; }
    .hero-quick-search { height: auto; padding: 7px; flex-wrap: wrap; }
    .hero-quick-search > .icon { margin-right: 7px; }
    .hero-quick-search input { width: calc(100% - 34px); }
    .hero-quick-search .btn { width: 100%; }
    .listing-results { padding-top: 22px; }
    .results-toolbar { align-items: flex-start; }
    .results-actions { flex-direction: column; align-items: flex-end; }
    .results-actions label { font-size: 0; }
    .results-actions select { max-width: 150px; }
    .property-gallery { height: auto; display: block; }
    .gallery-main { width: 100%; height: 330px; border-radius: 15px !important; }
    .gallery-side { display: none; }
    .all-photos-button { left: 12px; bottom: 12px; }
    .breadcrumb span { max-width: 45%; }
    .details-heading { display: block; }
    .details-heading h1 { font-size: 23px; }
    .details-price-block { margin-top: 14px; align-items: flex-start; }
    .details-actions { flex-wrap: wrap; }
    .details-actions > span { width: 100%; margin: 4px 0 0; }
    .details-features { grid-template-columns: repeat(2, 1fr); gap: 0; }
    .details-features > div { border-bottom: 1px solid var(--line); }
    .details-features > div:nth-child(2) { border-left: 0; }
    .details-features > div:nth-child(3),
    .details-features > div:nth-child(4) { border-bottom: 0; }
    .details-box,
    .contact-card,
    .panel { padding: 18px; }
    .info-grid { grid-template-columns: 1fr 1fr; }
    .two-fields,
    .three-fields { grid-template-columns: 1fr; }
    .form-card { width: calc(100% - 26px); padding: 21px 17px; }
    .upload-preview { grid-template-columns: repeat(3, 1fr); }
    .auth-section { padding: 45px 13px; }
    .auth-card { padding: 25px 19px; border-radius: 18px; }
    .auth-card h1 { font-size: 25px; }
    .payment-summary { grid-template-columns: 1fr; }
    .dashboard-heading { align-items: flex-start; }
    .dashboard-heading .btn { min-height: 40px; padding-inline: 12px; font-size: 9px; }
    .dashboard-stats { grid-template-columns: repeat(2, 1fr); }
    .user-listing { grid-template-columns: 82px minmax(0, 1fr); }
    .user-listing img { width: 82px; height: 75px; }
    .admin-topbar { height: 66px; padding: 0 15px; }
    .admin-content { padding: 13px; }
    .admin-welcome { align-items: flex-start; }
    .admin-welcome .btn { min-height: 38px; padding-inline: 11px; font-size: 8px; }
    .admin-stats { gap: 9px; }
    .admin-stats article { padding: 12px; }
    .admin-stats article > span { width: 37px; height: 37px; }
    .admin-stats strong { font-size: 15px; }
    .admin-panel { padding: 14px; }
    .panel-head { align-items: flex-start; }
    .inline-search { width: 100%; }
    .inline-search input { width: 100%; }
    .admin-list article { position: relative; }
    .admin-list article > img { width: 58px; height: 50px; }
    .review-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .review-actions input,
    .review-actions select { width: 100%; grid-column: 1 / -1; }
    .reason-list article { align-items: flex-start; flex-wrap: wrap; }
    .static-hero { padding: 54px 0; }
    .static-hero h1 { font-size: 31px; }
    .content-section { padding: 45px 0; }
    .content-card,
    .contact-info-card,
    .contact-form-card { padding: 22px 17px; }
}

/* Small phones */
@media (max-width: 420px) {
    .container { width: calc(100% - 22px); }
    .brand-copy strong { font-size: 19px; }
    .hero h1 { font-size: 34px; }
    .hero-copy > p { font-size: 12px; }
    .property-image { height: 225px; }
    .property-meta span { font-size: 7px; }
    .journey-visual img { height: 345px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-about,
    .footer-grid > div:last-child { grid-column: auto; }
    .footer-grid > div:last-child { padding-top: 20px; }
    .gallery-main { height: 275px; }
    .details-features { padding: 10px 5px; }
    .details-features > div > .icon { width: 20px; height: 20px; }
    .info-grid { grid-template-columns: 1fr; }
    .dashboard-stats { gap: 8px; }
    .dashboard-stats div { padding: 13px; }
    .dashboard-stats b { font-size: 21px; }
    .admin-stats { grid-template-columns: 1fr; }
    .admin-welcome { display: block; }
    .admin-welcome .btn { margin-top: 12px; }
}

/* Short laptop screens: keep navigation practical */
@media (min-width: 993px) and (max-height: 760px) {
    .hero { min-height: 620px; }
    .hero-content { padding-top: 50px; padding-bottom: 45px; }
    .hero h1 { font-size: 52px; }
    .admin-sidebar { padding-top: 14px; padding-bottom: 12px; }
    .admin-sidebar > small { padding-bottom: 10px; }
    .admin-sidebar nav { gap: 2px; }
    .admin-sidebar nav a { min-height: 37px; padding-block: 7px; }
}
