/* =============================================================
   MediCare+ — Mobile Responsiveness Fixes
   Applied globally via medicare-custom.css
   All rules use media queries; no full-layout duplication.
   ============================================================= */

/* ── 1. GLOBAL OVERFLOW PREVENTION ── */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
*, *::before, *::after {
  box-sizing: border-box;
}
img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}

/* ── 2. ENSURE TOUCH TARGETS ── */
button, a, input[type="submit"], input[type="button"],
select, [role="button"] {
  min-height: 44px;
}

/* ── 3. TABLES — prevent horizontal overflow ── */
table {
  width: 100%;
  table-layout: auto;
}
.woocommerce table.shop_table,
.woocommerce-cart-form table,
.shop_table {
  min-width: 0;
}

/* ═══════════════════════════════════════════════
   HEADER MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Prevent logo from overflowing when centered */
  .mcp-logo {
    max-width: calc(100vw - 200px);
  }
  .logo-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
  }

  /* Header row1 must not cause overflow */
  .header-row1,
  .header-row1 .header-inner {
    overflow: visible;
  }

  /* Search bar opens below header, full width */
  .mobile-search-bar {
    left: 0;
    right: 0;
    width: 100%;
  }
  .msb-inner {
    width: 100%;
  }

  /* Action buttons: icon-only, no overflow */
  .haction-btn .haction-inner > span,
  .haction-btn .haction-inner > .haction-label {
    display: none;
  }

  /* Mobile menu drawer must not exceed viewport */
  .mobile-menu {
    max-width: 86vw;
    overflow-x: hidden;
  }
  .mm-scroll {
    overflow-x: hidden;
  }

  /* Announcement bar wraps instead of causing overflow */
  .topbar-scroll {
    animation-duration: 20s;
  }
}

@media (max-width: 480px) {
  .header-inner {
    gap: 6px;
    padding: 0 10px;
  }

  /* Tighter action buttons */
  .haction-btn {
    width: 36px;
    height: 36px;
    padding: 0;
  }

  /* Logo adjustments */
  .logo-icon {
    width: 26px;
    height: 26px;
    font-size: 0.78rem;
  }
  .logo-text {
    font-size: 0.9rem;
    max-width: 110px;
  }
}

/* ═══════════════════════════════════════════════
   FOOTER MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Brand column takes full width on mobile */
  .ft-brand {
    width: 100%;
  }

  /* App buttons wrap cleanly */
  .ft-app-btns {
    flex-wrap: wrap;
    gap: 8px;
  }
  .ft-app-btn {
    flex: 1 1 130px;
    min-width: 130px;
  }

  /* Social buttons row */
  .ft-social {
    flex-wrap: wrap;
  }

  /* Newsletter: stacked on small screens */
  .ft-nl-inner {
    flex-direction: column;
    gap: 14px;
  }
  .ft-nl-text,
  .ft-nl-form {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  /* Payment row wraps */
  .ft-pay-icons {
    flex-wrap: wrap;
    gap: 6px;
  }

  /* Bottom bar */
  .ft-bottom-inner {
    gap: 8px;
  }
  .ft-bottom-links {
    flex-wrap: wrap;
    gap: 10px;
  }

  /* Cookie banner */
  .ft-cookie {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
  }
  .ft-cookie-btns {
    width: 100%;
    justify-content: flex-end;
  }
  .ft-cookie-accept,
  .ft-cookie-decline {
    flex: 1;
    text-align: center;
    min-height: 42px;
  }

  /* Back-to-top: above cookie banner when it's showing */
  .ft-back-top {
    bottom: 80px;
  }
}

@media (max-width: 480px) {
  .ft-nl-form {
    flex-direction: column;
    border-radius: 12px;
    padding: 10px;
    gap: 8px;
  }
  .ft-nl-input {
    padding: 10px 12px;
    min-height: 44px;
  }
  .ft-nl-btn {
    border-radius: 8px;
    width: 100%;
    padding: 12px;
    min-height: 44px;
  }
}

