/* ================================================================
   TrueKatana — Reviews / Gallery
   Design System: --one-* tokens (from layout.css :root)
   ================================================================ */


/* ── Reviews Main ── */
.one-reviews { background: linear-gradient(180deg, var(--one-bg-primary) 0%, var(--one-bg-void) 100%) !important; }
.one-reviews-header { background-color: var(--one-bg-hero) !important; padding: 30px 15px 60px; text-align: center; width: 100%; }
.one-reviews-title { color: var(--one-text-primary); font-family: var(--one-font-heading); font-size: 3em; font-weight: 800; letter-spacing: -0.01em; line-height: 1.15; margin: 0 auto 5px; max-width: 1024px; }
.one-reviews-subtitle { color: var(--one-text-primary); font-size: 1.15em; line-height: 1.45; margin: 0 auto; max-width: 800px; }
.one-reviews-breadcrumb ol { align-items: center; display: flex; gap: 8px; justify-content: center; list-style: none; margin: 0 0 5px; padding: 8px 0; }
.one-reviews-breadcrumb li { align-items: center; display: inline-flex; gap: 8px; }
.one-reviews-breadcrumb li + li::before { color: var(--one-text-muted); content: "/"; font-size: 0.85em; }
.one-reviews-breadcrumb a { color: var(--one-text-secondary); font-size: 0.85em; text-decoration: none; }
.one-reviews-breadcrumb a:hover { color: var(--one-text-primary); text-decoration: none; }
.one-reviews-tabs { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 30px; }
.one-reviews-tab { align-items: center; background: var(--one-bg-void) !important; border: 1px solid var(--one-border); border-radius: var(--one-radius-full); color: var(--one-text-primary); display: inline-flex; gap: 7px; padding: 12px 40px; text-decoration: none; }
.one-reviews-tab svg { flex: 0 0 auto; height: 16px; width: 16px; fill: currentColor; }
.one-reviews-tab:hover { color: var(--one-text-primary); text-decoration: none; }
.one-reviews-tab.is-active { background: var(--one-red) !important; border-color: var(--one-red); color: var(--one-text-inverse); font-weight: 800; }
.one-reviews-tab.is-active:hover { color: var(--one-text-inverse); }
.one-reviews-container { margin: 40px auto 150px; max-width: 1360px; padding: 0 15px; width: 100%; }
.one-reviews-list { display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.one-reviews-card { background-color: var(--one-bg-card) !important; border: 1px solid var(--one-border); border-radius: var(--one-radius-sm); color: var(--one-text-primary); display: grid; grid-template-columns: minmax(180px, 25%) 1fr; overflow: hidden; }
.one-reviews-card-author { border-right: 1px solid var(--one-border); min-height: 200px; padding: 20px; }
.one-reviews-author-name { align-items: center; color: var(--one-text-primary); display: flex; flex-wrap: wrap; font-size: 1.1em; font-weight: 800; gap: 6px; line-height: 1.25; }
.one-reviews-author-location { color: var(--one-text-secondary); font-size: 11px; margin-top: 5px; }
.one-reviews-flag { border-radius: 3px; font-size: 0.9em; }
.one-reviews-card-body { color: var(--one-text-primary); font-weight: 600; max-width: 90%; padding: 20px; }
.one-reviews-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.one-reviews-stars { align-items: center; display: inline-flex; gap: 3px; }
.one-reviews-stars svg { color: #ffc107; fill: currentColor; height: 14px; width: 14px; }
.one-reviews-date { color: var(--one-text-secondary); font-size: 0.875em; }
.one-reviews-content { color:var(--one-text-body); font-size: 17px; line-height: 1.35; margin-top: 16px; max-width: 650px; }
.one-reviews-photo-link { display: block; margin-top: 20px; width: fit-content; }
.one-reviews-photo-link img { border-radius: var(--one-radius-sm); display: block; max-width: 220px; }
.one-reviews-reply { border: 1px dashed var(--one-border-hover); border-radius: var(--one-radius-sm); color: var(--one-text-secondary); margin: 24px 0; max-width: 500px; padding: 10px 15px; }
.one-reviews-reply-label { background: var(--one-success); border-radius: var(--one-radius-full); color: #fff; display: inline-flex; font-size: 12px; font-weight: 800; line-height: 1; margin-bottom: 8px; padding: 5px 9px; }
.one-reviews-product { align-items: flex-start; color: var(--one-text-secondary); display: flex; gap: 10px; margin-top: 35px; max-width: 50%; text-decoration: none; }
.one-reviews-product:hover { color: var(--one-text-secondary); text-decoration: none; }
.one-reviews-product img { aspect-ratio: 6 / 7; border-radius: var(--one-radius-xs); flex: 0 0 auto; height: auto; object-fit: cover; object-position: top center; width: 60px; }
.one-reviews-product strong { -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--one-text-secondary); display: -webkit-box; font-weight: 500; line-height: 1.25; overflow: hidden; }
.one-reviews-product small { align-items: center; color: var(--one-success-vivid) !important; display: inline-flex; gap: 4px; line-height: 1.25; margin-top: 3px; }
.one-reviews-product small svg { fill: currentColor; height: 13px; width: 13px; }
.page-reviews { background: linear-gradient(180deg, var(--one-bg-primary) 0%, var(--one-bg-void) 100%) !important; }
.page-reviews-container { margin-top: 40px; margin-bottom: 150px; max-width: 1360px; }
.page-reviews-header { background-color: var(--one-bg-hero) !important; padding-top: 30px !important; padding-bottom: 60px !important; }
.page-reviews-title { font-family: var(--one-font-body); font-size: 3em; color: var(--one-text-primary); font-weight: 800; letter-spacing: -0.01em; margin-bottom: 5px !important; }
.page-reviews-subtitle { color: var(--one-text-primary); max-width: 800px; font-size: 1.15em; }
.page-reviews-breadcrumb ol a { color: var(--one-text-secondary); font-size: 0.85em; }
.page-reviews-breadcrumb ol { justify-content: center; }
.page-reviews-breadcrumb ol { margin-bottom: 5px; background-color: transparent !important; padding: 8px 0 !important; }

/* Tab navigation */
.page-reviews-tab-container { margin-top: 30px; }
.page-reviews-tab { background: var(--one-bg-void) !important; color: var(--one-text-primary); padding: 12px 40px; border: 1px solid var(--one-border); }
.page-reviews-tab:hover { color: var(--one-text-primary); }
.page-reviews-tab-active { background: var(--one-red) !important; color: var(--one-text-inverse); padding: 12px 40px; font-weight: bold; }
.page-reviews-tab-active:hover { color: var(--one-text-inverse); }

@media (max-width: 991.98px) {
  .one-reviews-tab { padding: 9px 30px; }
  .one-reviews-tab.is-active { padding: 8px 30px; }
  .one-reviews-card { grid-template-columns: 1fr; }
  .one-reviews-card-author { border-bottom: 1px solid var(--one-border); border-right: 0; margin-bottom: 0; min-height: 50px; }
  .one-reviews-card-body { max-width: 100%; }
  .one-reviews-product { max-width: 100%; }
  .page-reviews-tab { padding: 9px 30px; }
  .page-reviews-tab-active { padding: 8px 30px; }
}


/* ── Review Items (review cards) ── */
.page-reviews-item-h3 { margin-top: 30px !important; color: var(--one-text-primary); font-weight: 800; font-family: var(--one-font-body); font-size: 2em; letter-spacing: -0.01em; }
.page-reviews-item-card { background-color: var(--one-bg-card) !important; border: 1px solid var(--one-border); }
.page-reviews-item-left { border-right: 1px solid var(--one-border); min-height: 200px; }
.page-reviews-item-body { color: var(--one-text-primary); font-weight: 600; max-width: 90%; }
.page-reviews-item-content { font-size: 16px; color: var(--one-text-secondary); max-width: 650px; line-height: 1.75; }
.page-reviews-item-product { margin-top: 35px; max-width: 50%; color: var(--one-text-secondary); font-weight: normal; }
.page-reviews-item-product img { margin-right: 6px; border-radius: var(--one-radius-xs); }
.page-reviews-item-product a { color: var(--one-text-secondary); }
.page-reviews-item-product a:hover { text-decoration: underline; }
.page-reviews-item-product small { color: var(--one-success) !important; }
.page-reviews-item-date { color: var(--one-text-secondary); }
.page-reviews-item-title { color: var(--one-text-primary); }
.page-reviews-item-left small { font-size: 11px; color: var(--one-text-secondary); }
.page-reviews-item-title strong { font-size: 1.2em; }
.page-reviews-item-count { color: var(--one-text-muted); font-weight: 500; }
.page-reviews-item-reply { border: 1px dashed var(--one-border-hover); padding: 10px 15px; color: var(--one-text-secondary); border-radius: var(--one-radius-sm); max-width: 500px; }

@media (max-width: 991.98px) {
  .page-reviews-item-left { border-right: 0; border-bottom: 1px solid var(--one-border); min-height: 50px; margin-bottom: 10px; }
  .page-reviews-item-product { margin-top: 35px; max-width: 100%; }
  .page-reviews-item-body { max-width: 100%; }
}


/* ── Product Review Page (single product reviews) ── */
.one-reviews-list { margin-top: 30px; }
.page-reviews-list-container { background-color: var(--one-bg-primary) !important; }
.page-reviews-list-left { min-height: 600px; color: var(--one-text-primary); background-color: var(--one-bg-card) !important; border: 1px solid var(--one-border); }
.page-reviews-list-left small { color: var(--one-text-secondary); font-size: 0.9em; }
.page-reviews-list-left-img img { border-radius: var(--one-radius-sm); }
.page-reviews-list-left-title { font-size: 1.25em; color: var(--one-text-primary); line-height: 1.35em; }

.page-reviews-list-left-body a { color: var(--one-text-primary); }
.page-reviews-list-left-price { font-size: 2em; color: var(--one-text-primary); }
.page-reviews-list-left-coupon-container { color: var(--one-warning) !important; font-size: 0.5em !important; }
.page-reviews-list-left-coupon-tags { color: var(--one-text-primary); padding-top: 4px; padding-bottom: 3px; }
.page-reviews-list-left-shipping-tips { color: var(--one-success-vivid); }
.page-reviews-list-left-shipping-tips a { color: var(--one-success-vivid) !important; }
.page-reviews-list-left-inventory-low { color: var(--one-warning) !important; }
.page-reviews-list-left-inventory-instock { color: var(--one-success-vivid) !important; }

.page-reviews-list-card { background-color: var(--one-bg-card) !important; border: 1px solid var(--one-border); }
.page-reviews-list-item { margin-top: 35px; max-width: 45%; color: var(--one-text-secondary); font-weight: normal; }
.page-reviews-list-item-body { color: var(--one-text-primary); font-weight: 600; max-width: 90%; }
.page-reviews-list-item-content { font-size: 16px; color: var(--one-text-secondary); max-width: 650px; min-height: 120px; line-height: 1.75; }
.page-reviews-list-title strong { font-size: 15px; color: var(--one-text-primary); }
.page-reviews-list-title small { font-size: 12px; color: var(--one-text-secondary); }
.page-reviews-list-item img { margin-right: 10px; border-radius: var(--one-radius-xs); }
.page-reviews-list-item a { color: var(--one-text-secondary); }
.page-reviews-list-item a:hover { text-decoration: underline; }
.page-reviews-list-item-verify { color: var(--one-success) !important; }
.page-reviews-list-item-reply { border: 1px dashed var(--one-border-hover); padding: 10px 15px; color: var(--one-text-secondary); border-radius: var(--one-radius-sm); max-width: 500px; }


/* ── Photo Gallery ── */
.one-gallery-nav { background-color: var(--one-bg-card) !important; padding: 50px 30px; margin-bottom: 40px; }
.one-gallery-nav-title { margin-top: 50px !important; color: var(--one-text-primary); font-weight: 800; font-family: var(--one-font-body); font-size: 2.5em; letter-spacing: -0.01em; }
.one-gallery-nav-subtitle { color: var(--one-text-secondary); font-size: 0.85em; max-width: 600px; }
.one-gallery-container { max-width: 1680px; margin: auto; color: var(--one-text-secondary); }
.one-gallery-grid { width: 20%; height: auto; float: left; padding: 10px; }
.one-gallery-grid:after { content: ''; display: block; clear: both; }
.one-gallery-body { background: var(--one-bg-primary) !important; }
.one-gallery-card { background: var(--one-bg-card) !important; }
.one-gallery-card-body span { font-size: 13px; color: var(--one-text-secondary); }
.one-gallery-card-body a { font-size: 13px; color: var(--one-text-primary); }
.one-gallery-card-body a:hover { text-decoration: underline; color: var(--one-link-hover); }
.one-gallery-card-body p { color: var(--one-text-secondary); }
.one-gallery-card-user { color: var(--one-text-primary); }
.one-gallery-card-profile small { color: var(--one-text-muted); font-size: 0.8em; }
.one-gallery-card-hr { border-color: var(--one-border-subtle) !important; }
.one-gallery-card-date { color: var(--one-text-muted); font-size: 0.8em; padding-left: 10px; }
.one-gallery-stars span { color: var(--one-star); }
.one-gallery-card-item img { border-radius: var(--one-radius-sm); margin-top: 3px; }
.one-gallery-card-item a { font-size: 0.95em; line-height: 1.15 !important; }
.one-reviews-gallery .page-reviews-gallery { margin: 40px auto 150px; }
.one-reviews-gallery .one-gallery-container { column-count: 5; column-gap: 10px; margin: 0 auto; max-width: 1680px; padding: 0 10px; }
.one-reviews-gallery .one-gallery-grid { break-inside: avoid; display: inline-block; float: none; margin: 0 0 10px; padding: 0; width: 100%; }
.one-reviews-gallery .one-gallery-card { border: 0; border-radius: var(--one-radius-sm); overflow: hidden; }
.one-reviews-gallery .one-gallery-card-figure { margin: 0; min-height: 150px; }
.one-reviews-gallery .one-gallery-card-img { display: block; height: auto; width: 100%; }
.one-reviews-gallery .one-gallery-card-body { padding: 10px; }
.one-reviews-gallery .one-gallery-card-profile small { display: block; margin-top: 4px; }
.one-reviews-gallery .one-gallery-card-user { align-items: center; display: flex; gap: 6px; }
.one-reviews-gallery .one-gallery-card-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; }
.one-reviews-gallery .one-gallery-stars { align-items: center; display: inline-flex; gap: 2px; }
.one-reviews-gallery .one-gallery-stars svg { color: var(--one-star); fill: currentColor; flex: 0 0 auto; }
.one-reviews-gallery .one-gallery-card-body p { line-height: 1.45; margin: 8px 0 0; }
.one-reviews-gallery .one-gallery-card-item { align-items: flex-start; color: var(--one-text-secondary); display: flex; gap: 10px; text-decoration: none; }
.one-reviews-gallery .one-gallery-card-item:hover { color: var(--one-text-secondary); text-decoration: none; }
.one-reviews-gallery .one-gallery-card-item img { flex: 0 0 auto; height: auto; margin: 3px 0 0; width: 60px; }
.one-reviews-gallery .one-gallery-card-item strong { -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--one-text-primary); display: -webkit-box; font-size: 0.95em; font-weight: 500; line-height: 1.15; overflow: hidden; }
.one-reviews-gallery .one-gallery-card-item small { color: var(--one-success-vivid) !important; display: block; margin-top: 4px; }
.one-reviews-gallery .one-storefront-pagination { padding-top: 48px; }

