/* ==========================================================================
   RENTWEB MOBILE RESPONSIVE STYLESHEET
   ========================================================================== */

/* Hide mobile toggle and hamburger icon on desktop */
.menu-toggle-checkbox,
.hamburger-btn {
  display: none;
}

/* Tablet and Smaller Desktop Viewports (max-width: 900px) */
@media (max-width: 900px) {
  .mess-service-section {
    grid-template-columns: 1fr !important;
    gap: 30px;
  }
  
  .feedback-container {
    flex-direction: column !important;
    gap: 30px;
  }

  .feedback-box {
    width: 100% !important;
  }
}

/* Primary Mobile Breakpoint (max-width: 768px) */
@media (max-width: 768px) {
  /* Navigation Bar - Fixed Hamburger layout */
  #nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 80px !important;
    min-height: auto !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    overflow: hidden !important;
    transition: height 0.3s ease !important;
    z-index: 10100 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border-glass) !important;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.03) !important;
  }

  /* When checkbox is checked, expand #nav to fit items */
  #nav:has(.menu-toggle-checkbox:checked) {
    height: auto !important;
    padding-bottom: 20px !important;
    overflow-y: auto !important;
    max-height: 100vh !important;
  }

  .logo img {
    height: 36px !important;
  }

  /* Mobile Checkbox and Hamburger Button Styling */
  .menu-toggle-checkbox {
    display: none !important;
  }

  .hamburger-btn {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 24px !important;
    height: 18px !important;
    cursor: pointer !important;
    z-index: 1001 !important;
  }

  .hamburger-btn .bar {
    display: block !important;
    height: 2px !important;
    width: 100% !important;
    background-color: #0f172a !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
  }

  /* Hamburger to X Animations */
  .menu-toggle-checkbox:checked ~ .hamburger-btn .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg) !important;
  }

  .menu-toggle-checkbox:checked ~ .hamburger-btn .bar:nth-child(2) {
    opacity: 0 !important;
  }

  .menu-toggle-checkbox:checked ~ .hamburger-btn .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg) !important;
  }

  /* Drawer Navigation Links (Hidden by default, shown when toggled) */
  .nav-items {
    display: none !important;
    width: 100% !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 20px !important;
    order: 3 !important;
  }

  .nav-items a {
    padding: 8px 24px !important;
    border-radius: 8px !important;
    text-align: center !important;
    width: 80% !important;
  }

  .nav-items a h2 {
    font-size: 15px !important;
  }

  /* Drawer Login/Action Buttons (Hidden by default, shown when toggled) */
  .log-page {
    display: none !important;
    width: 100% !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 15px !important;
    order: 4 !important;
  }

  .log-page button {
    padding: 10px 20px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    width: 80% !important;
    max-width: 280px !important;
    flex: none !important;
  }

  /* Show nav sections when menu is toggled active */
  .menu-toggle-checkbox:checked ~ .nav-items,
  .menu-toggle-checkbox:checked ~ .log-page {
    display: flex !important;
  }

  /* Hero / Contents Section */
  .home {
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }

  .home h1 {
    font-size: 32px !important;
    letter-spacing: -0.8px !important;
    line-height: 1.3 !important;
    margin-bottom: 15px !important;
  }

  .home .inf {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 25px !important;
    padding: 0 10px !important;
  }

  /* Home Buttons */
  .home-btns {
    margin-bottom: 20px !important;
    flex-direction: column !important;
    width: 100% !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .home-btns button {
    width: 90% !important;
    max-width: 300px !important;
    padding: 12px !important;
    font-size: 15px !important;
  }

  /* Search Container & Inputs */
  .search-container {
    padding: 20px !important;
    margin: 20px 10px 30px !important;
    border-radius: 16px !important;
  }

  .search-container form {
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
  }

  #filter, 
  #search, 
  .search-container button {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Latest Properties Grid */
  .latest-properties {
    padding: 40px 15px !important;
  }

  .latest-properties h2 {
    font-size: 26px !important;
  }

  .latest-properties p {
    font-size: 14px !important;
    margin-bottom: 30px !important;
  }

  /* Grid Layouts */
  .property-grid, 
  .results {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Card Components */
  .property-box, 
  .property-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 12px !important;
  }

  .property-image {
    height: 180px !important;
    margin-bottom: 12px !important;
  }

  .property-box h3, 
  .property-card h3.title {
    font-size: 18px !important;
  }

  .property-box .rent, 
  .property-card h3.price {
    font-size: 20px !important;
    margin-bottom: 10px !important;
  }

  .property-box p strong, 
  .property-card p strong {
    width: 90px !important;
  }

  /* Mess / Tiffin Provider */
  .mess-provider {
    padding: 40px 15px !important;
  }

  .mess-ser-head {
    padding: 25px 20px !important;
    border-radius: 16px !important;
  }

  .mess-ser-head h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  .mess-ser-head p {
    font-size: 14px !important;
  }

  .info-box {
    padding: 15px !important;
    margin-top: 20px !important;
  }

  .info-box h4 {
    font-size: 16px !important;
  }

  #messContainer {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  #messContainer h2 {
    font-size: 20px !important;
  }

  .mess-box {
    padding: 15px !important;
    border-radius: 10px !important;
  }

  .mess-box h3 {
    font-size: 16px !important;
  }

  /* Steps / How It Works */
  .how-it-works {
    margin: 40px auto !important;
    padding: 0 15px !important;
  }

  .how-it-works h2 {
    font-size: 26px !important;
  }

  .how-it-works p {
    font-size: 14px !important;
    margin-bottom: 30px !important;
  }

  .step {
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px !important;
    border-radius: 12px !important;
  }

  /* Testimonials and Feedbacks */
  .view_feedbacks {
    padding: 30px 15px !important;
    margin-bottom: 40px !important;
    border-radius: 16px !important;
  }

  .view_feedbacks h2 {
    font-size: 26px !important;
  }

  .view_feedbacks h3 {
    font-size: 14px !important;
    margin-bottom: 25px !important;
  }

  .public-feedback-box {
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }

  .user-avatar {
    margin-right: 15px !important;
  }

  /* Feedback Form Container */
  .feedback-container {
    padding: 20px !important;
    border-radius: 16px !important;
    margin-bottom: 40px !important;
  }

  .left-side h3 {
    font-size: 22px !important;
  }

  .feedback-box {
    width: 100% !important;
    padding: 20px !important;
    border-radius: 12px !important;
  }

  .feedback-box h3 {
    font-size: 18px !important;
  }

  /* Creator profile styling */
  .creator-profile {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 15px !important;
  }

  .creator-profile img {
    width: 100px !important;
    height: 100px !important;
  }

  /* Features Page */
  .features {
    padding: 110px 15px 40px 15px !important;
  }

  .features h1 {
    font-size: 28px !important;
    margin-top: 0px !important;
    line-height: 1.3 !important;
  }

  .features p#f-info {
    font-size: 14px !important;
    margin-bottom: 30px !important;
  }

  .features .category {
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    align-items: center !important;
  }

  .features .category h2 {
    font-size: 14px !important;
    padding: 8px 16px !important;
    width: 90% !important;
    max-width: 250px !important;
    text-align: center !important;
  }

  .features .f-carts .cart1 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 20px !important;
    border-radius: 14px !important;
  }

  /* About Page */
  .about-home {
    padding: 110px 15px 40px 15px !important;
  }

  .abt-us h1 {
    font-size: 28px !important;
    margin-bottom: 15px !important;
  }

  .abt-us p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .we-serv {
    padding: 25px 20px !important;
    border-radius: 16px !important;
  }

  .we-serv h2 {
    font-size: 20px !important;
  }

  .we-serv .serv {
    font-size: 14px !important;
    padding: 10px 0 !important;
  }

  .abt-main-features h2 {
    font-size: 20px !important;
  }

  .adt-m-ftr {
    gap: 10px !important;
  }

  .abt-ftr {
    padding: 10px 15px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
    width: 100% !important;
  }

  .abt {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  .abt h2 {
    font-size: 18px !important;
  }

  /* Contact Page & Forms */
  .contact-section {
    margin: 110px auto 40px !important;
    padding: 0 15px !important;
  }

  .contact-section h1 {
    font-size: 28px !important;
    margin-bottom: 25px !important;
    line-height: 1.3 !important;
  }

  .contact-section .info-box {
    padding: 20px !important;
    border-radius: 16px !important;
  }

  .contact-section .info-box h2 {
    font-size: 18px !important;
  }

  .contact-section .info-box p {
    font-size: 14px !important;
  }

  .contact-section .info-box iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 200px !important;
    border-radius: 10px !important;
  }

  /* Footer Section */
  footer {
    padding: 20px 15px !important;
  }

  footer p {
    font-size: 13px !important;
  }

  /* Chatbot Mobile Adjustments */
  #chatbot h3,
  #chatbot:hover h3 {
    display: none !important;
  }
}