/* ═══════════════════════════════════════════════
   HOMEPAGE MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Wrapper: no horizontal overflow */
  .mc-master-app-wrapper {
    padding: 8px 12px 80px;
    overflow-x: hidden;
  }

  /* Hero section */
  .hero {
    padding: 28px 16px 24px;
    border-radius: 12px;
    margin-bottom: 16px;
  }
  .hero h1 {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
  }
  .hero-sub {
    font-size: 0.85rem;
    margin-bottom: 18px;
  }
  .hero-search {
    max-width: 100%;
    padding: 6px 6px 6px 14px;
    margin-bottom: 16px;
  }
  .hero-search input {
    font-size: 0.85rem;
  }
  .hero-search button {
    padding: 9px 16px;
    font-size: 0.82rem;
    min-height: 44px;
  }
  .hero-actions {
    gap: 8px;
  }
  .btn-primary, .btn-outline {
    padding: 10px 16px;
    font-size: 0.82rem;
    min-height: 44px;
  }

  /* Category grid: 4 cols on medium, 2 on small */
  .cat-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }
  .cat-card {
    padding: 10px 5px 8px;
  }
  .cat-card-img,
  .cat-card-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
  }
  .cat-card-icon i {
    font-size: 1.2rem;
  }
  .cat-card-name {
    font-size: 0.7rem;
  }
  .cat-card-count {
    font-size: 0.62rem;
  }

  /* Product grid */
  .prod-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .prod-body {
    padding: 10px 10px 12px;
  }
  .prod-name {
    font-size: 0.82rem;
  }
  .price {
    font-size: 0.92rem;
  }
  .old {
    font-size: 0.7rem;
  }
  .btn-add {
    padding: 8px 0;
    font-size: 0.75rem;
    min-height: 40px;
  }

  /* Action banners: single column */
  .action-banners {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  /* Deals header wraps */
  .deals-header {
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 14px;
  }
  .deals-title {
    font-size: 1rem;
  }

  /* Section headings */
  .section-title {
    font-size: 1rem;
  }
  .section-title-row {
    margin-bottom: 12px;
  }
  .view-all {
    font-size: 0.8rem;
  }
}

@media (max-width: 480px) {
  /* Hero tighter */
  .hero {
    padding: 22px 14px 20px;
  }
  .hero h1 {
    font-size: 1.5rem !important;
  }
  .hero-tag {
    font-size: 0.68rem;
    padding: 4px 10px;
  }

  /* Category grid 2 cols */
  .cat-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .cat-card-img,
  .cat-card-icon {
    width: 50px;
    height: 50px;
  }
  .cat-card-name {
    font-size: 0.75rem;
  }

  /* Product cards compact */
  .prod-grid {
    gap: 8px;
  }
}

/* ═══════════════════════════════════════════════
   SHOP PAGE MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Wrap text */
  .sp-wrap {
    padding: 16px 12px 40px;
  }

  /* Heading area stacks */
  .sp-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
  }
  .sp-title {
    font-size: 1.2rem;
  }
  .sp-search-form {
    max-width: 100%;
    width: 100%;
  }
  .sp-search-form input[type="text"] {
    padding: 10px 12px;
    font-size: 0.88rem;
    min-height: 44px;
  }
  .sp-search-form button {
    padding: 10px 14px;
    min-height: 44px;
  }

  /* Mobile filter/sort bar */
  .sp-mobile-bar {
    flex-wrap: wrap;
    gap: 8px;
  }
  .sp-mob-btn {
    padding: 9px 14px;
    min-height: 44px;
  }
  .sp-sort-select {
    min-height: 44px;
    padding: 9px 32px 9px 12px;
  }

  /* Product grid: 2 columns */
  .sp-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  /* Cards compact */
  .sp-card-body {
    padding: 10px 10px 0;
  }
  .sp-card-name {
    font-size: 0.82rem;
  }
  .sp-card-price .curr-price {
    font-size: 0.92rem;
  }
  .sp-card-footer {
    padding: 0 10px 10px;
  }
  .sp-atc-btn {
    padding: 8px 10px;
    font-size: 0.78rem;
    min-height: 40px;
  }

  /* Pagination touch targets */
  .sp-pagination a,
  .sp-pagination span {
    min-width: 40px;
    height: 40px;
  }

  /* Toolbar */
  .sp-toolbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .sp-sort-wrap {
    width: 100%;
  }
  .sp-sort-wrap form {
    flex: 1;
  }
  .sp-sort-wrap .sp-sort-select {
    width: 100%;
  }
  .sp-count {
    font-size: 0.82rem;
  }
}

