:root{
  --pi-yellow:#ffcc00;--pi-black:#090909;--pi-charcoal:#151515;--pi-panel:#181818;
  --pi-grey:#f2f2f2;--pi-white:#fff;--pi-muted:#aaa;--max:1240px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pi-black);color:var(--pi-white);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:99;background:rgba(8,8,8,.96);border-bottom:1px solid #262626;backdrop-filter:blur(12px)}
.header-inner{height:82px;display:flex;align-items:center;gap:36px}.brand img{display:block;width:235px;height:auto}
.desktop-nav{margin-left:auto}.desktop-nav ul{list-style:none;display:flex;gap:27px;margin:0;padding:0}
.desktop-nav a,.cart-link{font-size:12px;font-weight:800;letter-spacing:.08em}.desktop-nav a:hover{color:var(--pi-yellow)}
.cart-link span{background:var(--pi-yellow);color:#000;border-radius:99px;padding:3px 7px;margin-left:5px}

.hero{padding:70px 0 55px;background:radial-gradient(circle at 80% 20%,#242424 0,#0c0c0c 45%)}
.hero-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:58px;align-items:center}
.eyebrow,.section-heading small{color:var(--pi-yellow);font-size:12px;letter-spacing:.22em;font-weight:800}
.hero h1{font-size:74px;line-height:.92;margin:16px 0 22px;font-style:italic;letter-spacing:-.04em}
.hero h1 em,.section-heading em{color:var(--pi-yellow);font-style:italic}.hero p{max-width:570px;color:#d0d0d0;font-size:18px;line-height:1.6}
.hero-buttons{display:flex;gap:12px;margin:28px 0}
.plateit-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:5px;font-weight:900;letter-spacing:.04em;border:2px solid var(--pi-yellow);cursor:pointer}
.plateit-btn{background:var(--pi-yellow);color:#000}.plateit-btn:hover{filter:brightness(1.08)}
.ghost-btn{background:transparent;color:#fff;border-color:#444}.hero-points{display:flex;justify-content:center;gap:14px;font-size:12px;font-weight:800;letter-spacing:.12em;margin-top:30px}
.hero-points b{color:var(--pi-yellow)}.hero-image{position:relative}.hero-image>img{width:100%;display:block;border-radius:18px;border:1px solid #444;box-shadow:0 25px 90px #000}
.hero-badge{position:absolute;right:-20px;bottom:-25px;width:110px;background:#050505;border-radius:18px;padding:10px;border:1px solid #444}.hero-badge img{width:100%;display:block}

.trust-strip{border-top:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b;background:#111}
.trust-strip .wrap{min-height:68px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;gap:10px}
.trust-strip span{font-size:11px;font-weight:800;letter-spacing:.09em}

.styles-section,.why{padding:84px 0;background:#0d0d0d}.section-heading.centered{text-align:center}
.section-heading h2{font-size:42px;margin:12px 0 32px;font-style:italic;letter-spacing:.02em}
.style-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.style-cards article{background:#151515;border:1px solid #2d2d2d;padding:16px;border-radius:12px;text-align:center}
.style-cards h3{font-size:20px;margin:18px 0 5px}.style-cards p{color:#aaa;line-height:1.5;min-height:48px}
.style-cards a{font-size:12px;color:var(--pi-yellow);font-weight:900}
.mini-stage{height:170px;border-radius:9px;background:radial-gradient(circle at 50% 30%,#292929,#0b0b0b 70%);display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}
.mini-plate{position:relative;width:100%;aspect-ratio:4.7/1;background:linear-gradient(145deg,#fff,#e8e8e4);border:5px solid #252525;border-radius:9px;box-shadow:0 15px 26px #000,inset 0 0 0 1px #a7a7a7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.mini-plate::after,.plate-shell::after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.36);border-radius:4px;pointer-events:none}
.mini-plate span{font-family:Impact,"Arial Black",sans-serif;font-size:31px;line-height:.95;letter-spacing:.06em;color:#080808;position:relative;z-index:2}
.mini-plate small{position:absolute;bottom:3px;color:#333;font-size:6px;letter-spacing:.14em;z-index:2}
.mini-plate.face-rear{background:linear-gradient(145deg,#ffd526,#eab300)}
.mini-plate.face-black{background:linear-gradient(145deg,#1e1e1e,#080808);border-color:#0a0a0a}.mini-plate.face-black span{color:#050505}
.mini-plate.style-3d span{text-shadow:0 1px 0 #222,0 3px 2px rgba(0,0,0,.45),2px 3px 3px #666}
.mini-plate.style-4d span{text-shadow:1px 1px 0 #2c2c2c,2px 2px 0 #2a2a2a,3px 3px 0 #292929,4px 4px 5px rgba(0,0,0,.55)}
.mini-plate.finish-tinted{filter:brightness(.58);box-shadow:0 15px 26px #000,inset 0 0 18px rgba(0,0,0,.55)}
.mini-plate.bike{width:67%;aspect-ratio:1.35/1}.mini-plate.bike span{font-size:34px;line-height:.92;text-align:center}

.plateit-builder{padding:84px max(18px,calc((100% - var(--max))/2));background:#111}
.builder-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.builder-head span,.builder-head strong{font-size:44px;font-style:italic;font-weight:900}.builder-head strong{color:var(--pi-yellow)}
.builder-head p{color:#aaa;margin:8px 0 0}.builder-mini-points{font-size:11px!important;display:flex;gap:10px!important;letter-spacing:.1em}.builder-mini-points span{font-size:11px!important;font-style:normal!important}.builder-mini-points b{color:var(--pi-yellow)}

.builder-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:22px}
.builder-controls,.builder-preview-wrap{background:#181818;border:1px solid #333;border-radius:12px;padding:24px}
.control-block{margin-bottom:18px}.control-block>label{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;margin-bottom:8px;color:#ddd}
.builder-controls input[type=text],.builder-controls input:not([type=hidden]):not([type=checkbox]),.builder-controls select{
  width:100%;padding:13px;background:#0e0e0e;color:#fff;border:1px solid #444;border-radius:6px;font-size:15px
}
.segmented{display:flex;flex-wrap:wrap;gap:7px}.segmented .option{appearance:none;background:#101010;color:#ddd;border:1px solid #444;border-radius:5px;padding:10px 12px;font-size:11px;font-weight:900;cursor:pointer}
.segmented .option.active{background:#211c00;color:var(--pi-yellow);border-color:var(--pi-yellow);box-shadow:inset 0 0 0 1px rgba(255,204,0,.2)}
.fixing-check{display:flex;align-items:center;gap:10px;border-top:1px solid #2e2e2e;padding-top:16px;font-size:12px;font-weight:800}.fixing-check input{accent-color:var(--pi-yellow)}

.preview-topline{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#aaa;font-weight:900;letter-spacing:.1em;margin-bottom:14px}
.preview-topline span:first-child{color:#fff}.preview-stage{min-height:350px;background:radial-gradient(circle at 50% 30%,#2c2c2c,#090909 68%);border-radius:12px;border:1px solid #292929;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:25px;overflow:hidden}

/* REALISTIC LIVE PLATE */
.plate-shell{--plate-bg:#f2f2ed;--plate-text:#080808;position:relative;width:min(100%,650px);aspect-ratio:4.68/1;background:
 linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.12) 30%,rgba(0,0,0,.03) 70%),
 var(--plate-bg);
 border:7px solid #202020;border-radius:11px;box-shadow:0 22px 45px #000,0 4px 0 #050505,inset 0 0 0 2px rgba(0,0,0,.28),inset 0 5px 14px rgba(255,255,255,.8);
 display:flex;align-items:center;justify-content:center;overflow:hidden;transform:perspective(900px) rotateX(1.2deg)
}
.plate-shell.face-front{--plate-bg:#f2f2ed}.plate-shell.face-rear{--plate-bg:#ffc900}.plate-shell.face-black{--plate-bg:#161616;--plate-text:#030303;border-color:#070707}
.plate-shell.border-black::before,.plate-shell.border-silver::before{content:"";position:absolute;inset:12px;border:2px solid #111;border-radius:3px;z-index:2;pointer-events:none}
.plate-shell.border-silver::before{border-color:#bfc3c7}
.plate-reflection{position:absolute;inset:-20% -5% auto;height:70%;transform:skewY(-7deg);background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0));pointer-events:none}
.plate-text-preview{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:clamp(40px,6.2vw,82px);line-height:.9;letter-spacing:.075em;color:var(--plate-text);position:relative;z-index:3;text-align:center;white-space:nowrap}
.plate-shell small{position:absolute;bottom:3px;z-index:4;font-size:8px;letter-spacing:.16em;color:#222;text-shadow:none}.plate-shell.face-black small{color:#bbb}

/* Gel = rounded raised edge */
.plate-shell.style-3d .plate-text-preview{
  -webkit-text-stroke:1px #050505;
  text-shadow:0 1px 0 #292929,0 2px 0 #242424,0 4px 3px rgba(0,0,0,.5),2px 4px 5px rgba(0,0,0,.45);
}
/* 4D = deeper straight acrylic edge */
.plate-shell.style-4d .plate-text-preview{
  -webkit-text-stroke:1px #050505;
  text-shadow:1px 1px 0 #2c2c2c,2px 2px 0 #292929,3px 3px 0 #272727,4px 4px 0 #242424,5px 5px 0 #222,7px 8px 8px rgba(0,0,0,.55);
}
/* 4D gel = deep edge + slightly softer cap */
.plate-shell.style-4d-gel .plate-text-preview{
  -webkit-text-stroke:1.2px #050505;
  text-shadow:1px 1px 0 #3c3c3c,2px 2px 0 #333,3px 3px 0 #2c2c2c,4px 4px 0 #242424,6px 7px 7px rgba(0,0,0,.62);
  filter:drop-shadow(0 1px 1px rgba(255,255,255,.25))
}
.plate-shell.style-standard .plate-text-preview{text-shadow:none;-webkit-text-stroke:0}
/* tint is a surface treatment, not just a dark screenshot */
.plate-shell.finish-tinted{filter:none}
.plate-shell.finish-tinted::before{content:"";position:absolute;inset:0;background:rgba(20,20,20,.42);z-index:1;pointer-events:none;box-shadow:inset 0 0 35px rgba(0,0,0,.45)}
.plate-shell.finish-tinted .plate-text-preview{z-index:3}.plate-shell.finish-tinted small{z-index:4}

/* bike shape */
.plate-shell.vehicle-bike{width:min(62%,390px);aspect-ratio:1.34/1;border-radius:9px}
.plate-shell.vehicle-bike .plate-text-preview{font-size:clamp(42px,6.5vw,70px);line-height:.92;white-space:normal}
.plate-shell.vehicle-bike small{font-size:7px}
.pair-secondary{display:none}

.preview-caption{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;color:#aaa;font-size:11px;margin:15px 0}
.builder-buy-row{display:grid;grid-template-columns:190px 1fr;gap:15px;align-items:stretch;border-top:1px solid #303030;padding-top:18px}
.builder-price{display:flex;flex-direction:column;justify-content:center}.builder-price small{font-size:10px;color:#888;letter-spacing:.1em;font-weight:900}.builder-price strong{font-size:32px;color:var(--pi-yellow)}
.builder-preview-wrap .plateit-btn{width:100%;border:none}.show-notice{font-size:11px;color:#888;line-height:1.5;text-align:center;margin-bottom:0}

.why{background:#0a0a0a}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.why-grid>div{border-top:2px solid var(--pi-yellow);padding:23px 0}.why-grid strong{color:var(--pi-yellow);font-size:13px}.why-grid p{color:#aaa;line-height:1.5}
.site-footer{border-top:1px solid #2c2c2c;background:#050505;padding-top:54px}.footer-grid{display:grid;grid-template-columns:1fr .6fr 1.4fr;gap:50px}
.footer-logo{width:220px}.footer-grid>div{display:flex;flex-direction:column;gap:10px;color:#aaa;font-size:13px;line-height:1.5}.footer-grid strong{color:#fff}.footer-grid a:hover{color:var(--pi-yellow)}
.footer-bottom{border-top:1px solid #222;margin-top:38px;padding:20px;text-align:center;color:#666;font-size:11px}
.content{background:#fff;color:#111;padding:55px;min-height:70vh}.shop-content{max-width:1240px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:#ffcc00!important;color:#000!important}

@media(max-width:850px){
  .header-inner{height:66px}.brand img{width:165px}.desktop-nav{display:none}.header-actions{margin-left:auto}
  .hero{padding:45px 0}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:48px}.hero-image{order:-1}.hero-badge{width:80px;right:8px}
  .hero-points{justify-content:center}.trust-strip .wrap{grid-template-columns:1fr 1fr;padding:15px 0}
  .style-cards{grid-template-columns:1fr 1fr}.builder-grid{grid-template-columns:1fr}.builder-head{display:block;text-align:center}.builder-mini-points{justify-content:center;margin-top:15px}
  .preview-stage{min-height:300px}.plate-shell.vehicle-bike{width:min(72%,330px)}
  .why-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.content{padding:28px 18px}.section-heading h2{font-size:34px}
}
@media(max-width:520px){
  .wrap{width:min(var(--max),calc(100% - 24px))}.hero h1{font-size:42px}.hero p{font-size:16px}.hero-buttons{flex-direction:column}
  .style-cards{grid-template-columns:1fr}.mini-stage{height:150px}
  .plateit-builder{padding:58px 12px}.builder-controls,.builder-preview-wrap{padding:15px}.builder-head span,.builder-head strong{font-size:34px}
  .preview-topline{display:block}.preview-topline span{display:block;margin-bottom:5px}.preview-stage{min-height:265px;padding:15px}
  .plate-shell{border-width:5px}.plate-text-preview{font-size:clamp(30px,9vw,44px)}.plate-shell.vehicle-bike{width:min(78%,270px)}.plate-shell.vehicle-bike .plate-text-preview{font-size:clamp(30px,9vw,44px)}
  .builder-buy-row{grid-template-columns:1fr}.builder-price{text-align:center}.builder-price strong{font-size:30px}
}
.plate-text-preview{font-size:clamp(52px,7.2vw,98px)!important}.plate-shell.vehicle-bike .plate-text-preview{font-size:clamp(58px,8vw,92px)!important;line-height:.78}.plate-shell[data-chars="long"] .plate-text-preview{font-size:clamp(43px,6.2vw,80px)!important}.terms-check{display:block;margin:18px 0;padding:14px;border:1px solid #444;border-radius:7px;font-size:11px;line-height:1.5}.terms-check a{color:var(--pi-yellow)}.info-band,.delivery-section,.reviews-section{padding:75px 0;background:#090909;border-top:1px solid #242424}.info-grid,.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.info-band small,.reviews-section small{color:var(--pi-yellow);font-weight:900}.info-band em,.reviews-section em{color:var(--pi-yellow)}.info-band p,.reviews-section p{color:#aaa;line-height:1.6}.legal-card{background:#171717;border-left:4px solid var(--pi-yellow);padding:30px;border-radius:10px}.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.delivery-grid>div{background:#181818;border:1px solid #333;border-radius:10px;padding:25px;text-align:center}.delivery-grid strong{background:var(--pi-yellow);color:#000;padding:10px;border-radius:6px}.review-placeholder{min-height:250px;border:1px solid #333;border-radius:12px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:30px;font-weight:900;font-style:italic}.review-placeholder em{color:var(--pi-yellow)}@media(max-width:850px){.info-grid,.reviews-grid,.delivery-grid{grid-template-columns:1fr}}

/* ===== V2.2 — realistic plate proportions / character fitting ===== */
.plate-shell{
  aspect-ratio:var(--plate-ratio, 4.6847) / 1 !important;
  height:auto !important;
}

/* Actual selected plate aspect ratios */
.plate-shell[data-plate-size="car-520"]{width:min(100%,650px)}
.plate-shell[data-plate-size="car-short"]{width:min(88%,560px)}
.plate-shell[data-plate-size="car-square"]{width:min(64%,410px)}
.plate-shell[data-plate-size="bike-9x7"]{width:min(58%,350px)}
.plate-shell[data-plate-size="bike-8x6"]{width:min(55%,330px)}
.plate-shell[data-plate-size="bike-7x5"]{width:min(52%,305px)}

/* Use a less compressed character silhouette than Impact alone. */
.plate-text-preview{
  font-family:Impact,"Arial Black",Arial,sans-serif !important;
  font-weight:900;
  transform:scaleX(1.10);
  transform-origin:center;
  letter-spacing:.055em !important;
}

/* Standard 520×111 car plate: characters visually fill the 79mm-ish usable height. */
.plate-shell[data-plate-size="car-520"] .plate-text-preview{
  font-size:clamp(48px,7.05vw,92px) !important;
  line-height:.9 !important;
}

/* Short plate needs the same character height, not smaller text. */
.plate-shell[data-plate-size="car-short"] .plate-text-preview{
  font-size:clamp(46px,6.8vw,88px) !important;
  line-height:.9 !important;
}

/* Square car plate: two-line layouts use more of the vertical face. */
.plate-shell[data-plate-size="car-square"].layout-two .plate-text-preview{
  font-size:clamp(46px,7.3vw,78px) !important;
  line-height:.88 !important;
  white-space:normal !important;
}

/* Bike plates: two lines should occupy most of the face with realistic margins. */
.plate-shell[data-plate-size^="bike-"].layout-two .plate-text-preview{
  font-size:clamp(54px,10.6vw,88px) !important;
  line-height:.83 !important;
  letter-spacing:.04em !important;
  transform:scaleX(1.14);
  white-space:normal !important;
}
.plate-shell[data-plate-size="bike-8x6"].layout-two .plate-text-preview{
  font-size:clamp(51px,10vw,82px) !important;
}
.plate-shell[data-plate-size="bike-7x5"].layout-two .plate-text-preview{
  font-size:clamp(47px,9.4vw,76px) !important;
}

/* Single-line bike/show layouts automatically shrink to fit width. */
.plate-shell[data-plate-size^="bike-"].layout-one .plate-text-preview{
  font-size:clamp(36px,7.4vw,61px) !important;
  line-height:.9 !important;
  letter-spacing:.035em !important;
  transform:scaleX(1.05);
}

/* Long registrations scale down without collapsing normal 7-char registrations. */
.plate-shell[data-chars="long"] .plate-text-preview{font-size:92% !important}
.plate-shell[data-chars="xlong"] .plate-text-preview{font-size:82% !important}

/* Keep the maker line visually below the registration rather than competing with it. */
.plate-shell small{
  bottom:4px !important;
  font-size:7px !important;
  letter-spacing:.14em !important;
}

/* Preview notice */
.preview-disclaimer{
  margin:13px 0 5px;
  padding:10px 12px;
  border:1px solid #313131;
  border-radius:7px;
  background:#111;
  color:#9e9e9e;
  font-size:10.5px;
  line-height:1.5;
  text-align:center;
}
.preview-disclaimer strong{color:#d4d4d4}

/* Style-card proportions also look closer to their real products. */
.mini-plate.bike{
  width:58% !important;
  aspect-ratio:9/7 !important;
}
.mini-plate.bike span{
  font-size:clamp(28px,3vw,42px) !important;
  line-height:.84 !important;
  transform:scaleX(1.12);
}
.mini-plate:not(.bike) span{
  transform:scaleX(1.08);
}

@media(max-width:520px){
  .plate-shell[data-plate-size="bike-9x7"]{width:min(72%,310px)}
  .plate-shell[data-plate-size="bike-8x6"]{width:min(69%,295px)}
  .plate-shell[data-plate-size="bike-7x5"]{width:min(65%,275px)}
  .plate-shell[data-plate-size^="bike-"].layout-two .plate-text-preview{
    font-size:clamp(48px,13.4vw,72px) !important;
  }
  .plate-shell[data-plate-size^="bike-"].layout-one .plate-text-preview{
    font-size:clamp(31px,8.2vw,48px) !important;
  }
}

/* =========================================================
   Plate It v2.3 — realistic plate presentation pass
   Brings category cards and live preview closer to physical
   UK plate proportions while retaining illustrative wording.
   ========================================================= */

/* Category cards: make the plate itself the visual focus. */
.style-card .plate-visual{min-height:230px;display:flex;align-items:center;justify-content:center;padding:18px}
.mini-plate{max-width:560px}
.mini-plate:not(.bike) span{
  font-size:clamp(38px,5vw,62px)!important;
  letter-spacing:.045em!important;
  transform:scaleX(1.05)!important;
}
.mini-plate.bike{
  width:min(78%,285px)!important;
  aspect-ratio:9/7!important;
}
.mini-plate.bike span{
  font-size:clamp(46px,6.4vw,62px)!important;
  line-height:.82!important;
  letter-spacing:.035em!important;
  transform:scaleX(1.08)!important;
}
.mini-plate small{bottom:5px!important;font-size:7px!important}

/* Live builder: physical proportions and stronger character fill. */
.plate-shell[data-plate-size="car-520"]{width:min(100%,680px)}
.plate-shell[data-plate-size="car-short"]{width:min(82%,555px)}
.plate-shell[data-plate-size="car-square"]{width:min(62%,410px)}
.plate-shell[data-plate-size="bike-9x7"]{width:min(67%,385px)}
.plate-shell[data-plate-size="bike-8x6"]{width:min(63%,355px)}
.plate-shell[data-plate-size="bike-7x5"]{width:min(58%,325px)}

.plate-shell[data-plate-size="car-520"] .plate-text-preview,
.plate-shell[data-plate-size="car-short"] .plate-text-preview{
  font-size:clamp(54px,7.6vw,98px)!important;
  letter-spacing:.05em!important;
  transform:scaleX(1.06)!important;
}
.plate-shell[data-plate-size^="bike-"].layout-two .plate-text-preview{
  font-size:clamp(62px,11.5vw,98px)!important;
  line-height:.78!important;
  letter-spacing:.025em!important;
  transform:scaleX(1.09)!important;
}
.plate-shell[data-plate-size="bike-8x6"].layout-two .plate-text-preview{font-size:clamp(58px,10.8vw,91px)!important}
.plate-shell[data-plate-size="bike-7x5"].layout-two .plate-text-preview{font-size:clamp(54px,10.1vw,84px)!important}

/* Keep maker mark subtle and outside the registration's visual area. */
.plate-shell small{bottom:5px!important;font-size:7px!important;opacity:.8}

@media(max-width:520px){
  .style-card .plate-visual{min-height:210px;padding:14px}
  .mini-plate.bike{width:min(82%,260px)!important}
  .mini-plate.bike span{font-size:clamp(44px,12vw,58px)!important}
  .mini-plate:not(.bike) span{font-size:clamp(36px,9.8vw,50px)!important}

  .plate-shell[data-plate-size="bike-9x7"]{width:min(78%,330px)}
  .plate-shell[data-plate-size="bike-8x6"]{width:min(74%,312px)}
  .plate-shell[data-plate-size="bike-7x5"]{width:min(69%,292px)}
  .plate-shell[data-plate-size^="bike-"].layout-two .plate-text-preview{font-size:clamp(58px,15.5vw,80px)!important}
  .plate-shell[data-plate-size="bike-8x6"].layout-two .plate-text-preview{font-size:clamp(54px,14.4vw,74px)!important}
  .plate-shell[data-plate-size="bike-7x5"].layout-two .plate-text-preview{font-size:clamp(50px,13.5vw,69px)!important}
  .plate-shell[data-plate-size="car-520"] .plate-text-preview,
  .plate-shell[data-plate-size="car-short"] .plate-text-preview{font-size:clamp(38px,10.8vw,54px)!important}
}


/* =========================================================
   Plate It v2.4 — registration fitting correction
   Separate rows, true gap, automatic character fit.
   ========================================================= */

/* The plate preview keeps the selected physical aspect ratio. */
.plate-shell{
  aspect-ratio:var(--plate-ratio,4.6847) / 1 !important;
}

/* Plate body dimensions shown relative to one another. */
.plate-shell[data-plate-size="car-520"]{width:min(100%,680px)!important}
.plate-shell[data-plate-size="car-short"]{width:min(82%,555px)!important}
.plate-shell[data-plate-size="car-square"]{width:min(62%,410px)!important}
.plate-shell[data-plate-size="bike-9x7"]{width:min(72%,405px)!important}
.plate-shell[data-plate-size="bike-8x6"]{width:min(66%,370px)!important}
.plate-shell[data-plate-size="bike-7x5"]{width:min(60%,335px)!important}

/* JS now controls the exact font size. These rules control only structure. */
.plate-shell .plate-text-preview{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:var(--plate-line-gap,0px)!important;
  width:auto!important;
  max-width:none!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
  transform:scaleX(1.02)!important;
  transform-origin:center!important;
  font-size:initial;
}

.plate-shell .plate-line{
  display:block!important;
  line-height:.88!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
}

/* Slightly less exaggerated depth: closer to a physical 3D/4D character. */
.plate-shell.style-3d .plate-text-preview{
  -webkit-text-stroke:.7px #050505!important;
  text-shadow:
    0 1px 0 #242424,
    0 2px 0 #1f1f1f,
    0 4px 4px rgba(0,0,0,.38)!important;
}
.plate-shell.style-4d .plate-text-preview{
  -webkit-text-stroke:.7px #050505!important;
  text-shadow:
    1px 1px 0 #303030,
    2px 2px 0 #292929,
    3px 3px 0 #252525,
    5px 6px 6px rgba(0,0,0,.42)!important;
}
.plate-shell.style-4d-gel .plate-text-preview{
  -webkit-text-stroke:.8px #050505!important;
  text-shadow:
    1px 1px 0 #343434,
    2px 2px 0 #2c2c2c,
    3px 3px 0 #252525,
    5px 6px 6px rgba(0,0,0,.44)!important;
}

/* Make the category example itself resemble the uploaded real bike plates:
   large rows, clear separation, visible perimeter. */
.mini-plate.bike{
  width:min(78%,300px)!important;
  aspect-ratio:9/7!important;
  padding:14px 10px 18px!important;
}
.mini-plate.bike span{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  font-size:clamp(48px,7vw,68px)!important;
  line-height:1.03!important;
  letter-spacing:.035em!important;
  transform:scaleX(1.03)!important;
}

/* The <br> in the promotional card now creates real separation. */
.mini-plate.bike span br{
  content:"";
  display:block;
  margin-top:7px;
}

.preview-disclaimer{
  font-size:10.5px!important;
}

/* The maker mark sits in its own bottom strip. */
.plate-shell small{
  bottom:4px!important;
  font-size:7px!important;
  letter-spacing:.14em!important;
  z-index:5!important;
}

@media(max-width:520px){
  .plate-shell[data-plate-size="bike-9x7"]{width:min(82%,345px)!important}
  .plate-shell[data-plate-size="bike-8x6"]{width:min(77%,325px)!important}
  .plate-shell[data-plate-size="bike-7x5"]{width:min(72%,305px)!important}
  .mini-plate.bike{width:min(84%,275px)!important}
  .mini-plate.bike span{
    font-size:clamp(46px,13vw,62px)!important;
    line-height:1.02!important;
  }
}
