/* Royal Raj — guest reservation. Luxe navy + brass to sit alongside rr.void.bd. */
:root{
  --navy-900:#06182F; --navy-800:#0A2140; --navy-700:#123057;
  --brass:#C6A15B; --brass-bright:#E7CD92; --brass-soft:rgba(198,161,91,.14); --brass-line:rgba(198,161,91,.4);
  --ivory:#F4F0E7; --paper:#FBF9F3; --card:#fff;
  --ink:#1E2636; --ink-2:#3C4557; --muted:#7C879B; --line:#E8E2D4; --line-strong:#DAD2BF;
  --ok:#1E7F55; --ok-bg:#E6F1EB; --warn:#A9720F; --warn-bg:#F8EED7; --rose:#A93646; --rose-bg:#F6E3E5;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);
  background:var(--ivory);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.serif{font-family:"Cormorant Garamond",Georgia,serif}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}

/* header */
.g-head{background:var(--navy-900);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(198,161,91,.25)}
.g-head .wrap{display:flex;align-items:center;gap:14px;height:70px}
.brandmark{width:44px;height:44px;flex:none;border-radius:11px;object-fit:cover;
  border:1.5px solid var(--brass-line);background:var(--navy-900);
  box-shadow:0 2px 8px rgba(6,24,47,.35)}
.g-head .bn{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:700;line-height:1}
.g-head .bn small{display:block;font-family:"Manrope";font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-top:3px}
.g-head .links{margin-left:auto;display:flex;gap:22px;align-items:center;font-size:14px}
.g-head .links a{color:#CBD4E2}.g-head .links a:hover{color:var(--brass-bright)}
.g-head .links .home{border:1px solid var(--brass-line);padding:8px 16px;border-radius:8px;color:#fff}

/* hero */
.hero{position:relative;color:#fff;padding:70px 0 130px;text-align:center;overflow:hidden;
  background:linear-gradient(160deg,var(--navy-800),var(--navy-900))}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(60% 80% at 50% -10%,rgba(198,161,91,.16),transparent 60%);pointer-events:none}
.hero .eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(38px,6vw,60px);font-weight:700;line-height:1.02;margin:0}
.hero p{color:#C4CDDC;max-width:44ch;margin:16px auto 0;font-size:16px}
.hr-orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 0;color:var(--brass)}
.hr-orn::before,.hr-orn::after{content:"";height:1px;width:52px;background:var(--brass-line)}
.hr-orn span{font-size:12px}

