body.single-product #main .psr7-upgrades, body.single-product #main .psr7-upgrades * { box-sizing:border-box; }
body.single-product #main .psr7-upgrades { --psr7-acid:#dfff00; --psr7-red:#f21522; margin:18px 0!important; border:1px solid #e0e3e5!important; border-radius:12px!important; overflow:hidden; background:#fff!important; color:#1c1e22; font-family:Manrope,Arial,sans-serif!important; box-shadow:none!important; }
body.single-product #main .psr7-heading { display:flex; align-items:center; gap:11px; min-height:49px; padding:11px 15px!important; margin:0!important; background:#141517; color:#fff!important; font:italic 800 24px/1.1 'Barlow Condensed','Arial Narrow',Arial,sans-serif!important; text-transform:uppercase; letter-spacing:0!important; }
body.single-product #main .psr7-heading::before { content:''; flex:0 0 8px; height:23px; background:#ff202b; transform:skew(-17deg); }
body.single-product #main .psr7-heading strong { font:inherit; color:var(--psr7-acid); }
body.single-product #main .psr7-paid .psr7-heading strong { color:#ff4650; }
body.single-product #main .psr7-list { display:block!important; padding:6px 8px!important; }
body.single-product #main .psr7-upgrades .emv-up-row { display:block!important; position:relative; width:100%!important; max-width:100%!important; min-width:0!important; margin:0!important; padding:0!important; border:1px solid transparent!important; border-bottom-color:#e4e6e7!important; border-radius:0!important; background:#fff!important; box-shadow:none!important; transform:none!important; cursor:default; }
body.single-product #main .psr7-upgrades .emv-up-row:last-child { border-bottom-color:transparent!important; }
body.single-product #main .psr7-upgrades .emv-up-row.emv-up-selected { border:1px solid #d2dc8c!important; border-radius:8px!important; background:#f7fbdf!important; }
body.single-product #main .psr7-upgrades .emv-up-row[data-psr7-open=true] { border:1px solid #c2c8c8!important; border-radius:8px!important; }
body.single-product #main .psr7-upgrades .psr7-native, body.single-product #main .psr7-upgrades [hidden] { display:none!important; }
body.single-product #main .psr7-top { appearance:none; display:grid!important; grid-template-columns:minmax(0,1fr) max-content; gap:13px; align-items:center; width:100%; min-width:0; min-height:54px; padding:0!important; margin:0!important; border:0!important; border-radius:0; background:transparent!important; box-shadow:none!important; color:#1c1e22!important; text-align:left; font:inherit; text-transform:none; letter-spacing:0; white-space:normal; cursor:pointer; }
body.single-product #main .psr7-top:hover { background:#17191d06!important; }
body.single-product #main .psr7-top:focus-visible, body.single-product #main .psr7-options button:focus-visible { outline:3px solid #4974ed!important; outline-offset:-3px; }
body.single-product #main .psr7-photo { display:block; width:60px; height:60px; background:#fff; border-radius:7px; }
body.single-product #main .psr7-photo img { display:block!important; position:static!important; width:100%!important; height:100%!important; object-fit:contain; border-radius:7px; margin:0!important; }
body.single-product #main .psr7-copy { display:block; min-width:0; }
body.single-product #main .psr7-title { display:block; color:#1c1e22!important; font:500 15px/1.4 Manrope,Arial,sans-serif!important; letter-spacing:-.22px; overflow-wrap:break-word; }
body.single-product #main .psr7-added { display:block; margin-top:4px; color:#71757b; font:400 11px/1.4 Manrope,Arial,sans-serif; }
body.single-product #main .emv-up-selected .psr7-added { color:#536522; }
body.single-product #main .psr7-added strong { font-weight:600; }
body.single-product #main .psr7-top-sales { display:table; margin-bottom:5px; padding:3px 6px; border-radius:4px; background:var(--psr7-red); color:#fff; font:700 11px/1.1 Manrope,Arial,sans-serif; letter-spacing:.25px; white-space:nowrap; }
body.single-product #main .psr7-side { display:flex; flex-direction:column; align-items:flex-end; gap:5px; max-width:128px; min-width:0; }
body.single-product #main .psr7-price { color:#e51220; font:700 16px/1.2 Manrope,Arial,sans-serif; white-space:nowrap; letter-spacing:-.45px; font-variant-numeric:tabular-nums; }
body.single-product #main .psr7-price.psr7-free { display:block; min-width:65px; padding:5px 6px; background:#f2341f; color:#fff; border-radius:4px; font:700 11px/1.2 Manrope,Arial,sans-serif; letter-spacing:.1px; text-align:center; transform-origin:center; animation:psr7-free-pulse 2.6s ease-in-out infinite; animation-delay:calc(var(--psr7-index,0) * .18s); }
@keyframes psr7-free-pulse { 0%,100% { transform:scale(.95); } 50% { transform:scale(1.10); } }
body.single-product #main .psr7-install-summary { color:#b2222c; font:400 11px/1.3 Manrope,Arial,sans-serif; text-align:right; }
body.single-product #main .psr7-options { padding:10px 12px 12px; border-top:1px solid #e0e6c8; }
body.single-product #main .psr7-options-label { display:block; margin-bottom:8px; color:#4b5158; font:600 11px/1.4 Manrope,Arial,sans-serif; letter-spacing:.4px; }
body.single-product #main .psr7-upgrades .emv-up-var-options { display:grid!important; grid-template-columns:repeat(auto-fill,minmax(90px,1fr))!important; align-items:stretch; gap:8px!important; width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important; padding:0!important; }
body.single-product #main .psr7-upgrades .emv-up-var-btn { display:flex!important; flex:none!important; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:100%!important; min-width:0!important; max-width:100%!important; box-sizing:border-box; min-height:112px!important; height:auto!important; margin:0!important; padding:8px 6px!important; border:1px solid #d7dce0!important; border-radius:7px!important; background:#fff!important; box-shadow:none!important; text-transform:none; white-space:normal; letter-spacing:0; color:#343a40!important; cursor:pointer; }
body.single-product #main .psr7-upgrades .emv-up-var-btn img { display:block!important; width:64px!important; height:64px!important; max-width:100%!important; object-fit:contain; margin:0!important; border-radius:3px; }
body.single-product #main .psr7-option-name { color:#4f565d; display:block; width:100%; font:500 12px/1.3 Manrope,Arial,sans-serif; text-align:center; white-space:normal; overflow-wrap:break-word; }
body.single-product #main .psr7-option-price { color:#d01725; font:700 11px/1.25 Manrope,Arial,sans-serif; white-space:nowrap; }
body.single-product #main .psr7-upgrades .emv-up-var-btn.is-selected { border-color:#191b1f!important; box-shadow:inset 0 0 0 1px #191b1f!important; }
body.single-product #main .psr7-upgrades .psr7-mount { display:none!important; grid-template-columns:34px minmax(0,1fr) auto!important; align-items:center!important; gap:10px!important; width:auto!important; max-width:100%!important; min-width:0!important; min-height:46px; margin:0 10px 10px!important; padding:9px 11px!important; background:#f8faf8!important; border:1px solid #d9e2db!important; border-top:2px solid #c6d5c8!important; border-radius:8px!important; color:#2d3c31!important; white-space:normal; cursor:pointer; text-align:left!important; }
body.single-product #main .psr7-upgrades .psr7-mount.is-visible { display:grid!important; }
body.single-product #main .psr7-upgrades .psr7-mount:has(input:checked) { background:#eff8f0!important; border-color:#b6d8be!important; border-top-color:#379e54!important; }
body.single-product #main .psr7-upgrades .psr7-mount input { appearance:none!important; display:block!important; position:relative!important; opacity:1!important; clip:auto!important; width:34px!important; height:20px!important; min-height:20px!important; padding:0!important; margin:0!important; border:1px solid #bfc8c1!important; border-radius:12px!important; background:#d6ddd8!important; box-shadow:none!important; transform:none!important; cursor:pointer; }
body.single-product #main .psr7-upgrades .psr7-mount input::before { content:''; display:block; position:absolute; top:2px; left:2px; width:14px; height:14px; background:#fff; border-radius:50%; box-shadow:0 1px 2px #0002; transition:transform .15s; }
body.single-product #main .psr7-upgrades .psr7-mount input:checked { background:#319b4c!important; border-color:#319b4c!important; }
body.single-product #main .psr7-upgrades .psr7-mount input:checked::before { transform:translateX(14px); }
body.single-product #main .psr7-upgrades .psr7-mount input:focus-visible { outline:3px solid #4974ed!important; outline-offset:3px; }
body.single-product #main .psr7-mount-copy { display:flex; flex-wrap:wrap; align-items:center; gap:3px 7px; min-width:0; }
body.single-product #main .psr7-mount-title { font:600 12px/1.35 Manrope,Arial,sans-serif; }
body.single-product #main .psr7-mount-tag { color:#497554; font:500 11px/1.3 Manrope,Arial,sans-serif; }
body.single-product #main .psr7-upgrades .psr7-mount .emv-up-install-price { padding:0!important; margin:0!important; color:#485c4d!important; font:600 12px/1.3 Manrope,Arial,sans-serif!important; white-space:nowrap; }
@media(max-width:650px) {
 body.single-product #main .psr7-heading { font-size:21px!important; padding:11px 12px!important; }
 body.single-product #main .psr7-top { grid-template-columns:minmax(0,1fr) max-content; gap:8px; padding:0!important; }
 body.single-product #main .psr7-photo { width:50px; height:50px; }
 body.single-product #main .psr7-title { font-size:14px!important; }
 body.single-product #main .psr7-side { max-width:86px; }
 body.single-product #main .psr7-price { font-size:14px; }
 body.single-product #main .psr7-price.psr7-free { min-width:62px; padding:5px; }
 body.single-product #main .psr7-options { padding:10px 9px; }
 body.single-product #main .psr7-upgrades .emv-up-var-options { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
 body.single-product #main .psr7-upgrades .emv-up-var-btn { min-height:104px!important; padding:7px 4px!important; }
 body.single-product #main .psr7-upgrades .emv-up-var-btn img { width:56px!important; height:56px!important; }
 body.single-product #main .psr7-upgrades .psr7-mount { gap:7px!important; margin:0 7px 8px!important; padding:8px!important; }
}
@media(pointer:coarse) { body.single-product #main .psr7-upgrades .emv-up-var-btn { min-height:104px!important; } }
@media(max-width:374px) { body.single-product #main .psr7-upgrades .emv-up-var-options { grid-template-columns:repeat(3,minmax(0,1fr))!important; } }
@media(prefers-reduced-motion:reduce) { body.single-product #main .psr7-free { animation:none!important; } body.single-product #main .psr7-mount input::before { transition:none!important; } }

body.single-product #main .psr7-row-head { display:grid; grid-template-columns:60px minmax(0,1fr); align-items:center; gap:13px; min-height:74px; padding:10px 9px; }
body.single-product #main button.psr7-zoom { appearance:none; min-width:0; min-height:0; padding:0!important; margin:0!important; border:0!important; box-shadow:none!important; background:#fff!important; cursor:zoom-in; line-height:normal; }
body.single-product #main button.psr7-zoom:focus-visible { outline:3px solid #4974ed!important; outline-offset:2px; }
body.single-product dialog.psr7-lightbox { position:fixed; inset:0; margin:auto; padding:48px 18px 18px; width:min(90vw,850px); max-width:90vw; max-height:92vh; border:0; border-radius:12px; background:#fff; color:#202124; box-sizing:border-box; }
body.single-product dialog.psr7-lightbox::backdrop { background:rgba(0,0,0,.78); }
body.single-product .psr7-lightbox img { display:block; width:100%; height:auto; max-height:70vh; object-fit:contain; margin:0 auto; }
body.single-product .psr7-lightbox p { margin:12px 0 0; text-align:center; font:500 14px/1.4 Arial,sans-serif; }
body.single-product .psr7-lightbox-close { position:absolute; top:6px; right:8px; width:40px; height:40px; min-height:40px; margin:0; padding:0; border:0; border-radius:50%; background:#202124; color:#fff; font:28px/40px Arial,sans-serif; cursor:pointer; }
@media(max-width:650px) { body.single-product #main .psr7-row-head { grid-template-columns:50px minmax(0,1fr); gap:8px; padding:10px 5px; } }

/* R7 Pro only: integrated compact vinyl selector. */
body.single-product #main .emv-box-vinyls{margin:18px 0!important;border:1px solid #e0e3e5!important;border-radius:12px!important;overflow:hidden;background:#fff!important;box-shadow:none!important;font-family:Manrope,Arial,sans-serif!important}
body.single-product #main .emv-box-vinyls .emv-box-header{display:flex;align-items:center;gap:11px;min-height:44px!important;padding:10px 15px!important;border-radius:0!important;background:#141517!important;color:#fff!important;font:italic 800 24px/1.1 "Barlow Condensed","Arial Narrow",Arial,sans-serif!important;letter-spacing:0!important}
body.single-product #main .emv-box-vinyls .emv-box-header::before{content:"";flex:0 0 8px;height:23px;background:#f2341f;transform:skew(-17deg)}
body.single-product #main .emv-box-vinyls .emv-vinyl-section-title{font:inherit!important;color:inherit!important}
body.single-product #main .emv-box-vinyls .emv-box-body{padding:10px 8px 8px!important}
body.single-product #main .emv-box-vinyls .emv-vinyls-row{padding:0 20px!important}
body.single-product #main .emv-box-vinyls .emv-vinyls-inner{gap:8px!important}
body.single-product #main .emv-box-vinyls .emv-vinyls-scroll{padding:0 1px 6px!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-item{flex:0 0 128px!important;min-width:128px!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-card{min-height:190px!important;height:190px!important;padding:8px 7px!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;transform:none!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-item.is-selected .emv-vinyl-card{padding:7px 6px!important;border-color:#f2341f!important;background:#fff6f4!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-image{height:94px!important;min-height:94px!important;margin:0 0 3px!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-title{min-height:24px!important;margin:0 0 4px!important;font:600 10px/1.2 Manrope,Arial,sans-serif!important;letter-spacing:0!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-price{margin:0 0 6px!important;color:#e51220!important;font:700 14px/1.2 Manrope,Arial,sans-serif!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-action{min-height:28px!important;padding:5px!important;border-radius:5px!important;font-size:8px!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-none .emv-vinyl-card-image{width:80px!important;height:94px!important;margin:0 auto 3px!important;font-size:62px!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-top-sales{top:5px!important;left:5px!important;padding:3px 4px!important;background:#f2341f!important;font-size:7px!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-arrow{width:30px!important;height:30px!important;min-height:30px!important}
body.single-product #main .emv-box-vinyls .emv-vinyl-scroll-hint{margin:0 0 6px!important;font-size:10px!important}
@media(max-width:650px){body.single-product #main .emv-box-vinyls .emv-box-header{font-size:21px!important;min-height:42px!important;padding:10px 12px!important}body.single-product #main .emv-box-vinyls .emv-vinyls-row{padding:0 4px!important}body.single-product #main .emv-box-vinyls .emv-vinyl-item{flex-basis:118px!important;min-width:118px!important}}

body.single-product #main .emv-box-vinyls .emv-box-header{box-sizing:border-box!important;height:46px!important;min-height:46px!important;flex-direction:row!important;}

body.single-product #main .emv-box-vinyls .emv-box-header{box-sizing:border-box!important;height:46px!important;min-height:46px!important;flex-direction:row!important;}body.single-product #main .emv-box-vinyls,body.single-product #main .emv-box-vinyls *{box-sizing:border-box!important;}body.single-product #main .emv-box-vinyls .emv-vinyl-card{height:202px!important;min-height:202px!important;}body.single-product #main .emv-box-vinyls .emv-vinyl-card-action{flex-shrink:0!important;}

/* Approved dark-red compact headings: Rovoron R7 Pro DGT only. */
body.single-product #main .psr7-heading,
body.single-product #main .emv-box-vinyls .emv-box-header {
 box-sizing:border-box!important;
 background:linear-gradient(100deg,#9f1725 0%,#ba2330 52%,#d53b3c 100%)!important;
 color:#fff!important;
 height:auto!important;min-height:38px!important;
 padding:7px 14px!important;
 font-size:21px!important;line-height:1.1!important;
 gap:10px!important;
}
body.single-product #main .psr7-heading::before,
body.single-product #main .emv-box-vinyls .emv-box-header::before {
 flex:0 0 6px!important;height:20px!important;background:rgba(255,255,255,.9)!important;
}
body.single-product #main .psr7-heading strong,
body.single-product #main .psr7-paid .psr7-heading strong {color:#fff!important;}
@media(max-width:650px){
 body.single-product #main .psr7-heading,
 body.single-product #main .emv-box-vinyls .emv-box-header {
  font-size:19px!important;padding:7px 11px!important;gap:8px!important;
 }
}

/* Rounded individual gift/upgrade cards, scoped to the scooter product presentation. */
body.single-product #main .psr7-upgrades .psr7-list {
 padding:10px 8px!important;
}
body.single-product #main .psr7-upgrades .emv-up-row {
 margin:0 0 8px!important;
 border:1px solid #efb4b8!important;
 border-radius:9px!important;
 background:#fff!important;
 transition:background-color .16s ease,border-color .16s ease;
}
body.single-product #main .psr7-upgrades .emv-up-row:last-child {
 margin-bottom:0!important;border-bottom-color:#efb4b8!important;
}
body.single-product #main .psr7-upgrades .emv-up-row[data-psr7-open=true] {
 border-color:#df6570!important;border-radius:9px!important;
}
@media(hover:hover){
 body.single-product #main .psr7-upgrades .emv-up-row:not(.emv-up-selected):hover {
  border-color:#df6570!important;background:#fffafa!important;
 }
}
body.single-product #main .psr7-upgrades .emv-up-row.emv-up-selected {
 border:1px solid #16b85a!important;border-radius:9px!important;background:#e6f9ec!important;
}
body.single-product #main .psr7-upgrades .psr7-row-head {
 padding:11px 10px;
}
body.single-product #main .psr7-upgrades .psr7-top:hover {background:transparent!important;}
body.single-product #main .psr7-upgrades .emv-up-selected .psr7-added {
 display:table;max-width:100%;padding:3px 8px;margin-top:5px;
 border-radius:12px;background:#12863d;color:#fff;
 font-weight:600;font-size:11px;line-height:1.4;
}
body.single-product #main .psr7-upgrades .emv-up-selected .psr7-price:not(.psr7-free) {
 color:#087a35!important;
}
body.single-product #main .psr7-upgrades .emv-up-selected .psr7-free {
 background:#12863d;color:#fff;animation:none;
}
body.single-product #main .psr7-upgrades .emv-up-selected .psr7-options {
 border-top-color:#b7e7c6;
}
body.single-product #main .psr7-upgrades .emv-up-var-btn.is-selected {
 border-color:#16b85a!important;background:#e6f9ec!important;
 box-shadow:inset 0 0 0 1px #16b85a!important;
}
@media(max-width:650px){
 body.single-product #main .psr7-upgrades .psr7-row-head {padding:10px 7px;}
}
@media(prefers-reduced-motion:reduce){
 body.single-product #main .psr7-upgrades .emv-up-row {transition:none;}
}

