/* Prevent horizontal scroll on small screens */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* ============= MOBILE ============= */
@media (max-width: 768px) {
  .nav-links {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px; /* keep safe spacing from edges */
  }

  /* Hamburger visible */
  .hamburger {
    display: block;
    font-size: 28px;
    background: none;
    border: none;
    cursor: pointer;
    margin-left: 10px; /* add breathing room from logo */
  }

  /* Hide menu & book by default */
  .nav-links ul,
  .nav-links .book {
    display: none;
  }

  /* When active → center everything */
  .nav-links.active {
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: 15px; /* spacing between logo, menu, and button */
  }

  .nav-links.active ul {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 15px;
    align-items: center;
  }

  .nav-links.active .book {
    display: flex;
    margin-top: 15px;
    justify-content: center;
    padding: 8px 14px;  /* smaller button */
    font-size: 13px;
  }

  /* Hero section */
  .hero {
    padding: 10px 15px 40px 15px;
    max-width: 100%; /* avoid overflow */
  }

  .hero-inner {
    min-height: 70vh;
    padding: 20px;
    gap: 15px;
  }

  .hero-inner h2 {
    font-size: 28px;
    margin-top: 40px;
    line-height: 1.3;
  }

  .hero-inner p {
    font-size: 16px;
    line-height: 1.5;
  }

  .hero-inner button {
    padding: 12px 20px;
    font-size: 14px;
  }

  /* Hero footer fix */
  .hero-footer {
    position: static;   
    display: flex;
    flex-direction: column; 
    justify-content: center;
    align-items: center;
    margin-top: 25px;
    gap: 1px;
    text-align: center;
    transform: none;
    left: auto;
    width: 100%; /* prevent horizontal overflow */
  }

  .hero-footer img {
    width: 150px;
    margin: 0;
    max-width: 100%; /* scale safely */
    margin-top: 0;
  }

  .hero-footer p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.4;
  }
  .about-nav {
    flex-direction: column;
    text-align: center;
    gap: 15px;
    padding: 0 20px;
  }

  .about-nav p {
    font-size: 16px;
  }

  .about-cards {
    flex-direction: column;
    align-items: center;
    gap: 25px;
  }

  .mode, .private, .rating {
    width: 90%;
    height: auto;
  }

  .info h1 {
    font-size: 40px;
  }

  .facts {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .facts h1 {
    font-size: 35px;
  }

  .facts p {
    font-size: 16px;
  }
  .parts {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin-left: 0;
    padding: 20px;
  }

  .part1 {
    text-align: center;
  }

  .part1 h6 {
    font-size: 16px;
    margin-left: 0;
  }

  .part1 p {
    font-size: 22px;
    margin-bottom: 30px;
  }

  .part2,
  .part3,
  .hourly {
    width: 100%;
    max-width: 95%;
    height: auto;
  }

  .hourly {
    height: 180px;
  }

  .hourly p {
    font-size: 20px;
    padding: 15px;
  }

  .part3-p {
    font-size: 18px;
    text-align: center;
  }

  .part3-buttons {
    justify-content: center;
  }
    .plans {
    flex-direction: column;
    align-items: center;
    margin-right: 0;
    padding: 20px;
    text-align: center;
    gap: 25px;
  }

  .prices {
    width: 100%;
    align-items: center;
  }

  .price-card {
    width: 100%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px;
  }

  .basic-plan,
  .Elite-Plan {
    width: 100%;
    font-size: 18px;
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }

  .prices-titles h3 {
    font-size: 22px;
  }

  .prices-titles p {
    font-size: 16px;
  }
  .review-titles {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 30px 20px;
    gap: 25px;
  }

  .review-left {
    align-items: center;
  }

  .review-title {
    font-size: 16px;
    margin-left: 0;
  }

  .thereview {
    font-size: 20px;
    line-height: 1.4;
  }

  .switches {
    margin-top: 30px;
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }

  .switches-titles h2 {
    font-size: 24px;
  }

  .switches-titles p {
    font-size: 16px;
  }

  .counter {
    align-items: center;
    font-size: 40px;
  }

  .counter-image {
    width: 80%;
    margin-right: 0;
    margin-top: 15px;
  }
  .faq-titles {
    padding: 20px;
    text-align: center;
  }

  .faq-titles p {
    font-size: 20px;
  }

  .faq-container {
    padding: 20px;
  }

  .faq-container img {
    display: none;
  }

  .question {
    padding: 15px;
  }

  .question .text {
    font-size: 16px;
  }

  .faq-footer {
    padding: 20px;
    gap: 15px;
  }

  .touch {
    width: 100%;
    justify-content: center;
  }
  .email {
    height: auto;
    padding: 30px 20px;
    gap: 15px;
    border-radius: 25px;
    text-align: center;
  }

  .email h1 {
    font-size: 22px;
    line-height: 1.4;
  }

  .email-box {
    width: 100%;
    justify-content: space-between;
  }

  .email-box input {
    flex: 1;
    font-size: 14px;
    padding: 8px 12px;
  }

  .email-btn {
    width: 35px;
    height: 35px;
    font-size: 16px;
  }
  .footer1 {
    flex-direction: column;
    gap: 40px;
    padding: 30px 20px;
    text-align: center;
  }

  .footerone p {
    font-size: 18px;
  }

  .footerone button {
    margin: 0 auto;
  }

  .socials {
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }

  .footer2 {
    flex-direction: column;
    gap: 40px;
    padding: 30px 20px;
    text-align: center;
  }

  .footerthree h1 {
    font-size: 40px;
    white-space: normal;
  }

  .footerfour {
    flex-direction: column;
    gap: 25px;
  }

  .bottomfooter {
    flex-direction: column;
    gap: 15px;
    text-align: center;
    padding: 20px;
  }
}

