/* Royal Gallery — checkout add-on (matches the site: deep black, gold, Cinzel + Raleway). */
.rg-co-lock, .rg-co-lock body { overflow: hidden; }
#rg-co { position: fixed; inset: 0; z-index: 95; display: flex; align-items: flex-end; justify-content: center;
  background: rgba(0,0,0,.72); backdrop-filter: blur(6px); font-family: Raleway, system-ui, sans-serif; color: #e9e4d6; }
#rg-co[hidden] { display: none; }
@media (min-width: 768px) { #rg-co { align-items: center; } }
.rg-co-panel { width: 100%; max-width: 480px; max-height: 94vh; max-height: 94dvh; display: flex; flex-direction: column; background: #08080a;
  border: 1px solid rgba(212,175,55,.25); border-radius: 18px 18px 0 0; box-shadow: 0 -10px 60px rgba(0,0,0,.7); }
@media (min-width: 768px) { .rg-co-panel { border-radius: 18px; } }
.rg-co-head { display: flex; align-items: center; gap: 10px; padding: 16px 18px; border-bottom: 1px solid rgba(255,255,255,.06); }
.rg-co-head h2 { margin: 0; flex: 1; font: 600 16px/1 Cinzel, serif; letter-spacing: .12em; color: #d4af37; text-transform: uppercase; }
.rg-co-gem { color: #d4af37; }
.rg-co-x { background: none; border: 0; color: #9a958a; font-size: 26px; line-height: 1; cursor: pointer; padding: 0 4px; }
.rg-co-body { overflow-y: auto; padding: 14px 18px calc(18px + env(safe-area-inset-bottom)); -webkit-overflow-scrolling: touch; }
.rg-co-sec { margin: 16px 0 6px; font: 600 11px/1 Raleway, sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #d4af37; }
.rg-co-form label { display: block; margin: 8px 0; font-size: 12px; color: #9a958a; }
.rg-co-form label small { color: #6d685e; }
.rg-co-form input:not([type=checkbox]):not([type=radio]), .rg-co-form textarea, .rg-co-form select {
  display: block; width: 100%; box-sizing: border-box; margin-top: 5px; padding: 12px 13px; font: 16px Raleway, sans-serif; color: #fff;
  background: #0d0d0d; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; outline: none; }
.rg-co-form input:focus, .rg-co-form textarea:focus, .rg-co-form select:focus { border-color: #d4af37; box-shadow: 0 0 0 3px rgba(212,175,55,.15); }
.rg-co-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rg-co-pay { display: grid; gap: 6px; }
.rg-co-radio, .rg-co-check { display: flex !important; align-items: center; gap: 10px; padding: 11px 12px; margin: 0 !important;
  background: #0d0d0d; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; color: #e9e4d6 !important; font-size: 14px !important; cursor: pointer; }
.rg-co-check { background: none; border: 0; padding: 8px 0; font-size: 13px !important; color: #9a958a !important; }
.rg-co-radio input, .rg-co-check input { accent-color: #d4af37; width: 18px; height: 18px; }
.rg-co-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.rg-co-sum { margin: 16px 0 10px; padding: 12px; background: #0d0d0d; border: 1px solid rgba(212,175,55,.15); border-radius: 10px; }
.rg-co-line { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.05); font-size: 13px; }
.rg-co-name { color: #fff; } .rg-co-spec { color: #7d786d; font-size: 11px; margin-top: 2px; }
.rg-co-amt { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rg-co-amt s { display: block; color: #6d685e; font-size: 11px; }
.rg-co-totals { margin-top: 8px; }
.rg-co-pair { display: flex; justify-content: space-between; padding: 4px 0; font-size: 13px; color: #b9b3a5; font-variant-numeric: tabular-nums; }
.rg-co-pair.save { color: #8fdcb4; }
.rg-co-pair.grand { margin-top: 6px; padding-top: 10px; border-top: 1px solid rgba(212,175,55,.25); font-size: 17px; font-weight: 700; color: #d4af37; }
.rg-co-wait { color: #7d786d; font-size: 13px; }
.rg-co-go { display: block; width: 100%; margin-top: 8px; padding: 15px; border: 0; border-radius: 8px; cursor: pointer; text-align: center; text-decoration: none;
  font: 700 14px Raleway, sans-serif; letter-spacing: .06em; color: #000; background: linear-gradient(135deg, #d4af37, #f3e5ab 50%, #d4af37); }
.rg-co-go[disabled] { opacity: .6; }
.rg-co-wa { background: #25d366; color: #000; margin-top: 18px; }
.rg-co-fine { margin: 10px 0 0; font-size: 11px; color: #6d685e; text-align: center; }
.rg-co-msg { margin: 6px 0 4px; padding: 10px 12px; border-radius: 8px; font-size: 13px; background: rgba(224,97,79,.12); border: 1px solid rgba(224,97,79,.35); color: #f3b3a8; }
.rg-co-msg.ok { background: rgba(63,182,122,.12); border-color: rgba(63,182,122,.35); color: #a9e5c6; }
.rg-co-done { text-align: center; padding: 10px 0; }
.rg-co-tick { width: 56px; height: 56px; margin: 6px auto 10px; border-radius: 50%; display: grid; place-items: center; font-size: 26px; color: #000;
  background: linear-gradient(135deg, #d4af37, #f3e5ab); }
.rg-co-done h3 { margin: 0 0 6px; font: 600 18px Cinzel, serif; color: #fff; }
.rg-co-ref { font: 700 20px/1.2 Raleway, sans-serif; letter-spacing: .08em; color: #d4af37; margin: 4px 0 10px; }
.rg-co-done p { font-size: 13px; color: #b9b3a5; }
.rg-co-link { display: block; margin-top: 14px; color: #d4af37; font-size: 13px; }
.rg-co-bankd { white-space: pre-wrap; text-align: left; font: 13px/1.5 Raleway, sans-serif; color: #fff; background: #0d0d0d; padding: 10px 12px; border-radius: 8px; }
.rg-co-otp .rg-co-row { align-items: end; } .rg-co-otp .rg-co-go { margin-top: 5px; padding: 12px; }