/* Approved red backdrop and fine black outlines for paid upgrades. */
body.single-product #main .psr7-upgrades.psr7-paid { background:#f00000!important; }
body.single-product #main .psr7-paid .psr7-list { background:#f00000!important; }
body.single-product #main .psr7-upgrades.psr7-paid .emv-up-row,
body.single-product #main .psr7-upgrades.psr7-paid .emv-up-row:last-child,
body.single-product #main .psr7-upgrades.psr7-paid .emv-up-row[data-psr7-open=true],
body.single-product #main .psr7-upgrades.psr7-paid .emv-up-row.emv-up-selected,
body.single-product #main .psr7-upgrades.psr7-paid .emv-up-row:not(.emv-up-selected):hover { border:1px solid #000!important; }

/* Match the approved paid-upgrade cards in gifts and vinyls. */
body.single-product #main .psr7-upgrades.psr7-gift,
body.single-product #main .psr7-gift .psr7-list,
body.single-product #main .emv-box-vinyls,
body.single-product #main .emv-box-vinyls .emv-box-body { background:#f00000!important; }
body.single-product #main .psr7-upgrades.psr7-gift .emv-up-row,
body.single-product #main .psr7-upgrades.psr7-gift .emv-up-row:last-child,
body.single-product #main .psr7-upgrades.psr7-gift .emv-up-row[data-psr7-open=true],
body.single-product #main .psr7-upgrades.psr7-gift .emv-up-row.emv-up-selected,
body.single-product #main .psr7-upgrades.psr7-gift .emv-up-row:not(.emv-up-selected):hover,
body.single-product #main .emv-box-vinyls .emv-vinyl-item .emv-vinyl-card,
body.single-product #main .emv-box-vinyls .emv-vinyl-item.is-selected .emv-vinyl-card { border:1px solid #000!important; }


