/* ========================================
   RESPONSIVE & FULL WIDTH STYLES
   VGS Swastik Hospital
   ======================================== */

/* ========================================
   FULL WIDTH CONTAINERS
   ======================================== */

/* Make all containers full width */
.container,
.container-fluid {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 20px;
  padding-right: 20px;
}

/* Specific container overrides */
.about-page .container {
  max-width: 100% !important;
}

.stats-wrapper {
  max-width: 100% !important;
  padding: 0 20px;
}

.testimonial-2 .container {
  max-width: 100% !important;
}

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

/* Extra Large Screens (1400px and up) */
@media (min-width: 1400px) {
  .container,
  .container-fluid {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* Large Screens (1200px - 1399px) */
@media (min-width: 1200px) and (max-width: 1399px) {
  .container,
  .container-fluid {
    padding-left: 30px;
    padding-right: 30px;
  }
  
  .banner .block h1 {
    font-size: 52px !important;
  }
}

/* Medium-Large Screens (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
  .container,
  .container-fluid {
    padding-left: 25px;
    padding-right: 25px;
  }
  
  .banner .block h1 {
    font-size: 48px !important;
  }
  
  .section-title h2 {
    font-size: 36px !important;
  }
  
  .stats-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

/* Tablet Screens (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  .container,
  .container-fluid {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  /* Navigation */
  .navigation {
    padding: 8px 15px !important;
  }
  
  #navbarmain {
    margin-right: 0 !important;
  }
  
  /* Banner */
  .banner .block {
    padding: 60px 0px 100px !important;
  }
  
  .banner .block h1 {
    font-size: 42px !important;
    line-height: 1.3 !important;
  }
  
  .banner {
    min-height: 500px !important;
  }
  
  /* Sections */
  .section {
    padding: 70px 0 !important;
  }
  
  .section-title h2 {
    font-size: 32px !important;
  }
  
  /* Stats */
  .stats-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  
  .stat-card {
    padding: 40px 15px !important;
  }
  
  .stat-card h2 {
    font-size: 36px !important;
  }
  
  /* Services */
  .service-item {
    margin-bottom: 30px;
  }
  
  /* Testimonials */
  .testimonial-wrap-2 {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  
  /* Footer */
  .footer .col-lg-8,
  .footer .col-lg-4 {
    margin-bottom: 30px;
  }
}

/* Mobile Landscape (576px - 767px) */
@media (min-width: 576px) and (max-width: 767px) {
  .container,
  .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }
  
  /* Banner */
  .banner .block {
    padding: 50px 0px 80px !important;
  }
  
  .banner .block h1 {
    font-size: 36px !important;
    line-height: 1.3 !important;
  }
  
  .banner {
    min-height: 450px !important;
  }
  
  /* Sections */
  .section {
    padding: 60px 0 !important;
  }
  
  .section-title h2 {
    font-size: 28px !important;
  }
  
  /* Stats */
  .stats-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .stat-card {
    padding: 30px 10px !important;
  }
  
  .stat-card h2 {
    font-size: 32px !important;
  }
  
  .stat-card p {
    font-size: 14px !important;
  }
  
  /* Services */
  .service .service-item {
    padding: 25px !important;
  }
  
  .service h4 {
    font-size: 18px !important;
  }
  
  /* About */
  .about-img img {
    margin-bottom: 20px;
  }
  
  /* Testimonials */
  .testimonial-wrap-2 {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
  }
  
  /* Footer */
  .footer-contact-block {
    margin-bottom: 20px !important;
  }
}

