/* ============================================
   RESPONSIVE CSS FOR mindRx.html
   Device Compatible Styles
   ============================================ */

/* ============================================
   LARGE DESKTOPS (1400px and above)
   ============================================ */
@media (min-width: 1400px) {

  .header-container,
  .adherence-container,
  .medication-container,
  .portfolio-container,
  .simplified-container,
  .footer-container {
    max-width: 1400px;
  }
}

/* ============================================
   DESKTOPS & LAPTOPS (1025px - 1399px)
   ============================================ */
@media (max-width: 1399px) {
  /* .header-container {
    padding: 0 60px;
  } */

  .adherence-container,
  .medication-container,
  .portfolio-container,
  .simplified-container,
  .footer-container {
    padding: 0 40px;
  }
}

/* ============================================
   TABLETS & SMALL LAPTOPS (769px - 1024px)
   ============================================ */
@media (max-width: 1024px) {

  /* Header Adjustments */
  .header-container {
    padding: 0 40px;
  }

  .bg-blur {
    width: calc(100% - 80px);
  }

  /* Banner Section */
  .banner-section {
    height: 80vh;
  }

  .banner-text {
    transform: translate(20%, 70%);
  }

  /* 
  .banner-heading {

  }

  .banner-subheading {
    font-size: 1.2rem;
  } */

  /* Adherence Section */
  .adherence-content {
    flex-direction: column;
    gap: 40px;
  }

  .adherence-image {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    height: 200px
  }

  .adherence-cards {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }

  /* Medication Info Section */
  .medication-info-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .medication-info-container2 {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .info-card_bottle {
    padding: 40px;
  }

  .frac_2 {
    grid-template-columns: 1fr;
  }

  .info-bottle-img {
    max-width: 250px;
  }

  .info-notification-bubble {
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 260px;
  }

  /* Portfolio Section */
  .portfolio-wrapper {
    height: 40vh;
    margin: 60px 0 0 0;
  }

  .portfolio-wrapper2 {
    height: 40vh;
    margin: 20px 0 60px 0;
  }

  .item {
    margin: 0 8px;
  }

  /* Simplified Section */
  .simplified-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .grid-reverse {
    grid-template-columns: 1fr;
  }

  .simplified-block {
    padding: 35px;
  }

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

  /* Footer */
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .footer-subscribe {
    grid-column: 1 / -1;
  }

  .footer-nav-columns {
    gap: 30px;
  }
}

/* ============================================
   TABLETS (481px - 768px)
   ============================================ */
@media (max-width: 768px) {

  /* Header */
  .main-header {
    padding: 14px 0;
  }

  .header-container {
    padding: 0 20px;
  }

  .bg-blur {
    width: calc(100% - 40px);
    height: 58px;
  }

  .header-logo img {
    height: 42px;
  }

  .mobile-menu-toggle {
    display: flex;
    right: 9px;
  }

  .header-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100vh;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 80px 30px 30px 30px;
    gap: 0;
    margin: 0;
    transition: right 0.3s ease;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2);
    z-index: 99;
  }

  .header-nav.active {
    right: 0;
  }

  .nav-link {
    width: fit-content;
    padding: 16px 0;
    ;
    font-size: 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #0056b3 !important;
  }

  .nav-link.active {
    color: #0056b3 !important;
    background: rgba(255, 255, 255, 0.15);
    display: inline-block;
    /* padding-left: 10px; */
    font-weight: 600;
  }

  .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 3px;
    background: #216ba1;
    border-radius: 2px;
  }

  .header-login-btn {
    margin-left: auto;
    margin-right: 12px;
    padding: 8px 16px;
    font-size: 0.9rem;
  }

  .login-text {
    display: inline-block;
  }

  /* Banner Section */
  .banner-section {
    height: 70vh;
  }

  .banner-overlay {
    padding: 20px;
  }

  .banner-text {
    position: relative;
    top: 30%;
    left: auto;
    transform: none;
    text-align: center;
    width: 100%;
    padding: 0 20px;
  }

  .banner-heading {
    /* font-size: 1.65rem; */
    margin-bottom: 12px;
  }

  .banner-subheading {
    font-size: 1rem;
  }

  /* Adherence Section */
  #adherence {
    padding: 50px 0;
  }

  .adherence-container {
    padding: 0 20px;
  }

  .adherence-header {
    margin-bottom: 40px;
    text-align: center;
  }

  .adherence-title {
    font-size: 2rem;
  }

  .adherence-subtitle {
    font-size: 1rem;
  }

  .adherence-cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .adherence-card {
    padding: 24px;
  }

  .card-title {
    font-size: 1.1rem;
  }

  .card-description {
    font-size: 0.95rem;
  }

  /* Medication Info Section */
  #medication_info {
    padding: 50px 0;
  }

  .medication-container {
    padding: 0 20px;
  }

  .medication-content {
    text-align: center;
    margin-bottom: 30px;
  }

  .medication-title {
    font-size: 2rem;
  }

  .medication-description {
    font-size: 1rem;
  }

  .medication-info-container,
  .medication-info-container2 {
    padding: 11px;
    gap: 24px;
  }

  .info-card_bottle {
    padding: 30px 24px;
    gap: 30px;
  }

  .info-card_bottle-content {
    text-align: center;
  }

  .info-card_bottle-title {
    font-size: 1.5rem;
  }

  .info-card_bottle-description {
    font-size: 0.95rem;
  }

  .info-bottle-img {
    max-width: 200px;
  }

  .bottle_cap2 {
    transform: translate(0, 30px);
    position: relative;
    bottom: 0;
  }

  .mockup_3 {
    max-width: 280px !important;
    transform: translate(0, 30px);
  }

  .info-bottle-container {
    flex-direction: column-reverse;
  }

  .info-notification-bubble {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin: 20px auto 0;
    max-width: 90%;
  }

  /* Portfolio Section */
  #portfolio-wrapper {
    padding: 50px 0;
  }

  .portfolio-container {
    padding: 0 20px;
  }

  .portfolio-content {
    text-align: center;
    margin-bottom: 30px;
  }

  .portfolio-title {
    font-size: 2rem;
  }

  .portfolio-description {
    font-size: 1rem;
  }

  .portfolio-wrapper {
    flex-direction: column;
    height: auto;
    margin: 40px 0 0 0;
    gap: 20px;
  }

  .portfolio-wrapper2 {
    flex-direction: column;
    height: auto;
    margin: 20px 0 40px 0;
    gap: 20px;
  }

  .item {
    flex: 1;
    margin: 0;
    height: 300px;
    min-height: 300px;
  }

  .item .content {
    padding: 20px;
  }

  .item .title {
    font-size: 1.2rem;
    padding: 15px 20px;
  }

  .item p {
    padding: 0 20px 20px;
    font-size: 0.95rem;
  }

  /* Simplified Section */
  #simplified {
    padding: 50px 0;
  }

  .simplified-container {
    padding: 0 20px;
  }

  .simplified-header {
    margin-bottom: 40px;
  }

  .simplified-title {
    font-size: 2rem;
  }

  .simplified-subtitle {
    font-size: 1rem;
  }

  .simplified-block {
    padding: 30px 24px;
  }

  .simplified-icon {
    width: 56px;
    height: 56px;
    font-size: 1.8rem;
  }

  .simplified-block-title {
    font-size: 1.3rem;
  }

  .simplified-block-subtitle {
    font-size: 1rem;
  }

  .simplified-block-description {
    font-size: 0.95rem;
  }

  .tablet-mockup {
    padding: 0px;
  }

  .tablet-mockup img {
    width: 100%;
    height: auto;
  }

  /* Footer */
  #footer {
    padding: 40px 0 20px;
  }

  .footer-container {
    padding: 0 20px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-subscribe {
    grid-column: 1;
  }

  .footer-nav-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }

  .footer-app-downloads {
    /* flex-direction: column; */
  }

  .app-store-btn,
  .google-play-btn {
    width: 100%;
    justify-content: center;
  }

  .footer-bottom-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

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

  .certified img {
    max-width: 80px;
    height: auto;
  }
}