@media (max-width: 400px) {
  /* Single column on very small screens */
  .sp-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════
   CATEGORY PAGE MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .cp-wrap {
    padding: 14px 12px 40px;
  }

  /* Breadcrumb wraps */
  .cp-breadcrumb {
    font-size: 0.72rem;
    flex-wrap: wrap;
  }
  .cp-breadcrumb .current {
    max-width: 160px;
  }

  /* Category header */
  .cp-title {
    font-size: 1.2rem;
  }
  .cp-banner {
    height: 120px;
    border-radius: 10px;
  }
  .cp-desc {
    font-size: 0.84rem;
  }

  /* Sub-category pills: scroll horizontally instead of overflow */
  .cp-subcats {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
    gap: 8px;
  }
  .cp-subcats::-webkit-scrollbar {
    display: none;
  }
  .cp-subcat-pill {
    flex-shrink: 0;
    padding: 6px 12px;
    min-height: 44px;
    align-items: center;
  }

  /* Product grid: 2 cols */
  .cp-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }

  /* Toolbar stacks */
  .cp-toolbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding-bottom: 12px;
  }
  .cp-sort-wrap {
    width: 100%;
  }
  .cp-sort-select {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }
  .cp-count {
    font-size: 0.82rem;
  }

  /* Category card text */
  .cp-card-name {
    font-size: 0.82rem;
  }
  .cp-card-foot {
    padding: 0 10px 10px;
  }
  .cp-card-atc {
    padding: 8px 10px;
    font-size: 0.78rem;
    min-height: 40px;
  }

  /* Pagination */
  .cp-pagination {
    gap: 4px;
    flex-wrap: wrap;
  }
  .cp-pagination .page-numbers {
    min-width: 38px;
    height: 38px;
    font-size: 0.82rem;
  }
}

@media (max-width: 400px) {
  .cp-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════════════
   SINGLE PRODUCT PAGE MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .pdp-wrap {
    padding: 14px 12px 40px;
  }

  /* Breadcrumb */
  .pdp-breadcrumb {
    font-size: 0.72rem;
    flex-wrap: wrap;
  }
  .pdp-breadcrumb .current {
    max-width: 160px;
  }

  /* Main: stack gallery + info */
  .pdp-main {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .pdp-gallery {
    position: static !important;
  }

  /* Gallery thumbnails: horizontal scroll on small screens */
  .pdp-gallery-dots {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .pdp-gallery-dots::-webkit-scrollbar {
    display: none;
  }
  .pdp-gallery-dot {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
  }

  /* Product info */
  .pdp-title {
    font-size: 1.2rem;
  }
  .pdp-price-curr,
  .pdp-price-block .woocommerce-Price-amount {
    font-size: 1.4rem;
  }

  /* Cart row: stack quantity + ATC */
  .pdp-cart-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .pdp-qty-wrap {
    width: 100%;
    justify-content: space-between;
  }
  .pdp-atc-btn,
  .single_add_to_cart_button {
    width: 100%;
    min-height: 48px;
    font-size: 0.92rem;
  }

  /* Tabs: horizontal scroll */
  .pdp-tab-nav {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .pdp-tab-nav::-webkit-scrollbar {
    display: none;
  }
  .pdp-tab-btn {
    white-space: nowrap;
    flex-shrink: 0;
    padding: 10px 14px;
    font-size: 0.82rem;
    min-height: 44px;
  }

  /* Tab content tables: scrollable */
  .pdp-tab-content {
    overflow-x: auto;
  }
  .pdp-tab-content table {
    min-width: 320px;
  }

  /* Related products: 2 cols */
  .pdp-related-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px;
  }

  /* Related product cards */
  .pdp-rc-name {
    font-size: 0.82rem;
  }
  .pdp-rc-atc {
    font-size: 0.78rem;
    padding: 8px 10px;
    min-height: 40px;
  }
}

@media (max-width: 480px) {
  /* Gallery main image */
  .pdp-gallery-main {
    max-width: 100%;
  }

  /* Trust badges wrap */
  .pdp-trust-badges {
    flex-wrap: wrap;
    gap: 8px;
  }
}

/* ═══════════════════════════════════════════════
   CART PAGE MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* WooCommerce default cart table override */
  .woocommerce-cart .woocommerce {
    overflow-x: hidden;
  }
  .woocommerce table.shop_table {
    width: 100%;
    border-collapse: collapse;
  }
  /* Stack cart table on mobile */
  .woocommerce-cart-form .shop_table thead {
    display: none;
  }
  .woocommerce-cart-form .shop_table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 14px 0;
    border-bottom: 1px solid #E5E9F0;
  }
  .woocommerce-cart-form .shop_table td {
    border: none;
    padding: 2px 0;
  }
  .woocommerce-cart-form .shop_table td.product-thumbnail {
    width: 70px;
    flex-shrink: 0;
  }
  .woocommerce-cart-form .shop_table td.product-thumbnail img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid #E5E9F0;
  }
  .woocommerce-cart-form .shop_table td.product-name {
    flex: 1;
    min-width: 0;
  }
  .woocommerce-cart-form .shop_table td.product-price {
    font-size: 0.82rem;
    color: #6B7280;
  }
  .woocommerce-cart-form .shop_table td.product-quantity {
    width: 100%;
  }
  .woocommerce-cart-form .shop_table td.product-subtotal {
    margin-left: auto;
    font-weight: 700;
  }
  .woocommerce-cart-form .shop_table td.product-remove {
    order: -1;
  }

  /* Update cart button */
  .woocommerce-cart-form .actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 0;
  }
  .woocommerce-cart-form .actions .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1;
    min-width: 0;
  }
  .woocommerce-cart-form .actions .coupon input#coupon_code {
    flex: 1;
    min-width: 120px;
    padding: 10px 12px;
    min-height: 44px;
  }
  .woocommerce-cart-form .actions .coupon button,
  .woocommerce-cart-form .actions .button {
    min-height: 44px;
    padding: 10px 16px;
  }

  /* Cart totals */
  .woocommerce-cart .cart-collaterals {
    width: 100%;
  }
  .woocommerce-cart .cart_totals {
    width: 100%;
    float: none;
  }
  .woocommerce-cart .cart_totals table {
    width: 100%;
  }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    text-align: center;
    min-height: 48px;
    font-size: 0.95rem;
    padding: 12px;
  }

  /* Quantity controls */
  .woocommerce .quantity .qty {
    min-height: 44px;
    min-width: 60px;
    text-align: center;
  }
}

