/* Rail Café — root design tokens, base reset & shared primitives (rc-*) */
@font-face{font-family:"IranianSans";src:url("../../fonts/Iranian-Sans.ttf") format("truetype");font-weight:400 700;font-style:normal;font-display:swap}

:root{
    /* --- palette --- */
    --rc-blue:#007FFF;--rc-blue-deep:#0069D9;--rc-blue-darker:#0059B2;--rc-navy:#003F7D;--rc-sky:#B9E3FF;--rc-mist:#EAF7FF;
    --rc-ink:#0A0E14;--rc-steel:#1A1F28;--rc-chrome:#2A3140;--rc-silver:#C5CCD8;--rc-white:#F4F7FB;--rc-muted:#8A93A3;
    --rc-line:rgba(185,227,255,.14);--rc-glass:rgba(26,31,40,.72);--rc-mid:var(--rc-muted);--rc-border:var(--rc-line);
    --rc-surface:rgba(26,31,40,.62);--rc-overlay:rgba(6,9,14,.88);

    /* --- shape / motion --- */
    --rc-r-sm:12px;--rc-r-md:18px;--rc-r-lg:28px;--rc-r-xl:44px;--rc-r-pill:999px;
    --rc-shadow:0 30px 80px rgba(0,10,20,.5);--rc-shadow-sm:0 10px 30px rgba(0,10,20,.35);
    --rc-glow:0 0 0 4px rgba(0,127,255,.16);--rc-blue-glow:0 0 0 3px rgba(0,127,255,.22);
    --rc-transition:.5s cubic-bezier(.22,1,.36,1);--rc-transition-fast:.25s cubic-bezier(.22,1,.36,1);

    /* --- type --- */
    --rc-font-display:"Outfit","IranianSans",Tahoma,sans-serif;--rc-font-body:"IranianSans","Outfit",Tahoma,sans-serif;

    /* --- layout --- */
    --rc-header-h:76px;--rc-nav-h:88px;--rc-board-h:0px;--rc-safe-bottom:env(safe-area-inset-bottom,0px);

    /* --- legacy aliases: keep copied my-orders.css / mn-login / mn-reservation markup working --- */
    --mn-space:var(--rc-ink);--mn-charcoal:var(--rc-steel);--mn-stone:var(--rc-chrome);--mn-basalt:var(--rc-steel);
    --mn-silver:var(--rc-silver);--mn-white:var(--rc-white);--mn-gold:var(--rc-blue);--mn-earth:var(--rc-sky);
    --mn-muted:var(--rc-muted);--mn-line:var(--rc-line);--mn-glass:var(--rc-glass);--mn-shadow:var(--rc-shadow);
    --mn-r-sm:var(--rc-r-sm);--mn-r-md:var(--rc-r-md);--mn-r-lg:var(--rc-r-lg);--mn-r-xl:var(--rc-r-xl);--mn-r-pill:var(--rc-r-pill);
    --mn-font-display:var(--rc-font-display);--mn-font-body:var(--rc-font-body);
    --mn-header-h:var(--rc-header-h);--mn-nav-h:var(--rc-nav-h);--mn-safe-bottom:var(--rc-safe-bottom);--mn-transition:var(--rc-transition);

    --flr-bg:var(--mn-space);--flr-surface:var(--mn-stone);--flr-border:var(--mn-line);--flr-border-strong:var(--mn-silver);
    --flr-text:var(--mn-white);--flr-text-muted:var(--mn-muted);--flr-champagne:var(--mn-white);--flr-gold:var(--mn-gold);
    --flr-glass-bg:var(--mn-glass);--flr-radius-sm:var(--mn-r-sm);--flr-radius:var(--mn-r-md);--flr-radius-pill:var(--mn-r-pill);
    --flr-transition:var(--mn-transition);--flr-shadow:var(--mn-shadow);--flr-shadow-gold:0 0 45px rgba(0,127,255,.16);
    --flr-overlay:rgba(6,9,14,.86);--flr-font:var(--mn-font-body);

    --mo-bg:var(--mn-space);--mo-surface:var(--mn-stone);--mo-border:var(--mn-line);--mo-amber:var(--mn-gold);
    --mo-text:var(--mn-white);--mo-muted:var(--mn-muted);--mo-radius:var(--mn-r-md);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;background:var(--rc-ink)}
