/* QRAVM Web Experience v40.0 — public surfaces only */
:root{
  --web-ink:#0b172a;
  --web-muted:#64748b;
  --web-bg:#f4f7fb;
  --web-surface:#ffffff;
  --web-navy:#07192d;
  --web-navy-2:#0c2742;
  --web-teal:#13c8a3;
  --web-teal-dark:#079477;
  --web-coral:#ff6b4a;
  --web-blue:#1677ff;
  --web-line:#dce6ef;
  --web-shadow:0 20px 60px rgba(10,31,55,.10);
  --web-shadow-lg:0 32px 90px rgba(5,24,45,.18);
  --web-radius:22px;
}

body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body){
  color:var(--web-ink);
  background:
    radial-gradient(circle at 8% -8%,rgba(19,200,163,.10),transparent 28rem),
    radial-gradient(circle at 100% 10%,rgba(22,119,255,.09),transparent 34rem),
    var(--web-bg);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) ::selection{background:rgba(19,200,163,.24);color:#041625}
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) :focus-visible{outline:3px solid rgba(22,119,255,.28);outline-offset:3px}
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) h1,
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) h2,
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) h3{color:inherit;letter-spacing:-.035em}

/* Shared public navigation */
.public-nav{position:sticky;top:0;z-index:80;border-bottom:1px solid rgba(220,230,239,.82);background:rgba(255,255,255,.86);backdrop-filter:blur(20px) saturate(150%)}
.public-nav-inner{width:min(1240px,calc(100% - 40px));min-height:76px;margin:auto;display:flex;align-items:center;gap:32px}
.public-nav .brand{padding:0;font-size:21px;color:var(--web-navy);letter-spacing:-.04em}
.public-nav .brand-mark{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,var(--web-teal),var(--web-blue));box-shadow:0 10px 28px rgba(22,119,255,.24)}
.public-nav nav{display:flex;align-items:center;gap:8px}
.public-nav nav a{padding:9px 12px;border-radius:11px;text-decoration:none;color:#435269;font-size:13px;font-weight:700;transition:.2s ease}
.public-nav nav a:hover{background:#eef4f8;color:var(--web-navy)}
.public-actions{margin-left:auto;display:flex;align-items:center;gap:9px}
.public-actions>span{color:var(--web-muted);font-size:12px}

body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) .btn{
  min-height:43px;border-radius:13px;padding:10px 17px;font-weight:800;letter-spacing:-.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease
}
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) .btn:hover{transform:translateY(-2px)}
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) .btn.primary{background:linear-gradient(135deg,var(--web-teal-dark),var(--web-teal));box-shadow:0 12px 25px rgba(7,148,119,.22);color:#fff}
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) .btn.primary:hover{box-shadow:0 16px 34px rgba(7,148,119,.30)}
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) .btn.soft{background:#e7f9f5;color:#08785f}
body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) .btn.ghost{border:1px solid var(--web-line);background:rgba(255,255,255,.8);color:var(--web-ink)}