/* Small Screens / Compact Mobile (max-width: 600px) */
@media (max-width: 600px) {
  .feedback-container {
    flex-direction: column;
  }

  .left-side,
  .feedback-box {
    width: 100%;
  }

  .feedback-box {
    padding: 15px !important;
  }

  .feedback-box h3 {
    font-size: 18px !important;
  }

  .feedback-box input[type="text"],
  .feedback-box textarea {
    font-size: 13px !important;
  }

  .feedback-box button {
    font-size: 13px !important;
  }
}

/* Compact Mobile Viewports (max-width: 480px - including 412px, 360px) */
@media (max-width: 480px) {
  /* Navigation adjustments */
  #nav {
    padding: 10px 15px !important;
    height: 70px !important;
  }

  .search-screen-overlay {
    top: 70px !important;
    height: calc(100vh - 70px) !important;
  }
  
  .logo img {
    height: 30px !important;
  }
  
  .hamburger-btn {
    width: 22px !important;
    height: 16px !important;
  }
  
  .hamburger-btn .bar {
    height: 2px !important;
  }

  .nav-items a h2 {
    font-size: 13px !important;
  }

  .log-page button {
    font-size: 12px !important;
    padding: 8px 12px !important;
  }

  /* Hero / Contents Section */
  .home {
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }

  .home h1 {
    font-size: 26px !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 12px !important;
  }

  .home .inf {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
  }

  .home-btns button {
    font-size: 14px !important;
    padding: 10px 15px !important;
  }

  /* Search Container */
  .search-container {
    padding: 15px !important;
    margin: 15px 5px 25px !important;
  }

  #filter, #search, .search-container button {
    font-size: 14px !important;
    padding: 10px 12px !important;
  }

  /* Features Page */
  .features {
    padding: 90px 15px 40px 15px !important;
  }

  /* Latest Properties */
  .latest-properties h2 {
    font-size: 22px !important;
  }

  .property-box, .property-card {
    padding: 10px !important;
  }

  .property-image {
    height: 160px !important;
  }

  .property-box h3, .property-card h3.title {
    font-size: 16px !important;
  }

  .property-box .rent, .property-card h3.price {
    font-size: 18px !important;
  }

  .property-box p, .property-card p {
    font-size: 12px !important;
  }

  .property-box p strong, .property-card p strong {
    width: 80px !important;
  }

  .property-box button, .property-card a.view-details {
    padding: 10px 8px !important;
    font-size: 13px !important;
  }

  /* Mess Service */
  .mess-ser-head h2 {
    font-size: 20px !important;
  }

  .mess-ser-head p {
    font-size: 13px !important;
  }

  .cta-button {
    font-size: 14px !important;
    padding: 10px 20px !important;
  }

  #messContainer h2 {
    font-size: 18px !important;
  }

  .mess-box h3 {
    font-size: 15px !important;
  }

  /* How It Works */
  .how-it-works h2 {
    font-size: 22px !important;
  }

  .step h3 {
    font-size: 16px !important;
  }

  /* Feedback Slide */
  .view_feedbacks h2 {
    font-size: 22px !important;
  }

  .public-feedback-box h3 {
    font-size: 14px !important;
  }

  .feedback-slide p {
    font-size: 13px !important;
  }

  /* Feedback Container Form */
  .left-side h3 {
    font-size: 18px !important;
  }

  .feedback-box h3 {
    font-size: 16px !important;
  }

  /* About Page */
  .about-home {
    padding: 90px 15px 40px 15px !important;
  }

  .abt-us h1 {
    font-size: 24px !important;
  }

  .abt-us p {
    font-size: 13px !important;
  }

  .we-serv h2 {
    font-size: 18px !important;
  }

  .abt h2 {
    font-size: 16px !important;
  }

  /* Contact Page */
  .contact-section {
    margin: 90px auto 40px !important;
    padding: 0 15px !important;
  }

  .contact-section h1 {
    font-size: 24px !important;
  }

  .contact-section .info-box h2 {
    font-size: 16px !important;
  }

  .contact-section .info-box p {
    font-size: 13px !important;
  }

  /* Compact Search Overlay styling */
  .search-screen-header {
    padding: 8px 10px !important;
    gap: 8px !important;
  }
  .search-back-btn {
    font-size: 18px !important;
  }
  .search-bar-container {
    padding: 6px 10px !important;
  }
  .search-bar-container input {
    font-size: 13px !important;
  }
  .filter-categories-row {
    padding: 8px 10px !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    display: flex !important;
  }
  .category-tag {
    padding: 6px 12px !important;
    font-size: 12px !important;
    flex-shrink: 0 !important;
  }
  .properties-count-container {
    padding: 8px 10px 0 10px !important;
  }
  .horizontal-results-list {
    padding: 10px 10px !important;
    gap: 10px !important;
  }
}