body.rc-body{margin:0;min-height:100dvh;background:var(--rc-ink);color:var(--rc-silver);font:400 1rem/1.8 var(--rc-font-body)}
.rc-body,.rc-body button,.rc-body input,.rc-body textarea,.rc-body select{font-family:var(--rc-font-body)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit}
.hidden,.is-hidden{display:none!important}
::selection{background:var(--rc-blue);color:#fff}

.rc-container{width:min(1180px,calc(100% - 2rem));margin-inline:auto}
.rc-main{position:relative;z-index:1;min-height:80dvh;padding-bottom:calc(var(--rc-nav-h) + var(--rc-safe-bottom));isolation:isolate}

.rc-kicker{display:inline-flex;align-items:center;gap:.55rem;color:var(--rc-blue);font:600 .68rem var(--rc-font-display);letter-spacing:.2em;text-transform:uppercase}
.rc-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}

.rc-signal{margin:.75rem 0;color:var(--rc-white);font:600 clamp(2.4rem,7vw,5.6rem)/1.1 var(--rc-font-display);letter-spacing:-.03em}
.rc-lead{max-width:52ch;margin:.8rem 0;color:var(--rc-muted);font-size:clamp(.95rem,2vw,1.1rem);line-height:1.9}

.rc-section-head{margin-bottom:2.2rem}
.rc-section-head h2{max-width:700px;margin:.6rem 0 .35rem;color:var(--rc-white);font:600 clamp(1.6rem,4vw,2.9rem)/1.25 var(--rc-font-display);letter-spacing:-.02em}
.rc-section-head p{margin:0;color:var(--rc-muted)}

.rc-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;padding:.75rem 1.5rem;overflow:hidden;border:1px solid var(--rc-line);border-radius:var(--rc-r-pill);background:linear-gradient(145deg,rgba(244,247,251,.08),rgba(244,247,251,.02));color:var(--rc-white);font:600 .84rem var(--rc-font-body);cursor:pointer;transition:transform var(--rc-transition),border-color var(--rc-transition),background var(--rc-transition),box-shadow var(--rc-transition)}
.rc-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(244,247,251,.16),transparent 70%);transform:translateX(-120%);transition:transform .8s ease}
.rc-btn:hover{transform:translateY(-2px);border-color:rgba(197,204,216,.4)}
.rc-btn:hover::after{transform:translateX(120%)}
.rc-btn:focus-visible{outline:2px solid var(--rc-blue);outline-offset:2px}
.rc-btn--solid,.rc-btn--fill{border-color:var(--rc-blue);background:linear-gradient(155deg,var(--rc-blue),var(--rc-blue-deep) 60%,var(--rc-blue-darker));color:#fff;box-shadow:0 16px 34px rgba(0,127,255,.28)}
.rc-btn--solid:hover,.rc-btn--fill:hover{box-shadow:0 20px 44px rgba(0,127,255,.4)}
.rc-btn--line{border-color:rgba(185,227,255,.35);color:var(--rc-sky);background:transparent}
.rc-btn--line:hover{border-color:var(--rc-blue);color:#fff}

.rc-input,.rc-body .form-control,.rc-body .form-select{width:100%;min-height:50px;padding:.72rem 1rem;border:1px solid var(--rc-line);border-radius:var(--rc-r-sm);background:var(--rc-surface);color:var(--rc-white);outline:0;font:400 .9rem/1.5 var(--rc-font-body);transition:border-color var(--rc-transition),box-shadow var(--rc-transition),background var(--rc-transition)}
.rc-input--area,textarea.rc-input{min-height:90px;padding-top:.85rem;resize:vertical}
.rc-input:focus,.rc-body .form-control:focus,.rc-body .form-select:focus{border-color:var(--rc-blue);box-shadow:var(--rc-blue-glow);background:rgba(10,14,20,.75)}
.rc-input::placeholder{color:#5c6472}
.rc-body label,.rc-body .form-label{color:var(--rc-silver)}

.rc-empty{width:min(560px,calc(100% - 2rem));margin:2rem auto;padding:3rem 1.25rem;border:1px dashed var(--rc-line);border-radius:var(--rc-r-lg);background:rgba(185,227,255,.03);color:var(--rc-muted);text-align:center}
.rc-empty img{width:76px;margin:0 auto .9rem;opacity:.55}

body.flr-nav-open{overflow:hidden}

@media(min-width:961px){:root{--rc-nav-h:0px}.rc-main{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
