/* Product page — extracted from the original storefront (same classes), plus theme additions at the end. */
@property --checkout-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.aq-select-field{--select-height: 64px; --select-inset: 16px; --select-arrow-inset: 8px; --select-surface: rgba(0,0,0,.05); --select-line: rgba(0,0,0,.05); position: relative; min-width: 0px; width: 100%; color: rgb(17, 17, 17);}
.pdp-section-text{white-space: pre-wrap;}
.cart-confirmation{box-sizing: border-box; width: min(600px, 100% - 40px); max-width: none; max-height: calc(100dvh - 48px); margin: auto; padding: 0px; border: 1px solid rgb(68, 68, 68); border-radius: 20px; background: rgb(17, 17, 17); color: rgb(255, 255, 255); overflow: auto; overscroll-behavior: contain;}
.cart-confirmation::backdrop{background: rgba(0, 0, 0, 0.467);}
.cart-confirmation-content{padding: 36px; position: relative;}
.cart-confirmation-close{position: absolute; right: 12px; top: 10px; width: 44px; height: 44px; font-size: 28px; color: inherit; border-radius: 50%;}
.cart-confirmation h2{font-size: 26px; font-weight: 500; margin: 0px 32px 28px 0px; letter-spacing: -0.03em;}
.cart-confirmation h2 span{font-size: 20px; margin-right: 8px;}
.cart-confirmation-item{display: grid; grid-template-columns: 120px minmax(0px, 1fr); gap: 24px; align-items: center;}
.cart-confirmation-item img{width: 100%; height: 130px; object-fit: contain; background: rgb(255, 255, 255); border-radius: 8px;}
.cart-confirmation h3{font-size: 17px; font-weight: 500; line-height: 1.4; margin: 0px 0px 12px;}
.cart-confirmation p{font-size: 13px; color: rgb(204, 204, 204); line-height: 1.6; margin: 4px 0px;}
.cart-confirmation strong{display: block; margin-top: 12px; font-size: 16px;}
.cart-confirmation-actions{display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px;}
.cart-action, .pdp-checkout-footer .cart-action{box-sizing: border-box; min-height: 52px; border: 1px solid; border-radius: 30px; padding: 12px 22px; font-size: 14px; text-align: center;}
.cart-confirmation .cart-action{color: rgb(255, 255, 255); background: rgb(17, 17, 17); border-color: rgb(119, 119, 119);}
.cart-confirmation .cart-action:hover{background: rgb(41, 41, 41);}
.cart-confirmation-continue{display: block; margin: 18px auto 0px; min-height: 44px; color: rgb(221, 221, 221); text-decoration: underline; text-underline-offset: 5px; font-size: 13px;}
.pdp-checkout-footer > div:last-child{width: min(100%, 480px);}
.pdp-checkout-footer .cart-action{flex: 1 1 0%;}
.checkout-shine{position: relative; isolation: isolate;}
.checkout-shine:not(:disabled)::after{content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none; background: conic-gradient(from var(--checkout-angle),transparent 0deg,#ffffff25 35deg,#fff 60deg,#ffffff25 80deg,transparent 100deg); mask: linear-gradient(rgb(0, 0, 0) 0px, rgb(0, 0, 0) 0px) content-box exclude, linear-gradient(rgb(0, 0, 0) 0px, rgb(0, 0, 0) 0px); animation: 3s linear 0s infinite normal none running checkout-shine;}
@keyframes checkout-shine{100% { --checkout-angle: 360deg; }}
@media (max-width: 700px){
.cart-action, .pdp-checkout-footer .cart-action{min-height: 52px;}
.cart-confirmation{width: 100%; max-height: calc(100dvh - 20px); margin: auto 0px 0px; border-radius: 20px 20px 0px 0px;}
.cart-confirmation-content{padding: 28px 20px max(28px,env(safe-area-inset-bottom));}
.cart-confirmation-item{grid-template-columns: 88px minmax(0px, 1fr); gap: 16px;}
.cart-confirmation-item img{height: 100px;}
.cart-confirmation h2{font-size: 24px;}
.pdp-checkout-footer > div:last-child{width: 100%;}
}
@media (max-width: 360px){
.cart-confirmation-actions{grid-template-columns: 1fr;}
}
@media (prefers-reduced-motion: reduce){
.checkout-shine::after{animation: auto ease 0s 1 normal none running none !important;}
}
.cart-confirmation .cart-confirmation-primary{background: rgb(255, 255, 255); color: rgb(17, 17, 17); border-color: rgb(255, 255, 255);}
.cart-confirmation .cart-confirmation-primary:hover{background: rgb(233, 233, 233);}
.match-with{margin: 64px 0px 72px;}
.match-heading{display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; margin-bottom: 32px;}
.match-heading h2{font-size: clamp(30px, 3.6vw, 48px); font-weight: 500; letter-spacing: -0.035em; margin: 0px 0px 12px;}
.match-heading p{font-size: 14px; color: rgb(102, 102, 102); line-height: 1.6;}
.match-heading nav{display: flex; gap: 24px; flex-wrap: wrap; justify-content: flex-end;}
.match-heading nav a, .match-category, .match-text{font-size: 12px; text-decoration: underline; text-underline-offset: 5px; min-height: 44px; display: inline-flex; align-items: center;}
.match-stage{position: relative; display: grid; grid-template-columns: minmax(0px, 1.05fr) minmax(0px, 1.6fr); gap: 36px; min-height: 520px;}
.match-helmet{min-width: 0px; display: flex; flex-direction: column; justify-content: center;}
.match-helmet-photo{display: block; width: 100%; aspect-ratio: 1 / 1; cursor: pointer; border-radius: 8px;}
.match-helmet-photo img{width: 100%; height: 100%; object-fit: contain; transition: transform 0.4s;}
.match-helmet-photo:hover img{transform: scale(1.02);}
.match-helmet-caption{padding: 20px 8px;}
.match-helmet-caption > span, .match-brand{font-size: 11px; color: rgb(102, 102, 102);}
.match-helmet-caption h3{font-size: 19px; font-weight: 500; line-height: 1.4; margin: 8px 0px;}
.match-helmet-caption p{font-size: 13px; color: rgb(102, 102, 102);}
.match-products{display: grid; grid-template-columns: 1fr 1fr; gap: 28px 32px; align-content: start;}
.match-product{position: relative; min-width: 0px; border-radius: 8px; padding: 12px 16px 16px;}
.match-product h3{font-size: 12px; font-weight: 400; text-align: center; line-height: 1.6; margin: 12px 0px 0px; color: rgb(85, 85, 85);}
.match-dot{position: absolute; top: 8px; left: 8px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, 0.875); cursor: pointer;}
.match-dot img{width: 12px; height: 12px;}
.match-dot:hover, .match-dot[aria-expanded="true"]{box-shadow: rgb(17, 17, 17) 0px 0px 0px 1px;}
.match-preview{position: absolute; width: 310px; max-width: calc(100% - 32px); background: rgba(255, 255, 255, 0.94); border: 1px solid rgb(221, 221, 221); border-radius: 8px; box-shadow: rgba(0, 0, 0, 0.08) 0px 10px 40px; padding: 24px; z-index: 5; backdrop-filter: blur(8px);}
.match-close{position: absolute; right: 8px; top: 8px; width: 40px; height: 40px;}
.match-preview-image{display: block; width: 94px; height: 94px; object-fit: contain; margin: 8px 0px 14px;}
.match-preview h3{font-size: 18px; font-weight: 500; line-height: 1.35; margin: 7px 0px 12px;}
.match-price{font-size: 16px; margin: 0px 0px 18px;}
.match-primary, .match-add{display: flex; align-items: center; justify-content: center; min-height: 46px; width: 100%; border-radius: 26px; font-size: 13px; padding: 12px 18px; margin: 12px 0px 0px; text-align: center;}
.match-primary{background: rgb(17, 17, 17); color: rgb(255, 255, 255);}
.match-primary:hover{background: rgb(51, 51, 51);}
.match-add{background: rgb(255, 255, 255); border: 1px solid rgb(17, 17, 17); color: rgb(17, 17, 17);}
.match-add:disabled{border-color: rgb(221, 221, 221); color: rgb(119, 119, 119); cursor: default;}
.match-help{font-size: 12px; line-height: 1.6; color: rgb(102, 102, 102); margin: 12px 0px 0px;}
.match-category{margin-top: 12px;}
.match-notice{font-size: 12px; line-height: 1.6; margin-top: 12px;}
.match-notice:empty{display: none;}
.match-sr{position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden;}
@media (max-width: 900px){
.match-stage{gap: 20px;}
.match-products{gap: 20px 8px;}
.match-heading{flex-direction: column; gap: 8px;}
.match-heading nav{justify-content: flex-start; gap: 20px;}
}
@media (max-width: 700px){
.match-with{margin: 40px 0px;}
.match-heading{margin-bottom: 24px;}
.match-heading h2{font-size: 30px;}
.match-stage{display: block; min-height: 0px;}
.match-helmet{display: grid; grid-template-columns: 110px 1fr; gap: 16px; align-items: center; border-bottom: 1px solid rgb(221, 221, 221); padding-bottom: 20px; margin-bottom: 20px;}
.match-helmet-caption{padding: 0px;}
.match-helmet-caption h3{font-size: 15px;}
.match-helmet-caption p{font-size: 12px; line-height: 1.5;}
.match-products{gap: 20px 12px;}
.match-product{padding: 12px 8px;}
.match-product h3{font-size: 11px; margin-top: 8px;}
.match-dot{top: 0px; left: 0px;}
.match-preview{position: relative; width: 100%; max-width: none; margin: 20px 0px 0px; padding: 24px;}
.match-preview-image{float: left; margin-right: 16px;}
.match-preview .match-primary{clear: both;}
.match-heading nav a{font-size: 11px;}
.match-primary, .match-add{min-height: 48px;}
}
@media (prefers-reduced-motion: reduce){
.match-product > img, .match-helmet-photo img{transition: none;}
}
.match-image-trigger{display: block; width: 100%; border-radius: 8px; cursor: pointer;}
.match-image-trigger > img{display: block; width: 100%; height: 220px; object-fit: contain; transition: transform 0.35s;}
.match-image-trigger:hover img{transform: scale(1.025);}
.match-product:has(.match-image-trigger:focus-visible){outline: rgb(17, 17, 17) solid 2px; outline-offset: 3px;}
.match-preview{display: flex; flex-direction: column;}
.match-preview > .match-preview-image{align-self: flex-start;}
.match-preview > .match-brand{margin-bottom: 0px;}
.match-preview > .match-primary{order: 2;}
.match-view-item{order: 3; display: flex; align-items: center; justify-content: center; min-height: 46px; border: 1px solid rgb(17, 17, 17); border-radius: 26px; padding: 12px 18px; font-size: 13px; text-align: center; margin-top: 12px;}
.match-category{order: 5;}
.match-help{order: 4;}
.match-notice{order: 6;}
.match-preview .match-primary.match-add{background: rgb(17, 17, 17); color: rgb(255, 255, 255); border: 1px solid rgb(17, 17, 17);}
.match-preview .match-primary.match-add:hover:not(:disabled){background: rgb(51, 51, 51);}
.match-preview .match-primary.match-add:disabled{background: rgb(230, 230, 230); border-color: rgb(230, 230, 230); color: rgb(102, 102, 102);}
.match-close{z-index: 2;}
.match-preview-image{float: none;}
.match-preview .match-view-item:hover{background: rgb(245, 245, 245);}
@media (max-width: 900px){
.match-image-trigger > img{height: 175px;}
}
@media (max-width: 700px){
.match-image-trigger > img{height: 140px;}
.match-preview-image{float: none; margin-right: 0px;}
.match-preview .match-primary{clear: none;}
}
.match-preview .match-primary.match-add:disabled{opacity: 1;}
.match-preview{max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain;}
@media (max-width: 700px){
.match-preview{max-height: none; overflow: visible;}
}
.match-dot{background: transparent; box-shadow: none !important;}
.match-dot img{transition: transform 225ms; position: relative; z-index: 1;}
.match-dot::before{content: ""; position: absolute; width: 12px; height: 12px; top: 16px; left: 16px; border: 1px solid rgba(17, 17, 17, 0.333); border-radius: 50%; pointer-events: none; animation: 2.8s ease-out 0s infinite normal none running match-dot-ripple;}
@media (hover: hover) and (pointer: fine){
.match-dot img:hover{transform: scale(1.15);}
}
@keyframes match-dot-ripple{0% { transform: scale(1); opacity: 0.6; }
  80%, 100% { transform: scale(2.8); opacity: 0; }}
@media (prefers-reduced-motion: reduce){
.match-dot::before{animation: auto ease 0s 1 normal none running none; opacity: 0;}
.match-dot img{transition: none; transform: none !important;}
}
.pdp{--pdp-line: #dedede; --pdp-muted: #656565; --pdp-paper: #f2f3f5; padding: 16px var(--gutter) 0; color: rgb(17, 17, 17);}
.pdp-layout{display: grid; grid-template-columns: minmax(0px, 2fr) minmax(310px, 1fr); gap: 32px; align-items: start;}
.pdp-left{min-width: 0px;}
.pdp-gallery-tools{display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 8px 0px 24px;}
.pdp-gallery-tools > div{display: flex; align-items: center; gap: 8px; font-size: 13px;}
.pdp-gallery-tools .icon-button{width: 40px; height: 40px;}
.pdp-gallery-tools > div > span{margin-left: 12px;}
.pdp-text-link{font-size: 12px; letter-spacing: 0.02em; min-height: 36px; display: inline-flex; align-items: center; text-underline-offset: 4px;}
.pdp-text-link:hover{text-decoration: underline;}
.pdp-purchase{position: sticky; top: 24px; min-width: 0px; padding-bottom: 24px;}
.pdp-breadcrumb, .pdp-mobile-breadcrumb{display: flex; gap: 12px; align-items: center; font-size: 11px; letter-spacing: 0.1em; margin: 0px 0px 22px;}
.pdp-breadcrumb a:hover{text-decoration: underline; text-underline-offset: 4px;}
.pdp-brand{font-size: 12px; margin-bottom: 8px; color: var(--pdp-muted);}
.pdp-title{display: flex; justify-content: space-between; align-items: start; gap: 10px;}
.pdp-title h1{font-size: 30px; line-height: 1.15; font-weight: 500; letter-spacing: -0.025em;}
.pdp-title .icon-button{width: 40px; height: 40px; flex: 0 0 auto;}
.pdp-price{font-size: 17px; margin: 16px 0px 28px;}
.pdp-description{font-size: 15px; line-height: 1.65; margin-bottom: 32px;}
.pdp-colour > p{font-size: 13px; margin-bottom: 12px;}
.pdp-colour strong{font-weight: 400;}
.pdp-colours{display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px;}
.pdp-colours button{width: 70px; position: relative; padding: 0px 4px 8px; border-bottom: 1px solid transparent; border-radius: 5px 5px 0px 0px;}
.pdp-colours img{width: 100%; aspect-ratio: 1 / 1; object-fit: contain; transition: transform 0.25s;}
.pdp-colours button:hover img{transform: scale(1.05);}
.pdp-colours button[aria-pressed="true"]{border-bottom-color: rgb(17, 17, 17);}
.pdp-colours span{font-size: 11px; display: block; text-align: center; margin-top: 6px;}
.pdp-rider{margin: 24px 0px 16px;}
.pdp-saved-size{font-size: 12px; line-height: 1.6; color: var(--pdp-muted); margin: 0px 0px 20px;}
.pdp-size-label{display: flex; align-items: center; justify-content: space-between; font-size: 13px; margin-top: 24px;}
.pdp-buy-row{display: flex; align-items: end; gap: 12px;}
.pdp-add{display: block; width: 100%; min-height: 46px; background: rgb(17, 17, 17); color: rgb(255, 255, 255); border-radius: 30px; text-align: center; padding: 12px 22px; font-size: 14px;}
.pdp-add:hover{background: rgb(51, 51, 51);}
.pdp-status{min-height: 18px; margin: 12px 0px; font-size: 12px; line-height: 1.6;}
.pdp-accordion{border-bottom: 1px solid rgb(119, 119, 119);}
.pdp-accordion summary{list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 26px 0px; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em;}
.pdp-accordion summary::-webkit-details-marker{display: none;}
.pdp-accordion > div{padding: 0px 0px 28px; font-size: 14px; line-height: 1.7;}
.pdp-accordion p{margin: 8px 0px 16px;}
.pdp-accordion dl > div{display: flex; gap: 24px; justify-content: space-between; padding: 12px 0px; border-bottom: 1px solid rgb(238, 238, 238);}
.pdp-accordion dd{margin: 0px; text-align: right;}
.pdp-facts p, .pdp-eyebrow{font-size: 11px; letter-spacing: 0.1em; margin-bottom: 14px;}
.pdp-guide, .pdp-zoom{border: 0px; border-radius: 8px; color: rgb(17, 17, 17); padding: 0px; max-height: 85dvh; width: min(560px, -32px + 100vw);}
.pdp-guide::backdrop, .pdp-zoom::backdrop{background: rgba(0, 0, 0, 0.4);}
.pdp-guide > div{padding: 40px 28px 28px; position: relative;}
.pdp-modal-close{position: absolute; right: 12px; top: 12px; background: rgb(255, 255, 255); z-index: 2;}
.pdp-guide h2{font-size: 28px; margin: 0px 0px 20px;}
.pdp-guide p{font-size: 13px; line-height: 1.6; margin: 16px 0px;}
.pdp-guide table{width: 100%; border-collapse: collapse; font-size: 13px; margin: 20px 0px;}
.pdp-guide th, .pdp-guide td{text-align: left; padding: 14px 8px; border-bottom: 1px solid rgb(221, 221, 221);}
.pdp-guide th{font-weight: 500;}
.pdp-zoom{width: min(1000px, -32px + 100vw); background: rgb(243, 243, 243); position: fixed; overflow: auto;}
.pdp-zoom > img{width: 100%; height: 70dvh; object-fit: contain; padding: 20px; mix-blend-mode: multiply;}
@media (max-width: 1023px){
.pdp{padding-top: 0px;}
.pdp-layout{grid-template-columns: minmax(0px, 1.4fr) minmax(280px, 1fr); gap: 24px;}
.pdp-title h1{font-size: 26px;}
.pdp-breadcrumb{font-size: 9px; gap: 8px;}
.pdp-description{font-size: 14px;}
}
@media (max-width: 700px){
.pdp{padding: 0px 16px 130px;}
.pdp-layout{display: flex; flex-direction: column; gap: 20px;}
.pdp-left{display: contents;}
.pdp-gallery-wrap{order: 1; width: 100%;}
.pdp-gallery-tools{padding: 4px 0px 0px;}
.pdp-gallery-tools .pdp-text-link{font-size: 10px;}
.pdp-gallery-tools .icon-button{width: 32px;}
.pdp-purchase{order: 2; position: static; padding: 0px; width: 100%;}
.pdp-breadcrumb{display: none;}
.pdp-title h1{font-size: 30px;}
.pdp-brand{font-size: 12px;}
.pdp-price{margin: 14px 0px 20px;}
.pdp-description{font-size: 14px; margin-bottom: 24px;}
.pdp-colours button{width: 68px;}
.pdp-guide > div{padding: 40px 20px 20px;}
.pdp-zoom > img{height: 65dvh;}
}
@media (prefers-reduced-motion: reduce){
.pdp *{scroll-behavior: auto !important; transition: none !important;}
}
@media (max-width: 700px){
.pdp-buy-row .pdp-add{display: none;}
}
.pdp-buy-row{align-items: stretch;}
.pdp-buy-row .pdp-add{min-height: 64px; align-self: stretch;}
@media (max-width: 700px){
.pdp-buy-row{justify-content: flex-start;}
.pdp-rider{margin-top: 24px;}
}
.pdp-buy-row{display: block;}
.pdp-buy-row .pdp-add{width: 100%; text-align: center; min-height: 64px;}
.pdp-add:disabled, .pdp-mobile-buy > button:disabled{opacity: 1; cursor: default;}
.pdp-catalogue{padding-top: 24px;}
.pdp-catalogue .pdp-layout{grid-template-columns: minmax(0px, 1.65fr) minmax(0px, 1fr); gap: 36px;}
.pdp-catalogue .pdp-gallery-wrap, .pdp-catalogue .pdp-purchase{min-width: 0px;}
.pdp-product-type{font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; border: 1px solid rgb(221, 221, 221); border-radius: 4px; padding: 9px 12px; display: inline-block; margin: 0px 0px 20px;}
.pdp-catalogue .pdp-purchase > .aq-select-field{margin: 8px 0px 16px;}
.pdp-catalogue .pdp-buy-row{margin-top: 16px;}
.pdp-catalogue .pdp-size-label{margin-top: 24px;}
.pdp-catalogue .pdp-add{display: block !important; min-height: 52px !important;}
.pdp-catalogue .pdp-add:disabled{background: rgb(230, 230, 230); color: rgb(85, 85, 85);}
.pdp-catalogue .pdp-purchase{top: 24px;}
.pdp-information{margin-top: 56px; scroll-margin-top: 32px;}
.pdp-information-accordions{max-width: 1000px;}
.pdp-information-accordions .pdp-accordion:first-child{border-top: 1px solid rgb(119, 119, 119);}
.pdp-information-accordions .pdp-accordion summary{font-family: monospace; font-size: 15px; letter-spacing: 0.08em; padding: 28px 0px; gap: 24px; min-height: 80px;}
.pdp-information-accordions .pdp-accordion summary > img{height: 22px; width: 22px; transition: transform 0.2s;}
.pdp-information-accordions .pdp-accordion[open] summary > img{transform: rotate(45deg);}
.pdp-information-accordions .pdp-accordion > div{font-size: 16px; line-height: 1.7; padding-bottom: 32px;}
.pdp-information ul{padding-left: 20px; margin-top: 20px;}
.pdp-information li{margin-bottom: 10px;}
.pdp-table-scroll{overflow-x: auto; max-width: 100%; margin: 20px 0px; outline-offset: 4px;}
.pdp-table-scroll table{min-width: 360px; width: 100%; border-collapse: collapse; font-size: 14px;}
.pdp-table-scroll caption{text-align: left; margin-bottom: 18px; font-size: 16px;}
.pdp-table-scroll th, .pdp-table-scroll td{padding: 16px 20px; text-align: left; border: 1px solid rgb(255, 255, 255);}
.pdp-table-scroll th{font-weight: 500; background: rgb(228, 227, 224);}
.pdp-table-scroll td{background: rgb(241, 240, 238);}
.pdp-table-scroll tr:nth-child(2n) td{background: rgb(250, 250, 250);}
.pdp-specifications{display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 32px; margin: 64px 0px;}
.pdp-specification{display: flex; gap: 18px; align-items: flex-start; min-width: 0px; border-bottom: 1px solid rgb(119, 119, 119); padding: 0px 0px 28px;}
.pdp-spec-icon{width: 52px; height: 52px; flex-shrink: 0;}
.pdp-specification > div{min-width: 0px;}
.pdp-spec-label{display: flex; align-items: center; gap: 8px; font-family: monospace; text-transform: uppercase; font-size: 12px; letter-spacing: 0.06em; line-height: 1.6;}
.pdp-specification h2{font-size: clamp(18px, 2vw, 28px); font-weight: 500; line-height: 1.25; letter-spacing: -0.02em; margin: 10px 0px 0px; overflow-wrap: anywhere;}
.pdp-activities{margin: 0px 0px 64px;}
.pdp-activities h2{font-size: 28px; font-weight: 500; margin-bottom: 24px;}
.pdp-activities > div{display: flex; gap: 12px; flex-wrap: wrap;}
.pdp-activities span{border: 1px solid rgb(221, 221, 221); border-radius: 5px; padding: 12px 20px; font-size: 14px;}
.pdp-guide .pdp-table-scroll table{margin: 0px;}
.pdp-guide .pdp-table-scroll{margin-top: 24px;}
.pdp-guide{max-width: 760px;}
@media (max-width: 1023px){
.pdp-specifications{grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 28px;}
.pdp-catalogue .pdp-layout{grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 1fr); gap: 24px;}
}
@media (max-width: 700px){
.pdp-catalogue{padding: 8px 16px 40px;}
.pdp-catalogue .pdp-layout{display: flex; gap: 28px;}
.pdp-catalogue .pdp-breadcrumb{display: flex; font-size: 10px;}
.pdp-catalogue .pdp-title h1{font-size: 28px; line-height: 1.2;}
.pdp-catalogue .pdp-purchase{width: 100%; position: static;}
.pdp-information{margin-top: 36px;}
.pdp-information-accordions .pdp-accordion summary{font-size: 12px; min-height: 76px; padding: 24px 0px;}
.pdp-information-accordions .pdp-accordion > div{font-size: 14px;}
.pdp-specifications{margin: 40px 0px; gap: 28px 20px;}
.pdp-specification{display: block; padding-bottom: 20px;}
.pdp-spec-icon{width: 40px; height: 40px; margin-bottom: 14px;}
.pdp-spec-label{font-size: 10px; gap: 5px; flex-wrap: wrap;}
.pdp-specification h2{font-size: 21px;}
.pdp-activities{margin-bottom: 40px;}
.pdp-activities h2{font-size: 24px;}
.pdp-guide .pdp-table-scroll table{min-width: 300px;}
}
.pdp-photo-rail{display: flex; gap: 8px; width: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 8px;}
.pdp-photo-rail::-webkit-scrollbar{display: none;}
.pdp-photo-rail > button{flex: 0 0 calc(50% - 4px); min-width: 0px; aspect-ratio: 3 / 4; scroll-snap-align: start; background: rgb(242, 243, 245); border-radius: 6px; overflow: hidden; cursor: zoom-in;}
.pdp-photo-rail.single > button{flex-basis: 100%; aspect-ratio: 1 / 1;}
.pdp-photo-rail img{display: block; width: 100%; height: 100%; object-fit: contain; padding: 12px; mix-blend-mode: multiply; transition: transform 0.45s;}
.pdp-photo-rail button:hover img{transform: scale(1.025);}
.pdp-colours{gap: 8px; margin-bottom: 24px;}
.pdp-colours button{width: 62px; min-height: 62px; padding: 4px; border: 1px solid rgb(221, 221, 221); border-radius: 6px;}
.pdp-colours button[aria-pressed="true"]{border: 1px solid rgb(17, 17, 17); box-shadow: rgb(17, 17, 17) 0px 0px 0px 1px inset;}
.pdp-colours span{position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;}
.pdp-rider{margin-top: 20px;}
.pdp-key-features{max-width: 900px; margin: 48px 0px 56px;}
.pdp-key-features h2, .pdp-performance h2{font-size: 28px; font-weight: 500; letter-spacing: -0.02em; margin: 0px 0px 24px;}
.pdp-key-features ul{display: grid; grid-template-columns: 1fr 1fr; gap: 12px 40px; padding-left: 20px; font-size: 15px; line-height: 1.65;}
.pdp-key-features li{padding-left: 4px; margin: 0px !important;}
@media (max-width: 700px){
.pdp-photo-rail > button{flex-basis: 94%; aspect-ratio: 1 / 1;}
.pdp-photo-rail.single > button{aspect-ratio: 1 / 1;}
.pdp-photo-rail img{padding: 12px;}
.pdp-key-features{margin: 32px 0px 40px;}
.pdp-key-features h2, .pdp-performance h2{font-size: 24px;}
.pdp-key-features ul{grid-template-columns: 1fr; gap: 12px; font-size: 14px;}
}
@media (prefers-reduced-motion: reduce){
.pdp-photo-rail img{transition: none;}
}
.pdp-left > .pdp-information-accordions{margin-top: 28px; scroll-margin-top: 24px;}
.pdp-left > .pdp-information-accordions .pdp-accordion summary{font-size: 12px; min-height: 66px; padding: 22px 0px;}
.pdp-information:has(> .pdp-specifications:first-child){margin-top: 40px;}
.pdp-information:has(> .pdp-specifications:first-child) > .pdp-specifications{margin-top: 0px;}
@media (max-width: 700px){
.pdp-layout > .pdp-left{display: contents;}
.pdp-layout > .pdp-left > .pdp-information-accordions{order: 3; width: 100%; margin-top: 0px;}
.pdp-left > .pdp-information-accordions .pdp-accordion summary{min-height: 72px;}
.pdp-information{margin-top: 32px;}
}
.pdp-timed-info{display: inline-flex; position: relative; vertical-align: middle;}
.pdp-info-button{display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgb(238, 238, 238); cursor: pointer;}
.pdp-info-button img{width: 18px; height: 18px;}
.pdp-info-popover{position: absolute; top: calc(100% + 8px); left: 0px; z-index: 30; width: min(290px, -32px + 100vw); padding: 38px 20px 20px; background: rgb(17, 17, 17); color: rgb(255, 255, 255); border-radius: 6px; box-shadow: rgba(0, 0, 0, 0.133) 0px 6px 24px; text-transform: none; letter-spacing: 0px; font: 14px / 1.6 Arial, sans-serif;}
.pdp-info-popover > button{position: absolute; right: 4px; top: 4px; width: 32px; height: 32px; display: grid; place-items: center; color: rgb(255, 255, 255); border-radius: 50%;}
.pdp-info-popover .icon{width: 16px; height: 16px;}
.pdp-size-label > .pdp-text-link{border: 1px solid rgb(204, 204, 204); border-radius: 24px; min-height: 44px; padding: 8px 16px; text-decoration: underline; text-underline-offset: 4px; font-size: 13px;}
.pdp-checkout-footer{border-top: 1px solid rgb(221, 221, 221); border-bottom: 1px solid rgb(221, 221, 221); padding: 32px 0px; margin: 48px 0px 56px; display: flex; justify-content: space-between; align-items: center; gap: 32px;}
.pdp-checkout-footer h2{font-size: 26px; font-weight: 500; margin: 0px 0px 10px;}
.pdp-checkout-footer p{font-size: 13px; color: rgb(102, 102, 102); line-height: 1.6;}
.pdp-checkout-footer > div:last-child{display: flex; gap: 12px; flex-shrink: 0;}
.pdp-checkout-footer button{min-height: 48px; border-radius: 26px; padding: 12px 24px; font-size: 14px; text-align: center; border: 1px solid rgb(17, 17, 17);}
.pdp-checkout-primary{background: rgb(17, 17, 17); color: rgb(255, 255, 255);}
.pdp-checkout-primary:disabled{background: rgb(230, 230, 230); color: rgb(102, 102, 102); border-color: rgb(230, 230, 230); cursor: default;}
.pdp-checkout-review:hover{background: rgb(245, 245, 245);}
@media (max-width: 700px){
.pdp-checkout-footer{display: block; margin: 36px 0px; padding: 28px 0px;}
.pdp-checkout-footer > div:last-child{margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr;}
.pdp-checkout-footer button{padding: 12px 16px;}
.pdp-info-button{width: 40px; height: 40px;}
.pdp-info-popover{font-size: 13px;}
}
.pdp-brand-link{display: inline-block; color: inherit; text-decoration: underline; text-underline-offset: 4px; margin-bottom: 12px;}
.pdp-detail-note{color: rgb(102, 102, 102); font-size: 14px;}
.pdp-specification h2{overflow-wrap: anywhere;}
.pdp-accordion dd{white-space: pre-wrap;}
.pdp-information-accordions{scroll-margin-top: 140px;}
@keyframes delivery-ride{0% { left: 0px; }
  100% { left: calc(var(--journey-progress)*100%); }}
@keyframes delivery-fill{0% { transform: scaleX(0); }
  100% { transform: scaleX(var(--journey-progress)); }}
/* ---- Theme additions: links where the app used buttons, sold-out colours, size table ---- */
.pdp-checkout-footer a.cart-action, .cart-confirmation a.cart-action{display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: inherit;}
.pdp-checkout-footer a.pdp-checkout-primary{color: rgb(255, 255, 255);}
.pdp-checkout-primary.is-disabled{background: rgb(230, 230, 230); color: rgb(102, 102, 102) !important; border-color: rgb(230, 230, 230); cursor: default; pointer-events: none;}
.pdp-checkout-primary.is-disabled::after{display: none;}
.cart-confirmation a.cart-action{color: rgb(255, 255, 255);}
a.cart-confirmation-continue{text-align: center; width: fit-content;}
.pdp-info-popover[hidden]{display: none;}
.pdp-colours button.sold-out img{opacity: .45;}
.pdp-colours button.sold-out::after{content: ""; position: absolute; left: 12%; right: 12%; top: 46%; border-top: 1px solid rgb(136, 136, 136); transform: rotate(-24deg);}
.pdp-size-table{width: 100%; border-collapse: collapse; margin: 16px 0 0; font-size: 14px;}
.pdp-size-table th, .pdp-size-table td{padding: 10px 8px; border-bottom: 1px solid rgb(229, 229, 229); text-align: left; font-weight: 400;}
.pdp-size-table thead th{font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: rgb(102, 102, 102);}
.pdp-price s{color: rgb(119, 119, 119); margin-left: 8px; font-size: .85em;}
.pdp-accordion ul{margin: 0 0 12px; padding-left: 18px;}
.pdp-accordion dl div[hidden]{display: none;}
.pdp-accordion summary{list-style: none;}
.pdp-accordion summary::-webkit-details-marker{display: none;}
