 #product-page {
   --product-panel: #fff;
   --product-panel-soft: #f5f8f6;
   --product-border: #e2e8e4;
   --product-copy: #5d6861;
   --product-success-soft: #e9f8f0;
   --product-accent-ink: #08783f;
   --product-cta: #087a40;
   --product-shadow: 0 18px 55px rgba(18, 47, 31, 0.08);
 }

 [data-theme="dark"] #product-page {
   --product-panel: #141414;
   --product-panel-soft: #191b1a;
   --product-border: #2a2d2b;
   --product-copy: #aeb7b1;
   --product-success-soft: rgba(0, 166, 81, 0.12);
   --product-accent-ink: #55d38e;
   --product-cta: #087a40;
   --product-shadow: 0 22px 65px rgba(0, 0, 0, 0.28);
 }

 #product-page.single-product-page {
   padding-top: 0 !important;
 }

 #product-page .product-breadcrumb {
   position: relative;
   top: 0;
   margin: 0;
   margin-top: 8px;
   padding: 16px 0;
   background: var(--bg) !important;
   border-bottom: 1px solid var(--product-border);
 }

 #product-page .breadcrumb-wrapper {
   min-width: 0;
   gap: 8px;
   padding: 0;
   color: var(--muted);
   font-size: 14px;
 }

 #product-page .breadcrumb-home,
 #product-page .breadcrumb-link {
   color: var(--muted);
   text-decoration: none;
   transition: color .2s ease;
 }

 #product-page .breadcrumb-home:hover,
 #product-page .breadcrumb-link:hover {
   color: var(--accent);
 }

 #product-page .breadcrumb-separator {
   color: var(--muted-light);
   font-size: 16px;
 }

 #product-page .breadcrumb-current {
   min-width: 0;
   overflow: hidden;
   color: var(--text);
   font-weight: 600;
   letter-spacing: 0;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 #product-page .single-product-section {
   background:
     radial-gradient(circle at 12% 5%, rgba(0, 192, 93, 0.06), transparent 28rem),
     var(--bg-section);
 }

 #product-page .product-gallery-card {
   position: sticky;
   top: calc(var(--header-h, 72px) + 24px);
   width: 100%;
   padding: 18px;
   border: 1px solid var(--product-border);
   border-radius: 22px;
   background: var(--product-panel);
   box-shadow: var(--product-shadow);
 }

 #product-page .product-media {
   grid-template-columns: minmax(0, 1fr);
   grid-template-rows: minmax(0, 1fr) auto;
   gap: 14px;
   min-height: 580px;
 }

 #product-page .product-media.product-media--single {
   display: block;
 }

 #product-page .product-thumbs-wrapper {
   display: grid;
   grid-row: 2;
   grid-template-columns: auto minmax(0, 1fr) auto;
   grid-template-rows: 1fr;
   align-items: center;
   gap: 10px;
   min-height: 0;
   padding: 10px;
   border: 1px solid var(--product-border);
   border-radius: 14px;
   background: var(--product-panel-soft);
 }

 #product-page .product-thumbs-wrapper--single {
   grid-template-columns: minmax(0, 1fr);
 }

 #product-page .product-thumbs {
   display: flex;
   min-width: 0;
   width: 100%;
   max-height: none;
   margin: 0;
   padding: 2px;
   align-items: center;
   flex-direction: row;
   gap: 10px;
   overflow-x: auto;
   overflow-y: hidden;
   scrollbar-color: var(--product-border) transparent;
   scrollbar-width: thin;
 }

 #product-page .thumb-btn {
   position: relative;
   flex: 0 0 64px;
   width: 64px;
   min-height: 64px;
   padding: 4px;
   border: 1px solid var(--product-border);
   border-radius: 12px;
   background: var(--product-panel-soft);
   cursor: pointer;
   overflow: hidden;
   transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
 }

 #product-page .thumb-btn:hover {
   border-color: color-mix(in srgb, var(--accent) 55%, var(--product-border));
   transform: translateY(-1px);
 }

 #product-page .thumb-btn.active {
   border-color: var(--accent);
   box-shadow: 0 0 0 3px rgba(0, 192, 93, 0.12);
 }

 #product-page .thumb-btn:focus-visible,
 #product-page .thumb-nav:focus-visible,
 #product-page .product-image-zoom:focus-visible,
 #product-page .btn-add-cart:focus-visible,
 #product-page .btn-buy-now:focus-visible,
 #product-page .wishlist-btn-compact:focus-visible,
 #product-page .qty-btn:focus-visible,
 #product-page .product-fact--seller-trigger:focus-visible,
 #product-page .tab-link:focus-visible {
   outline: 3px solid rgba(0, 192, 93, 0.3);
   outline-offset: 3px;
 }

 #product-page .thumb-btn .thumb,
 #product-page .thumb-btn img {
   width: 100%;
   height: 54px;
   border: 0;
   border-radius: 8px;
   object-fit: contain;
   transition: transform .2s ease;
 }

 #product-page .thumb-btn:hover img {
   transform: scale(1.05);
 }

 #product-page .thumb-nav {
   margin: 0;
   width: 32px;
   height: 32px;
   border: 1px solid var(--product-border);
   background: var(--product-panel-soft);
   color: var(--text);
 }

 #product-page .thumb-nav:hover {
   border-color: var(--accent);
   background: var(--product-success-soft);
   color: var(--accent);
 }

 #product-page .main-image {
   position: relative;
   min-height: 580px;
   border-radius: 16px;
   background:
     radial-gradient(circle at center, rgba(255, 255, 255, 0.85), rgba(246, 249, 247, 0.95));
   overflow: hidden;
 }

 #product-page .product-media>.main-image {
   grid-row: 1;
   min-height: 0;
 }

 [data-theme="dark"] #product-page .main-image {
   background: radial-gradient(circle at center, #1f2320, #111312);
 }

 #product-page .main-image img {
   width: 86%;
   height: 86%;
   max-width: 560px;
   max-height: 520px;
   border: 0;
   border-radius: 0;
   object-fit: contain;
   transition: opacity .2s ease, transform .35s ease;
 }

 #product-page .main-image:hover img {
   transform: scale(1.025);
 }

 #product-page #hero-img.fade-out {
   opacity: 0;
 }

 #product-page .gallery-status {
   position: absolute;
   top: 16px;
   left: 16px;
   z-index: 1;
   display: inline-flex;
   align-items: center;
   gap: 7px;
   padding: 8px 11px;
   border: 1px solid rgba(0, 166, 81, 0.2);
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.88);
   color: #08783e;
   font-size: 12px;
   font-weight: 700;
   box-shadow: 0 6px 22px rgba(25, 45, 34, 0.08);
   backdrop-filter: blur(10px);
 }

 [data-theme="dark"] #product-page .gallery-status {
   background: rgba(15, 17, 16, 0.86);
   color: #55d38e;
 }

 #product-page .gallery-status::before {
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: currentColor;
   content: "";
   box-shadow: 0 0 0 4px rgba(0, 166, 81, 0.12);
 }

 #product-page .gallery-status.is-unavailable {
   border-color: rgba(220, 53, 69, 0.2);
   color: #b42332;
 }

 #product-page .product-image-zoom {
   position: absolute;
   right: 16px;
   bottom: 16px;
   z-index: 1;
   display: inline-flex;
   align-items: center;
   gap: 8px;
   min-height: 40px;
   padding: 0 14px;
   border: 1px solid var(--product-border);
   border-radius: 999px;
   background: color-mix(in srgb, var(--product-panel) 90%, transparent);
   color: var(--text);
   font-size: 13px;
   font-weight: 600;
   box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
   backdrop-filter: blur(10px);
 }

 #product-page .product-image-zoom:hover {
   border-color: var(--accent);
   color: var(--accent);
 }

 #product-page .product-details {
   padding-inline-start: clamp(8px, 2vw, 28px);
 }

 #product-page .product-eyebrow {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 10px;
   color: var(--accent);
   font-size: 12px;
   font-weight: 800;
   letter-spacing: .12em;
   text-transform: uppercase;
 }

 #product-page .product-details>.product-title {
   max-width: 100%;
   margin: 0;
   color: var(--text);
   font-size: clamp(30px, 3vw, 44px);
   font-weight: 750;
   letter-spacing: -0.035em;
   line-height: 1.12;
 }

 #product-page .product-rating-row {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 10px;
   margin-top: 16px;
   color: var(--muted);
   font-size: 14px;
 }

 #product-page .product-rating-row .stars {
   display: inline-flex;
   gap: 3px;
 }

 #product-page .review-link {
   color: var(--text);
   font-weight: 600;
   text-decoration: underline;
   text-decoration-color: transparent;
   text-underline-offset: 3px;
 }

 #product-page .review-link:hover {
   color: var(--accent);
   text-decoration-color: currentColor;
 }

 #product-page .rating-divider {
   width: 4px;
   height: 4px;
   border-radius: 50%;
   background: var(--border-soft);
 }

 #product-page .product-sku {
   color: var(--muted);
   font-variant-numeric: tabular-nums;
 }

 #product-page .product-price {
   display: flex;
   flex-wrap: wrap;
   align-items: baseline;
   gap: 12px;
   margin: 22px 0;
 }

 #product-page .product-price .new-price {
   color: var(--text);
   font-size: clamp(28px, 3vw, 38px);
   font-weight: 800;
   letter-spacing: -0.035em;
 }

 #product-page .product-price .old-price {
   color: var(--muted);
   font-size: 16px;
 }

 #product-page .product-price .discount-tag {
   padding: 5px 9px;
   border-radius: 999px;
   background: var(--product-success-soft);
   color: #078345;
   font-size: 12px;
   font-weight: 800;
 }

 #product-page .product-identity-info {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 8px 0;
   margin: 0 0 22px;
 }

 #product-page .product-identity-info__item {
   display: flex;
   align-items: baseline;
   gap: 7px;
   margin: 0;
 }

 #product-page .product-identity-info__item+.product-identity-info__item::before {
   width: 1px;
   height: 18px;
   margin: 0 18px;
   background: var(--product-border);
   content: '';
 }

 #product-page .product-identity-info dt {
   margin: 0;
   color: var(--muted);
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .04em;
   text-transform: uppercase;
 }

 #product-page .product-identity-info dd {
   margin: 0;
   color: var(--text);
   font-size: 15px;
   font-weight: 700;
 }

 #product-page .product-facts {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
   margin-bottom: 22px;
 }

 #product-page .product-facts--purchase {
   margin-top: 10px;
   margin-bottom: 0;
 }

 #product-page .product-fact {
   display: flex;
   align-items: center;
   gap: 11px;
   min-width: 0;
   padding: 13px 14px;
   border: 1px solid var(--product-border);
   border-radius: 13px;
   background: var(--product-panel);
 }

 #product-page .product-fact__icon {
   display: grid;
   flex: 0 0 auto;
   width: 34px;
   height: 34px;
   place-items: center;
   border-radius: 10px;
   background: var(--product-success-soft);
   color: var(--accent);
 }

 #product-page .product-fact__content {
   min-width: 0;
 }

 #product-page .product-fact__label {
   display: block;
   margin-bottom: 1px;
   color: var(--muted);
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .05em;
   text-transform: uppercase;
 }

 #product-page .product-fact__value,
 #product-page .product-fact__value a {
   display: block;
   overflow: hidden;
   color: var(--text);
   font-size: 14px;
   font-weight: 700;
   text-overflow: ellipsis;
   white-space: nowrap;
 }

 #product-page .product-fact__value a:hover {
   color: var(--accent);
 }

 #product-page .product-fact--seller-trigger {
   width: 100%;
   color: inherit;
   font: inherit;
   text-align: start;
   cursor: pointer;
   transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
 }

 #product-page .product-fact--seller-trigger:hover {
   border-color: color-mix(in srgb, var(--accent) 55%, var(--product-border));
   background: var(--product-success-soft);
   transform: translateY(-1px);
 }

 #product-page .product-fact--seller-trigger .product-fact__chevron {
   margin-inline-start: auto;
   color: var(--muted);
   font-size: 12px;
 }

 #product-page .product-fact--seller-trigger:hover .product-fact__chevron {
   color: var(--accent);
 }

 #product-page .product-summary {
   margin-bottom: 24px;
 }

 #product-page .product-summary__heading {
   margin-bottom: 7px;
   color: var(--text);
   font-size: 14px;
   font-weight: 750;
 }

 #product-page .product-desc {
   display: -webkit-box;
   margin: 0;
   overflow: hidden;
   color: var(--product-copy);
   font-size: 15px;
   line-height: 1.7;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
 }

 #product-page .product-desc p:last-child {
   margin-bottom: 0;
 }

 #product-page .summary-more {
   display: flex;
   align-items: center;
   gap: 6px;
   margin-top: 7px;
   color: var(--accent);
   font-size: 13px;
   font-weight: 700;
   text-decoration: none;
 }

 #product-page .summary-more i {
   margin: 0px !important;
 }

 #product-page .summary-more:hover {
   color: color-mix(in srgb, var(--accent) 80%, var(--text));
 }

 #product-page .product-variations {
   margin-top: 24px !important;
   padding-top: 22px;
   border-top: 1px solid var(--product-border);
 }

 #product-page .product-variations h5,
 #product-page .bulk-discount-section h5 {
   color: var(--text);
   font-size: 15px;
   font-weight: 750;
 }

 #product-page .variant-img {
   width: 100%;
   height: 96px;
   object-fit: contain;
 }

 #product-page .product-purchase-card {
   margin-top: 24px;
   padding: 16px;
   border: 1px solid var(--product-border);
   border-radius: 16px;
   background: var(--product-panel-soft);
 }

 #product-page .purchase-card__topline {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   margin-bottom: 11px;
 }

 #product-page .purchase-card__label {
   color: var(--text);
   font-size: 13px;
   font-weight: 750;
 }

 #product-page .purchase-card__availability {
   color: var(--product-accent-ink);
   font-size: 12px;
   font-weight: 700;
 }

 #product-page .purchase-card__availability.is-unavailable {
   color: #c43d4b;
 }

 #product-page .product-purchase-card--single-lot .purchase-card__availability {
   margin-inline-start: auto;
 }

 #product-page .buy-row {
   gap: 10px !important;
   margin: 0 !important;
 }

 #product-page .quantity-pill {
   height: 52px;
   padding: 5px;
   border: 1px solid var(--product-border);
   border-radius: 12px;
   background: var(--product-panel);
   box-shadow: none;
 }

 #product-page .quantity-pill .qty-btn {
   width: 36px;
   height: 40px;
   border-radius: 9px;
   background: transparent;
   color: var(--text);
 }

 #product-page .quantity-pill .qty-btn:hover {
   background: var(--product-success-soft);
   color: var(--accent);
   transform: none;
 }

 #product-page .quantity-pill .qty-input {
   width: 38px;
   color: var(--text);
   font-size: 15px;
 }

 #product-page .btn-add-cart,
 #product-page .btn-buy-now {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   min-width: 0;
   height: 52px;
   padding: 0 20px;
   border: 0;
   border-radius: 12px;
   background: var(--product-cta);
   color: #fff;
   font-size: 15px;
   font-weight: 700;
   text-decoration: none;
   box-shadow: 0 10px 24px rgba(0, 166, 81, 0.2);
 }

 #product-page .btn-add-cart:hover,
 #product-page .btn-buy-now:hover {
   background: #066d39;
   color: #fff;
   box-shadow: 0 13px 28px rgba(0, 166, 81, 0.27);
   transform: translateY(-1px);
 }

 #product-page .btn-add-cart:disabled,
 #product-page .btn-buy-now:disabled {
   background: var(--surface-strong);
   color: var(--muted);
   box-shadow: none;
   cursor: not-allowed;
 }

 #product-page .wishlist-btn-compact {
   flex: 0 0 52px;
   width: 52px;
   height: 52px;
   border: 1px solid var(--product-border);
   border-radius: 12px;
   background: var(--product-panel);
   color: var(--text);
 }

 #product-page .wishlist-btn-compact:hover,
 #product-page .wishlist-btn-compact[aria-pressed="true"] {
   border-color: #e05a68;
   background: rgba(224, 90, 104, 0.08);
   color: #e05a68;
   box-shadow: none;
   transform: none;
 }

 #product-page .purchase-assurances {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
   margin-top: 12px;
   padding-top: 12px;
   border-top: 1px solid var(--product-border);
 }

 #product-page .purchase-assurance {
   display: flex;
   align-items: center;
   gap: 7px;
   color: var(--muted);
   font-size: 12px;
 }

 #product-page .purchase-assurance i {
   color: var(--accent);
 }

 #product-page .product-secondary-meta {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   margin-top: 18px;
   padding-top: 18px;
   border-top: 1px solid var(--product-border);
 }

 #product-page .product-taxonomy {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin: 0;
 }

 #product-page .product-taxonomy a,
 #product-page .product-taxonomy .tag {
   display: inline-flex;
   align-items: center;
   min-height: 30px;
   padding: 5px 10px;
   border: 1px solid var(--product-border);
   border-radius: 999px;
   background: var(--product-panel);
   color: var(--muted);
   font-size: 12px;
   font-weight: 650;
   text-decoration: none;
 }

 #product-page .product-taxonomy a:hover {
   border-color: var(--accent);
   color: var(--accent);
 }

 #product-page .share-section {
   display: flex;
   align-items: center;
   gap: 10px;
 }

 #product-page .share-section .share-label {
   margin: 0 !important;
   color: var(--muted);
   font-size: 12px;
   font-weight: 700;
 }

 #product-page .social-list {
   gap: 7px;
 }

 #product-page .share-section .social-icon {
   width: 32px;
   height: 32px;
   border: 1px solid var(--product-border);
   background: var(--product-panel);
   color: var(--text);
   font-size: 12px;
   box-shadow: none;
 }

 #product-page .share-section .social-icon:hover {
   border-color: var(--accent);
   background: var(--product-success-soft);
   color: var(--accent);
   box-shadow: none;
   transform: translateY(-1px);
 }

 #product-page .seller-modal-content {
   overflow: hidden;
   border: 1px solid var(--product-border);
   border-radius: 18px;
   background: var(--product-panel);
   color: var(--text);
 }

 #product-page .seller-modal-content .modal-header {
   padding: 20px 22px 12px;
   border-color: var(--product-border) !important;
 }

 #product-page .seller-modal-content .modal-title {
   color: var(--text);
   font-size: 18px;
   font-weight: 800;
 }

 #product-page .seller-modal-content .modal-body {
   padding: 22px;
 }

 #product-page .seller-modal__identity {
   display: flex;
   align-items: center;
   gap: 14px;
 }

 #product-page .seller-modal__identity img {
   width: 64px;
   height: 64px;
   flex: 0 0 64px;
   border: 2px solid var(--product-border);
   border-radius: 50%;
   object-fit: cover;
 }

 #product-page .seller-modal__name {
   margin: 0 0 3px;
   color: var(--text);
   font-size: 20px;
   font-weight: 800;
 }

 #product-page .seller-modal__type {
   margin: 0;
   color: var(--muted);
   font-size: 14px;
 }

 #product-page .seller-modal__location {
   display: flex;
   align-items: center;
   gap: 8px;
   margin: 20px 0 0;
   padding-top: 18px;
   border-top: 1px solid var(--product-border);
   color: var(--product-copy);
   font-size: 14px;
 }

 #product-page .seller-modal__location i {
   color: var(--accent);
 }

 #product-page .seller-modal__overview {
   margin: 16px 0 0;
   color: var(--product-copy);
   font-size: 15px;
   line-height: 1.7;
 }

 #product-page .product-tabs-block {
   scroll-margin-top: calc(var(--header-h, 72px) + 24px);
   padding: 10px;
   border: 1px solid var(--product-border);
   border-radius: 20px;
   background: var(--product-panel);
   box-shadow: var(--product-shadow);
 }

 #product-page .product-tabs-block .tabs-bar {
   justify-content: flex-start;
   gap: 4px;
   padding: 6px;
   border-radius: 14px;
   background: var(--product-panel-soft);
   box-shadow: none;
   overflow-x: auto;
   scrollbar-width: none;
 }

 #product-page .product-tabs-block .tabs-bar::-webkit-scrollbar {
   display: none;
 }

 #product-page .product-tabs-block .tab-link {
   display: inline-flex;
   flex: 0 0 auto;
   align-items: center;
   gap: 8px;
   min-height: 42px;
   padding: 9px 14px;
   border-radius: 10px;
   color: var(--muted);
   font-size: 13px;
 }

 #product-page .product-tabs-block .tab-link.active {
   background: var(--product-panel);
   color: var(--text);
   box-shadow: 0 5px 16px rgba(20, 40, 28, 0.08);
 }

 #product-page .product-tabs-block .tab-link.active::after {
   display: none;
 }

 #product-page .product-tabs-block .tab-content {
   padding: clamp(18px, 3vw, 34px) !important;
 }

 #product-page .product-content-copy {
   max-width: 78ch;
   color: var(--product-copy);
   font-size: 15px;
   line-height: 1.85;
   white-space: pre-line;
 }

 #product-page .product-content-copy p:last-child {
   margin-bottom: 0;
 }

 #product-page .product-content-aside {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
 }

 #product-page .content-highlight {
   padding: 16px;
   border: 1px solid var(--product-border);
   border-radius: 14px;
   background: var(--product-panel-soft);
 }

 #product-page .content-highlight i {
   display: grid;
   width: 34px;
   height: 34px;
   margin-bottom: 12px;
   place-items: center;
   border-radius: 10px;
   background: var(--product-success-soft);
   color: var(--accent);
 }

 #product-page .content-highlight strong {
   display: block;
   margin-bottom: 3px;
   color: var(--text);
   font-size: 13px;
 }

 #product-page .content-highlight span {
   color: var(--muted);
   font-size: 12px;
   line-height: 1.5;
 }

 #product-page .info-list {
   margin: 0;
 }

 #product-page .info-list dt,
 #product-page .info-list dd {
   margin: 0;
   padding: 12px 0;
   border-bottom: 1px solid var(--product-border);
 }

 #product-page .info-list dt {
   color: var(--muted);
   font-size: 13px;
   font-weight: 700;
 }

 #product-page .info-list dd {
   color: var(--text);
   font-size: 14px;
 }

 #product-page .tab-count {
   display: inline-grid;
   min-width: 22px;
   height: 22px;
   padding: 0 6px;
   place-items: center;
   border-radius: 999px;
   background: var(--product-border);
   color: var(--muted);
   font-size: 11px;
 }

 #product-page .tab-link.active .tab-count {
   background: var(--product-success-soft);
   color: var(--accent);
 }

 #product-page .discount-card {
   padding: 14px;
   border-color: var(--product-border);
   border-radius: 13px;
   background: var(--product-panel);
 }

 #product-page .discount-card.active {
   border-color: var(--accent);
   box-shadow: 0 0 0 3px rgba(0, 192, 93, 0.1);
 }

 #product-page .discount-card .discount-top {
   margin-bottom: 10px;
 }

 #product-page .discount-card .new-price {
   font-size: 16px;
 }

 #product-page .product-reviews {
   margin-top: 0 !important;
   padding-inline: 0 !important;
 }

 #product-page .review-summary {
   width: min(100%, 760px) !important;
   margin-bottom: 0 !important;
   padding: 22px;
   border: 1px solid var(--product-border);
   border-radius: 14px;
   background: var(--product-panel-soft);
 }

 #product-page .review-summary .average-rating h2 {
   color: var(--text);
   font-size: 38px;
 }

 #product-page .review-summary small,
 #product-page .rating-breakdown {
   color: var(--muted);
 }

 #product-page #feedback {
   scroll-margin-top: calc(var(--header-h, 72px) + 24px);
 }

 #product-page .gallery-modal-content {
   border: 1px solid var(--product-border);
   border-radius: 18px;
   background: var(--product-panel);
 }

 #product-page .gallery-modal-stage {
   display: grid;
   min-height: min(72vh, 720px);
   padding: 32px;
   place-items: center;
   border-radius: 18px;
   background: var(--product-panel-soft);
 }

 #product-page .gallery-modal-stage img {
   max-width: 100%;
   max-height: 66vh;
   object-fit: contain;
 }

 [data-theme="dark"] #product-page .seller-modal-content .btn-close {
   filter: invert(1) grayscale(100%) brightness(200%);
 }

 @media (min-width: 992px) {
   #product-page .product-overview-row {
     align-items: stretch !important;
   }

   #product-page .product-gallery-column {
     display: flex;
   }

   #product-page .product-gallery-card,
   #product-page .product-media {
     height: 100%;
     max-height: 788px;
   }
 }

 @media (max-width: 1199.98px) {

   #product-page .product-media,
   #product-page .main-image {
     min-height: 500px;
   }

   #product-page .main-image img {
     max-height: 450px;
   }

   #product-page .product-details {
     padding-inline-start: 8px;
   }

   #product-page .product-details>.product-title {
     font-size: 32px;
   }

   #product-page .product-facts {
     grid-template-columns: 1fr;
   }
 }

 @media (max-width: 991.98px) {
   #product-page .product-gallery-card {
     position: relative;
     top: auto;
   }

   #product-page .product-media,
   #product-page .main-image {
     min-height: 560px;
   }

   #product-page .product-details {
     padding-inline: calc(var(--bs-gutter-x, 1.5rem) * .5);
   }

   #product-page .product-details>.product-title {
     max-width: 24ch;
   }
 }

 @media (max-width: 767.98px) {
   #product-page .single-product-section {
     padding-top: 24px !important;
     padding-bottom: 32px !important;
   }

   #product-page .product-gallery-card {
     padding: 10px;
     border-radius: 16px;
   }

   #product-page .product-media {
     display: flex;
     min-height: 0;
     flex-direction: column-reverse;
     gap: 10px;
   }

   #product-page .product-media.product-media--single {
     display: block;
   }

   #product-page .product-thumbs-wrapper {
     display: block;
     padding: 8px;
   }

   #product-page .product-thumbs {
     justify-content: flex-start;
     max-height: none;
     margin: 0;
     padding: 2px 0;
     overflow-x: auto;
     overflow-y: hidden;
   }

   #product-page .product-thumbs--single {
     justify-content: center;
   }

   #product-page .thumb-btn {
     flex: 0 0 58px;
     width: 58px;
     min-height: 58px;
   }

   #product-page .thumb-btn .thumb,
   #product-page .thumb-btn img {
     height: 48px;
   }

   #product-page .main-image {
     min-height: 0;
     aspect-ratio: 1 / 1;
     border-radius: 12px;
   }

   #product-page .main-image img {
     width: 82%;
     height: 82%;
     max-width: none;
     max-height: none;
   }

   #product-page .gallery-status {
     top: 12px;
     left: 12px;
   }

   #product-page .product-image-zoom {
     right: 12px;
     bottom: 12px;
     width: 40px;
     padding: 0;
     justify-content: center;
   }

   #product-page .product-image-zoom span {
     display: none;
   }

   #product-page .product-details>.product-title {
     max-width: none;
     font-size: 29px;
   }

   #product-page .product-facts {
     grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   #product-page .product-purchase-card {
     position: static;
     margin-inline: 0;
   }

   #product-page .product-purchase-card.is-mobile-stuck {
     position: fixed;
     z-index: 1035;
     inset-inline: 10px;
     bottom: calc(var(--mobile-nav-h, 76px) + 8px);
     margin: 0;
     padding: 10px;
     border-color: color-mix(in srgb, var(--accent) 25%, var(--product-border));
     background: color-mix(in srgb, var(--product-panel) 94%, transparent);
     box-shadow: 0 14px 42px rgba(0, 0, 0, 0.2);
     backdrop-filter: blur(16px);
     opacity: 0;
     pointer-events: none;
     transform: translateY(16px) scale(.985);
     transform-origin: center bottom;
     transition: opacity 200ms ease, transform 240ms cubic-bezier(.2, .8, .2, 1);
     will-change: opacity, transform;
   }

   #product-page .product-purchase-card.is-mobile-stuck.is-mobile-stuck-visible {
     opacity: 1;
     pointer-events: auto;
     transform: translateY(0) scale(1);
   }

   #product-page .product-purchase-card.is-mobile-stuck .purchase-card__topline,
   #product-page .product-purchase-card.is-mobile-stuck .purchase-assurances {
     display: none;
   }

   #product-page .quantity-pill,
   #product-page .btn-add-cart,
   #product-page .btn-buy-now,
   #product-page .wishlist-btn-compact {
     height: 48px;
   }

   #product-page .quantity-pill .qty-btn {
     width: 32px;
     height: 36px;
   }

   #product-page .product-secondary-meta {
     align-items: flex-start;
     flex-direction: column;
   }

   #product-page .product-content-aside {
     margin-top: 20px;
   }

   #product-page .product-tabs-block {
     margin-top: 32px !important;
     padding: 7px;
     border-radius: 16px;
   }

   #product-page .product-tabs-block .tab-content {
     padding: 20px 12px !important;
   }
 }

 @media (max-width: 479.98px) {
   #product-page .breadcrumb-wrapper {
     flex-wrap: nowrap;
   }

   #product-page .product-identity-info {
     align-items: flex-start;
     gap: 6px;
   }

   #product-page .product-identity-info__item {
     width: 100%;
   }

   #product-page .product-identity-info__item+.product-identity-info__item::before {
     display: none;
   }

   #product-page .product-facts {
     grid-template-columns: 1fr;
   }

   #product-page .product-rating-row {
     gap: 8px;
   }

   #product-page .product-purchase-card .buy-row {
     display: grid !important;
     grid-template-columns: auto minmax(0, 1fr) 48px;
   }

   #product-page .product-purchase-card--single-lot .buy-row {
     grid-template-columns: minmax(0, 1fr) 48px;
   }

   #product-page .product-purchase-card--single-lot .wishlist-btn-compact {
     flex-basis: 48px;
     width: 48px;
   }

   #product-page .quantity-pill .qty-input {
     width: 28px;
   }

   #product-page .btn-add-cart,
   #product-page .btn-buy-now {
     padding: 0 12px;
   }

   #product-page .btn-add-cart i,
   #product-page .btn-buy-now i {
     display: none;
   }

   #product-page .product-content-aside {
     grid-template-columns: 1fr;
   }

   #product-page .info-list {
     grid-template-columns: 96px minmax(0, 1fr);
     column-gap: 14px;
   }

   #product-page .review-summary {
     align-items: flex-start !important;
     gap: 20px;
   }

   #product-page .review-summary .average-rating {
     width: 100%;
     margin-right: 0 !important;
   }
 }