/* ============================================
   MOBILE LARGE (426px - 480px)
   ============================================ */
@media (max-width: 480px) {

  /* Header */
  .header-container {
    padding: 0 16px;
  }

  .bg-blur {
    width: calc(100% - 32px);
    height: 55px;
  }

  .header-logo img {
    height: 38px;
  }

  /* Banner Section */
  .banner-section {
    height: 40vh;
  }

  .banner-heading {
    /* font-size: 1.6rem; */
    margin-bottom: 10px;
  }

  .banner-subheading {
    font-size: 0.9rem;
  }

  /* Adherence Section */
  #adherence {
    padding: 40px 0;
  }

  .adherence-container {
    padding: 0 16px;
  }

  .adherence-header {
    margin-bottom: 30px;
  }

  .adherence-title {
    font-size: 1.6rem;
  }

  .adherence-subtitle {
    font-size: 0.95rem;
  }

  .adherence-card {
    padding: 20px;
  }

  .card-icon {
    width: 50px;
    height: 50px;
  }

  .card-icon img {
    width: 28px;
    height: 28px;
  }

  .card-title {
    font-size: 1rem;
  }

  .card-description {
    font-size: 0.9rem;
  }

  /* Medication Info Section */
  #medication_info {
    padding: 40px 0;
  }

  .medication-container {
    padding: 0 16px;
  }

  .medication-title {
    font-size: 1.6rem;
  }

  .medication-description {
    font-size: 0.95rem;
  }

  .medication-info-container,
  .medication-info-container2 {
    gap: 20px;
  }

  .info-card_bottle {
    padding: 24px 20px;
    gap: 24px;
  }

  .info-card_bottle-title {
    font-size: 1.3rem;
  }

  .info-card_bottle-description {
    font-size: 0.9rem;
  }

  .info-bottle-img {
    max-width: 125px;
  }

  .bottle_cap2 {
    transform: translate(0, 24px);
  }

  .mockup_3 {
    max-width: 150px !important;
    transform: translate(0, 24px);
  }

  .info-notification-bubble {
    padding: 12px 16px;
    max-width: 95%;
  }

  .info-notification-bubble p {
    font-size: 0.8rem;
  }

  .info-notification-bubble img {
    width: 24px !important;
  }

  /* Portfolio Section */
  #portfolio-wrapper {
    padding: 40px 0;
  }

  .portfolio-container {
    padding: 0 16px;
  }

  .portfolio-title {
    font-size: 1.6rem;
  }

  .portfolio-description {
    font-size: 0.95rem;
  }

  .portfolio-wrapper,
  .portfolio-wrapper2 {
    margin: 30px 0;
    gap: 15px;
  }

  .item {
    height: 250px;
    min-height: 250px;
  }

  .item .title {
    font-size: 1.1rem;
    padding: 12px 16px;
  }

  .item p {
    font-size: 0.9rem;
    padding: 0 16px 16px;
  }

  /* Simplified Section */
  #simplified {
    padding: 40px 0;
  }

  .simplified-container {
    padding: 0 16px;
  }

  .simplified-title {
    font-size: 1.6rem;
  }

  .simplified-subtitle {
    font-size: 0.95rem;
  }

  .simplified-block {
    padding: 24px 20px;
  }

  .simplified-icon {
    width: 50px;
    height: 50px;
    font-size: 1.6rem;
  }

  .simplified-block-title {
    font-size: 1.2rem;
  }

  .simplified-block-subtitle {
    font-size: 0.95rem;
  }

  .simplified-block-description {
    font-size: 0.9rem;
  }

  /* Footer */
  #footer {
    padding: 30px 0 20px;
  }

  .footer-container {
    padding: 0 16px;
  }

  .footer-main {
    gap: 30px;
  }

  .footer-nav-columns {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-logo-text {
    font-size: 1.5rem;
  }

  .footer-description {
    font-size: 0.95rem;
  }

  .footer-email-input-wrapper {
    flex-direction: column;
  }

  .footer-submit-btn {
    width: 100%;
    height: 44px;
  }

  .certified img {
    max-width: 60px;
  }

}