/* Keep nested choices independent of the product form's button grid placement. */
body.single-product #main .psr7-upgrades .emv-up-var-options {
 grid-auto-flow:row!important;
}
body.single-product #main .psr7-upgrades .emv-up-var-options > .emv-up-var-btn {
 grid-column:auto!important;
 grid-row:auto!important;
 justify-self:stretch!important;
 align-self:stretch!important;
}

/* Compact vinyl cards need compact, wrapping action content at every width. */
body.single-product #main .emv-box-vinyls .emv-vinyl-card {
 height:auto!important;
 min-height:222px!important;
}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-action {
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 align-items:center!important;
 gap:3px!important;
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 min-height:42px!important;
 height:auto!important;
 padding:5px 4px!important;
 white-space:normal!important;
 letter-spacing:0!important;
}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-action-copy {
 grid-column:1!important;
 grid-row:1!important;
 display:flex!important;
 min-width:0!important;
 max-width:100%!important;
 width:100%!important;
 gap:2px!important;
 align-items:center!important;
 text-align:center!important;
}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-action-status {
 display:block!important;
 width:100%!important;
 min-width:0!important;
 font-size:8px!important;
 line-height:1.25!important;
 letter-spacing:0!important;
 white-space:normal!important;
 overflow-wrap:anywhere!important;
}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-action-copy small {
 display:none!important;
 width:100%!important;
 min-width:0!important;
 font-size:7px!important;
 line-height:1.25!important;
 letter-spacing:0!important;
 white-space:normal!important;
 overflow-wrap:anywhere!important;
}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-action-icon {
 display:none!important;
 font-size:11px!important;
 line-height:1!important;
}
body.single-product #main .emv-box-vinyls .emv-vinyl-card-action-arrow {
 display:none!important;
 grid-column:2!important;
 grid-row:1!important;
 margin:0!important;
 font-size:16px!important;
 line-height:1!important;
}