/* Home / discovery */
.qhome-premium-body main{overflow:hidden}
.qhome-map-hero{position:relative;min-height:670px;padding:72px max(24px,calc((100vw - 1240px)/2));background:linear-gradient(125deg,#06172b 0%,#0a2c47 52%,#075e5b 100%);color:#fff;isolation:isolate}
.qhome-map-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 74% 42%,rgba(52,231,194,.20),transparent 27rem),linear-gradient(90deg,rgba(5,20,38,.28),transparent 55%)}
.qhome-map-hero:after{content:"";position:absolute;z-index:-1;width:400px;height:400px;border-radius:50%;right:-170px;top:-190px;border:80px solid rgba(255,255,255,.035)}
.qhome-map-hero h1,.directory-hero h1{font-size:clamp(42px,5.3vw,76px);line-height:.98;max-width:780px;margin:16px 0 24px;color:#fff}
.qhome-map-hero p,.directory-hero>div>p{max-width:650px;font-size:18px;line-height:1.72;color:#bdd0df}
.hero-chip,.qhome-map-hero .eyebrow{display:inline-flex;align-items:center;width:max-content;border:1px solid rgba(90,237,204,.3);border-radius:999px;padding:7px 12px;background:rgba(19,200,163,.12);color:#81f4dc;font-size:10px;font-weight:900;letter-spacing:.13em}
.directory-search,.location-directory-search{position:relative;z-index:2;margin-top:32px;padding:9px;display:flex;gap:8px;max-width:760px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 22px 55px rgba(0,0,0,.22)}
.directory-search input,.location-directory-search input,.location-directory-search select{min-width:0;min-height:50px;border:0!important;background:#f3f7fa!important;border-radius:12px!important;color:var(--web-ink)!important}
.directory-search .btn,.location-directory-search .btn{min-height:50px}
.qhome-map-card,.qhome-map-panel{border:1px solid rgba(255,255,255,.16)!important;border-radius:24px!important;overflow:hidden;box-shadow:var(--web-shadow-lg)!important}
.qhome-map-card iframe,.qhome-map-panel iframe{filter:saturate(.85) contrast(.98)}

.directory-section,.membership-section,.qhome-how,.qhome-section{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:82px 0}
.membership-section{scroll-margin-top:92px;padding-top:68px}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.section-title h2{font-size:clamp(28px,3.2vw,44px);margin:8px 0 5px;color:var(--web-navy)}
.section-title p{max-width:650px;color:var(--web-muted)}
.section-title>a{color:var(--web-teal-dark);font-weight:800;text-decoration:none}
.directory-grid,.qhome-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.directory-card,.qhome-business-card{position:relative;overflow:hidden;border:1px solid rgba(214,225,235,.92)!important;border-radius:var(--web-radius)!important;background:#fff!important;box-shadow:0 14px 40px rgba(11,35,60,.07)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.directory-card:hover,.qhome-business-card:hover{transform:translateY(-6px);border-color:rgba(19,200,163,.45)!important;box-shadow:0 24px 65px rgba(11,35,60,.14)!important}
.directory-card img,.qhome-business-card img{transition:transform .5s ease}
.directory-card:hover img,.qhome-business-card:hover img{transform:scale(1.035)}
.directory-card h3,.qhome-business-card h3{font-size:19px;color:var(--web-navy)}
.directory-card p,.qhome-business-card p{color:var(--web-muted)}

.qhome-how-grid,.membership-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.qhome-how-grid article,.membership-cards article{position:relative;border:1px solid var(--web-line);border-radius:24px;padding:28px;background:rgba(255,255,255,.88);box-shadow:0 14px 42px rgba(11,35,60,.07)}
.qhome-how-grid article>b{position:absolute;right:22px;top:18px;font-size:40px;color:#e4edf2}
.qhome-how-grid article>span,.membership-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#e7fbf6,#eaf2ff);font-size:27px}
.qhome-how-grid h3,.membership-cards h3{font-size:22px;margin:20px 0 8px;color:var(--web-navy)}
.qhome-how-grid p,.membership-cards p{color:var(--web-muted)}
.membership-cards article{display:flex;flex-direction:column;min-height:390px}
.membership-cards article>small{margin-top:18px;color:var(--web-teal-dark);font-weight:900;letter-spacing:.12em}
.membership-cards ul{list-style:none;padding:0;margin:10px 0 24px;color:#435269}
.membership-cards li{padding:7px 0;border-bottom:1px solid #edf2f5}
.membership-cards article>div:last-child{display:flex;gap:8px;margin-top:auto}
.business-membership{background:linear-gradient(160deg,#071a2e,#103b54)!important;color:#fff;border-color:transparent!important;transform:translateY(-10px)}
.business-membership h3{color:#fff}.business-membership p,.business-membership ul{color:#bdd0df}.business-membership li{border-color:rgba(255,255,255,.1)}
.business-cta{width:min(1240px,calc(100% - 40px));margin:20px auto 90px;padding:54px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;border-radius:32px;background:linear-gradient(135deg,#07182c,#0c334b 65%,#09655e);color:#fff;box-shadow:var(--web-shadow-lg)}
.business-cta h2{font-size:clamp(31px,4vw,52px);line-height:1.08;margin:10px 0 20px}
.business-cta p,.business-cta li{color:#bfd1df}.business-cta ul{list-style:none;padding:0}.business-cta li{padding:6px 0}
.cta-steps{display:flex;flex-direction:column;gap:11px}
.cta-steps>span{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.06)}
.cta-steps>span b{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--web-teal);color:#04271f}
.cta-steps em{font-style:normal;font-weight:700}.restaurant-signin-link{text-align:center;color:#a9c2d2;font-size:12px}

/* Business public profile */
.qbiz-wrap{width:min(1180px,calc(100% - 40px));margin:34px auto 80px}
.qbiz-rich .qbiz-hero,.business-page .business-profile-hero{border:0!important;border-radius:30px!important;overflow:hidden;box-shadow:var(--web-shadow-lg)!important}
.qbiz-rich .qbiz-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,17,31,.68),rgba(4,17,31,.1))}
.qbiz-rich :is(.qbiz-card,.qbiz-panel,.panel){border:1px solid var(--web-line);border-radius:22px;background:#fff;box-shadow:var(--web-shadow)}
.qbiz-rich :is(.qbiz-action,.qbiz-actions a){border-radius:13px;font-weight:800}
.qbiz-rich .qbiz-section-title h2{font-size:30px;color:var(--web-navy)}

/* Digital QR menu */
.menu-body{--menu-brand:var(--brand,var(--web-teal-dark));padding-bottom:110px;background:#f3f6f8!important}
.menu-site-nav{position:relative;background:#fff}
.qmenu-banner{position:relative;min-height:460px;border-radius:0 0 36px 36px!important;background-color:#09243c;background-size:cover;background-position:center;overflow:hidden;box-shadow:0 24px 70px rgba(7,25,45,.18)}
.qmenu-banner:not(.has-cover){background-image:radial-gradient(circle at 80% 10%,color-mix(in srgb,var(--accent) 38%,transparent),transparent 32rem),linear-gradient(135deg,#07192d,var(--brand))}
.qmenu-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,29,.78),rgba(4,16,29,.16));pointer-events:none}
.qmenu-banner-inner{position:relative;z-index:2;width:min(1160px,calc(100% - 40px));margin:auto;padding:30px 0 26px;color:#fff}
.qmenu-banner-nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.qmenu-brand-lockup{display:flex;align-items:center;gap:13px}.qmenu-brand-lockup small,.qmenu-brand-lockup b{display:block}.qmenu-brand-lockup small{color:#b7cddd}.qmenu-brand-lockup b{font-size:18px}
.menu-logo{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.6);border-radius:17px;background:#fff;color:var(--brand);font-size:23px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.menu-logo img{width:100%;height:100%;object-fit:cover}
.qmenu-banner-actions{display:flex;gap:8px}.qmenu-banner-actions :is(a,button){min-height:42px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(10px)}
.qmenu-banner-copy{max-width:760px;padding:64px 0 46px}.qmenu-banner-copy h1{font-size:clamp(43px,6vw,72px);line-height:1;margin:12px 0 18px}.qmenu-banner-copy p{font-size:17px;max-width:650px;color:#d4e1e9}.qmenu-location-line{display:flex;gap:12px;flex-wrap:wrap;color:#c6d8e3}.qmenu-location-line strong{color:#fff}
.qmenu-hero-badges{display:flex;gap:8px;flex-wrap:wrap}.qmenu-hero-badges span{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 11px;background:rgba(255,255,255,.1);font-size:11px;font-weight:800}.qmenu-hero-badges .open-pill{background:rgba(19,200,163,.18);color:#8dffe7}
.qmenu-profile-strip{display:grid;grid-template-columns:repeat(4,1fr) auto;border:1px solid rgba(255,255,255,.14);border-radius:19px;background:rgba(3,17,31,.54);backdrop-filter:blur(15px);overflow:hidden}
.qmenu-profile-strip>div{padding:15px 18px;border-right:1px solid rgba(255,255,255,.10)}.qmenu-profile-strip small,.qmenu-profile-strip b,.qmenu-profile-strip span{display:block}.qmenu-profile-strip small{font-size:8px;color:#88a7ba;letter-spacing:.13em}.qmenu-profile-strip b{margin:4px 0 1px}.qmenu-profile-strip span{font-size:10px;color:#a9bfcc}.qmenu-strip-action{display:grid;place-items:center!important}.qmenu-strip-action a{color:#7af1d7;font-weight:800;text-decoration:none}
.menu-search{position:relative;z-index:20;width:min(760px,calc(100% - 40px));margin:-26px auto 18px;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 18px;border:1px solid var(--web-line);border-radius:17px;background:#fff;box-shadow:0 18px 45px rgba(9,32,55,.13)}
.menu-search input{height:46px;border:0;outline:0;flex:1;font-size:15px}
.category-tabs{position:sticky;top:0;z-index:30;display:flex;gap:8px;width:min(1160px,calc(100% - 24px));margin:0 auto;padding:12px;overflow:auto;scrollbar-width:none;border:1px solid rgba(220,230,239,.9);border-radius:17px;background:rgba(255,255,255,.90);backdrop-filter:blur(18px)}
.category-tabs::-webkit-scrollbar{display:none}.category-tabs a{flex:0 0 auto;padding:10px 14px;border-radius:11px;color:#526174;text-decoration:none;font-size:12px;font-weight:800}.category-tabs a:hover,.category-tabs a.active{background:var(--brand);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 25%,transparent)}
.digital-menu{width:min(1160px,calc(100% - 40px));margin:34px auto 70px}
.digital-menu>section{scroll-margin-top:90px;margin-bottom:50px}
.menu-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.menu-section-head h2{font-size:30px;margin-bottom:4px;color:var(--web-navy)}.menu-section-head p{color:var(--web-muted);margin:0}.menu-section-head>span{padding:6px 10px;border-radius:999px;background:#e8efef;color:#536371;font-size:10px;font-weight:800}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.menu-product{position:relative;display:grid!important;grid-template-columns:128px minmax(0,1fr);min-height:190px;overflow:hidden;border:1px solid #dce5eb!important;border-radius:21px!important;background:#fff!important;box-shadow:0 12px 36px rgba(11,35,60,.07)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.menu-product:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--brand) 42%,#dce5eb)!important;box-shadow:0 20px 50px rgba(11,35,60,.13)!important}
.product-placeholder{height:100%!important;min-height:190px;background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 11%,#fff),color-mix(in srgb,var(--accent) 14%,#edf5f7))!important;border-radius:0!important}.product-placeholder img{width:100%;height:100%;object-fit:cover}.product-placeholder>span{font-size:36px!important;color:var(--brand)!important}.product-placeholder em{left:8px!important;right:auto!important;top:8px!important;border-radius:999px!important}
.menu-product-body{display:flex;flex-direction:column;min-width:0;padding:17px!important}.menu-product-body h3{font-size:17px;margin:6px 0;color:var(--web-navy)}.menu-product-body>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--web-muted);font-size:12px;line-height:1.45}.product-tags{display:flex;gap:4px;flex-wrap:wrap}.product-tags span{padding:3px 6px;border-radius:6px;background:#e8faf5!important;color:#087b63!important;font-size:7px!important;font-weight:900}.product-foot{display:flex;align-items:end;justify-content:space-between;margin-top:auto}.product-foot b{font-size:18px;color:var(--web-navy)}.product-foot del{display:block;color:#95a2af;font-size:10px}.add-product{width:100%;min-height:38px;margin-top:11px!important;border:0!important;border-radius:11px!important;background:var(--brand)!important;color:#fff!important;font-weight:900!important;cursor:pointer}.qfav-heart{right:9px!important;top:9px!important;width:36px!important;height:36px!important;border-radius:12px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.guest-service{border:1px solid var(--web-line)!important;border-radius:18px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 16px 44px rgba(7,25,45,.15)!important;backdrop-filter:blur(18px)}
.guest-service button{min-height:50px!important;border-radius:12px!important}
.cart-fab{right:22px!important;bottom:22px!important;min-width:220px!important;min-height:58px!important;border:0!important;border-radius:18px!important;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 65%,#06192d))!important;color:#fff!important;box-shadow:0 18px 42px color-mix(in srgb,var(--brand) 28%,transparent)!important}
.cart-drawer>section{width:min(470px,100%)!important;background:#fff!important;box-shadow:-20px 0 70px rgba(3,19,35,.24)!important}.cart-drawer>section>header{padding:22px!important;border-bottom:1px solid var(--web-line)!important}.cart-items{padding:16px!important}.cart-drawer form{padding:20px!important}.cart-drawer :is(input,select,textarea){border:1px solid var(--web-line)!important;border-radius:11px!important;background:#f8fafc!important}.menu-footer{border-top:1px solid var(--web-line)!important;background:#fff!important;color:var(--web-muted)!important}

/* Authentication and registration */
.auth-layout{min-height:100vh;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr)}
.auth-visual,.register-promise,.qauth-intro{position:relative;background:radial-gradient(circle at 75% 18%,rgba(19,200,163,.33),transparent 24rem),linear-gradient(145deg,#06172b,#0c304a 72%,#07645c)!important;color:#fff!important;overflow:hidden}
.auth-visual:after,.register-promise:after,.qauth-intro:after{content:"";position:absolute;width:430px;height:430px;right:-210px;bottom:-220px;border:75px solid rgba(255,255,255,.045);border-radius:50%}
.auth-copy h1,.qauth-intro h1,.register-promise h1{font-size:clamp(44px,5vw,68px)!important;line-height:1.02!important}.auth-copy h1 em,.qauth-intro h1 em{color:#6df3d7!important}.auth-copy>p,.qauth-intro>p,.register-promise>p{color:#bfd1df!important;font-size:16px;line-height:1.7}
.auth-form-wrap{background:linear-gradient(145deg,#f7fafc,#edf4f7)!important}
.auth-card,.qauth-card,.customer-auth-card,.register-card{border:1px solid rgba(215,226,235,.94)!important;border-radius:26px!important;background:rgba(255,255,255,.94)!important;box-shadow:var(--web-shadow-lg)!important}
.auth-card{max-width:500px!important;padding:42px!important}.auth-card h2,.qauth-card h2,.customer-auth-card h1,.register-card h2{font-size:30px;color:var(--web-navy)}
.qauth-shell,.qauth-register-shell,.register-layout{width:min(1180px,calc(100% - 40px));margin:40px auto;overflow:hidden;border-radius:30px;box-shadow:var(--web-shadow-lg);background:#fff}
.qauth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.qauth-intro{padding:64px}.qauth-card{margin:auto!important;width:min(450px,calc(100% - 50px));padding:36px!important;box-shadow:none!important}
.qauth-tabs{padding:5px!important;border-radius:14px!important;background:#eef3f6!important}.qauth-tabs a{border-radius:10px!important;font-weight:800!important}.qauth-tabs a.active{background:#fff!important;color:var(--web-teal-dark)!important;box-shadow:0 6px 16px rgba(10,31,55,.08)!important}
.qauth-body :is(input,select,textarea),.auth-body :is(input,select,textarea),.register-body :is(input,select,textarea),.customer-auth-body :is(input,select,textarea){min-height:48px;border:1px solid var(--web-line)!important;border-radius:12px!important;background:#f8fafc!important;padding:11px 13px!important;outline:0;transition:.18s ease}
.qauth-body :is(input,select,textarea):focus,.auth-body :is(input,select,textarea):focus,.register-body :is(input,select,textarea):focus,.customer-auth-body :is(input,select,textarea):focus{border-color:var(--web-teal)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(19,200,163,.10)!important}
.password-field{border-radius:12px!important;background:#f8fafc!important}.password-field input{background:transparent!important}
.register-layout{display:grid;grid-template-columns:.82fr 1.18fr}.register-promise{padding:58px}.register-card{padding:46px!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.customer-auth-body{min-height:100vh}.customer-auth-card{width:min(620px,calc(100% - 36px));margin:64px auto;padding:40px!important}
.qauth-address-title{display:flex;align-items:center;gap:13px;margin-top:8px;padding-top:22px;border-top:1px solid var(--web-line)}.qauth-address-title>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e7f9f5;font-size:20px}.qauth-address-title b,.qauth-address-title small{display:block}.qauth-address-title b{font-size:16px;color:var(--web-navy)}.qauth-address-title small{margin-top:2px;color:var(--web-muted);font-size:11px}
.qauth-address-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.qauth-location-map{display:grid;grid-template-columns:1.3fr .7fr;min-height:210px;overflow:hidden;border:1px solid var(--web-line);border-radius:18px;background:#f8fafc}.qauth-location-map[hidden]{display:none}.qauth-location-map iframe{width:100%;height:100%;min-height:210px;border:0}.qauth-location-map>div{display:flex;flex-direction:column;justify-content:center;padding:20px}.qauth-location-map b,.qauth-location-map small{display:block}.qauth-location-map small{margin:6px 0 15px;color:var(--web-muted);font-size:10px}.qauth-location-map a{color:var(--web-teal-dark);font-size:11px;font-weight:800;text-decoration:none}.location-status[data-type="success"]{color:#087b63!important}.location-status[data-type="error"]{color:#b84832!important}
.account-choice{width:min(940px,calc(100% - 36px));margin:7vh auto;padding:45px;border:1px solid var(--web-line);border-radius:28px;background:#fff;box-shadow:var(--web-shadow-lg)}
.account-choice>section{gap:18px!important}.account-choice article{border:1px solid var(--web-line)!important;border-radius:21px!important;padding:28px!important;background:#fafdff!important}.account-choice article>span{border-radius:17px!important;background:#e8faf5!important}
.qauth-demo,.qlegal-shell,.public-state,.order-status-card{width:min(940px,calc(100% - 36px));margin:48px auto;padding:42px;border:1px solid var(--web-line)!important;border-radius:27px!important;background:#fff!important;box-shadow:var(--web-shadow)!important}
.qauth-demo-grid{gap:16px!important}.qauth-demo-grid article,.qv9-demo-points article{border:1px solid var(--web-line)!important;border-radius:18px!important;background:#f9fbfc!important}
.public-state{max-width:520px;text-align:center}.public-state .state-icon{border-radius:20px!important;background:#e8faf5!important;color:var(--web-teal-dark)!important}

/* Public delivery and informational screens */
.courier-demo-wrap,.qv9-demo-shell{width:min(1120px,calc(100% - 40px));margin:48px auto 90px}
.courier-demo-hero,.qv9-demo-hero{padding:44px;border-radius:28px;background:linear-gradient(135deg,#07192d,#0d3b50);color:#fff;box-shadow:var(--web-shadow-lg)}
.courier-demo-hero h1,.qv9-demo-hero h1{font-size:clamp(34px,4vw,52px);margin:12px 0}.courier-demo-hero p,.qv9-demo-hero p{color:#bfd2df}
.courier-demo-flow{gap:15px!important}.courier-demo-flow article,.courier-demo-card,.courier-demo-cta,.qv9-live-map-card,.qv9-demo-points article{border:1px solid var(--web-line)!important;border-radius:21px!important;background:#fff!important;box-shadow:var(--web-shadow)!important}
.qlegal-shell{max-width:980px}.qlegal-head{padding-bottom:22px;border-bottom:1px solid var(--web-line)}.qlegal-content{font-size:15px;line-height:1.8;color:#405067}

/* Footer */
.site-footer,.global-food-footer,.qsite-premium-footer{border-top:1px solid rgba(255,255,255,.08)!important;background:#06172b!important;color:#b9cddd!important}
.site-footer a,.global-food-footer a,.qsite-premium-footer a{color:#d9e7ef!important}.site-footer strong,.global-food-footer strong,.qsite-premium-footer strong{color:#fff!important}
.qsite-footer-main{width:min(1240px,calc(100% - 40px))!important;margin:auto!important;padding:64px 0 45px!important;display:grid!important;grid-template-columns:1.5fr .72fr .82fr 1fr 1.25fr!important;gap:36px!important}
.qsite-footer-logo{display:flex!important;align-items:center!important;gap:12px!important;text-decoration:none!important}.qsite-footer-logo>span:last-child b,.qsite-footer-logo>span:last-child small{display:block!important}.qsite-footer-logo b{font-size:21px!important}.qsite-footer-logo small{color:#8298aa!important;font-size:10px!important}
.qsite-footer-brand>p,.qsite-footer-keskin>p{max-width:330px;color:#8fa5b5!important;font-size:12px!important;line-height:1.7!important}.qsite-footer-badges{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.qsite-footer-badges span{padding:6px 8px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:8px!important;background:rgba(255,255,255,.04)!important;font-size:9px!important}
.qsite-footer-column{display:flex!important;flex-direction:column!important;gap:9px!important}.qsite-footer-column h3,.qsite-footer-keskin h3{margin:3px 0 10px!important;color:#fff!important;font-size:13px!important}.qsite-footer-column a{font-size:11px!important;text-decoration:none!important;color:#8fa5b5!important}.qsite-footer-column a:hover{color:#6df3d7!important}
.qsite-footer-keskin{padding:18px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:17px!important;background:rgba(255,255,255,.045)!important}.qsite-footer-made{color:#5ce8cb!important;font-size:8px!important;font-weight:900!important;letter-spacing:.15em!important}.qsite-footer-keskin>a{color:#60e6ca!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important}
.qsite-footer-bottom{min-height:56px!important;padding:15px max(20px,calc((100vw - 1240px)/2))!important;display:flex!important;align-items:center!important;gap:10px!important;border-top:1px solid rgba(255,255,255,.07)!important;color:#718899!important;font-size:10px!important}.qsite-footer-bottom a{margin-left:auto!important;color:#9db2c1!important;text-decoration:none!important}
.qsite-scroll-top{border:1px solid rgba(255,255,255,.14)!important;border-radius:15px!important;background:#0c3147!important;color:#fff!important;box-shadow:0 14px 35px rgba(0,0,0,.25)!important}.q25-mobile-nav{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px)!important;border-top:1px solid var(--web-line)!important}

/* Home hero search: keep every control in its own lane while GPS is resolving. */
.qhome-premium-body .qhome-map-hero-content .directory-search{
  max-width:100%;
  grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(105px,.72fr)) minmax(126px,.82fr) 82px;
  gap:6px;
  align-items:start;
}
.qhome-premium-body .qhome-map-hero-content .directory-search>label{
  min-width:0;
  padding-inline:10px;
}
.qhome-premium-body .qhome-map-hero-content .directory-search :is(input,select){
  width:100%;
  min-width:0;
}
.qhome-premium-body .qhome-map-hero-content .directory-search>button{
  width:100%;
  min-width:0;
  padding-inline:10px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.qhome-premium-body .qhome-map-hero-content .directory-search>.location-status{
  grid-column:1/-1;
  min-width:0;
}

@media (max-width:1100px) and (min-width:761px){
  .qhome-premium-body .qhome-map-hero-content .directory-search{
    grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(120px,1fr));
  }
  .qhome-premium-body .qhome-map-hero-content .directory-search>.location-btn{grid-column:2!important}
  .qhome-premium-body .qhome-map-hero-content .directory-search>.btn.primary{grid-column:3!important}
}

@media (max-width:1000px){
  .public-nav-inner{width:min(100% - 28px,1240px)}.public-nav nav{display:none}
  .qhome-map-hero{min-height:auto;padding-top:58px;padding-bottom:58px}
  .directory-grid,.qhome-business-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qhome-how-grid,.membership-cards{grid-template-columns:1fr}.business-membership{transform:none}
  .business-cta{grid-template-columns:1fr;gap:32px;padding:38px}
  .qmenu-profile-strip{grid-template-columns:repeat(2,1fr)}.qmenu-strip-action{grid-column:1/-1}.qmenu-profile-strip>div:nth-child(even){border-right:0}
  .auth-layout,.qauth-shell,.register-layout{grid-template-columns:1fr}.auth-visual,.qauth-intro,.register-promise{min-height:auto;padding:48px}.auth-copy{margin-top:70px}.qauth-card{margin:40px auto!important}.register-layout{margin-top:24px}
}

@media (max-width:700px){
  body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body){font-size:14px}
  .public-nav-inner{min-height:64px;width:calc(100% - 24px);gap:10px}.public-nav .brand{font-size:18px}.public-nav .brand-mark{width:36px;height:36px}.public-actions{gap:5px}.public-actions .btn{min-height:38px;padding:8px 10px;font-size:11px}.public-actions>span{display:none}
  .qhome-map-hero{padding:44px 18px}.qhome-map-hero h1,.directory-hero h1{font-size:42px}.qhome-map-hero p{font-size:15px}.directory-search,.location-directory-search{width:100%;flex-direction:column;padding:8px}.directory-search .btn,.location-directory-search .btn{width:100%}
  .directory-section,.membership-section,.qhome-how,.qhome-section{width:calc(100% - 28px);padding:54px 0}.section-title{align-items:flex-start;flex-direction:column;margin-bottom:20px}.section-title h2{font-size:31px}
  .directory-grid,.qhome-business-grid,.product-grid{grid-template-columns:1fr}.business-cta{width:calc(100% - 28px);margin-bottom:64px;padding:29px 22px;border-radius:24px}.business-cta h2{font-size:34px}
  .qbiz-wrap{width:calc(100% - 24px);margin-top:18px}.qbiz-rich .qbiz-hero,.business-page .business-profile-hero{border-radius:22px!important}
  .menu-site-nav nav,.menu-site-nav .public-actions .ghost{display:none}.qmenu-banner{min-height:auto;border-radius:0 0 25px 25px!important}.qmenu-banner-inner{width:calc(100% - 28px);padding-top:18px}.qmenu-banner-actions{display:none}.qmenu-banner-copy{padding:44px 0 30px}.qmenu-banner-copy h1{font-size:43px}.qmenu-banner-copy p{font-size:14px}.qmenu-profile-strip{grid-template-columns:1fr 1fr}.qmenu-profile-strip>div{padding:12px}.qmenu-profile-strip span{display:none}
  .menu-search{width:calc(100% - 24px);margin-top:-19px}.category-tabs{width:calc(100% - 16px);border-radius:14px}.digital-menu{width:calc(100% - 24px);margin-top:26px}.menu-section-head h2{font-size:25px}
  .menu-product{grid-template-columns:108px minmax(0,1fr);min-height:170px}.product-placeholder{min-height:170px}.menu-product-body{padding:13px!important}.menu-product-body h3{font-size:15px}.product-foot b{font-size:16px}.cart-fab{left:12px!important;right:12px!important;bottom:12px!important;width:calc(100% - 24px)!important}.guest-service{left:12px!important;right:12px!important;bottom:82px!important}
  .auth-layout{display:block}.auth-visual{display:none}.auth-form-wrap{min-height:100vh;padding:26px 16px}.auth-card{padding:28px 22px!important}.qauth-shell,.qauth-register-shell,.register-layout{width:calc(100% - 24px);margin:18px auto;border-radius:22px}.qauth-intro,.register-promise{padding:34px 24px}.qauth-intro h1,.register-promise h1{font-size:40px!important}.qauth-card{width:100%;padding:27px 21px!important}.register-card{padding:28px 20px!important}.customer-auth-card{margin:32px auto;padding:28px 20px!important}.form-grid{grid-template-columns:1fr!important}.span-2{grid-column:auto!important}
  .qauth-address-details{grid-template-columns:1fr 1fr}.qauth-address-details label:first-child{grid-column:1/-1}.qauth-location-map{grid-template-columns:1fr}.qauth-location-map>div{padding:16px}
  .account-choice,.qauth-demo,.qlegal-shell,.public-state,.order-status-card{width:calc(100% - 24px);margin:24px auto;padding:25px 20px;border-radius:21px!important}.account-choice>section,.qauth-demo-grid,.qv9-demo-points{grid-template-columns:1fr!important}
  .courier-demo-wrap,.qv9-demo-shell{width:calc(100% - 24px);margin:24px auto 60px}.courier-demo-hero,.qv9-demo-hero{padding:28px 22px}.courier-demo-flow{grid-template-columns:1fr!important}.courier-demo-card,.courier-demo-cta{grid-template-columns:1fr!important}
  .qsite-footer-main{width:calc(100% - 30px)!important;padding:45px 0 90px!important;grid-template-columns:1fr 1fr!important;gap:30px 18px!important}.qsite-footer-brand,.qsite-footer-keskin{grid-column:1/-1}.qsite-footer-bottom{padding:18px 16px 84px!important;flex-wrap:wrap!important}.qsite-footer-bottom a{margin-left:0!important}.qsite-footer-separator{display:none!important}
}

@media (max-width:760px){
  .qhome-premium-body .qhome-map-hero-content .directory-search{grid-template-columns:1fr}
  .qhome-premium-body .qhome-map-hero-content .directory-search>*{grid-column:1!important}
}

@media (prefers-reduced-motion:reduce){
  body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) *,
  body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) *:before,
  body:is(.directory-body,.public-body,.menu-body,.auth-body,.register-body,.customer-auth-body,.account-choice-body,.qauth-body) *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