/* ============================================
   MOBILE SMALL (320px - 425px)
   ============================================ */
@media (max-width: 425px) {

  /* Header */
  .header-container {
    padding: 0 12px;
  }

  .bg-blur {
    width: calc(100% - 24px);
    height: 52px;
  }

  .header-logo img {
    height: 35px;
  }

  .header-nav {
    width: 260px;
    padding: 70px 20px 20px 20px;
  }

  /* Banner Section */
  .banner-section {
    height: 100vh;
  }

  .banner-heading {
    /* font-size: 1.4rem; */
  }

  .banner-subheading {
    font-size: 0.85rem;
  }

  /* Adherence Section */
  .adherence-container {
    padding: 0 12px;
  }

  .adherence-title {
    font-size: 1.4rem;
  }

  .adherence-card {
    padding: 18px;
  }

  /* Medication Info Section */
  .medication-container {
    padding: 0 12px;
  }

  .medication-title {
    font-size: 1.4rem;
  }

  .info-card_bottle {
    padding: 20px 16px;
  }

  .info-card_bottle-title {
    font-size: 1.2rem;
  }

  .info-bottle-img {
    max-width: 140px;
  }

  /* Portfolio Section */
  .portfolio-container {
    padding: 0 12px;
  }

  .portfolio-title {
    font-size: 1.4rem;
  }

  .item {
    height: 220px;
    min-height: 220px;
  }

  /* Simplified Section */
  .simplified-container {
    padding: 0 12px;
  }

  .simplified-title {
    font-size: 1.4rem;
  }

  .simplified-block {
    padding: 20px 16px;
  }

  /* Footer */
  .footer-container {
    padding: 0 12px;
  }

  .footer-logo-text {
    font-size: 1.3rem;
  }

  .certified {
    gap: 10px;
  }

  .certified img {
    max-width: 50px;
  }

}

