/* 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;
  }
}
/* Five product thumbnails fit beneath the main image at every screen size. */
.furniture-store .lux-product-gallery{min-width:0;grid-template-columns:minmax(0,1fr)}
.furniture-store .lux-product-thumbnails{display:flex;flex-wrap:nowrap;gap:10px;width:100%;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 10px;scrollbar-width:thin;scrollbar-color:#45280e #f7f0e8}
.furniture-store .lux-product-thumbnails .lux-product-thumbnail{flex:0 0 calc((100% - 40px)/5);width:calc((100% - 40px)/5);min-width:0;height:auto;aspect-ratio:1;scroll-snap-align:start;border-radius:10px}
.furniture-store .lux-product-thumbnails .lux-product-thumbnail img{width:100%;height:100%;object-fit:contain;padding:5px}

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

  .furniture-store .gb-featured-grid .gb-top-product-card {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 10px;
    min-width: 0;
    border-radius: 12px;
  }

  .furniture-store .gb-featured-grid .gb-top-card-media {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    padding: 6px;
  }

  .furniture-store .gb-featured-grid .gb-top-card-info {
    height: 100%;
    gap: 6px;
    justify-content: flex-start;
  }

  .furniture-store .gb-featured-grid .gb-top-title {
    font-size: 13px;
    line-height: 1.5;
  }

  .furniture-store .gb-featured-grid .gb-top-price-row {
    gap: 4px 6px;
  }

  .furniture-store .gb-featured-grid .gb-top-price-main {
    font-size: 18px;
  }

  .furniture-store .gb-featured-grid .gb-top-actions {
    flex-direction: column;
    gap: 6px;
    margin-top: auto;
    padding-top: 6px;
  }

  .furniture-store .gb-featured-grid .gb-top-actions > * {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
  }

  .furniture-store .gb-featured-grid .gb-top-actions :is(.gb-btn-cart, .gb-btn-buy) {
    width: 100%;
    justify-content: center;
    gap: 5px;
    padding: 8px 4px;
    font-size: 11px;
    min-height: 40px;
  }
}