/* ==========================================================================
   HOMEPAGE OVERHAUL & INTERACTIVE SEARCH SCREEN RESPONSIVE OVERRIDES
   ========================================================================== */

@media (max-width: 768px) {
  /* Hide Phone Mockup on mobile */
  .hero-right {
    display: none !important;
  }

  /* Make Hero a single-column stack */
  .hero-grid-container {
    grid-template-columns: 1fr !important;
    padding: 90px 16px 30px 16px !important;
    gap: 20px !important;
  }

  .hero-left {
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .hero-left h1 {
    font-size: 34px !important;
    text-align: center !important;
    margin-top: 0px !important;
    line-height: 1.25 !important;
  }

  .hero-left h2.inf {
    font-size: 14px !important;
    text-align: center !important;
    margin-bottom: 25px !important;
    line-height: 1.5 !important;
  }

  /* Capsule Search Bar scaling */
  .capsule-search-bar {
    margin: 0 auto 20px auto !important;
    padding: 6px 6px 6px 18px !important;
    max-width: 100% !important;
  }

  .capsule-search-bar input {
    font-size: 14px !important;
  }

  .search-arrow-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
  }

  /* Trust Badges spacing */
  .trust-badges {
    justify-content: center !important;
    font-size: 11px !important;
    margin-bottom: 25px !important;
    gap: 8px !important;
  }

  .hero-left .home-btns {
    justify-content: center !important;
    width: 100% !important;
    flex-direction: row !important;
    gap: 10px !important;
  }

  .hero-left .home-btns button {
    width: auto !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
  }

  /* Search Overlay Mobile layout */
  .search-screen-overlay {
    top: 80px !important;
    height: calc(100vh - 80px) !important;
  }

  .search-screen-header {
    padding: 12px 16px !important;
    gap: 12px !important;
  }

  .search-back-btn {
    font-size: 20px !important;
  }

  .search-bar-container {
    padding: 6px 12px !important;
  }

  .search-bar-container input {
    font-size: 14px !important;
  }

  .filter-categories-row {
    padding: 10px 16px !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    display: flex !important;
  }

  .category-tag {
    padding: 8px 16px !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }

  .properties-count-container {
    padding: 10px 16px 0 16px !important;
  }

  .horizontal-results-list {
    padding: 12px 16px !important;
    gap: 12px !important;
  }

  .horizontal-results-list .property-box .property-image {
    width: 180px !important;
    height: 135px !important;
  }

  .horizontal-results-list .property-info {
    padding: 12px 16px !important;
  }

  .horizontal-results-list .property-box h3 {
    font-size: 16px !important;
  }

  .horizontal-results-list .meta-item {
    font-size: 12px !important;
    gap: 4px !important;
  }

  .horizontal-results-list .property-info button {
    padding: 6px 14px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 550px) {
  /* Stack the horizontal results card on extra small screens */
  .horizontal-results-list .property-box {
    flex-direction: column !important;
  }

  .horizontal-results-list .property-box .property-image {
    width: 100% !important;
    height: 160px !important;
  }

  .horizontal-results-list .property-info {
    padding: 14px 16px !important;
  }

  .horizontal-results-list .meta-grid {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .horizontal-results-list .property-info button {
    align-self: stretch !important;
    text-align: center !important;
    margin-top: 10px !important;
  }
}