/* =============== TABLET ============= */
@media (min-width: 769px) and (max-width: 1200px) {
  .nav-links ul {
    gap: 40px;
  }

  .nav-links {
    padding: 30px 30px 0 30px;
  }

  .nav-links button.book {
    padding: 8px 16px;
    font-size: 14px;
  }

  .hero {
    padding: 15px 20px 50px 20px;
    max-width: 100%;
  }

  .hero-inner {
    min-height: 75vh;
    padding: 30px;
  }

  .hero-inner h2 {
    font-size: 36px;
    margin-top: 60px;
  }

  .hero-inner p {
    font-size: 18px;
  }

  .hero-inner button {
    padding: 14px 22px;
    font-size: 15px;
  }

  .hero-footer {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    gap: 15px;
    width: auto;
  }

  .hero-footer img {
    width: 200px;
    margin-left: -20px;
    max-width: 100%;
    margin-top: 0;
  }

  .hero-footer p {
    margin-bottom: 0;
  }
  .about-nav {
    flex-direction: column;
    text-align: center;
    gap: 20px;
    padding: 0 30px;
  }

  .about-nav p {
    font-size: 20px;
  }

  .about-cards {
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }

  .mode, .private, .rating {
    width: 320px;
    height: auto;
  }

  .facts {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .facts h1 {
    font-size: 45px;
  }

  .facts p {
    font-size: 18px;
  }
  .parts {
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    margin-left: 0;
  }

  .part1 {
    width: 100%;
    text-align: center;
  }

  .part1 p {
    font-size: 26px;
  }

  .part2,
  .part3 {
    width: 350px;
    height: auto;
  }

  .hourly {
    width: 100%;
    height: 200px;
  }

  .hourly p {
    font-size: 22px;
  }

  .part3-p {
    font-size: 20px;
  }
.plans {
    flex-direction: column;
    align-items: center;
    margin-right: 0;
    padding: 30px;
    text-align: center;
    gap: 30px;
  }

  .prices {
    width: 100%;
    align-items: center;
  }

  .price-card {
    width: 90%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px;
  }

  .basic-plan,
  .Elite-Plan {
    width: 90%;
    font-size: 20px;
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }

  .prices-titles {
    text-align: center;
  }

  .prices-titles h3 {
    font-size: 26px;
  }

  .prices-titles p {
    font-size: 18px;
  }
  .review-titles {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 30px;
    gap: 30px;
  }

  .review-left {
    align-items: center;
  }

  .thereview {
    font-size: 24px;
    line-height: 1.5;
  }

  .switches {
    margin-top: 50px;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .switches-titles h2 {
    font-size: 30px;
  }

  .switches-titles p {
    font-size: 20px;
  }

  .counter {
    align-items: center;
    font-size: 50px;
  }

  .counter-image {
    width: 60%;
    margin-right: 0;
    margin-top: 20px;
  }
  .faq-titles {
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
    gap: 15px;
  }

  .faq-titles p {
    font-size: 24px;
    line-height: 1.4;
  }

  .faq-container {
    flex-direction: column;
    padding: 30px;
    gap: 20px;
  }

  .faq-container img {
    display: none;
  }

  .faq-footer {
    flex-direction: column;
    gap: 20px;
    padding: 30px;
    text-align: center;
  }
  .email {
    height: auto;
    padding: 40px;
    gap: 20px;
    border-radius: 35px;
  }

  .email h1 {
    font-size: 32px;
    line-height: 1.5;
  }

  .email-box {
    width: 80%;
  }

  .email-box input {
    flex: 1;
    font-size: 15px;
    padding: 10px 14px;
  }

  .email-btn {
    width: 38px;
    height: 38px;
    font-size: 17px;
  }
  .footer1 {
    flex-direction: column;
    gap: 50px;
    padding: 40px;
    text-align: center;
  }

  .footerone p {
    font-size: 22px;
  }

  .footer2 {
    flex-direction: column;
    gap: 50px;
    padding: 40px;
    text-align: center;
  }

  .footerthree h1 {
    font-size: 60px;
  }

  .footerfour {
    justify-content: center;
    gap: 40px;
  }

  .bottomfooter {
    flex-direction: column;
    gap: 20px;
    text-align: center;
    padding: 30px;
  }
}