.mobile-search-toggle, .mobile-header-menu { display: none; }
@media (max-width: 767.98px) {
  .furniture-store .gb-header-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 40px 40px; gap: 8px; padding-top: 6px; padding-bottom: 6px; }
  .furniture-store .gb-header-inner > .gb-logo { grid-column: 1; grid-row: 1; justify-self: start; gap: 6px; }
  .furniture-store .gb-header-inner .gb-logo strong { font-size: clamp(18px, 4.5vw, 23px); white-space: nowrap; }
  .furniture-store .gb-header-inner .gb-logo > i { display: block; font-size: 26px; }
  .furniture-store .gb-header-inner .gb-logo small { font-size: 8px; margin-top: 4px; }
  .furniture-store .gb-header-actions { display: none; }
  .furniture-store .gb-header-actions a:first-child, .furniture-store .gb-header-actions a > span { display: none; }
  .furniture-store .gb-header-actions i { font-size: 22px; }
  .furniture-store .mobile-search-toggle { grid-column: 2; grid-row: 1; display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 36px; border: 0; background: transparent; color: #38332e; font-size: 20px; }
  .furniture-store .gb-header-inner > .gb-search { display: none; grid-column: 1 / -1; grid-row: 2; position: relative; order: 0; width: 100%; min-width: 0; margin: 0; flex: none; background: #faf7f3; opacity: 0; visibility: hidden; pointer-events: none; transform: scaleX(0); transform-origin: right center; transition: transform .3s ease, opacity .3s ease, visibility .3s; }
  .furniture-store .gb-header-inner > .gb-search.mobile-search-open { display: flex; opacity: 1; visibility: visible; pointer-events: auto; transform: scaleX(1); }
  .furniture-store .gb-header-inner > .gb-search input { font-size: 16px; padding: 10px; }
  .furniture-store .gb-header-inner > .gb-search button { padding: 10px 12px; }
  .furniture-store .gb-navigation { display: none; }
  .mobile-header-menu { display: block; grid-column: 3; grid-row: 1; flex: 0 0 32px; }
  .mobile-header-menu > summary { display: grid; place-items: center; width: 32px; height: 36px; list-style: none; cursor: pointer; color: #45280e; font-size: 27px; }
  .mobile-header-menu > summary::-webkit-details-marker { display: none; }
  .mobile-header-panel { position: absolute; top: 100%; right: 12px; width: 280px; max-width: calc(100vw - 24px); max-height: 65dvh; overflow-y: auto; padding: 12px; border: 1px solid #eee5db; border-radius: 12px; background: #fff; box-shadow: 0 12px 30px #29272420; z-index: 1050; }
  .mobile-header-panel a { display: block; padding: 10px 12px; border-radius: 6px; color: #292724; font-size: 14px; }
  .mobile-header-panel a:hover { background: #f7f0e8; color: #45280e; }
  .mobile-header-panel strong { display: block; padding: 12px; border-top: 1px solid #eee5db; color: #9a795a; font-size: 12px; }
  .mobile-header-panel .mobile-header-child { padding-left: 28px; font-size: 13px; }
}

@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .furniture-store .gb-header-inner > .gb-search { transition: none; }
}

@media (max-width: 767.98px) {
  .furniture-store .wood-banner-slide { min-height: 440px; }
  .furniture-store .wood-banner-slide .wood-hero-copy { padding-bottom: 48px; }
}

@media (max-width: 767.98px) {
  .furniture-store .wood-category-section .wood-categories > a {
    flex-basis: calc((100% - 28px) / 3);
    gap: 6px;
  }

  .furniture-store .wood-category-section .wood-categories span {
    max-width: 80px;
    border-radius: 12px;
  }

  .furniture-store .wood-category-section .wood-categories img {
    padding: 12px;
    object-fit: contain;
  }
}

@media (max-width: 991.98px) {
  .furniture-store .store-live-chat {
    right: 16px;
    bottom: calc(86px + env(safe-area-inset-bottom, 0px));
  }
}

/* Keep shared page content inside its grid track without clipping tables. */
.furniture-store :is(.customer-dashboard-main, .customer-dashboard-sidebar, .wood-about-story > *, .wood-about-values > *, .checkout-items-list > *),
.admin-body :is(.ac-two-col > *, .ac-settings-grid > *, .ac-settings-layout > *, .ac-product-editor > *, .ac-product-editor-side > *, .ac-modal .modal-body) {
  min-width: 0;
}
.furniture-store :is(.customer-dashboard-main, .wood-contact-info, .checkout-items-list),
.admin-body :is(.ac-field, .ac-modal, .ac-message-body, .ac-site-page-card) {
  overflow-wrap: anywhere;
}
.admin-body :is(.ac-field, .ac-modal) :is(input, select, textarea) {
  max-width: 100%;
}
.admin-body .ac-modal .modal-body {
  min-height: 0;
  max-height: 75dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.admin-body .ac-modal .modal-content {
  max-height: calc(100dvh - 24px);
}
.furniture-store .store-live-chat-card {
  max-height: calc(100dvh - 180px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

@media (max-width: 991.98px) {
  .furniture-store main .row.g-5 {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
  }
  .furniture-store .sticky-lg-top {
    position: static;
  }
  .furniture-store .wood-about-story {
    gap: 24px;
  }
  .admin-body .ac-modal .modal-dialog {
    max-width: calc(100% - 24px);
    margin: 12px auto;
  }
}

@media (max-width: 767.98px) {
  .furniture-store .lux-page-header h1 {
    font-size: clamp(24px, 6vw, 32px);
    line-height: 1.3;
  }
  .furniture-store .customer-dashboard-heading {
    flex-wrap: wrap;
    gap: 12px;
  }
  .furniture-store .customer-dashboard-main {
    min-height: 0;
  }
  .furniture-store .customer-orders-page {
    min-height: 0;
  }
  .furniture-store .dashboard-wishlist-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .admin-body .ac-modal :is(input, select, textarea),
  .admin-body .ac-field :is(input, select, textarea),
  .admin-body .ac-search input {
    font-size: 16px;
  }
  .admin-body .ac-modal .modal-footer {
    flex-wrap: wrap;
    gap: 8px;
  }
  .admin-body .ac-modal .modal-footer > .btn {
    flex: 1 1 120px;
    margin: 0;
  }
}

@media (max-width: 575.98px) {
  .furniture-store .contact-info-card {
    gap: 10px;
    padding: 12px;
  }
  .furniture-store .contact-info-icon {
    flex-basis: 34px;
    height: 34px;
    font-size: 18px;
  }
  .furniture-store .contact-info-card strong {
    font-size: 14px;
  }
  .furniture-store .product-specifications > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 12px;
  }
  .furniture-store .product-purchase-controls > .flex-grow-1 {
    min-width: 0;
    flex-basis: 100%;
  }
  .furniture-store .lux-cart-item > .flex-grow-1 {
    min-width: 0;
    flex-basis: calc(100% - 86px);
  }
  .furniture-store .furniture-footer .gb-footer-grid {
    gap: 24px 16px;
  }
  .admin-body .ac-modal :is(.modal-body, .modal-header, .modal-footer) {
    padding: 16px;
  }
}

.furniture-store .gb-header .gb-search input,
.furniture-store .gb-header-actions a {
  font-size: 15px;
}
.furniture-store .gb-navigation a {
  font-size: 15px;
}
.furniture-store .mobile-header-panel a {
  font-size: 16px;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .furniture-store .gb-navigation-center {
    position: static;
    transform: none;
    gap: 18px;
  }
  .furniture-store .gb-header-actions {
    gap: 16px;
  }
}
@media (max-width: 767.98px) {
  .furniture-store .gb-header .gb-search input {
    font-size: 16px;
  }
}

.admin-body .ac-orders-card .ac-table { min-width: 1180px; }
.admin-body .ac-orders-card .ac-table td { vertical-align: top; padding-top: 20px; padding-bottom: 20px; }
.admin-body .ac-orders-card .ac-table td:first-child { min-width: 230px; max-width: 320px; }
.admin-body .ac-orders-card .ac-table td:nth-child(2) { min-width: 180px; max-width: 240px; }
.admin-body .ac-orders-card .ac-table td:nth-child(6) { min-width: 380px; }
.admin-body .ac-orders-card .ac-table td:nth-child(7) { min-width: 240px; max-width: 280px; }
.admin-body .ac-orders-card .ac-table-sub { white-space: normal; overflow-wrap: anywhere; line-height: 1.6; }
.admin-body .ac-orders-card .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; white-space: nowrap; font-size: 12px; border-radius: 7px; }
.admin-body .ac-orders-card :is(.ac-order-select, .form-select, .form-control) { width: 100%; min-height: 38px; border-radius: 7px; }
.admin-body .ac-orders-card .ac-order-select { max-width: none; }
.admin-body .ac-orders-card .ac-table-title { font-size: 13px; line-height: 1.5; }
.admin-body .ac-orders-card .ac-table-sub { font-size: 12px; }
.admin-body .ac-orders-card .ac-table th { font-size: 11px; white-space: nowrap; }
.admin-body .ac-orders-card .ac-order-select { font-size: 13px; }
.admin-body .ac-orders-card .ac-table td:last-child { min-width: 240px; }
.admin-body .ac-order-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
.admin-body .ac-order-actions form { margin: 0; }
.admin-body .ac-order-actions .btn { padding: 8px 12px; }
.admin-body .ac-orders-card .ac-table tbody tr:hover { background: #fffaf5; }
 .admin-body .ac-order-status-controls { display: flex; align-items: center; gap: 8px; }
.admin-body .ac-order-status-controls form { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; margin: 0 !important; }
.admin-body .ac-orders-card .ac-order-status-controls .ac-order-select { flex: 0 0 136px; width: 136px; }
.admin-body .ac-order-status-controls .btn { margin-top: 0 !important; }
.admin-body .ac-order-actions > * { flex: 0 0 auto; }

.furniture-store .gb-header.sticky-top { z-index: 1030; }
.furniture-store .store-order-summary { z-index: 10; }
@media (min-width: 992px) {
  .furniture-store .store-order-summary {
    top: calc(var(--store-header-height, 180px) + 16px);
  }
}

.site-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; width: 100%; }
.site-pagination-summary { margin: 0; color: #65758a; font-size: 13px; line-height: 1.6; }
.site-pagination-summary strong { color: #123e68; font-weight: 600; }
.site-pagination .pagination { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; padding-bottom: 2px; }
.site-pagination .page-link { display: grid; place-items: center; min-width: 38px; min-height: 40px; border-color: #dce3ed; background: #fff; color: #0d6efd; font-size: 14px; box-shadow: none; }
.site-pagination .page-item.active .page-link { background: #0d6efd; border-color: #0d6efd; color: #fff; }
.site-pagination .page-item.disabled .page-link { background: #edf0f4; color: #8793a4; }
.site-pagination .page-link:focus-visible { outline: 2px solid #0d6efd; outline-offset: -3px; }
@media (max-width: 575.98px) {
  .site-pagination { flex-direction: column; align-items: flex-start; gap: 12px; }
  .site-pagination .page-link { min-width: 36px; }
}