/* Supplier collection carousel */
#product-page .supplier-products-section {
  margin-top: clamp(34px, 6vw, 72px);
  padding: clamp(42px, 6vw, 72px) 0;
  border-block: 1px solid var(--product-border);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 28rem),
    var(--product-panel-soft);
  overflow: hidden;
}

#product-page .supplier-products-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

#product-page .supplier-products-section__heading { min-width: 0; }

#product-page .supplier-products-section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 9px;
  color: var(--product-accent-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

#product-page .supplier-products-section__heading h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 780;
  letter-spacing: -.035em;
  line-height: 1.12;
}

#product-page .supplier-products-section__heading p {
  margin: 9px 0 0;
  color: var(--muted-strong);
  font-size: 14px;
}

#product-page .supplier-products-section__view {
  display: inline-flex;
  min-height: 46px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--product-border));
  border-radius: 12px;
  background: var(--product-panel);
  color: var(--text);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

#product-page .supplier-products-section__view:hover,
#product-page .supplier-products-section__view:focus-visible {
  border-color: var(--accent);
  background: var(--accent);
  color: #07140d;
  transform: translateY(-1px);
}

[dir="rtl"] #product-page .supplier-products-section__view svg,
[dir="rtl"] #product-page .supplier-products-carousel__button svg {
  transform: rotate(180deg);
}