@media (max-width: 1360px) {
  .one-gallery-grid { width: 25%; padding: 5px; }
  .one-reviews-gallery .one-gallery-container { column-count: 4; }
}
@media (max-width: 991.98px) {
  .one-gallery-grid { width: 33.3%; padding: 5px; }
  .one-reviews-gallery .one-gallery-container { column-count: 3; }
}
@media (max-width: 760px) {
  .one-gallery-grid { width: 50%; padding: 5px; }
  .one-reviews-gallery .one-gallery-container { column-count: 2; }
}
@media (max-width: 575.98px) {
  .one-gallery-grid { width: 50%; padding: 5px; }
  .one-reviews-gallery .page-reviews-gallery { margin-bottom: 100px; }
  .one-reviews-gallery .one-gallery-container { column-count: 2; column-gap: 6px; padding: 0 6px; }
  .one-reviews-gallery .one-gallery-grid { margin-bottom: 6px; }
}


/* ── Mobile ≤767px ── */
@media (max-width: 767.98px) {
  .one-reviews-header { padding: 20px 15px 40px; }
  .one-reviews-title { font-size: 2em; }
  .one-reviews-subtitle { font-size: 1em; }
  .one-reviews-tabs { flex-direction: column; flex-wrap: nowrap; gap: 24px; }
  .one-reviews-tab { font-size: 15px; min-height: 40px; padding: 10px 24px; white-space: nowrap; }
  .one-reviews-tab.is-active { padding: 10px 24px; }
  .one-reviews-container { margin-bottom: 100px; padding: 0 15px; }
  .one-reviews-card-author,
  .one-reviews-card-body { padding: 16px; }
  .one-reviews-content { font-size: 16px; }
  .page-reviews-title { font-size: 2em; }
  .page-reviews-subtitle { font-size: 1em; }
  .page-reviews-header { padding-top: 20px !important; padding-bottom: 40px !important; }
  .page-reviews-tab-container { display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: center !important; gap: 24px; }
  .page-reviews-tab-container .tabs-nav-item { margin: 0 !important; padding: 0 !important; }
  .page-reviews-tab { padding: 10px 24px; font-size: 15px; white-space: nowrap; }
  .page-reviews-tab-active { padding: 10px 24px; font-size: 15px; white-space: nowrap; }
  .page-reviews-item-h3 { font-size: 1.5em; }
  .page-reviews-item-content { font-size: 15px; }
  .page-reviews-list-left { min-height: auto; }
  .page-reviews-list-left-price { font-size: 1.5em; }
  .one-gallery-nav { padding: 30px 16px; }
  .one-gallery-nav-title { font-size: 1.75em; margin-top: 30px !important; }
}