/* booking card floats over hero */
.book-shell{margin-top:-92px;position:relative;z-index:10;display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start;padding-bottom:70px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 20px 50px -24px rgba(6,24,47,.5);overflow:hidden}
.card-h{padding:20px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.card-h h2{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:700;margin:0}
.card-h .step{margin-left:auto;font-size:12px;color:var(--muted);letter-spacing:.03em}
.card-body{padding:24px 26px}

/* rooms as selectable ledger cards */
.rooms{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.room{display:flex;gap:16px;padding:12px;border:1px solid var(--line-strong);border-radius:13px;cursor:pointer;transition:.15s;background:var(--paper);position:relative}
.room:hover{border-color:var(--brass)}
.room.sel{border-color:var(--brass);background:#fff;box-shadow:0 0 0 3px var(--brass-soft)}
.room input{position:absolute;opacity:0;pointer-events:none}
.room .thumb{width:104px;height:82px;border-radius:9px;object-fit:cover;flex:none;background:var(--navy-800)}
.room .rb{flex:1;min-width:0}
.room .rb h3{font-family:"Cormorant Garamond",serif;font-size:21px;font-weight:700;margin:0;line-height:1.1}
.room .rb p{font-size:12.5px;color:var(--muted);margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.room .meta{display:flex;gap:14px;margin-top:7px;font-size:12px;color:var(--ink-2);align-items:center}
.room .meta .cap{display:flex;align-items:center;gap:5px}
.room .price{text-align:right;flex:none;padding-left:6px;display:flex;flex-direction:column;justify-content:center}
.room .price b{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:700;color:var(--navy-800);white-space:nowrap}
.room .price b .cur{font-family:"Manrope";font-size:12px;color:var(--muted);font-weight:600}
.room .price span{font-size:11px;color:var(--muted)}
.room .tick{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--brass);
  color:#2A1E06;display:none;place-items:center;font-size:13px;font-weight:800}
.room.sel .tick{display:grid}

/* form */
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.f-row-3{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.field{margin-bottom:15px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  padding:12px 13px;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);outline:none;transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-soft);background:#fff}
.field-error{color:var(--rose);font-size:12px;margin-top:5px;font-weight:500}
.val-summary{background:var(--rose-bg);border:1px solid #EBCACF;color:var(--rose);padding:11px 15px;border-radius:10px;margin-bottom:16px;font-size:13.5px}
.val-summary ul{margin:6px 0 0;padding-left:18px}

/* summary aside */
.summary{position:sticky;top:90px}
.summary .card-body{padding:22px 24px}
.sum-room{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:700;line-height:1.1}
.sum-sub{color:var(--muted);font-size:13px;margin-bottom:16px}
.sum-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px}
.sum-line span{color:var(--ink-2)}.sum-line b{font-weight:600}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;margin-top:6px}
.sum-total span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sum-total b{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:700;color:var(--navy-800)}
.sum-total b .cur{font-family:"Manrope";font-size:15px;color:var(--muted);font-weight:600}
.avail-tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.04em;
  padding:5px 11px;border-radius:999px;margin-bottom:14px}
.avail-tag.ok{color:var(--ok);background:var(--ok-bg)}
.avail-tag.no{color:var(--rose);background:var(--rose-bg)}
.avail-tag.warn{color:var(--warn);background:var(--warn-bg)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;font-family:inherit;
  font-size:15px;font-weight:700;padding:14px 20px;border-radius:11px;border:none;cursor:pointer;transition:.15s}
.btn-gold{background:linear-gradient(180deg,#CFAA63,var(--brass));color:#2A1E06;box-shadow:0 4px 14px -4px rgba(160,120,40,.5)}
.btn-gold:hover{filter:brightness(1.06)}
.reassure{font-size:12px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.5}

/* confirmation & status */
.slab{max-width:720px;margin:56px auto;padding:0 22px}
.conf-card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 20px 50px -26px rgba(6,24,47,.4)}
.conf-top{background:linear-gradient(150deg,var(--navy-700),var(--navy-900));color:#fff;padding:40px 40px 34px;text-align:center;position:relative}
.conf-top .check{width:64px;height:64px;border-radius:50%;border:2px solid var(--brass);display:grid;place-items:center;margin:0 auto 16px;color:var(--brass-bright)}
.conf-top h1{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:700;margin:0}
.conf-top p{color:#C4CDDC;margin:8px 0 0}
.conf-code{display:inline-flex;flex-direction:column;align-items:center;margin-top:20px;background:rgba(198,161,91,.12);
  border:1px dashed var(--brass-line);border-radius:12px;padding:12px 26px}
.conf-code small{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.conf-code b{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:700;letter-spacing:.08em;color:#fff}
.conf-body{padding:32px 40px 36px}
.conf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.conf-grid .field-ro{padding:12px 0;border-bottom:1px solid var(--line)}
.conf-grid .field-ro .k{font-size:12px;color:var(--muted)}
.conf-grid .field-ro .v{font-weight:600;margin-top:2px}
.conf-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;padding-top:18px;border-top:2px solid var(--navy-800)}
.conf-total .v{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:700;color:var(--navy-800)}
.conf-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.conf-actions .btn{width:auto;flex:1;min-width:160px}
.btn-ghost{background:#fff;border:1px solid var(--line-strong);color:var(--ink-2)}
.btn-ghost:hover{border-color:var(--brass);color:var(--navy-700)}
.note{font-size:13px;color:var(--muted);background:var(--paper);border-radius:12px;padding:16px 18px;margin-top:24px;border:1px solid var(--line)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.pending{color:var(--warn);background:var(--warn-bg)}.pill.confirmed{color:var(--ok);background:var(--ok-bg)}
.pill.checkedin{color:#2C6890;background:#E3EDF4}.pill.checkedout{color:var(--muted);background:#EFEDE6}.pill.cancelled{color:var(--rose);background:var(--rose-bg)}

.status-search{display:flex;gap:10px;margin-bottom:26px}
.status-search input{flex:1;font-family:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;outline:none;text-transform:uppercase;letter-spacing:.06em}
.status-search input:focus{border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-soft)}
.status-search .btn{width:auto;padding:14px 24px}

.g-foot{background:var(--navy-900);color:#8794A8;text-align:center;padding:28px 22px;font-size:13px;border-top:1px solid rgba(198,161,91,.2)}
.g-foot a{color:var(--brass)}

@media (max-width:900px){
  .book-shell{grid-template-columns:1fr;margin-top:-70px}
  .summary{position:static}
  .conf-grid{grid-template-columns:1fr}
  .g-head .links a:not(.home){display:none}
}
@media (max-width:520px){
  .f-row,.f-row-3{grid-template-columns:1fr}
  .room .thumb{width:78px;height:78px}
  .conf-body,.conf-top{padding-left:22px;padding-right:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
