/* Mobile layout overrides for real-device readability */

@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden;
  }

  body {
    padding-bottom: 76px;
  }

  .section {
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .section-header {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 18px !important;
    text-align: center !important;
  }

  .section-header h2,
  .section h2,
  .final-cta h2,
  .happy-copy h3,
  .fibroid-title-card h2,
  .form-shell form h2,
  .support-card h2 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    font-size: clamp(24px, 6.2vw, 31px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    text-wrap: balance;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .section-header p:not(.eyebrow),
  .hero-subtitle,
  .final-cta p {
    max-width: 36ch;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .eyebrow {
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .form-shell,
  .form-grid,
  .form-grid-compact,
  .phone-combo,
  .phone-combo-compact,
  .address-field,
  .feedback-band,
  .offer-box,
  .comparison-table,
  .review-grid,
  .chat-proof-grid,
  .authority-grid,
  .trust-intro-grid,
  .receiving-grid,
  .cert-grid {
    grid-template-columns: 1fr !important;
  }

  .form-shell form {
    padding: 22px 18px !important;
  }

  label {
    gap: 6px !important;
  }

  input,
  select,
  textarea,
  .custom-select-trigger {
    min-height: 52px !important;
    font-size: 16px !important;
  }

  textarea {
    min-height: 120px !important;
  }

  .cta {
    width: auto !important;
    max-width: min(100%, 330px) !important;
    min-height: 50px !important;
    padding: 13px 22px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .cta span {
    display: inline-block !important;
    max-width: 24ch !important;
    text-align: center !important;
    line-height: 1.12 !important;
  }

  .section > .cta {
    margin-top: 18px !important;
  }

  .sticky-mobile-cta {
    bottom: 16px !important;
    max-width: calc(100vw - 44px) !important;
    padding: 11px 20px !important;
    z-index: 35 !important;
  }

  .card-grid.six,
  .card-grid.four,
  .honest-grid,
  .commitment-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .commitment-card,
  .honest-card,
  .soft-card,
  .review-card {
    padding: 14px !important;
    border-radius: 12px !important;
  }

  .commitment-card h3,
  .honest-card h3,
  .soft-card h3 {
    font-size: 17px !important;
    line-height: 1.18 !important;
    text-align: center !important;
  }

  .commitment-card p,
  .honest-card p,
  .soft-card p {
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  .receiving-grid {
    grid-template-columns: 1fr !important;
  }

  .receiving-grid article {
    display: grid !important;
    grid-template-rows: 1fr auto !important;
    width: min(100%, 360px) !important;
    min-height: 170px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px !important;
    align-items: center !important;
  }

  .receiving-grid img {
    width: 100% !important;
    height: 118px !important;
    max-height: 118px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
  }

  .receiving-grid span {
    min-height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  .product-catalog .section-header,
  .customer-trust-intro .section-header {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .catalog-card {
    flex: 0 0 210px !important;
  }

  .catalog-card h3 {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .benefit-card h3,
  .concern-card h3 {
    font-size: 16px !important;
    line-height: 1.18 !important;
  }

  .ba-caption {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .ba-caption p {
    text-align: center !important;
  }

  .cert-image {
    height: auto !important;
    min-height: auto !important;
  }

  .cert-image img {
    height: auto !important;
    max-height: none !important;
  }

  /* Honest Reviews: smaller number badges so photos remain visible */
  .honest-card span {
    left: 8px !important;
    top: 8px !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  .honest-image-box {
    aspect-ratio: 16 / 9 !important;
    margin-bottom: 10px !important;
  }

  .honest-card h3 {
    font-size: 15px !important;
    line-height: 1.12 !important;
  }

  .honest-card p {
    font-size: 12px !important;
    line-height: 1.32 !important;
  }

  /* Daily routine section: keep subtitle compact and ingredient grid cleaner */
  .product-reveal .section-header {
    margin-bottom: 14px !important;
  }

  .product-reveal .section-header h2 {
    max-width: 30ch !important;
    font-size: clamp(21px, 5.5vw, 26px) !important;
    line-height: 1.08 !important;
  }

  .product-reveal .section-header p:not(.eyebrow) {
    max-width: 34ch !important;
    font-size: 13px !important;
    line-height: 1.34 !important;
  }

  .couple-product-map {
    width: min(100%, 360px) !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }

  .couple-products-center {
    grid-row: 1 !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  .couple-product-bottle {
    padding: 6px !important;
  }

  .couple-product-bottle img {
    aspect-ratio: 4 / 3 !important;
    transform: none !important;
    object-fit: contain !important;
  }

  .ingredient-cloud {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .ingredient-chip {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 44px !important;
    padding: 6px 7px !important;
    border-radius: 10px !important;
    text-align: left !important;
    background: rgba(255,255,255,0.1) !important;
    border-color: rgba(255,255,255,0.18) !important;
  }

  .ingredient-chip img {
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    object-fit: cover !important;
  }

  .ingredient-chip strong {
    color: #fff !important;
    font-size: 8.5px !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  /* Product line lightbox: mobile-safe modal */
  .catalog-lightbox {
    align-items: start !important;
    place-items: start center !important;
    padding: 10px !important;
    overflow-y: auto !important;
  }

  .catalog-detail.slider-mode,
  .catalog-detail {
    width: min(100%, 390px) !important;
    max-height: none !important;
    min-height: auto !important;
    padding: 46px 10px 16px !important;
    overflow: visible !important;
    border-radius: 16px !important;
  }

  .slider-track-container {
    height: auto !important;
    min-height: auto !important;
    overflow: hidden !important;
  }

  .slider-track {
    align-items: flex-start !important;
    height: auto !important;
  }

  .catalog-slide {
    height: auto !important;
    min-height: auto !important;
  }

  .catalog-detail-layout {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 14px !important;
  }

  .catalog-detail-center {
    order: -1 !important;
    gap: 6px !important;
    padding: 8px !important;
  }

  .catalog-detail-center h2 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
  }

  .catalog-detail-center img {
    max-height: 120px !important;
    object-fit: contain !important;
  }

  .catalog-detail-center strong {
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  .catalog-detail-points {
    gap: 8px !important;
  }

  .catalog-detail-points article,
  .catalog-detail-right article {
    display: block !important;
    min-height: auto !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }

  .catalog-detail-points em {
    font-size: 9px !important;
    line-height: 1 !important;
  }

  .catalog-detail-points span {
    display: block !important;
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
  }

  .catalog-detail-points p {
    margin-top: 5px !important;
    font-size: 12px !important;
    line-height: 1.28 !important;
  }

  .catalog-detail-close {
    top: 8px !important;
    right: 8px !important;
    width: 34px !important;
    height: 34px !important;
  }

  .slider-nav-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 16px !important;
  }

  .prev-btn {
    left: -4px !important;
  }

  .next-btn {
    right: -4px !important;
  }

  .slider-dots {
    margin-top: 10px !important;
    gap: 5px !important;
  }

  .slider-dot {
    width: 6px !important;
    height: 6px !important;
  }
}

@media (max-width: 430px) {
  .section {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .section-header h2,
  .section h2,
  .final-cta h2,
  .happy-copy h3,
  .fibroid-title-card h2,
  .form-shell form h2,
  .support-card h2 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(21px, 5.7vw, 25px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
  }

  .section-header p:not(.eyebrow) {
    max-width: 34ch;
  }

  .card-grid.six,
  .card-grid.four,
  .honest-grid,
  .commitment-grid {
    gap: 10px !important;
  }

  .commitment-card,
  .honest-card,
  .soft-card {
    padding: 12px 10px !important;
  }

  .commitment-card .commitment-icon {
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 8px !important;
  }

  .cta {
    max-width: 300px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .cta span {
    max-width: 22ch !important;
  }

  .product-reveal .section-header h2 {
    font-size: 19px !important;
    max-width: 28ch !important;
  }

  .product-reveal .section-header p:not(.eyebrow) {
    font-size: 12.5px !important;
    max-width: 31ch !important;
  }
}

@media (max-width: 390px) {
  .section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .section-header h2,
  .section h2,
  .final-cta h2,
  .happy-copy h3,
  .fibroid-title-card h2,
  .form-shell form h2,
  .support-card h2 {
    font-size: 21px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
  }

  .ingredient-chip strong {
    font-size: 8px !important;
  }
}
