/* Visual finish only. The existing catalog, page structure, and ordering scripts remain intact. */
:root{--bg:#000;--panel:#0c0c0e;--gold:#d8d9dd;--cream:#f1f1f3;--muted:#b7b7be;--pink:#d9dbe1}
body{background:#000;color:var(--cream)}
header{background:#050506f5;border-color:#3b3c42}
.demoRibbon{background:#141416;color:#d4d5da;border-bottom:1px solid #313238}
p,.small,.notice,.shopMessage,.preview .small{color:#c7c8ce}
.cap,.brand,.brandlogo,.st,.fieldlabel,.pricetag,.diamond,.newLabel,.steps,.orderDetails dd:last-child,.serviceLayout summary,.checkoutItem summary,.optionsStep summary{color:#d9dbe1!important}
h1,h2,h3,.openingText h1 em,.herotext h1 em{color:#ebedf1}
.openingText h1,.brandlogo,.innerhero h2,.ratchetFeature h2{color:#e5e6e9;text-shadow:0 1px 0 #fff5,0 3px 9px #000;background:linear-gradient(178deg,#fff 0%,#c8cbd1 28%,#f5f6f8 40%,#9397a0 54%,#e9ecf0 65%,#b8bcc5 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.royalOpening,.openingText,.openingPhoto,.hero,.section,#shop{background:#000!important}
.openingPhoto{object-fit:contain}
.goldline{background:linear-gradient(90deg,transparent,#bfc4ce,transparent)}
.word-fabulous,.word-wealthy,.word-royal,.word-rich,.word-and,.word-ratchet,.motto{color:#dce0e7}
.btn{background:linear-gradient(150deg,#fafbfc 0%,#c9cdd4 30%,#f1f3f6 45%,#adb3bd 68%,#dce0e6 100%);color:#111216;border-color:#e0e3e9;box-shadow:0 1px 8px #ffffff0c}
.btn.alt{background:transparent;color:#dce0e7;border-color:#9298a2;box-shadow:none}
.btn.soft{background:#202126;color:#eef0f5;border-color:#5c626e}
.btn:hover{filter:brightness(1.1)}
.nav button,.textbtn,.sideBadge{color:#d7d9df}.nav button:hover,.textbtn:hover,a:hover{color:#fff}
.builder,.supportPanel,.editor,.modal{background:#0d0d10;border-color:#45474f}
.preview{background:radial-gradient(ellipse at 50% 34%,#27292f,#08080a 70%);border-color:#484b54}
.photo{background:linear-gradient(145deg,#1c1d22,#050506);border-color:#42444c}
.photo:after{color:#cbd0da44}.photo strong{color:#e1e4ea}
.designcard{background:#111114;color:#eceef2;border-color:#3f424b}
.designcard.selected,.photo.reviewCard:hover{border-color:#d9dee7}
.designcard.selected{box-shadow:0 0 0 1px #d9dee7}
.designThumb{background:repeating-conic-gradient(#25262b 0% 25%,#1b1c20 0% 50%) 50%/16px 16px}
.reviewArt{background:repeating-conic-gradient(#303239 0% 25%,#1f2126 0% 50%) 50%/24px 24px}
.hoverShirt{background:#27292f}
.tab{border-color:#575d68}.tab.active{background:#d8dde5;color:#14151a}
.ctrl{background:#08090b;color:#f5f6f8;border-color:#606672}
.block,.cartitem,.serviceLayout details,.checkoutItem{border-color:#353840}
.chip,.printOption{background:#17181d;border-color:#535a66;color:#eceef2}
.chip.sel,.printOption.sel{background:#33373f;border-color:#e0e4ec}
.printOption small,.customPanel summary,.customPanel p,.shopEmpty,.reviewNote{color:#cbd1dc}
.chosen{box-shadow:0 0 0 3px #d5dce8;color:#fff!important}
.customPanel,.optionsStep,.reviewNote,.noteRibbon{background:#0e0f12;border-color:#505763;color:#d9dde4}
.optionsStep summary span,.orderDetails dt{color:#b6bdc9}
.notice,.shopMessage{background:#17191e;border-color:#c5cbd6}
/* Error messages keep their established warning contrast. */
.foot{background:#000;border-color:#444951;color:#c3c9d3}
.pearlRail{filter:grayscale(1) brightness(1.18)}
.gemPool{filter:grayscale(1) brightness(1.1)}
.ratchetFeature{background:#000;border-color:#3e434d}
.ratchetFeature .cap,.ratchetFeature p{color:#cbd0d9}
.innerhero{position:relative;isolation:isolate;overflow:hidden;background:#000;min-height:195px}
.innerhero>.shell{position:relative;z-index:1}
.innerhero:after{content:'';position:absolute;right:0;bottom:0;width:min(44%,370px);height:135px;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#000,transparent 35%),linear-gradient(0deg,transparent,#000),url('assets/royal-preview-0640ace737b2c90b25.webp');background-size:cover,cover,480px auto;background-position:center,center,right bottom;background-repeat:no-repeat;opacity:.55}
#about .innerhero:after{right:4%;transform:scaleX(-1)}
#portfolio .innerhero:after{right:0;width:42%;background-size:cover,cover,570px auto;opacity:.7}
#service .innerhero:after{right:2%;background-size:cover,cover,430px auto}
#terms .innerhero:after,#privacy .innerhero:after{opacity:.3}
body>details.shell{background:#0d0e11!important;border-color:#777e8a!important}
body>details.shell>summary{color:#dee3eb!important}
#personalize{accent-color:#c9d0dc}
@media(max-width:580px){.innerhero:after{width:50%;opacity:.3}.innerhero{min-height:180px}.openingPhoto{height:auto}}
