/* Product rules moved out of the common storefront. Shell width/theme are shared contracts. */
:where([data-catalog-product]) .product-page__hero,
:where([data-catalog-product]) .product-page__panel,
:where([data-catalog-product]) .product-page__related-card {box-shadow: none !important;}
:where([data-catalog-product]) .product-page__hero,
:where([data-catalog-product]) .product-page__panel,
:where([data-catalog-product]) .product-page__related-card {border-color: rgba(91, 114, 255, 0.18) !important; background-color: rgba(24, 28, 51, 0.96) !important;}
:where([data-catalog-product]) .product-page__buy {background: linear-gradient(135deg, var(--sf-vivid-green), #16c76e) !important; color: #ffffff !important; border-color: rgba(255, 255, 255, 0.16) !important;}
:where([data-catalog-product]) .product-page__secondary {background: linear-gradient(135deg, var(--sf-vivid-blue), var(--sf-vivid-blue-soft)) !important; color: #ffffff !important; border-color: rgba(255, 255, 255, 0.16) !important;}
:where([data-catalog-product]) .product-page__layout {background: transparent !important; border: 0 !important; box-shadow: none !important;}
@media (max-width: 767.98px) {
:where([data-catalog-product]) .product-page {padding-left: 0 !important; padding-right: 0 !important;}
:where([data-catalog-product]) .product-page__layout {grid-template-columns: 1fr !important;}
:where([data-catalog-product]) .product-page__hero,
:where([data-catalog-product]) .product-page__panel {padding: 14px !important;}
:where([data-catalog-product]) .product-page__hero,
:where([data-catalog-product]) .product-page__panel {border-radius: var(--sf-header-radius) !important;}
:where([data-catalog-product]) .product-page__content,
:where([data-catalog-product]) .product-page__headline,
:where([data-catalog-product]) .product-page__purchase-card,
:where([data-catalog-product]) .product-page__actions,
:where([data-catalog-product]) .product-page__meta,
:where([data-catalog-product]) .product-page__highlights,
:where([data-catalog-product]) .product-page__specs {min-width: 0 !important;}
:where([data-catalog-product]) .product-page__gallery-thumbs,
:where([data-catalog-product]) .product-page__tabs {flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; scrollbar-width: thin;}
:where([data-catalog-product]) .product-page__breadcrumbs {gap: 6px !important; font-size: 12px !important;}
:where([data-catalog-product]) .product-page__hero {gap: 14px !important;}
:where([data-catalog-product]) .product-page__gallery,
:where([data-catalog-product]) .product-page__content,
:where([data-catalog-product]) .product-page__purchase-card,
:where([data-catalog-product]) .product-page__related-grid,
:where([data-catalog-product]) .product-page__purchase-modal-grid,
:where([data-catalog-product]) .product-page__purchase-modal-actions,
:where([data-catalog-product]) .product-page__review-form-row {min-width: 0 !important;}
:where([data-catalog-product]) .product-page__highlights,
:where([data-catalog-product]) .product-page__specs,
:where([data-catalog-product]) .product-page__related-grid,
:where([data-catalog-product]) .product-page__review-form-row,
:where([data-catalog-product]) .product-page__purchase-modal-grid {grid-template-columns: 1fr !important;}
:where([data-catalog-product]) .product-page__art-frame {min-height: 220px !important;}
:where([data-catalog-product]) .product-page__art-frame img,
:where([data-catalog-product]) .product-page__main-image {max-height: 220px !important; object-fit: contain !important;}
:where([data-catalog-product]) .product-page__gallery-thumbs,
:where([data-catalog-product]) .product-page__tabs {padding-bottom: 2px !important;}
:where([data-catalog-product]) .product-page__gallery-thumb,
:where([data-catalog-product]) .product-page__tab {flex: 0 0 auto !important;}
:where([data-catalog-product]) .product-page__purchase-modal-dialog,
:where([data-catalog-product]) .product-page__purchase-modal-card {width: 100% !important; max-width: 100% !important; min-width: 0 !important;}
:where([data-catalog-product]) .product-page__purchase-modal-dialog {max-height: min(88vh, 760px) !important; overflow-y: auto !important;}
:where([data-catalog-product]) .product-page__purchase-modal-close {top: 10px !important; right: 10px !important;}
:where([data-catalog-product]) .product-page__actions {display: grid !important; grid-template-columns: 1fr !important;}
:where([data-catalog-product]) .product-page__buy,
:where([data-catalog-product]) .product-page__secondary,
:where([data-catalog-product]) .product-page__secondary-form {width: 100% !important;}
:where([data-catalog-product]) .product-page__buy,
:where([data-catalog-product]) .product-page__secondary {justify-content: center !important;}
:where([data-catalog-product]) .product-page__tabs {scrollbar-width: none;}
:where([data-catalog-product]) .product-page__tabs::-webkit-scrollbar {display: none;}
}
@media (max-width: 575.98px) {
:where([data-catalog-product]) .product-page__hero,
:where([data-catalog-product]) .product-page__panel {padding: 12px !important;}
:where([data-catalog-product]) .product-page__price-current {font-size: 20px !important;}
:where([data-catalog-product]) .product-page__price-old {font-size: 12px !important;}
:where([data-catalog-product]) .product-page__art-frame {min-height: 180px !important;}
:where([data-catalog-product]) .product-page__art-frame img,
:where([data-catalog-product]) .product-page__main-image {max-height: 180px !important;}
:where([data-catalog-product]) .product-page__purchase-modal-dialog {padding: 14px !important;}
}

:where([data-catalog-product]) > .product-page {background-color: transparent !important; background-image: none !important;}
html body.storefront-body > main.storefront-main > :where([data-catalog-product]) > .product-page {margin-bottom: 0 !important; padding-bottom: 0 !important;}

/* Preserve the existing mobile form sizing inside the isolated module. */
@media (max-width: 991.98px) {
  :where([data-catalog-product]) :is(input, textarea, select, button) {
    font-size: 16px !important;
  }
}
