/* Official product layout, isolated from Twenty Twenty-One and WooCommerce defaults. */
.rw-body.rw-product-view, .rw-body.rw-product-view .rw-site { background: #f7f9fa !important; }
.rw-site > main#rw-product-detail.rw-pdp { width: 100%; max-width: none; margin: 0; padding: 0 0 100px !important; background: #f7f9fa !important; color: #00263e; font: 400 18px/1.6 var(--rw-font); }
.rw-site #rw-product-detail *, .rw-site #rw-product-detail *::before, .rw-site #rw-product-detail *::after { box-sizing: border-box; }
.rw-site #rw-product-detail :is(h1,h2,h3,p,figure,fieldset,form,ul) { margin: 0; padding: 0; font-family: inherit; letter-spacing: normal; }
.rw-site #rw-product-detail :is(h1,h2,h3) { color: inherit; font-weight: 500; }
.rw-site #rw-product-detail button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; line-height: 1.2; letter-spacing: normal; text-transform: none; text-decoration: none; box-shadow: none; cursor: pointer; }
.rw-site #rw-product-detail :is(button,input,select,a):focus-visible { outline: 2px solid #dd8a09; outline-offset: 4px; }
.rw-site #rw-product-detail button:focus:not(:focus-visible) { outline: none; }
.rw-site #rw-product-detail button:disabled { cursor: not-allowed; opacity: .4; }
.rw-site #rw-product-detail svg { display: block; flex-shrink: 0; width: 20px; height: 20px; }
.rw-site #rw-product-detail [hidden] { display: none !important; }
.rw-site #rw-product-detail a { color: inherit; }
.rw-site #rw-product-detail a:hover { color: #a86200; }
.rw-site #rw-product-detail .rw-pdp-shell { width: 100%; max-width: 1920px; margin: 0 auto; padding: 0 90px; }
.rw-site #rw-product-detail .rw-pdp-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 14px 0 4px; color: #365568; font-size: 12px; line-height: 1.5; }
.rw-site #rw-product-detail .rw-pdp-breadcrumb a { text-decoration: underline; text-underline-offset: 2px; }
.rw-site #rw-product-detail .rw-pdp-top { display: grid; grid-template-columns: minmax(0,1fr) 400px; align-items: start; gap: 48px; padding: 12px 0 100px; }
.rw-site #rw-product-detail .rw-pdp-gallery { min-width: 0; }
.rw-site #rw-product-detail .rw-pdp-stage { position: relative; height: clamp(400px,40vw,720px); }
.rw-site #rw-product-detail .rw-pdp-main-image { width: 100%; height: 100%; max-height: none; margin: 0; padding: 0; object-fit: contain; }
.rw-site #rw-product-detail .rw-pdp-arrow { position: absolute; top: 50%; width: 52px; height: 52px; border-radius: 50%; transform: translateY(-50%); background: #fff; color: #00263e; box-shadow: 0 6px 12px #00263e18; }
.rw-site #rw-product-detail .rw-pdp-arrow:hover { background: #eaf0f3; }
.rw-site #rw-product-detail .rw-pdp-prev { left: 8px; }
.rw-site #rw-product-detail .rw-pdp-next { right: 8px; }
.rw-site #rw-product-detail .rw-pdp-thumbs { display: flex; width: min(100%, 400px); gap: 12px; margin: 24px auto 0; padding: 3px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.rw-site #rw-product-detail .rw-pdp-thumb { flex: 0 0 120px; width: 120px; height: 120px; padding: 6px; border: 2px solid transparent; border-radius: 6px; background: #fff; scroll-snap-align: center; }
.rw-site #rw-product-detail .rw-pdp-thumb[aria-pressed="true"] { border-color: #00263e; }
.rw-site #rw-product-detail .rw-pdp-thumb img { width: 100%; height: 100%; object-fit: contain; }
.rw-site #rw-product-detail .rw-pdp-info { min-width: 0; margin-top: 18px; padding: 24px 16px; border-radius: 8px; background: #fff; box-shadow: 0 28px 60px #0000000d; }
.rw-site #rw-product-detail .rw-pdp-top-line { display: flex; justify-content: flex-end; margin-bottom: 14px; }
.rw-site #rw-product-detail .rw-pdp-price { color: #00263e; font-size: 18px; font-weight: 700; line-height: 1.4; }
.rw-site #rw-product-detail .rw-pdp-price small { font-size: 13px; }
.rw-site #rw-product-detail .rw-pdp-price del { color: #647681; font-size: 14px; font-weight: 400; }
.rw-site #rw-product-detail .rw-pdp-price ins { background: none; text-decoration: none; }
.rw-site #rw-product-detail .rw-pdp-info h1 { margin: 0; font-size: 30px; line-height: 1.1; font-weight: 500; overflow-wrap: break-word; }
.rw-site #rw-product-detail .rw-pdp-subtitle { margin-top: 12px; margin-bottom: 24px; color: #607b8c; font-size: 18px; line-height: 1.3; }
.rw-site #rw-product-detail .rw-pdp-form { width: 100%; margin: 0 !important; }
.rw-site #rw-product-detail .rw-pdp-form .variations { width: 100%; margin: 0; border: 0; background: none; }
.rw-site #rw-product-detail .rw-pdp-option { margin: 0 0 12px; padding: 0; border: 0; }
.rw-site #rw-product-detail .rw-pdp-option-label { display: block; margin-bottom: 6px; color: #365568; font-size: 12px; font-weight: 600; text-transform: uppercase; }
.rw-site #rw-product-detail .rw-pdp-swatches { display: flex; flex-wrap: wrap; gap: 10px; padding: 3px; }
.rw-site #rw-product-detail .rw-pdp-swatch { flex: 0 0 34px; width: 34px; height: 34px; min-width: 34px; min-height: 34px; padding: 0; border: 3px solid #fff; border-radius: 50%; background: var(--swatch-color); box-shadow: 0 0 0 1px #adb9bf; }
.rw-site #rw-product-detail .rw-pdp-swatch[aria-pressed="true"] { box-shadow: 0 0 0 2px #00263e; }
.rw-site #rw-product-detail .rw-pdp-swatch svg { display: none; width: 15px; height: 15px; color: #fff; }
.rw-site #rw-product-detail .rw-pdp-swatch[aria-pressed="true"] svg { display: block; }
.rw-site #rw-product-detail .rw-pdp-selected { margin: 12px 0 18px; color: #607b8c; font-size: 13px; line-height: 1.4; }
.rw-site #rw-product-detail .rw-pdp-selected strong { color: #00263e; font-weight: 600; }
.rw-site #rw-product-detail .rw-pdp-size-line { display: flex; align-items: center; gap: 10px; }
.rw-site #rw-product-detail .rw-pdp-size-line select { display: block; flex: 1; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0 32px 0 12px; border: 1px solid #dfe5e8; border-radius: 0; color: #365568; background-color: #fff; font: 400 13px/1.4 var(--rw-font); }
.rw-site #rw-product-detail .rw-pdp-form.is-enhanced .rw-pdp-color-select { display: none; }
.rw-site #rw-product-detail .rw-pdp-units { display: flex; flex: 0 0 auto; border: 1px solid #dfe5e8; border-radius: 30px; }
.rw-site #rw-product-detail .rw-pdp-units button { width: 34px; height: 34px; border-radius: 50%; font-size: 12px; font-weight: 600; }
.rw-site #rw-product-detail .rw-pdp-units button[aria-pressed="true"] { background: #00263e; color: #fff; }
.rw-site #rw-product-detail .rw-pdp-size-guide { display: block; margin: 4px 0 20px; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.rw-site #rw-product-detail .rw-pdp-reset { display: inline-block; margin-bottom: 10px; font-size: 12px; }
.rw-site #rw-product-detail .rw-pdp-reset[style*="visibility: hidden"] { display: none !important; }
.rw-site #rw-product-detail .rw-pdp-qty-label { display: block; margin: 8px 0 8px; color: #365568; font-size: 12px; font-weight: 600; line-height: 1.4; }
.rw-site #rw-product-detail .rw-pdp-buy-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(130px, 1.1fr); align-items: stretch; gap: 10px; }
.rw-site #rw-product-detail .rw-pdp-quantity { display: flex; float: none !important; width: 100%; height: 44px; margin: 0 !important; border: 1px solid #dfe5e8; background: #fff; }
.rw-site #rw-product-detail .rw-pdp-step { flex: 0 0 34px; width: 34px; height: 42px; background: #f7f9fa; }
.rw-site #rw-product-detail .rw-pdp-step svg { width: 16px; height: 16px; }
.rw-site #rw-product-detail .rw-pdp-step:hover { background: #edf1f3; }
.rw-site #rw-product-detail .rw-pdp-quantity input.qty { flex: 1; width: 0; min-width: 0; height: 42px; margin: 0; padding: 0 2px; border: 0; border-right: 1px solid #dfe5e8; border-left: 1px solid #dfe5e8; border-radius: 0; color: #00263e; background: #fff; font: 400 14px/1 var(--rw-font); text-align: center; appearance: textfield; box-shadow: none; }
.rw-site #rw-product-detail .rw-pdp-quantity input::-webkit-inner-spin-button, .rw-site #rw-product-detail .rw-pdp-quantity input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.rw-site #rw-product-detail .rw-pdp-cart-button { float: none !important; width: 100%; height: 44px; padding: 8px 12px !important; border: 0 !important; border-radius: 30px !important; background: #f2a323 !important; color: #00263e !important; font: 600 14px/1.2 var(--rw-font) !important; }
.rw-site #rw-product-detail .rw-pdp-cart-button:hover { background: #e79315 !important; }
.rw-site #rw-product-detail .rw-pdp-cart-button.disabled { opacity: .5; }
.rw-site #rw-product-detail .rw-pdp-form .woocommerce-variation-price { display: none; }
.rw-site #rw-product-detail .rw-pdp-form .single_variation { font-size: 13px; }
.rw-site #rw-product-detail .rw-pdp-form .single_variation p { margin-bottom: 8px; }
.rw-site #rw-product-detail .rw-pdp-benefits { display: grid; grid-template-columns: 1fr 1.3fr; gap: 16px; margin-top: 26px; padding-top: 18px; border-top: 1px solid #e9edef; font-size: 12px; line-height: 1.4; text-align: center; }
.rw-site #rw-product-detail .rw-pdp-benefits > div { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rw-site #rw-product-detail .rw-pdp-benefits strong { display: block; font-weight: 600; }
.rw-site #rw-product-detail .rw-pdp-benefits span span { display: block; margin-top: 3px; color: #607b8c; font-size: 11px; }
.rw-site #rw-product-detail .rw-pdp-mosaic { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; width: calc(100% - 60px); max-width: 1920px; aspect-ratio: 1.82; gap: 0; margin: 44px auto 0; overflow: hidden; }
.rw-site #rw-product-detail .rw-pdp-mosaic img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.rw-site #rw-product-detail .rw-pdp-mosaic img:first-child { grid-row: span 2; }
.rw-site #rw-product-detail .rw-pdp-mosaic img:only-child { grid-column: 1 / -1; }
.rw-site #rw-product-detail .rw-pdp-tabs-section { padding: 68px 32px; background: #00263e; color: #fff; }
.rw-site #rw-product-detail .rw-pdp-tab-list { display: flex; justify-content: center; width: max-content; max-width: 100%; margin: 0 auto 36px; padding: 0; border-radius: 40px; background: #b3bfc6; }
.rw-site #rw-product-detail .rw-pdp-tab-list button { padding: 16px 32px; border-radius: 40px; color: #00263e; font-size: 18px; font-weight: 700; line-height: 1; white-space: nowrap; }
.rw-site #rw-product-detail .rw-pdp-tab-list button[aria-selected="true"] { background: #fff; }
.rw-site #rw-product-detail .rw-pdp-panel { max-width: 1136px; margin: 0 auto; color: #fff; font-size: 18px; line-height: 1.6; }
.rw-site #rw-product-detail .rw-pdp-panel :is(p,ul,ol) { margin: 0 0 22px; color: inherit; font-size: inherit; line-height: inherit; }
.rw-site #rw-product-detail .rw-pdp-panel :is(p,ul,ol):last-child { margin-bottom: 0; }
.rw-site #rw-product-detail .rw-pdp-panel :is(ul,ol) { padding-left: 22px; }
.rw-site #rw-product-detail .rw-pdp-panel a { color: #fff; text-decoration: underline; }
.rw-site #rw-product-detail .rw-pdp-panel a:hover { color: #f2a323; }
.rw-site #rw-product-detail .rw-pdp-panel h2 { margin: 0 0 16px; font-size: 24px; line-height: 1.2; }
.rw-site #rw-product-detail .rw-pdp-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.rw-site #rw-product-detail .rw-pdp-feature img { width: 100%; aspect-ratio: 16/9; margin-bottom: 22px; object-fit: cover; }
.rw-site #rw-product-detail .rw-pdp-materials { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; }
.rw-site #rw-product-detail .rw-pdp-video { width: calc(100% - 64px); max-width: 1136px; margin: 100px auto 0; }
.rw-site #rw-product-detail .rw-pdp-video > button { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border-radius: 8px; background: #00263e; color: #fff; text-align: left; }
.rw-site #rw-product-detail .rw-pdp-video img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.rw-site #rw-product-detail .rw-pdp-play { position: absolute; top: 50%; left: 50%; display: grid; width: 64px; height: 64px; place-items: center; transform: translate(-50%,-50%); border-radius: 50%; background: #fff; color: #00263e; }
.rw-site #rw-product-detail .rw-pdp-play svg { width: 28px; height: 28px; }
.rw-site #rw-product-detail .rw-pdp-video-caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 44px 20px 20px; background: linear-gradient(transparent,#0007); color: #fff; font-size: 24px; line-height: 1.4; }
.rw-site #rw-product-detail .rw-pdp-video-caption small { display: block; margin-top: 4px; font-size: 15px; }
.rw-site #rw-product-detail .rw-pdp-companions { max-width: 1920px; margin: 100px auto 0; padding: 0 90px; }
.rw-site #rw-product-detail .rw-pdp-companions > h2 { margin: 0 0 24px; font-size: 30px; line-height: 1.2; text-align: center; }
.rw-site #rw-product-detail .rw-pdp-rail { display: flex; align-items: stretch; gap: 16px; overflow-x: auto; padding: 3px 0 20px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.rw-site #rw-product-detail .rw-pdp-card { display: flex; flex: 0 0 270px; min-width: 0; flex-direction: column; align-items: center; padding: 0 16px 24px; border-radius: 8px; background: #fff; box-shadow: 0 8px 25px #00000005; text-align: center; scroll-snap-align: start; }
.rw-site #rw-product-detail .rw-pdp-card-image { width: calc(100% + 32px); aspect-ratio: 1.1; padding: 12px; }
.rw-site #rw-product-detail .rw-pdp-card-image img { width: 100%; height: 100%; object-fit: contain; }
.rw-site #rw-product-detail .rw-pdp-card-swatches { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; min-height: 28px; margin: 8px 0 16px; }
.rw-site #rw-product-detail .rw-pdp-card-swatches span { width: 18px; height: 18px; border: 1px solid #647681; border-radius: 50%; background: var(--swatch-color); }
.rw-site #rw-product-detail .rw-pdp-card h3 { margin: 0 0 6px; font-size: 17px; font-weight: 600; line-height: 1.2; }
.rw-site #rw-product-detail .rw-pdp-card p { color: #607b8c; font-size: 14px; line-height: 1.4; }
.rw-site #rw-product-detail .rw-pdp-card-price { display: block; margin-top: auto; padding-top: 12px; font-size: 16px; }
.rw-site #rw-product-detail .rw-pdp-dialog { position: fixed; width: min(720px,calc(100% - 32px)); max-height: calc(100dvh - 48px); margin: auto; padding: 40px 32px 32px; overflow: auto; border: 0; border-radius: 8px; background: #fff; color: #00263e; font: 400 16px/1.6 var(--rw-font); box-shadow: 0 24px 90px #0004; }
.rw-site #rw-product-detail .rw-pdp-dialog::backdrop { background: #00263ebb; }
.rw-site #rw-product-detail .rw-pdp-dialog:not([open]) { display: none; }
.rw-site #rw-product-detail .rw-pdp-dialog h2 { margin-bottom: 16px; font-size: 25px; line-height: 1.2; }
.rw-site #rw-product-detail .rw-pdp-dialog-close { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border-radius: 50%; background: #f7f9fa; }
.rw-site #rw-product-detail .rw-pdp-size-table { width: 100%; margin-top: 24px; border-collapse: collapse; font-size: 14px; }
.rw-site #rw-product-detail .rw-pdp-size-table :is(td,th) { padding: 12px 8px; border: 1px solid #dfe5e8; text-align: left; }
.rw-site #rw-product-detail .rw-pdp-video-dialog { width: min(1100px,calc(100% - 32px)); padding: 40px 0 0; }
.rw-site #rw-product-detail .rw-pdp-video-dialog iframe { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border: 0; }
.rw-site #rw-product-detail .rw-pdp-notice { margin: 24px 0; font-size: 14px; }
@media (min-width: 1800px) {
  .rw-site #rw-product-detail .rw-pdp-top { grid-template-columns: minmax(0,1fr) 560px; gap: 64px; }
  .rw-site #rw-product-detail .rw-pdp-info { padding: 40px; }
  .rw-site #rw-product-detail .rw-pdp-info h1 { font-size: 40px; }
  .rw-site #rw-product-detail .rw-pdp-subtitle { font-size: 22px; }
  .rw-site #rw-product-detail .rw-pdp-price { font-size: 22px; }
  .rw-site #rw-product-detail .rw-pdp-buy-row, .rw-site #rw-product-detail .rw-pdp-size-line { gap: 12px; }
  .rw-site #rw-product-detail .rw-pdp-card { flex-basis: calc((100% - 80px)/6); }
}
@media (max-width: 1100px) {
  .rw-site #rw-product-detail .rw-pdp-shell { padding: 0 32px; }
  .rw-site #rw-product-detail .rw-pdp-top { grid-template-columns: minmax(0,1fr) 360px; gap: 24px; }
  .rw-site #rw-product-detail .rw-pdp-companions { padding: 0 32px; }
  .rw-site #rw-product-detail .rw-pdp-thumb { flex-basis: 96px; width: 96px; height: 96px; }
  .rw-site #rw-product-detail .rw-pdp-thumbs { max-width: 330px; }
}
@media (max-width: 900px) {
  .rw-site #rw-product-detail .rw-pdp-shell { padding: 0 20px; }
  .rw-site #rw-product-detail .rw-pdp-top { grid-template-columns: minmax(0,1fr); gap: 24px; padding-bottom: 48px; }
  .rw-site #rw-product-detail .rw-pdp-info { width: 100%; max-width: 640px; margin: 0 auto; padding: 28px; }
  .rw-site #rw-product-detail .rw-pdp-stage { height: min(65vw,520px); min-height: 300px; }
  .rw-site #rw-product-detail .rw-pdp-mosaic { width: 100%; margin-top: 16px; }
  .rw-site #rw-product-detail .rw-pdp-feature-grid { gap: 20px; }
}
@media (max-width: 600px) {
  .rw-site > main#rw-product-detail.rw-pdp { padding-bottom: 56px !important; }
  .rw-site #rw-product-detail .rw-pdp-shell { padding: 0 16px; }
  .rw-site #rw-product-detail .rw-pdp-breadcrumb { font-size: 10px; gap: 4px; }
  .rw-site #rw-product-detail .rw-pdp-top { padding-top: 0; }
  .rw-site #rw-product-detail .rw-pdp-stage { height: 340px; min-height: 0; }
  .rw-site #rw-product-detail .rw-pdp-arrow { width: 38px; height: 38px; }
  .rw-site #rw-product-detail .rw-pdp-prev { left: 0; }
  .rw-site #rw-product-detail .rw-pdp-next { right: 0; }
  .rw-site #rw-product-detail .rw-pdp-thumbs { margin-top: 8px; max-width: 282px; gap: 8px; }
  .rw-site #rw-product-detail .rw-pdp-thumb { flex-basis: 84px; width: 84px; height: 84px; }
  .rw-site #rw-product-detail .rw-pdp-info { padding: 24px 16px; }
  .rw-site #rw-product-detail .rw-pdp-info h1 { font-size: 28px; line-height: 1.1; }
  .rw-site #rw-product-detail .rw-pdp-subtitle { font-size: 16px; }
  .rw-site #rw-product-detail .rw-pdp-price { font-size: 17px; }
  .rw-site #rw-product-detail .rw-pdp-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; aspect-ratio: auto; }
  .rw-site #rw-product-detail .rw-pdp-mosaic img { aspect-ratio: 1; }
  .rw-site #rw-product-detail .rw-pdp-mosaic img:first-child { grid-column: span 2; grid-row: auto; aspect-ratio: 1.3; }
  .rw-site #rw-product-detail .rw-pdp-tabs-section { padding: 36px 20px; }
  .rw-site #rw-product-detail .rw-pdp-tab-list { margin-bottom: 28px; }
  .rw-site #rw-product-detail .rw-pdp-tab-list button { padding: 13px 14px; font-size: 12px; }
  .rw-site #rw-product-detail .rw-pdp-panel { font-size: 15px; line-height: 1.65; }
  .rw-site #rw-product-detail .rw-pdp-feature-grid, .rw-site #rw-product-detail .rw-pdp-materials { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .rw-site #rw-product-detail .rw-pdp-video { width: calc(100% - 32px); margin-top: 48px; }
  .rw-site #rw-product-detail .rw-pdp-play { width: 46px; height: 46px; }
  .rw-site #rw-product-detail .rw-pdp-video-caption { padding: 24px 12px 12px; font-size: 16px; }
  .rw-site #rw-product-detail .rw-pdp-video-caption small { font-size: 12px; }
  .rw-site #rw-product-detail .rw-pdp-companions { margin-top: 48px; padding: 0 16px; }
  .rw-site #rw-product-detail .rw-pdp-companions > h2 { font-size: 24px; }
  .rw-site #rw-product-detail .rw-pdp-card { flex-basis: 220px; }
  .rw-site #rw-product-detail .rw-pdp-dialog { padding: 40px 16px 24px; }
  .rw-site #rw-product-detail .rw-pdp-video-dialog { padding: 40px 0 0; }
}