/* ═══════════════════════════════════════════════
   CHECKOUT PAGE MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 820px) {
  .wc-checkout-wrapper {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin: 16px auto 40px !important;
    padding: 0 12px !important;
  }
  .ck-order-sidebar {
    order: -1;
  }
}

@media (max-width: 520px) {
  .ck-field-row {
    grid-template-columns: 1fr !important;
  }
  .ck-card-body {
    padding: 14px;
  }
  .ck-card-header {
    padding: 12px 14px;
    font-size: 0.88rem;
  }
  /* Form inputs */
  .ck-field input[type="text"],
  .ck-field input[type="email"],
  .ck-field input[type="tel"],
  .ck-field input[type="number"],
  .ck-field input[type="password"],
  .ck-field select,
  .ck-field textarea {
    min-height: 48px;
    font-size: 16px; /* prevents iOS zoom */
  }
  /* Place order button */
  #place_order,
  .ck-place-order-btn {
    width: 100%;
    min-height: 52px;
    font-size: 1rem;
  }
}

/* ═══════════════════════════════════════════════
   MY ACCOUNT / LOGIN MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* WC My Account layout: stack nav + content */
  .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce {
    width: 100%;
    padding: 0 12px;
  }
  .woocommerce-MyAccount-navigation {
    width: 100%;
    margin-bottom: 20px;
  }
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .woocommerce-MyAccount-navigation ul li a {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    background: #F0F4FF;
    border-radius: 8px;
    color: #1A2332;
    font-size: 0.84rem;
    font-weight: 600;
    text-decoration: none;
    min-height: 40px;
    white-space: nowrap;
  }
  .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #1565C0;
    color: #fff;
  }

  /* Account forms */
  .woocommerce-account .woocommerce fieldset {
    padding: 14px;
  }
  .woocommerce-account .woocommerce form .form-row {
    width: 100%;
    float: none;
    clear: both;
    padding: 0;
    margin-bottom: 12px;
  }
  .woocommerce-account .woocommerce form .form-row input,
  .woocommerce-account .woocommerce form .form-row select,
  .woocommerce-account .woocommerce form .form-row textarea {
    width: 100%;
    min-height: 48px;
    font-size: 16px; /* prevents iOS zoom */
    padding: 10px 12px;
  }
  .woocommerce-account .woocommerce form .form-row button,
  .woocommerce-account .woocommerce form .button {
    width: 100%;
    min-height: 48px;
    font-size: 0.92rem;
  }

  /* Orders table: scrollable on mobile */
  .woocommerce-orders-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce-orders-table__row td {
    white-space: nowrap;
  }
  .woocommerce-orders-table__cell-order-actions a {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
  }
}

