*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:#0c1d3b;background:#fff}.top{background:#071d3b;color:white;text-align:center;padding:10px;font-size:13px;letter-spacing:.5px}.top span{margin:0 35px;color:#5fd3ff}nav{height:92px;display:flex;align-items:center;padding:0 5%;border-bottom:1px solid #ddd;gap:60px}.brand{font-size:23px;line-height:19px}.brand:first-letter{color:#0a4db5}.brand small{display:block;font-size:9px;letter-spacing:1.8px;margin-top:8px;font-weight:normal}.links{display:flex;gap:36px;flex:1;justify-content:center}.links a{text-decoration:none;color:#0c1d3b;font-weight:bold;font-size:13px}.links .active{color:#164eaa;border-bottom:2px solid #164eaa;padding-bottom:12px}.basket{font-size:24px}.basket span{font-size:12px;background:#164eaa;color:white;border-radius:50%;padding:4px 7px}.heading{padding:28px 5% 18px;display:flex;justify-content:space-between;align-items:flex-end}.crumb{font-size:12px;color:#59708e}.heading h1{font-size:29px;margin:18px 0 5px}.heading p{margin:0}.mode button,.actions button,.card button{padding:12px 24px;border-radius:4px;border:1px solid #10284e;font-weight:bold;margin-left:8px}.primary,.card button{background:#071d3b;color:white}.ghost{background:white}.workspace{display:grid;grid-template-columns:190px minmax(500px,1fr) 310px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;min-height:620px}.tools{padding:20px 16px 30px 5vw;border-right:1px solid #ddd}.tools h3,.order h3{font-size:12px;margin:16px 0 10px}.tool{display:block;width:145px;padding:12px;text-align:left;background:white;border:1px solid #dce2ea;cursor:pointer}.upload input{display:none}.danger{color:#a51d2d}.tools input,.tools select{width:145px;padding:9px;margin:3px 0;border:1px solid #ccd5e0}.tip{font-size:11px;color:#68788e;line-height:1.4}.designarea{padding:22px 30px;text-align:center;overflow:hidden}.sideTabs{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:35px}.sideTabs .side{width:125px;padding:11px;border:1px solid #aab5c3;background:white}.sideTabs .active{background:#071d3b;color:white}.sideTabs label{font-size:12px;margin-left:30px}.keyring-stage{height:275px;position:relative;display:flex;align-items:center;justify-content:center}.ring{width:155px;height:155px;border:14px solid #a8a8a8;border-radius:50%;position:absolute;left:3%;box-shadow:inset 0 0 0 3px #eee,0 2px 4px #999}.neck{position:absolute;left:20%;width:80px;height:50px;border:8px solid #d7d7d7;border-radius:20px;background:#eee;z-index:1}.shell{width:68%;aspect-ratio:2.5/1;background:linear-gradient(#fff,#e4e4e4);border:8px solid #e4e4e4;border-radius:14px;box-shadow:0 2px 5px #999;z-index:2;padding:10px}.canvas{height:100%;width:100%;border:2px dashed rgba(255,255,255,.85);background:#1c7ca3;position:relative;overflow:hidden}.design-object{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);cursor:move;user-select:none;max-width:none}.design-object.selected{outline:2px dashed #1267d5;outline-offset:4px}.design-object.text{font-size:38px;font-weight:bold;color:white;white-space:nowrap}.safe{font-size:12px;color:#365d92;margin:0 0 20px}.actions button{background:white;margin:4px}.hint{font-size:12px;color:#67758b}.order{padding:20px;border-left:1px solid #ddd}.order select{width:100%;padding:12px;border:1px solid #ccd5e0}.qty{display:flex}.qty input{width:100%;text-align:center;border:1px solid #ccd5e0}.qty button{width:50px;background:white;border:1px solid #ccd5e0;font-size:20px}.pricing{border:1px solid #dbe1e8;padding:15px;margin-top:20px}.pricing div{display:flex;justify-content:space-between;padding:7px 0;font-size:13px}.pricing .total{font-size:18px}.pricing small{display:block;text-align:right}.basketBtn{width:100%;margin-top:15px;padding:16px;background:#0b9b3f;color:white;border:0;border-radius:5px;font-size:16px;font-weight:bold}.basketPanel{font-size:12px;margin-top:12px;line-height:1.5}.range{padding:55px 6%;text-align:center;background:#f5f7fa}.range h2,.help h2{font-size:24px}.cards{display:flex;gap:25px;justify-content:center;margin-top:30px}.card{width:270px;background:white;padding:25px;border:1px solid #e0e4e9}.mini{margin:10px auto 25px;border:8px solid #e2e2e2;background:#dbe8f8}.mini.wide{width:170px;height:68px}.mini.rect{width:140px;height:98px}.mini.opener{width:120px;height:100px;font-size:50px;padding-top:12px}.card button{margin:10px 0}.help{text-align:center;padding:55px;font-size:18px}footer{text-align:center;padding:25px;background:#071d3b;color:white;font-size:12px}@media(max-width:1000px){.workspace{grid-template-columns:160px 1fr}.order{grid-column:1/-1;border-top:1px solid #ddd}.links{display:none}.ring{display:none}.neck{display:none}.shell{width:95%}.cards{flex-wrap:wrap}}
.vehicleChooser{border:1px solid #dbe1e8;border-radius:7px;margin:0 auto 20px;max-width:820px;text-align:left;background:#fafbfd}
.vehicleTop{padding:12px 14px;display:flex;justify-content:space-between;gap:15px;align-items:center}.vehicleTop b,.plateEntry b{font-size:12px}.vehicleTop small{display:block;color:#68788e;margin-top:4px}.vehicleTop input{padding:9px;border:1px solid #ccd5e0;width:210px}
.assetTabs{display:flex;border-top:1px solid #e2e6ec;border-bottom:1px solid #e2e6ec;overflow:auto}.assetTab{border:0;background:white;padding:10px 13px;white-space:nowrap;cursor:pointer;font-size:11px}.assetTab.active{background:#071d3b;color:white}
.assetGallery{display:flex;gap:8px;padding:10px;overflow-x:auto;height:95px}.assetThumb{min-width:78px;width:78px;height:70px;border:1px solid #d4dbe4;background:white;border-radius:4px;padding:4px;cursor:pointer;object-fit:contain}.assetThumb.chosen{outline:3px solid #1267d5}
.plateEntry{padding:10px 14px;border-top:1px solid #e2e6ec;display:flex;align-items:center;gap:12px}.plateEntry input{font-family:"Charles Wright","Arial Narrow",Arial,sans-serif;font-stretch:condensed;font-weight:900;font-size:22px;letter-spacing:1px;padding:7px 10px;width:190px;text-transform:uppercase}.plateEntry button{padding:9px;background:white;border:1px solid #ccd5e0}
.plate-layout{position:absolute;inset:0;background:#f7f7f2;display:flex;align-items:center;overflow:hidden}.plate-logo-zone{height:100%;width:25%;display:flex;align-items:center;justify-content:center;padding:3px;border-right:1px solid #ddd}.plate-logo-zone img{max-width:100%;max-height:100%;object-fit:contain}.plate-number{flex:1;text-align:center;color:#111;font-family:"Charles Wright","Arial Narrow",Arial,sans-serif;font-stretch:condensed;font-weight:900;font-size:clamp(22px,4vw,52px);letter-spacing:1px;white-space:nowrap}

.f1Mode{display:flex;gap:8px;align-items:center;justify-content:center;margin:0 auto 14px;flex-wrap:wrap}.modeChoice{padding:11px 16px;border:1px solid #10284e;background:white;font-weight:bold;border-radius:4px}.modeChoice.active{background:#071d3b;color:white}.f1Mode span{font-size:11px;color:#68788e;margin-left:8px}
.keyring-stage{perspective:1100px;cursor:grab;touch-action:none}.keyring-stage:active{cursor:grabbing}.keyring3d{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .08s linear}.shell3d{position:relative;transform-style:preserve-3d;overflow:visible}.face{position:absolute;inset:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.faceFront{transform:translateZ(5px)}.faceBack{transform:rotateX(180deg) translateZ(5px)}.face .canvas{height:100%;width:100%}.rotateHelp{font-size:12px;color:#365d92;margin:-4px 0 12px}.rotateHelp button{padding:5px 9px;background:white;border:1px solid #ccd5e0;border-radius:4px}
.plate-layout.frontPlate{background:#f8f8f4}.plate-layout.backPlate{background:#f1cf19}.plate-logo-zone{padding:0!important;overflow:hidden}.plate-logo-zone img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important}
.scratch .plate-layout{display:none}.scratch #vehicleChooser{display:none}

.layerSection{padding:11px 14px;border-top:1px solid #e2e6ec}.layerSection>b{font-size:12px}.layerSection b small{font-weight:normal;color:#68788e;margin-left:5px}.assetSearch2{float:right;margin-top:-6px;padding:6px;border:1px solid #ccd5e0;width:180px}.layerSection .assetGallery{clear:both;height:86px;padding:8px 0}.inlineControls{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px}.inlineControls label{display:flex;gap:7px;align-items:center}.inlineControls input[type=range]{width:120px}.inlineControls #plateText{font-family:"Charles Wright","Arial Narrow",Arial,sans-serif;font-weight:900;font-size:20px;text-transform:uppercase;padding:6px 9px;width:180px}.miniBtn{padding:6px 9px;background:white;border:1px solid #ccd5e0;border-radius:4px;font-size:11px}.vehicleTop #editingSideBadge{background:#071d3b;color:white;padding:6px 9px;border-radius:12px;font-size:10px}
.plate-layout.layeredPlate{position:absolute;inset:0;display:block;overflow:hidden}.plate-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.plate-flag{position:absolute;left:2%;transform:translateY(-50%);object-fit:contain;z-index:3;max-height:95%}.plate-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:13%;padding-right:3%}.plate-vehicle-logo{object-fit:contain;max-height:48%;margin-bottom:1%}.plate-number.v4{flex:none;width:100%;line-height:1;text-align:center}.faceBack .plate-layout{transform:none}

/* V5 Blank Plastic Keyrings branding */
:root{--bpk-blue:#2f78c7;--bpk-grey:#aeb0b3;--bpk-black:#111}
.bpklBrand{display:flex;align-items:center;min-width:275px}
.bpklBrand img{display:block;width:270px;max-height:74px;object-fit:contain}
.links .active{color:var(--bpk-blue);border-bottom-color:var(--bpk-blue)}
.basket span{background:var(--bpk-blue)}
.primary,.card button,.modeChoice.active,.vehicleTop #editingSideBadge{background:var(--bpk-black)}
.assetThumb.chosen{outline-color:var(--bpk-blue)}
.safe,.rotateHelp{color:#4d77a8}
.top{background:#111}
.basketBtn{background:var(--bpk-blue)}
@media(max-width:700px){.bpklBrand{min-width:190px}.bpklBrand img{width:190px}nav{padding-left:3%;padding-right:3%}}

/* V6 preview improvements */
.previewToolbar{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 6px;font-size:11px;color:#68788e}
.previewToolbar button{padding:7px 11px;border:1px solid #ccd5e0;background:white;border-radius:4px;font-weight:bold}
.realRing{position:absolute;left:-2%;top:50%;width:180px;height:180px;transform:translateY(-50%);z-index:0;display:flex;align-items:center;justify-content:center}
.realRing img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.keyring-stage.expanded{height:430px}
.keyring-stage.expanded .shell3d{width:78%}
.keyring-stage.expanded .realRing{width:230px;height:230px;left:-1%}
.keyring-stage.expanded .neck{left:19%}
.plate-bg{object-fit:fill!important} /* preview must fill the entire printable rectangle */
@media(max-width:800px){.realRing{width:120px;height:120px}.keyring-stage.expanded{height:350px}}

/* V7 F1 visual and layer controls */
.f1VisualNote{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 8px;color:#68788e;font-size:11px}.f1VisualNote img{width:120px;height:68px;object-fit:contain;border:1px solid #e1e5ea;background:white;border-radius:5px}
.shell3d{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(222,228,234,.78));border:10px solid rgba(225,230,235,.9);box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),0 4px 9px rgba(0,0,0,.22);border-radius:13px}
.shell3d:after{content:"";position:absolute;inset:-8px;border:2px solid rgba(185,193,202,.65);border-radius:12px;pointer-events:none}
.neck{background:rgba(235,239,243,.88)!important;border-color:rgba(205,211,218,.9)!important}
.realRing{left:-3%}.realRing img{filter:contrast(1.12)}
.plate-bg{left:50%!important;top:50%!important;width:100%;height:100%;transform:translate(-50%,-50%);object-fit:cover!important;max-width:none;max-height:none}
.plate-flag{left:0!important;object-fit:fill!important;transform:translateY(-50%);transform-origin:left center;max-height:none!important}
.bgControls{margin-top:8px}

/* V8 exact-fit backgrounds and uploads */
.f1VisualNote{display:none!important}
.plate-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;left:0!important;top:0!important;transform:none!important;object-fit:fill!important}
.plate-flag{left:0!important}
.uploadMini{display:inline-block;padding:7px 10px;border:1px solid #2f78c7;border-radius:4px;background:#f7fbff;color:#225f9f;font-weight:bold;cursor:pointer;font-size:11px}
.uploadMini input{display:none}
.plate-vehicle-logo{background:transparent!important}

.bpklBrand img{width:245px;height:80px;object-fit:contain}.fixedProduct{padding:12px;border:1px solid #ccd5e0;background:#f7f8fa;border-radius:4px;font-weight:bold;font-size:13px}.plate-number.v4{position:relative}

/* V11 home, larger branding and cart */
.bpklBrand{min-width:330px}.bpklBrand img{width:325px;height:88px;object-fit:contain}
.homeHero{min-height:720px;padding:45px 6% 70px;text-align:center;background:radial-gradient(circle at top,#fff,#f3f4f6)}
.homeLogo img{width:min(560px,78vw);max-height:430px;object-fit:contain}.homeHero h1{font-size:42px;margin:5px 0 10px}.homeHero>p{max-width:780px;margin:0 auto 24px;line-height:1.65;color:#4c596b}
.homeActions{display:flex;justify-content:center;gap:12px}.homeActions a{padding:15px 25px;background:#111;color:white;text-decoration:none;border-radius:5px;font-weight:bold}.homeActions .outline{background:white;color:#111;border:1px solid #111}
.homeSteps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:1050px;margin:45px auto 0}.homeSteps div{background:white;border:1px solid #e0e4e9;padding:22px 16px;border-radius:8px}.homeSteps b{display:block;margin:auto auto 10px;width:34px;height:34px;line-height:34px;border-radius:50%;background:#e2ae00;color:#111}.homeSteps strong,.homeSteps span{display:block}.homeSteps span{font-size:12px;color:#68788e;margin-top:8px;line-height:1.4}
.cartOpen{background:none;border:0;cursor:pointer}.cartDrawer{position:fixed;right:-430px;top:0;width:410px;max-width:92vw;height:100vh;background:white;z-index:1002;box-shadow:-5px 0 20px #0003;transition:right .25s;padding:22px;display:flex;flex-direction:column}.cartDrawer.open{right:0}.cartShade{display:none;position:fixed;inset:0;background:#0007;z-index:1001}.cartShade.open{display:block}.cartHead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd}.cartHead button{font-size:30px;border:0;background:none;cursor:pointer}.cartItems{flex:1;overflow:auto;padding:15px 0}.cartItem{padding:12px 0;border-bottom:1px solid #eee;font-size:13px}.cartItem button{float:right;border:0;background:none;color:#a00;cursor:pointer}.cartSummary{border-top:1px solid #ddd;padding-top:15px}.cartSummary>div:first-child{display:flex;justify-content:space-between;font-size:20px;margin-bottom:15px}.payNote{font-size:10px;color:#68788e;line-height:1.4}.paypalPlaceholder{background:#ffc439;border-radius:5px;text-align:center;padding:13px;font-weight:bold;color:#111}
@media(max-width:850px){.homeSteps{grid-template-columns:1fr 1fr}.bpklBrand{min-width:220px}.bpklBrand img{width:220px}.homeHero h1{font-size:32px}}

.keyring-stage.expanded{height:825px!important}.keyring-stage.expanded .shell3d{width:96%!important;transform:scale(1.18)}.keyring-stage.expanded .realRing{width:310px!important;height:310px!important;left:-5%!important}
.helpPage{padding:65px 6%;background:#f6f7f9}.helpIntro{text-align:center;max-width:760px;margin:0 auto 35px}.helpGrid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.helpGrid article{background:white;border:1px solid #e0e4e9;border-radius:8px;padding:22px}.helpGrid p{font-size:13px;line-height:1.6;color:#526174}.helpGrid a{color:#2f78c7}
.siteFooter{background:#111;color:white;padding:35px 6%;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:25px;text-align:left}.siteFooter img{width:190px;max-height:85px;object-fit:contain;background:white;border-radius:4px}.siteFooter a{color:white;text-decoration:none;line-height:2}.copyright{color:#bbb;white-space:nowrap}
@media(max-width:850px){.keyring-stage.expanded{height:620px!important}.helpGrid{grid-template-columns:1fr}.siteFooter{grid-template-columns:1fr;text-align:center}.siteFooter img{margin:auto}}
