/* FOOD VIBES — customer login V90, self-contained desktop/mobile design.
   Only targets body.fv90-login: other site pages remain unchanged.
   Uses the restaurant's saved theme_mode via data-fv-login-theme. */
html body.fv45-google-only.fv90-login[data-fv-login-theme="dark"] {
    --fv90-page:#0d1b26;
    --fv90-card:#172b36;
    --fv90-card-edge:#36505e;
    --fv90-text:#f3f8fc;
    --fv90-muted:#bed0dc;
    --fv90-soft:#203945;
    --fv90-panel:#1b3440;
    --fv90-panel-edge:#385766;
    --fv90-link:#85d8ff;
    --fv90-accent:#76cbfa;
    --fv90-divider:#39515f;
    --fv90-badge:#254354;
    color-scheme:dark;
}
html body.fv45-google-only.fv90-login[data-fv-login-theme="light"] {
    --fv90-page:#ecf4fa;
    --fv90-card:#ffffff;
    --fv90-card-edge:#e0eaf2;
    --fv90-text:#162f3c;
    --fv90-muted:#567182;
    --fv90-soft:#edf6fc;
    --fv90-panel:#f4f9fd;
    --fv90-panel-edge:#dae8f1;
    --fv90-link:#075f93;
    --fv90-accent:#0b7bb5;
    --fv90-divider:#dfe9ef;
    --fv90-badge:#e9f4fc;
    color-scheme:light;
}
html body.fv45-google-only.fv90-login {
    position:relative;
    isolation:isolate;
    background-image:radial-gradient(ellipse at 6% 9%,rgba(52,143,188,.17),transparent 43%),
                     radial-gradient(ellipse at 89% 93%,rgba(42,124,168,.14),transparent 40%) !important;
    background-color:var(--fv90-page) !important;
    color:var(--fv90-text) !important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif !important;
    line-height:1.5;
}
html body.fv45-google-only.fv90-login > main.auth-card.fv90-shell {
    display:grid !important;
    grid-template-columns:minmax(0, .88fr) minmax(0, 1fr);
    align-items:stretch;
    padding:0 !important;
    width:min(100%, 910px) !important;
    max-width:910px !important;
    min-height:588px;
    overflow:hidden;
    border:1px solid var(--fv90-card-edge) !important;
    border-radius:26px !important;
    background:var(--fv90-card) !important;
    color:var(--fv90-text) !important;
    box-shadow:0 30px 80px rgba(6,24,39,.24) !important;
}
body.fv90-login .fv90-promo {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:34px 32px;
    background:linear-gradient(145deg,#18374d 0%,#125071 58%,#1074a0 135%);
    color:#f7fcff !important;
}
body.fv90-login .fv90-promo::before,
body.fv90-login .fv90-promo::after {
    content:"";
    position:absolute;
    z-index:-1;
    border-radius:50%;
    pointer-events:none;
    border:1px solid rgba(201,235,255,.14);
}
body.fv90-login .fv90-promo::before {width:410px;height:410px;right:-260px;top:30%;box-shadow:0 0 0 54px rgba(175,226,255,.045),0 0 0 108px rgba(175,226,255,.025)}
body.fv90-login .fv90-promo::after {width:230px;height:230px;left:-130px;top:-120px}
body.fv90-login .fv90-promo-logo {
    display:inline-flex;
    width:max-content;
    color:#fff !important;
    font-size:21px;
    font-weight:850;
    letter-spacing:.025em;
    text-decoration:none;
}
body.fv90-login .fv90-promo-content {position:relative;margin:55px 0}
body.fv90-login .fv90-promo-tag {
    font-weight:750;
    font-size:.67rem;
    letter-spacing:.16em;
    color:#b3e6ff;
}
html body.fv90-login .fv90-promo h2 {
    color:#fff !important;
    font-size:clamp(2.15rem,4vw,3rem);
    line-height:1.12;
    letter-spacing:-.045em;
    margin:18px 0 17px;
    font-weight:820;
}
body.fv90-login .fv90-promo p {
    max-width:300px;
    color:#d9edf9 !important;
    line-height:1.7;
    font-size:.94rem;
    margin:0;
}
body.fv90-login .fv90-promo-highlights {display:grid;gap:15px;margin-top:35px}
body.fv90-login .fv90-promo-highlights > span {display:flex;align-items:center;gap:11px;font-size:.86rem;color:#f1f9ff}
body.fv90-login .fv90-promo-highlights span span {display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(188,230,255,.18);color:#d1f2ff;font-weight:800;flex-shrink:0}
body.fv90-login .fv90-promo-foot {color:#c3e7f8;letter-spacing:.15em;font-weight:700;font-size:.66rem}

body.fv90-login .fv90-form {display:flex;flex-direction:column;min-width:0;padding:31px 39px 23px;color:var(--fv90-text)}
body.fv90-login .fv90-header {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px}
body.fv90-login .fv90-mobile-logo {display:none}
body.fv90-login .fv90-header-badge {
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:100px;
    padding:7px 12px;
    border:1px solid var(--fv90-panel-edge);
    color:var(--fv90-link) !important;
    background:var(--fv90-badge) !important;
    font-size:.66rem;
    font-weight:800;
    white-space:nowrap;
    letter-spacing:.10em;
    margin-left:auto;
}
body.fv90-login .fv90-inner {margin:auto 0;padding:38px 0 31px}
html body.fv90-login .fv90-eyebrow {
    display:flex;align-items:center;gap:9px;
    margin:0 0 9px !important;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.13em;
    color:var(--fv90-accent) !important;
}
body.fv90-login .fv90-dot{height:7px;width:7px;border-radius:50%;background:var(--fv90-accent)}
html body.fv90-login .fv90-form h1 {
    margin:0 0 12px !important;
    color:var(--fv90-text) !important;
    font-size:clamp(2rem,3.8vw,2.62rem) !important;
    font-weight:820;
    line-height:1.15;
    letter-spacing:-.05em;
}
html body.fv90-login .fv90-title-dot {color:var(--fv90-accent) !important}
html body.fv90-login .fv90-desc {
    margin:0 0 26px !important;
    color:var(--fv90-muted) !important;
    font-size:.93rem;
    line-height:1.67;
}
html body.fv90-login .fv90-google-panel {
    border:1px solid var(--fv90-panel-edge) !important;
    border-radius:16px !important;
    padding:21px 18px 17px !important;
    background:var(--fv90-panel) !important;
}
html body.fv90-login .fv90-panel-label {margin:0 0 5px !important;color:var(--fv90-text) !important;font-size:.72rem;letter-spacing:.095em;font-weight:800}
html body.fv90-login .fv90-panel-intro {margin:0 !important;color:var(--fv90-muted) !important;font-size:.85rem;opacity:1 !important;line-height:1.6}
html body.fv90-login .fv-google-signin{margin:15px 0 0 !important}
html body.fv90-login .fv-google-signin .fv-google-divider{display:none!important}
html body.fv90-login .fv-google-widget{min-height:45px;gap:0}
/* Keep Google's actual branded control intact: no clipping or overlays. */
html body.fv90-login .fv-google-button{
    display:flex !important;
    justify-content:center;
    align-items:center;
    width:100% !important;
    max-width:100% !important;
    min-height:44px;
    margin:0 auto;
    background:transparent !important;
    overflow:visible !important;
    border-radius:0;
    line-height:normal;
    color-scheme:normal !important;
}
html body.fv90-login .fv-google-button iframe{
    display:block !important;
    max-width:100% !important;
    border:0 !important;
    background:transparent !important;
    clip-path:none !important;
    -webkit-clip-path:none !important;
    filter:none !important;
    opacity:1 !important;
    color-scheme:normal !important;
}
html body.fv90-login .fv-google-error {line-height:1.5;color:#ee808c !important;font-size:.85rem;opacity:1}
html body.fv90-login .fv-google-help {font-size:.85rem;color:var(--fv90-muted)!important;opacity:1}
html body.fv90-login .fv90-register {
    font-size:.9rem;
    margin:23px 0 0 !important;
    text-align:center;
    color:var(--fv90-muted) !important;
}
html body.fv90-login :is(.fv90-register a,.fv90-recovery a,.fv90-footer a,.fv90-notice a){
    color:var(--fv90-link) !important;
    font-weight:700;
    text-decoration:none;
}
html body.fv90-login :is(.fv90-register a,.fv90-recovery a,.fv90-footer a,.fv90-notice a):hover {text-decoration:underline;text-underline-offset:3px}
html body.fv90-login .fv90-trust {
    display:flex;align-items:flex-start;gap:10px;
    border-top:1px solid var(--fv90-divider);
    margin-top:26px;padding-top:18px;
    font-size:.79rem;
    color:var(--fv90-muted);
    line-height:1.55;
}
body.fv90-login .fv90-lock {display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;background:var(--fv90-badge);color:var(--fv90-link);font-size:.82rem;font-weight:750}
html body.fv90-login .fv90-recovery {margin:13px 0 0!important;text-align:left;color:var(--fv90-muted)!important;font-size:.8rem;line-height:1.5}
html body.fv90-login .fv90-footer {
    display:flex;justify-content:space-between;align-items:center;
    flex-direction:row;gap:12px;
    margin:0 !important;
    padding:20px 0 0 !important;
    border-top:1px solid var(--fv90-divider) !important;
    font-size:.8rem;
}
html body.fv90-login .fv90-footer a {font-weight:600}
html body.fv90-login .fv90-notice {background:var(--fv90-soft)!important;color:var(--fv90-text)!important;border:1px solid var(--fv90-panel-edge)!important;margin:0 0 20px}
html body.fv90-login .fv56-login-intent {margin:0 0 18px !important;border-color:var(--fv90-panel-edge)!important;background:var(--fv90-panel)!important;color:var(--fv90-text)!important}
html body.fv90-login .fv56-login-intent strong {color:var(--fv90-text)!important}
html body.fv90-login .fv56-login-intent small {color:var(--fv90-muted)!important}
html body.fv90-login :is(a,button):focus-visible {outline:3px solid var(--fv90-accent)!important;outline-offset:3px}

@media(max-width:760px) {
    html body.fv45-google-only.fv90-login > main.auth-card.fv90-shell {display:block!important;width:min(100%,510px)!important;min-height:0!important;border-radius:23px!important}
    html body.fv90-login .fv90-promo {display:none}
    html body.fv90-login .fv90-form {padding:27px 28px 22px}
    html body.fv90-login .fv90-mobile-logo {display:inline-flex!important;color:var(--fv90-text)!important;font-size:1.16rem;font-weight:850;text-decoration:none;line-height:1.2}
    html body.fv90-login .fv90-header-badge {font-size:.61rem;padding:6px 10px}
    html body.fv90-login .fv90-inner {padding:30px 0 26px}
}
@media(max-width:440px) {
    html body.fv45-google-only.fv90-login > main.auth-card.fv90-shell {border-radius:20px!important}
    html body.fv90-login .fv90-form {padding:24px 20px 20px}
    html body.fv90-login .fv90-inner {padding:28px 0 23px}
    html body.fv90-login .fv90-form h1 {font-size:2rem!important}
    html body.fv90-login .fv90-google-panel {padding:18px 10px 14px!important}
    html body.fv90-login .fv90-footer {gap:8px;font-size:.76rem}
    html body.fv90-login .fv90-desc {margin-bottom:23px!important}
}
@media(max-width:350px) {
    html body.fv90-login .fv90-form {padding:22px 15px 19px}
    html body.fv90-login .fv90-header-badge {font-size:.56rem;padding:6px}
    html body.fv90-login .fv90-footer {flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){body.fv90-login *{transition:none!important}}