/* Login form */
@media (max-width: 600px) {
  .woocommerce-form-login,
  .woocommerce-form-register {
    padding: 20px 14px;
    border-radius: 12px;
  }
  .woocommerce-form-login .form-row,
  .woocommerce-form-register .form-row {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }
  .woocommerce-form-login input,
  .woocommerce-form-register input {
    width: 100%;
    min-height: 48px;
    font-size: 16px;
    padding: 10px 14px;
  }
  .woocommerce-form-login .button,
  .woocommerce-form-register .button {
    width: 100%;
    min-height: 48px;
    font-size: 0.95rem;
  }
  .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.84rem;
  }
}

/* ═══════════════════════════════════════════════
   THANK YOU PAGE MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 600px) {
  /* Thank you order details */
  .woocommerce-order {
    padding: 0 12px;
  }
  .woocommerce-order-details table.woocommerce-table--order-details {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce-customer-details .col-1,
  .woocommerce-customer-details .col-2 {
    width: 100%;
    float: none;
    clear: both;
    padding: 0;
    margin-bottom: 16px;
  }
  .woocommerce-order-overview.woocommerce-thankyou-order-details {
    flex-direction: column;
    gap: 12px;
  }
  .woocommerce-order-overview.woocommerce-thankyou-order-details li {
    width: 100%;
    border: none;
    padding: 12px 16px;
    background: #F0F4FF;
    border-radius: 8px;
    margin: 0;
  }
  /* Continue shopping button */
  .woocommerce-order .woocommerce-button,
  .woocommerce-order .button {
    display: block;
    width: 100%;
    text-align: center;
    min-height: 48px;
    line-height: 48px;
    padding: 0 16px;
    font-size: 0.92rem;
  }
}

/* ═══════════════════════════════════════════════
   WOOCOMMERCE GENERAL MOBILE FIXES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Notices */
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info,
  .woocommerce-notices-wrapper .woocommerce-error {
    padding: 12px 14px;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }
  .woocommerce-notices-wrapper .woocommerce-message::before,
  .woocommerce-notices-wrapper .woocommerce-info::before {
    float: none;
    flex-shrink: 0;
  }
  .woocommerce-notices-wrapper .woocommerce-message a.button {
    min-height: 40px;
    padding: 8px 14px;
    font-size: 0.82rem;
    white-space: nowrap;
  }

  /* Prevent WooCommerce form columns from overflowing */
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
    float: none;
    clear: both;
  }

  /* General buttons */
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit {
    min-height: 44px;
    padding: 10px 18px;
    font-size: 0.88rem;
    white-space: nowrap;
  }

  /* Price: no overflow */
  .woocommerce-Price-amount {
    white-space: nowrap;
  }

  /* Variation selects */
  .woocommerce div.product form.cart .variations select {
    width: 100%;
    min-height: 48px;
    font-size: 16px;
  }

  /* Star rating */
  .woocommerce .star-rating {
    flex-shrink: 0;
  }
}

/* ═══════════════════════════════════════════════
   ASTRA THEME LAYOUT OVERRIDES
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Prevent Astra's #primary container from causing overflow */
  #primary, #secondary, .ast-container, .site-content {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Astra entry content */
  .entry-content, .ast-article-post {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Remove default padding that can cause overflow */
  .ast-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* ═══════════════════════════════════════════════
   UTILITY: SCROLLABLE TABLES
═══════════════════════════════════════════════ */
@media (max-width: 600px) {
  .tablepress-scroll-wrapper,
  .pdp-tab-content > table,
  .woocommerce table:not(.variations) {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
