/* Mobile Optimizations for Markowicz Website */

/* Global styles */
ul.checklist li {
  margin-bottom: 8px;
}

a:hover {
  text-decoration: none;
  color: #e98400;
}

@media (min-width: 767px) {
  ul.checklist {
      margin-bottom:30px
  }
}

/* Only apply changes on small screens - don't break desktop! */
@media (max-width: 767px) {

  /* Fix column order in mobile - left sidebar (address) should appear first */
  .row {
    display: flex;
    flex-direction: column;
  }

  .left {
    order: 1;
  }

  .right {
    order: 2;
  }

  /* Make sure buttons are easily tappable */
  .btn {
    padding: 14px 20px;
    font-size: 16px;
  }

  /* Improve language selector touch targets */
  .lang-selector li a {
    padding: 8px 12px;
  }
}

/* Mobile phones */
@media (max-width: 767px) {

  /* Header optimizations */
  header .media {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  header .media-left {
    margin-bottom: 15px;
    margin-right: 0 !important;
  }

  header .media-body {
    text-align: center;
  }

  header h1 {
    font-size: 28px !important;
    line-height: 1.2;
  }

  header .prof {
    font-size: 16px !important;
  }

  /* Language selector */
  .lang-selector {
    font-size: 16px;
    padding: 15px 0;
    justify-content: center;
  }

  .lang-selector li {
    margin: 0 8px;
  }

  /* Headings */
  h2 {
    font-size: 20px !important;
    line-height: 1.3;
    margin-top: 25px !important;
    margin-bottom: 15px !important;
  }

  /* Paragraphs and text */
  p, .text-max-width {
    font-size: 16px !important;
    line-height: 1.6 !important;
    margin-bottom: 15px !important;
  }

  /* Lists */
  .checklist {
    padding-left: 0;
    font-size: 16px !important;
  }

  .checklist li {
    margin-bottom: 12px;
    line-height: 1.5;
    padding-left: 5px;
  }

  /* Buttons */
  .btn {
    width: 100%;
    font-size: 18px !important;
    padding: 15px 20px !important;
    margin: 10px 0;
    white-space: normal;
    height: auto;
    line-height: 1.4;
  }

  .btn-lg {
    padding: 18px 24px !important;
  }

  /* Links - make them easier to tap */
  a {
    padding: 2px 0;
  }

  /* Sidebar content when stacked */
  .left .col-wrapper {
    padding: 20px;
  }

  .left h2 {
    margin-top: 20px !important;
  }

  .left p {
    margin-bottom: 12px;
  }

  /* Right column content */
  .right .col-wrapper {
    padding: 0 15px;
  }

  /* Footer */
  footer {
    font-size: 13px !important;
    line-height: 1.6;
    padding: 20px 0;
  }

  /* Dots separator */
  .dots {
    margin: 20px 0 !important;
  }

  /* Modal improvements */
  .modal-dialog {
    margin: 10px;
  }

  .modal-content {
    border-radius: 8px;
  }

  .modal-title {
    font-size: 18px !important;
  }

  /* Phone numbers and emails - make them stand out */
  a[href^="tel:"],
  a[href^="mailto:"] {
    color: inherit;
    text-decoration: underline;
    word-break: break-word;
  }

  /* Prevent text from being too narrow */
  .text-max-width {
    max-width: 100% !important;
  }
}

/* Very small phones (iPhone SE, etc) */
@media (max-width: 375px) {
  header h1 {
    font-size: 24px !important;
  }

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

  p, .text-max-width {
    font-size: 15px !important;
  }

  .btn {
    font-size: 16px !important;
    padding: 12px 16px !important;
  }

  .wrapper {
    padding: 0 15px;
  }
}

/* Landscape mobile */
@media (max-width: 767px) and (orientation: landscape) {
  header .media-left img {
    width: 80px;
    height: 80px;
  }

  header h1 {
    font-size: 24px !important;
  }

  .lang-selector {
    padding: 10px 0;
  }
}

/* Fix for iOS Safari bottom bar */
@supports (-webkit-touch-callout: none) {
  body {
    min-height: -webkit-fill-available;
  }
}