#product-page .supplier-products-carousel-shell { position: relative; }

#product-page .supplier-products-carousel {
  overflow: hidden;
  padding: 6px 4px 42px;
}

#product-page .supplier-product-slide {
  display: flex;
  height: auto;
}

#product-page .supplier-product-slide .catalog-product-card {
  display: flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: 10px;
  border: 1px solid var(--product-border);
  border-radius: 18px;
  background: var(--product-panel);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}

#product-page .supplier-product-slide .catalog-product-card__media {
  min-height: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 13px;
  background: var(--product-panel-soft);
}

#product-page .supplier-product-slide .catalog-product-card__media .image,
#product-page .supplier-product-slide .catalog-product-card__media .product-img {
  width: 100%;
  height: 100%;
}

#product-page .supplier-product-slide .catalog-product-card__media .product-img {
  padding: 14px;
  object-fit: contain;
}

#product-page .supplier-product-slide .card-body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  padding: 14px 3px 3px;
}

#product-page .supplier-product-slide .product-title {
  display: -webkit-box;
  min-height: 2.7em;
  overflow: hidden;
  color: var(--text);
  font-size: 14px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#product-page .supplier-product-slide .catalog-product-card__footer { margin-top: auto; }

#product-page .supplier-products-carousel__button {
  position: absolute;
  z-index: 5;
  top: 42%;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--product-border);
  border-radius: 50%;
  background: color-mix(in srgb, var(--product-panel) 94%, transparent);
  box-shadow: 0 10px 26px rgba(0, 0, 0, .16);
  color: var(--text);
  transform: translateY(-50%);
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