/* Mobile Portrait (481px - 575px) */
@media (min-width: 481px) and (max-width: 575px) {
  .container,
  .container-fluid {
    padding-left: 15px;
    padding-right: 15px;
  }
  
  /* Banner */
  .banner .block {
    padding: 40px 0px 60px !important;
  }
  
  .banner .block h1 {
    font-size: 32px !important;
    line-height: 1.4 !important;
  }
  
  .banner {
    min-height: 400px !important;
  }
  
  /* Sections */
  .section {
    padding: 50px 0 !important;
  }
  
  .section-title {
    margin-bottom: 40px !important;
  }
  
  .section-title h2 {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
  
  /* Stats */
  .stats-wrapper {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .stat-card {
    padding: 25px 10px !important;
  }
  
  .stat-card h2 {
    font-size: 28px !important;
  }
  
  .stat-card p {
    font-size: 13px !important;
  }
  
  /* Services */
  .service .service-item {
    padding: 20px !important;
  }
  
  .service h4 {
    font-size: 16px !important;
    padding-left: 10px !important;
  }
  
  .service i {
    font-size: 32px !important;
  }
  
  /* Buttons */
  .btn {
    padding: 0.6rem 1.5rem !important;
    font-size: 13px !important;
  }
  
  /* Testimonials */
  .testimonial-wrap-2 {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  .testimonial-block.style-2 {
    padding: 30px 20px !important;
  }
}

/* Small Mobile (320px - 480px) */
@media (max-width: 480px) {
  .container,
  .container-fluid {
    padding-left: 12px;
    padding-right: 12px;
  }
  
  /* Navigation */
  .navigation {
    padding: 5px 10px !important;
  }
  
  #navbar img {
    max-height: 35px !important;
  }
  
  .navbar-nav .nav-link {
    padding: 8px 10px !important;
    font-size: 14px !important;
  }
  
  /* Banner */
  .banner .block {
    padding: 30px 0px 50px !important;
  }
  
  .banner .block h1 {
    font-size: 28px !important;
    line-height: 1.4 !important;
  }
  
  .banner .block p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  
  .banner {
    min-height: 350px !important;
  }
  
  /* Sections */
  .section {
    padding: 40px 0 !important;
  }
  
  .section-title {
    margin-bottom: 30px !important;
  }
  
  .section-title h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
  
  .section-title p {
    font-size: 14px !important;
  }
  
  /* Stats */
  .stats-wrapper {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 12px !important;
  }
  
  .stat-card {
    padding: 20px 10px !important;
  }
  
  .stat-card h2 {
    font-size: 24px !important;
  }
  
  .stat-card h2 small {
    font-size: 16px !important;
  }
  
  .stat-card p {
    font-size: 12px !important;
  }
  
  /* Services */
  .service .service-item {
    padding: 15px !important;
  }
  
  .service h4 {
    font-size: 15px !important;
    padding-left: 8px !important;
  }
  
  .service i {
    font-size: 28px !important;
  }
  
  .service .content p {
    font-size: 13px !important;
  }
  
  /* About */
  .about-img img {
    margin-bottom: 15px;
  }
  
  .about-content {
    padding-left: 0 !important;
  }
  
  .about-content h2 {
    font-size: 22px !important;
  }
  
  .about-content p {
    font-size: 14px !important;
  }
  
  /* Buttons */
  .btn {
    padding: 0.5rem 1.2rem !important;
    font-size: 12px !important;
  }
  
  .btn-icon i {
    padding-left: 8px !important;
  }
  
  /* Testimonials */
  .testimonial-wrap-2 {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .testimonial-block.style-2 {
    padding: 25px 15px !important;
  }
  
  .testimonial-block h4 {
    font-size: 16px !important;
  }
  
  .testimonial-block p {
    font-size: 13px !important;
  }
  
  .testimonial-thumb img {
    width: 60px !important;
    height: 60px !important;
  }
  
  /* Footer */
  .footer {
    padding: 40px 0 !important;
  }
  
  .footer h4 {
    font-size: 16px !important;
  }
  
  .footer p,
  .footer span {
    font-size: 13px !important;
  }
  
  .footer-contact-block {
    margin-bottom: 15px !important;
  }
  
  .footer-contact-block i {
    font-size: 18px !important;
  }
  
  .map-container iframe {
    height: 300px !important;
  }
  
  /* Department & Doctor Pages */
  .doctor-inner-box,
  .department-block {
    margin-bottom: 20px;
  }
  
  .doctor-img img,
  .department-img img {
    width: 100%;
    height: auto;
  }
}

/* Extra Small Mobile (below 400px) */
@media (max-width: 400px) {
  .container,
  .container-fluid {
    padding-left: 10px;
    padding-right: 10px;
  }
  
  .banner .block h1 {
    font-size: 24px !important;
    line-height: 1.4 !important;
  }
  
  .section-title h2 {
    font-size: 20px !important;
  }
  
  .stat-card h2 {
    font-size: 20px !important;
  }
  
  .service h4 {
    font-size: 14px !important;
  }
  
  .btn {
    padding: 0.4rem 1rem !important;
    font-size: 11px !important;
  }
}

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

img {
  max-width: 100%;
  height: auto;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

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

@media (max-width: 768px) {
  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

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

/* Hide elements on mobile */
@media (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }
}

/* Show only on mobile */
@media (min-width: 768px) {
  .show-mobile {
    display: none !important;
  }
}

/* ========================================
   RESPONSIVE GRID ADJUSTMENTS
   ======================================== */

@media (max-width: 991px) {
  .row {
    margin-left: -10px;
    margin-right: -10px;
  }
  
  .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 575px) {
  .row {
    margin-left: -8px;
    margin-right: -8px;
  }
  
  .row > [class*="col-"] {
    padding-left: 8px;
    padding-right: 8px;
  }
}

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

@media (max-width: 768px) {
  .mb-5, .my-5 {
    margin-bottom: 2rem !important;
  }
  
  .mt-5, .my-5 {
    margin-top: 2rem !important;
  }
  
  .pb-5, .py-5 {
    padding-bottom: 2rem !important;
  }
  
  .pt-5, .py-5 {
    padding-top: 2rem !important;
  }
}

@media (max-width: 480px) {
  .mb-4, .my-4 {
    margin-bottom: 1.2rem !important;
  }
  
  .mt-4, .my-4 {
    margin-top: 1.2rem !important;
  }
  
  .pb-4, .py-4 {
    padding-bottom: 1.2rem !important;
  }
  
  .pt-4, .py-4 {
    padding-top: 1.2rem !important;
  }
}

/* ========================================
   RESPONSIVE OVERFLOW FIXES
   ======================================== */

body {
  overflow-x: hidden !important;
}

html {
  overflow-x: hidden !important;
}

* {
  box-sizing: border-box;
}

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

@media (max-width: 991px) {
  .navbar-collapse {
    background: #fff;
    padding: 15px;
    margin-top: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  }
  
  .navbar-nav {
    width: 100%;
  }
  
  .navbar-nav .nav-item {
    border-bottom: 1px solid #f0f0f0;
  }
  
  .navbar-nav .nav-item:last-child {
    border-bottom: none;
  }
  
  .navbar-nav .nav-link {
    padding: 12px 0 !important;
  }
}
