/* Mir World Booking — front-end shortcode styles.
   Uses the same tokens as the theme (kept self-contained so shortcodes
   still look right even if used with a different theme). */
.mw-ticket, .mw-ask-box, .mw-track-box, .mw-cert-card, .mw-contact-grid{
  --mw-ink:#0E1B33; --mw-paper:#F6F1E4; --mw-amber:#E7A33E; --mw-amber-deep:#C97E1E;
  --mw-green:#1E6E4C; --mw-vermilion:#C13B2C; --mw-border:rgba(14,27,51,.12);
  font-family: 'Plus Jakarta Sans','Hind Siliguri',sans-serif; color:#1B2A41;
}
.mw-ticket{ background:#fff; border:1px solid var(--mw-border); border-radius:20px; box-shadow:0 12px 32px -14px rgba(14,27,51,.28); padding:28px; max-width:760px; margin:0 auto; }
.mw-tabs{ display:flex; gap:8px; margin-bottom:20px; }
.mw-tab{ padding:9px 18px; border-radius:999px; font-weight:700; font-size:14px; border:1.5px solid var(--mw-border); color:#5B6B87; background:#fff; cursor:pointer; }
.mw-tab.active{ background:var(--mw-ink); color:#fff; border-color:var(--mw-ink); }
.mw-field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mw-field{ position:relative; }
.mw-field.mw-full{ grid-column:1/-1; }
.mw-field label{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#5B6B87; margin-bottom:6px; }
.mw-field input, .mw-field select, .mw-field textarea{ width:100%; padding:11px 13px; border-radius:10px; border:1.5px solid var(--mw-border); font-size:15px; background:var(--mw-paper); }
.mw-field input:focus, .mw-field select:focus, .mw-field textarea:focus{ outline:none; border-color:var(--mw-amber); background:#fff; }
.mw-autocomplete{ position:absolute; top:100%; left:0; right:0; background:#fff; border:1px solid var(--mw-border); border-radius:10px; margin-top:6px; max-height:220px; overflow-y:auto; z-index:20; display:none; box-shadow:0 12px 30px -14px rgba(14,27,51,.3); }
.mw-autocomplete.show{ display:block; }
.mw-autocomplete button{ display:block; width:100%; text-align:left; padding:10px 14px; border:none; background:none; font-size:14px; border-bottom:1px solid var(--mw-border); cursor:pointer; }
.mw-autocomplete button:last-child{ border-bottom:none; }
.mw-autocomplete button:hover{ background:var(--mw-paper); }
.mw-actions{ margin-top:20px; display:flex; justify-content:flex-end; }
.mw-btn{ display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:999px; font-weight:700; font-size:15px; border:none; cursor:pointer; }
.mw-btn-amber{ background:var(--mw-amber); color:var(--mw-ink); }
.mw-btn-amber:hover{ background:var(--mw-amber-deep); }
.mw-msg{ margin-top:16px; padding:12px 16px; border-radius:10px; font-size:14.5px; font-weight:600; display:none; }
.mw-msg.show{ display:block; }
.mw-msg.ok{ background:#DCEEE3; color:var(--mw-green); }
.mw-msg.err{ background:#FBE3E0; color:var(--mw-vermilion); }

.mw-ask-box{ background:#fff; border:1px solid var(--mw-border); border-radius:20px; padding:28px; max-width:640px; margin:0 auto; }

.mw-track-box{ background:var(--mw-ink); border-radius:20px; padding:32px; color:#fff; max-width:760px; margin:0 auto; }
.mw-track-box label{ font-family:monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#AEB8D0; }
.mw-track-form{ display:flex; gap:12px; margin-top:12px; flex-wrap:wrap; }
.mw-track-form input{ flex:1; min-width:200px; padding:13px 15px; border-radius:10px; border:1.5px solid #24365C; background:#172A4D; color:#fff; font-size:15px; }
.mw-track-results{ margin-top:22px; display:flex; flex-direction:column; gap:14px; }
.mw-track-card{ background:#172A4D; border:1px solid #24365C; border-radius:14px; padding:18px; }
.mw-track-card-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; align-items:center; }
.mw-badge{ font-family:monospace; font-size:11px; padding:5px 11px; border-radius:999px; text-transform:uppercase; font-weight:700; }
.mw-badge.pending{ background:rgba(231,163,62,.18); color:var(--mw-amber); }
.mw-badge.processing{ background:rgba(74,100,130,.28); color:#B9C6DA; }
.mw-badge.confirmed{ background:rgba(76,215,135,.16); color:#7CD8A6; }
.mw-badge.refunded, .mw-badge.cancelled{ background:rgba(193,59,44,.18); color:#FF9F91; }
.mw-progress{ display:flex; gap:5px; margin-top:14px; }
.mw-progress i{ flex:1; height:6px; border-radius:4px; background:#24365C; }
.mw-progress i.done{ background:var(--mw-amber); }
.mw-track-meta{ margin-top:12px; font-size:13px; color:#AEB8D0; display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; }
.mw-track-meta b{ display:block; color:#fff; margin-top:2px; }
.mw-track-remark{ margin-top:12px; padding:10px 13px; border-radius:10px; background:rgba(231,163,62,.08); border:1px solid rgba(231,163,62,.25); font-size:13.5px; }

.mw-cert-card{ background:#fff; border:2px solid var(--mw-ink); border-radius:16px; padding:28px; max-width:560px; margin:0 auto; }
.mw-cert-head{ font-family:serif; font-weight:700; text-align:center; letter-spacing:.03em; padding-bottom:16px; margin-bottom:16px; border-bottom:2px solid var(--mw-ink); }
.mw-cert-table{ width:100%; border-collapse:collapse; }
.mw-cert-table td{ padding:9px 4px; border-bottom:1px dashed var(--mw-border); font-size:14.5px; }
.mw-cert-table td:first-child{ color:#5B6B87; width:45%; }
.mw-cert-table td:last-child{ font-weight:700; text-align:right; }
.mw-cert-note{ margin-top:16px; font-size:12.5px; color:#5B6B87; line-height:1.6; }

.mw-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mw-contact-item{ display:flex; align-items:flex-start; gap:14px; background:#fff; border:1px solid var(--mw-border); border-radius:14px; padding:18px; }
.mw-contact-item .mw-ic{ width:38px; height:38px; border-radius:10px; background:var(--mw-paper); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mw-contact-item b{ display:block; font-size:14.5px; }
.mw-contact-item span span{ font-size:13.5px; color:#5B6B87; }

.mw-marquee{ background:var(--mw-amber,#E7A33E); overflow:hidden; height:38px; }
.mw-marquee-track{ display:flex; align-items:center; height:100%; white-space:nowrap; animation:mw-marquee 24s linear infinite; }
.mw-marquee-track span{ padding:0 26px; font-size:12.5px; font-weight:700; color:#0E1B33; }
@keyframes mw-marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

.mw-wa-float{ position:fixed; right:20px; bottom:20px; width:56px; height:56px; border-radius:50%; background:#1EBE5D; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 10px 24px -6px rgba(30,190,93,.55); z-index:9999; text-decoration:none; }

@media (max-width:640px){
  .mw-field-grid{ grid-template-columns:1fr; }
  .mw-contact-grid{ grid-template-columns:1fr; }
}