#product-page .supplier-products-carousel__button--prev { inset-inline-start: -18px; }
#product-page .supplier-products-carousel__button--next { inset-inline-end: -18px; }

#product-page .supplier-products-carousel__button:hover,
#product-page .supplier-products-carousel__button:focus-visible {
  border-color: var(--accent);
  background: var(--accent);
  color: #07140d;
}

#product-page .supplier-products-carousel__button.swiper-button-disabled {
  opacity: .28;
  pointer-events: none;
}

#product-page .supplier-products-carousel__pagination {
  position: absolute;
  z-index: 3;
  inset: auto 0 8px;
  text-align: center;
}

#product-page .supplier-products-carousel__pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  background: var(--muted);
  opacity: .35;
}

#product-page .supplier-products-carousel__pagination .swiper-pagination-bullet-active {
  background: var(--accent);
  opacity: 1;
}

@media (max-width: 767.98px) {
  #product-page .supplier-products-section {
    margin-top: 34px;
    padding: 36px 0 30px;
  }

  #product-page .supplier-products-section .container { padding-inline: 14px; }

  #product-page .supplier-products-section__header {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
  }

  #product-page .supplier-products-section__heading h2 { font-size: clamp(24px, 8vw, 31px); }

  #product-page .supplier-products-section__heading p {
    max-width: 34ch;
    font-size: 13px;
    line-height: 1.55;
  }

  #product-page .supplier-products-section__view {
    align-self: flex-start;
    min-height: 44px;
  }

  #product-page .supplier-products-carousel {
    margin-inline-end: -14px;
    padding-inline-end: 14px;
  }

  #product-page .supplier-products-carousel__button { display: none; }

  #product-page .supplier-product-slide .catalog-product-card__media { aspect-ratio: 1 / 1; }
}