/* ============================================
   LANDSCAPE ORIENTATION ADJUSTMENTS
   ============================================ */
@media (max-height: 500px) and (orientation: landscape) {
  .banner-section {
    height: 600px;
  }

  .banner-text {
    transform: none;
    left: 0% !important;
    top: 35%;
  }

  .portfolio-wrapper,
  .portfolio-wrapper2 {
    height: 60vh;
  }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {

  .main-header,
  .mobile-menu-toggle,
  .header-login-btn,
  .footer-subscribe-form,
  .footer-social {
    display: none;
  }

  .banner-section {
    height: auto;
    page-break-after: always;
  }

  #adherence,
  #medication_info,
  #portfolio-wrapper,
  #simplified {
    page-break-inside: avoid;
  }
}

/* ============================================
   ACCESSIBILITY & TOUCH TARGETS
   ============================================ */
@media (max-width: 768px) {

  /* Ensure touch targets are at least 44x44px */
  /* .nav-link, */
  /* .header-login-btn, */
  .app-store-btn,
  .google-play-btn,
  .footer-submit-btn {
    min-height: 44px;
    min-width: 44px;
  }

  /* Improve tap targets */
  .adherence-card,
  .item,
  .simplified-block {
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(33, 107, 161, 0.1);
  }
}

/* ============================================
   HIGH DPI DISPLAYS
   ============================================ */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {

  .banner-img,
  .item img,
  .info-bottle-img,
  .pill-bottle-img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* ============================================
   ADDITIONAL RESPONSIVE FIXES
   ============================================ */

/* Fix for medication info containers on tablets */
@media (min-width: 769px) and (max-width: 1024px) {
  .medication-info-container {
    grid-template-columns: 1fr;
  }

  .medication-info-container2 {
    grid-template-columns: 1fr;
  }

  .info-card_bottle.frac_2 {
    grid-template-columns: 1fr;
  }

  .info-card_bottle.frac_2 .info-card_bottle-visual {
    order: -1;
  }

  .banner-text {
    transform: none;
    left: 5% !important;
    top: 40%;
  }
}

/* Fix for portfolio items on medium screens */
@media (min-width: 769px) and (max-width: 900px) {

  .portfolio-wrapper,
  .portfolio-wrapper2 {
    height: 35vh;
  }

  .item {
    margin: 0 5px;
  }
}

/* Ensure images don't overflow on small screens */
@media (max-width: 768px) {
  /* img {
    max-width: 100%;
    height: auto;
  } */

  .banner-img {
    object-fit: cover;
    object-position: center;
  }


  .pill-bottle-img {
    width: 40%;
    max-width: 100%;
  }

  .tablet-mockup img {
    width: 100%;
    max-width: 100%;
  }
}

/* Fix for text overflow on very small screens */
@media (max-width: 360px) {

  .banner-heading,
  .adherence-title,
  .medication-title,
  .portfolio-title,
  .simplified-title {
    word-break: break-word;
    hyphens: auto;
  }

  .card-description,
  .info-card_bottle-description,
  .simplified-block-description {
    font-size: 0.85rem;
    line-height: 1.5;
  }

  .mockup_3 {
    max-width: 139px !important;
    transform: translate(3px, 27px);
  }
}


/* Smooth transitions for responsive changes */
.header-container,
.adherence-container,
.medication-container,
.portfolio-container,
.simplified-container,
.footer-container,
.adherence-card,
.info-card_bottle,
.simplified-block,
.item {
  transition: padding 0.3s ease, margin 0.3s ease, transform 0.3s ease;
}

/* Prevent horizontal scroll */
body {
  overflow-x: hidden;
  width: 100%;
}

/* Container max-widths for all screen sizes */
@media (max-width: 1400px) {

  .header-container,
  .adherence-container,
  .medication-container,
  .portfolio-container,
  .simplified-container,
  .footer-container {
    /* width: 100%; */
  }

}

/* ============================================
   CONTACT PAGE RESPONSIVE STYLES
   ============================================ */

/* Banner with Calendly Card - Desktop */
.banner-img-calendly {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================
   TABLETS & SMALL LAPTOPS (769px - 1024px)
   ============================================ */
@media (max-width: 1024px) {

  /* Contact Section */
  #contact-details {
    padding: 50px 0;
  }

  .contact-container {
    width: 95%;
    gap: 30px;
  }

  .contact {
    padding: 35px;
  }

  .info-card {
    padding: 30px 35px;
  }

  /* Calendly Card */
  .calendly-card {
    right: 5%;
    width: 320px;
    padding: 28px;
  }

  .calendly-card h2 {
    font-size: 19px;
  }

  .calendly-card p {
    font-size: 14px;
  }

  .mockup_3 {
    max-width: 350px !important;
    transform: translate(7px, 47px);
  }
}

/* ============================================
   TABLETS (481px - 768px)
   ============================================ */
@media (max-width: 768px) {

  /* Contact Section */
  #contact-details {
    padding: 40px 0;
  }

  .contact-container {
    width: 90%;
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .contact {
    padding: 30px;
    order: 1;
  }

  .contact-info {
    order: 2;
    gap: 20px;
  }

  .info-card {
    padding: 28px 30px;
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }

  .icon-box {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
  }

  .icon-box img {
    width: 28px;
    height: 28px;
  }

  .info-text {
    font-size: 17px;
    margin: 0;
  }

  /* Form Elements */
  .contact input,
  .contact textarea {
    padding: 16px;
    font-size: 15px;
    margin-bottom: 18px;
  }

  .grid-2 {
    flex-direction: column;
    gap: 18px;
  }

  textarea {
    height: 120px;
    resize: vertical;
  }

  .send-btn {
    padding: 12px 28px;
    font-size: 16px;
    width: 100%;
  }

  /* Calendly Card */
  .calendly-card {
    position: relative;
    bottom: 60%;
    right: -70px;
    transform: none;
    width: min-content;
    max-width: 100%;
    min-width: 300px;
    margin: -40px auto 0;
    padding: 25px;
    border-radius: 20px;
  }

  .calendly-card h2 {
    font-size: 18px;
  }

  .calendly-card p {
    font-size: 13px;
    margin-bottom: 20px;
  }

  .schedule-btn {
    padding: 12px 28px;
    font-size: 15px;
    width: 100%;
  }

  .calendly-logo {
    font-size: 18px;
  }
}

/* ============================================
   MOBILE LARGE (426px - 480px)
   ============================================ */
@media (max-width: 480px) {

  /* Contact Section */
  #contact-details {
    padding: 30px 0;
  }

  .contact-container {
    width: 95%;
    gap: 25px;
  }

  .contact {
    padding: 25px 20px;
    border-radius: 20px;
  }

  .contact input,
  .contact textarea {
    padding: 14px;
    font-size: 14px;
    margin-bottom: 16px;
    border-radius: 15px;
  }

  .grid-2 {
    gap: 16px;
  }

  textarea {
    height: 100px;
  }

  .send-btn {
    padding: 12px 24px;
    font-size: 15px;
  }

  /* Contact Info */
  .contact-info {
    gap: 18px;
  }

  .info-card {
    padding: 22px 20px;
    border-radius: 20px;
    gap: 16px;
  }

  .icon-box {
    width: 45px;
    height: 45px;
    border-radius: 12px;
  }

  .icon-box img {
    width: 24px;
    height: 24px;
  }

  .info-text {
    font-size: 15px;
  }

  /* Calendly Card */
  .calendly-card {
    margin: -30px auto 0;
    padding: 20px;
    border-radius: 18px;
  }

  .calendly-logo {
    font-size: 16px;
    margin-bottom: 12px;
  }

  .calendly-card h2 {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .calendly-card p {
    font-size: 12px;
    margin-bottom: 18px;
    line-height: 1.4;
  }

  .schedule-btn {
    padding: 10px 24px;
    font-size: 14px;
  }

  .mockup_3 {
    max-width: 150px !important;
    transform: translate(5px, 23px);
  }
}

/* ============================================
   MOBILE SMALL (320px - 425px)
   ============================================ */
@media (max-width: 425px) {

  /* Contact Section */
  #contact-details {
    padding: 25px 0;
  }

  .contact-container {
    width: 100%;
    padding: 0 15px;
    gap: 20px;
  }

  .contact {
    padding: 20px 16px;
    border-radius: 18px;
  }

  .contact input,
  .contact textarea {
    padding: 12px;
    font-size: 14px;
    margin-bottom: 14px;
    border-radius: 12px;
  }

  .grid-2 {
    gap: 14px;
  }

  textarea {
    height: 90px;
  }

  .send-btn {
    padding: 10px 20px;
    font-size: 14px;
  }

  /* Contact Info */
  .contact-info {
    gap: 15px;
  }

  .info-card {
    padding: 18px 16px;
    border-radius: 18px;
    gap: 14px;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .icon-box {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }

  .icon-box img {
    width: 20px;
    height: 20px;
  }

  .info-text {
    font-size: 14px;
    line-height: 1.5;
  }

  /* Calendly Card */
  .calendly-card {
    margin: -25px auto 0;
    padding: 18px;
    border-radius: 16px;
  }

  .calendly-logo {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .calendly-card h2 {
    font-size: 15px;
    margin-bottom: 8px;
  }

  .calendly-card p {
    font-size: 11px;
    margin-bottom: 16px;
  }

  .schedule-btn {
    padding: 10px 20px;
    font-size: 13px;
  }

  .mockup_3 {
    max-width: 189px !important;
    transform: translate(5px, 23px);
  }
}

/* ============================================
   LANDSCAPE ORIENTATION FOR CONTACT PAGE
   ============================================ */
@media (max-height: 600px) and (orientation: landscape) {
  .calendly-card {
    position: absolute;
    bottom: 20px;
    right: 50px;
    transform: none;
    margin: 20px auto 0;
  }

  #contact-details {
    padding: 30px 0;
  }
}

/* ============================================
   CONTACT FORM ACCESSIBILITY & TOUCH TARGETS
   ============================================ */
@media (max-width: 768px) {

  /* Ensure touch targets are adequate */
  .send-btn,
  .schedule-btn {
    min-height: 44px;
    min-width: 120px;
  }

  .contact input,
  .contact textarea {
    min-height: 44px;
  }

  /* Improve form usability on mobile */
  .contact input:focus,
  .contact textarea:focus {
    border: 2px solid #216ba1;
    outline: none;
  }
}

/* ============================================
   CONTACT PAGE PRINT STYLES
   ============================================ */
@media print {
  .calendly-card {
    display: none;
  }

  #contact-details {
    page-break-inside: avoid;
  }

  .contact,
  .info-card {
    page-break-inside: avoid;
  }
}

@media (min-width: 1024px) {
  .banner-text {
    transform: none;
    left: 5% !important;
    top: 40%;
  }

}

@media (min-width:400px) and (max-width: 427px) {

  .info-bottle-img {
    max-width: 120px;
  }

  .bottle_cap2 {
    transform: translate(0, 20px);
  }
}