/* Shared sizing keeps grid and flex children within their available space. */
.furniture-store main,
.admin-body .ac-shell,
.admin-body .ac-main,
.admin-body .ac-card,
.admin-body .ac-field,
.admin-body .ac-search,
.furniture-store .gb-search,
.furniture-store .gb-top-card-info,
.furniture-store .plant-card-body,
.furniture-store .lux-detail-meta {
  min-width: 0;
}

.min-w-0 { min-width: 0; }

.furniture-store :is(h1, h2, h3, h4, p, .plant-title, .gb-top-title, .lux-breadcrumbs),
.admin-body :is(.ac-card-title, .ac-alert, .ac-table-sub) {
  overflow-wrap: anywhere;
}

.furniture-store :is(.plant-price-row, .gb-top-price-row, .lux-breadcrumbs) {
  flex-wrap: wrap;
}

.furniture-store .product-rich-description img {
  max-width: 100%;
  height: auto;
}

.furniture-store .product-rich-description {
  overflow-x: auto;
}

.admin-body .table-responsive {
  max-width: 100%;
  overscroll-behavior-inline: contain;
}

.admin-body :is(.ac-page-actions, .ac-toolbar-actions, .ac-filter) {
  flex-wrap: wrap;
}

.admin-body .ac-side {
  max-width: calc(100vw - 44px);
  height: 100dvh;
}

@media (max-width: 1199.98px) {
  .furniture-store .gb-featured-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-body .ac-filter .ac-field {
    flex: 1 1 180px;
  }
}

@media (max-width: 991.98px) {
  .furniture-store {
    padding-bottom: calc(86px + env(safe-area-inset-bottom));
  }

  .furniture-store .gb-header-inner {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
  }

  .furniture-store .gb-header-inner > .gb-logo {
    min-width: 0;
    flex: 1 1 0;
  }

  .furniture-store .gb-header-inner > .gb-logo > span {
    min-width: 0;
  }

  .furniture-store .gb-header-inner .gb-logo strong {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .furniture-store .gb-search {
    order: 3;
    flex: 1 1 100%;
  }

  .furniture-store .gb-search input {
    min-width: 0;
  }

  .furniture-store .gb-header-actions {
    flex: none;
  }

  .furniture-store .gb-navigation {
    position: relative;
  }

  .furniture-store .gb-category-menu {
    position: static;
  }

  .furniture-store .gb-category-dropdown {
    left: 12px;
    right: 12px;
    min-width: 0;
    max-height: min(360px, 50dvh);
  }

  .furniture-store .wood-contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-body .ac-top-actions {
    flex: none;
  }

  .admin-body .ac-user-meta {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .furniture-store .gb-header.sticky-top {
    position: relative;
  }

  .furniture-store :is(.wood-section-heading, .furniture-catalog-heading) {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
  }

  .furniture-store .wood-category-actions {
    flex-wrap: wrap;
  }

  .furniture-store .lux-product-viewport {
    height: auto;
    aspect-ratio: 1;
  }

  .furniture-store .lux-product-thumbnails {
    max-width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .furniture-store .lux-product-thumbnail {
    flex-shrink: 0;
  }

  .furniture-store .lux-detail-title {
    font-size: clamp(24px, 5vw, 32px);
  }

  .furniture-store .product-purchase-controls {
    flex-wrap: wrap;
  }

  .furniture-store .product-purchase-controls > .flex-grow-1 {
    min-width: 180px;
  }

  .furniture-store .lux-trust-pill-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .furniture-store .gb-footer-grid > div {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .admin-body .ac-table {
    min-width: 680px;
  }

  .admin-body .ac-card-head {
    flex-wrap: wrap;
    gap: 12px;
  }
}

@media (max-width: 575.98px) {
  .furniture-store .gb-header-actions {
    gap: 12px;
  }

  .furniture-store .gb-header-inner .gb-logo strong {
    font-size: 23px;
  }

  .furniture-store .gb-header-inner .gb-logo small {
    white-space: normal;
  }

  .furniture-store .gb-top-product-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .furniture-store .gb-top-card-media {
    width: 100%;
    height: 200px;
  }

  .furniture-store .gb-top-actions > * {
    flex: 1 1 120px;
    min-width: 0;
  }

  .furniture-store .gb-top-actions :is(.gb-btn-cart, .gb-btn-buy) {
    width: 100%;
    justify-content: center;
    min-height: 44px;
  }

  .furniture-store .gb-product .plant-card-body {
    padding: 10px;
  }

  .furniture-store .gb-product .plant-title {
    font-size: 13px;
  }

  .furniture-store .plant-price-main {
    font-size: 17px;
  }

  .furniture-store .gb-product .plant-price-row {
    gap: 4px 8px;
  }

  .furniture-store .lux-cart-item > .flex-grow-1 {
    flex-basis: calc(100% - 90px);
  }

  .furniture-store .lux-cart-item > form {
    flex-shrink: 0;
  }

  .furniture-store .checkout-items-list .lux-cart-thumb {
    flex-shrink: 0;
  }

  .furniture-store .payment-methods-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .furniture-store .gb-footer-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .furniture-store .gb-footer-grid > div:first-child {
    grid-column: auto;
  }

  .furniture-store :is(input, select, textarea).form-control,
  .furniture-store .form-select,
  .admin-body .ac-field :is(input, select, textarea) {
    font-size: 16px;
  }

  .admin-body .ac-page-actions {
    gap: 8px;
  }

  .admin-body .ac-page-actions > * {
    flex: 1 1 140px;
  }

  .admin-body .ac-filter .ac-field {
    flex-basis: 100%;
  }
}

@media (max-width: 359.98px) {
  .furniture-store .furniture-product-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .furniture-store .gb-header-inner .gb-logo > i {
    display: none;
  }

  .furniture-store .wood-banner-slide .wood-hero-copy {
    padding-inline: 16px;
  }
}
