/* TimesPack unified portal and authentication design system v5 */
:root{
--tp-ink:#11152b;
--tp-muted:#69718a;
--tp-line:rgba(32,39,70,.12);
--tp-surface:#fff;
--tp-bg:#f5f7ff;
--tp-purple:#6842ee;
--tp-blue:#1877f2;
--tp-cyan:#32bce0;
--tp-teal:#12a68c;
--tp-radius:22px;
--tp-shadow:0 18px 50px rgba(30,35,80,.1)}

body.tp-zone-customer,body.tp-zone-rider,body.tp-zone-merchant,body.tp-zone-admin{
background:var(--tp-bg);
color:var(--tp-ink)}

.portal-nav{
position:fixed;
inset:0 auto 0 0;
width:272px;
height:auto;
min-height:100dvh;
min-height:100dvh;
z-index:80;
box-sizing:border-box;
padding:24px 18px;
display:flex;
align-items:stretch;
justify-content:flex-start;
flex-direction:column;
border:0;
background:linear-gradient(165deg,#15112f 0%,#27215b 58%,#164f7d 100%);
box-shadow:12px 0 40px rgba(22,20,57,.12)}

.tp-zone-rider .portal-nav{
background:linear-gradient(165deg,#0b1737,#113a6c 60%,#086a80)}

.tp-zone-merchant .portal-nav{
background:linear-gradient(165deg,#071d26,#0b3d49 58%,#087a6b)}

.portal-nav .brand{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
min-height:64px;
padding:12px 16px;
border:1px solid rgba(255,255,255,.12);
border-radius:16px;
background:rgba(255,255,255,.96);
box-shadow:0 12px 32px rgba(0,0,0,.14);
text-decoration:none}

.portal-nav .brand img{
display:block;
max-width:148px;
max-height:38px;
object-fit:contain}

.portal-nav .brand .brand-tag{
display:inline-block;
padding:4px 9px;
border-radius:999px;
background:linear-gradient(135deg,#6c42f0,#2db9d1);
color:#fff;
font-size:.56rem;
font-weight:900;
letter-spacing:.12em;
white-space:nowrap;
box-shadow:0 4px 12px rgba(108,66,240,.35)}

.portal-nav .nav-links{
display:flex!important;
flex:1;
flex-direction:column;
gap:4px;
overflow:auto;
margin:22px -4px 0;
padding:0 4px 8px;
scrollbar-width:thin;
scrollbar-color:rgba(255,255,255,.28) transparent}

.portal-nav-label,.ops-nav-label{
display:block;
margin:18px 12px 7px;
color:rgba(255,255,255,.52);
font-size:.68rem;
font-weight:900;
letter-spacing:.15em;
text-transform:uppercase}

.portal-nav .nav-links>a{
display:flex;
align-items:center;
gap:11px;
min-height:44px;
padding:7px 10px;
border-radius:13px;
color:rgba(255,255,255,.82);
font-weight:700;
text-decoration:none;
transition:.2s ease}

.portal-nav .nav-links>a::before,.ops-side nav a::before{
content:attr(data-icon);
display:grid;
place-items:center;
flex:0 0 30px;
width:30px;
height:30px;
border:1px solid rgba(255,255,255,.12);
border-radius:10px;
background:rgba(255,255,255,.08);
font-size:.82rem;
font-weight:900;
line-height:1;
transition:.2s ease}

.portal-nav .nav-links>a.nav-primary{
min-height:50px;
padding:9px 12px;
font-weight:800;
font-size:.96rem}

.portal-nav .nav-links>a.nav-primary::before{
flex-basis:34px;
width:34px;
height:34px;
border-radius:11px;
font-size:.95rem;
background:linear-gradient(135deg,rgba(108,66,240,.35),rgba(45,185,209,.28));
border-color:rgba(255,255,255,.16)}

.portal-nav .nav-links>a:not(.nav-primary){
min-height:40px;
padding:6px 10px;
font-weight:650;
font-size:.88rem}

.portal-nav .nav-links>a:not(.nav-primary)::before{
flex-basis:26px;
width:26px;
height:26px;
border-radius:9px;
font-size:.75rem}

.nav-user{
display:flex;
align-items:center;
gap:11px;
margin:14px 2px 4px;
padding:11px 12px;
border:1px solid rgba(255,255,255,.12);
border-radius:15px;
background:rgba(255,255,255,.07)}

.nav-user-avatar{
display:grid;
place-items:center;
flex:0 0 40px;
width:40px;
height:40px;
border-radius:12px;
background:linear-gradient(135deg,#6c42f0,#2db9d1);
color:#fff;
font-weight:900;
font-size:1.05rem;
box-shadow:0 8px 20px rgba(0,0,0,.18)}

.nav-user-meta{
display:flex;
flex-direction:column;
min-width:0}

.nav-user-meta strong{
color:#fff;
font-size:.85rem;
font-weight:800;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis}

.nav-user-meta small{
color:rgba(255,255,255,.62);
font-size:.72rem;
font-weight:700}

.nav-user-meta small b{
color:#7ef0c9;
font-weight:800}

@media(max-width:980px){
.nav-user{
display:none}
}


/* Top profile + tools cluster (profile, language, logout live at top of sidebar) */
.nav-top{
display:flex;
flex-direction:column;
gap:10px;
margin-top:14px}

.nav-profile{
display:flex;
align-items:center;
gap:11px;
padding:11px 12px;
border:1px solid rgba(255,255,255,.12);
border-radius:15px;
background:rgba(255,255,255,.07);
text-decoration:none;
transition:.2s ease}

.nav-profile:hover{
background:rgba(255,255,255,.12)}

.nav-profile-avatar{
display:grid;
place-items:center;
flex:0 0 40px;
width:40px;
height:40px;
border-radius:12px;
background:linear-gradient(135deg,#6c42f0,#2db9d1);
color:#fff;
font-weight:900;
font-size:1.05rem;
box-shadow:0 8px 20px rgba(0,0,0,.18)}

.nav-profile-meta{
display:flex;
flex-direction:column;
min-width:0;
flex:1}

.nav-profile-meta strong{
color:#fff;
font-size:.85rem;
font-weight:800;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis}

.nav-profile-meta small{
color:rgba(255,255,255,.62);
font-size:.72rem;
font-weight:700}

.nav-profile-meta small b{
color:#7ef0c9;
font-weight:800}

.nav-profile-chevron{
color:rgba(255,255,255,.4);
font-size:1.2rem;
font-weight:700}

.nav-top-tools{
display:flex;
align-items:center;
gap:8px}

.nav-top-tools form.inline{
margin:0;
padding:0;
border:0}

.nav-top-tools .language-form{
display:flex;
flex:1;
gap:4px;
margin:0;
padding:0;
border:0}

.nav-top-tools .language-form button{
flex:1;
min-height:38px;
padding:0 10px;
border:1px solid rgba(255,255,255,.16);
border-radius:10px;
background:rgba(255,255,255,.06);
color:rgba(255,255,255,.75);
font-size:.72rem;
font-weight:800;
cursor:pointer;
transition:.2s ease}

.nav-top-tools .language-form button.active{
background:rgba(255,255,255,.16);
color:#fff;
border-color:rgba(255,255,255,.3)}

.nav-top-tools .language-form button:hover{
background:rgba(255,255,255,.12)}

.nav-top-tools .nav-logout{
display:flex;
align-items:center;
justify-content:center;
gap:6px;
min-height:38px;
padding:0 12px;
border:1px solid rgba(255,131,103,.35);
border-radius:10px;
background:rgba(255,131,103,.12);
color:#ffb3a0;
font-size:.74rem;
font-weight:800;
cursor:pointer;
white-space:nowrap;
transition:.2s ease}

.nav-top-tools .nav-logout:hover{
background:rgba(255,131,103,.22);
color:#ffd2c7}

.nav-top-tools .nav-logout span{
font-size:.9rem}

@media(max-width:980px){
.nav-top{
display:none}
}

.portal-nav .nav-links>a:hover,.portal-nav .nav-links>a:focus-visible{
color:#fff;
background:rgba(255,255,255,.12);
transform:translateX(2px)}

.portal-nav .nav-links>a:hover::before{
background:rgba(255,255,255,.16)}

.portal-nav .nav-links>a.active{
color:#fff;
background:linear-gradient(90deg,rgba(108,66,240,.32),rgba(45,185,209,.18));
box-shadow:inset 3px 0 0 #7c5cff;
transform:translateX(2px)}

.portal-nav .nav-links>a.active::before{
background:linear-gradient(135deg,#6c42f0,#2db9d1);
border-color:transparent;
color:#fff;
box-shadow:0 6px 16px rgba(108,66,240,.45)}

.portal-nav .language-form{
display:flex;
margin-top:0;
padding:0;
border-top:0}

.portal-nav .language-form button{
color:#fff;
border-color:rgba(255,255,255,.18);
background:rgba(255,255,255,.06)}

.portal-nav form.inline:last-child .link{
width:100%;
margin-top:5px;
padding:11px 14px;
border:1px solid rgba(255,255,255,.12);
border-radius:12px;
color:#fff;
background:rgba(255,255,255,.07);
font-weight:800;
text-align:left}

.portal-nav .menu-toggle{
display:none}

.tp-zone-customer>.tp-zone-main,.tp-zone-rider>.tp-zone-main,.tp-zone-merchant>.tp-zone-main{
box-sizing:border-box;
min-height:100dvh;
margin-left:272px;
padding:34px clamp(22px,4vw,64px);
background:radial-gradient(circle at 95% 2%,rgba(96,75,235,.11),transparent 32%),linear-gradient(145deg,#fbfbff,#f3f7ff 50%,#f8fbff)}

.tp-zone-customer .panel,.tp-zone-rider .panel,.tp-zone-merchant .panel{
border:1px solid rgba(79,69,130,.1);
border-radius:var(--tp-radius);
background:rgba(255,255,255,.92);
box-shadow:var(--tp-shadow)}


/* Operations shell */
.tp-zone-admin .ops-side{
width:272px;
background:linear-gradient(165deg,#171031,#2a1c60 58%,#235b8b);
box-shadow:12px 0 40px rgba(24,18,62,.14)}

.tp-zone-admin .ops-brand{
margin:22px 22px 10px;
border:1px solid rgba(255,255,255,.12);
border-radius:17px;
background:#fff;
box-shadow:0 12px 30px rgba(0,0,0,.15)}

.tp-zone-admin .ops-brand img{
max-height:45px}
.tp-zone-admin .ops-side nav{
padding:4px 16px 18px}
.tp-zone-admin .ops-side nav a{
display:flex;
align-items:center;
gap:10px;
min-height:42px;
margin:2px 0;
padding:5px 9px;
border-radius:12px;
color:rgba(255,255,255,.8);
font-weight:700;
transition:.2s ease}

.tp-zone-admin .ops-side nav a:hover,.tp-zone-admin .ops-side nav a.active{
color:#fff;
background:rgba(255,255,255,.13);
transform:translateX(2px)}

.tp-zone-admin .side-bottom{
border-top-color:rgba(255,255,255,.12)}
.tp-zone-admin>main{
box-sizing:border-box;
margin-left:272px;
width:calc(100% - 272px);
min-height:100dvh;
background:linear-gradient(145deg,#fbfbff,#f3f6ff)}

.tp-zone-admin .ops-top{
position:sticky;
top:0;
z-index:50;
min-height:82px;
padding:10px clamp(20px,3vw,42px);
border-bottom:1px solid var(--tp-line);
background:rgba(255,255,255,.88);
backdrop-filter:blur(18px);
box-shadow:0 8px 30px rgba(44,38,92,.05)}

.tp-zone-admin .ops-top>div:first-of-type strong{
font-size:1.05rem}
.tp-zone-admin .ops-top>div:first-of-type small{
margin-top:4px;
color:var(--tp-muted)}

.tp-zone-admin .ops-profile-link,.tp-zone-admin .top-logout button{
display:flex;
align-items:center;
gap:8px;
padding:10px 13px;
border:1px solid rgba(104,66,238,.15);
border-radius:12px;
background:#f8f6ff;
color:#5731bf;
text-decoration:none;
font-weight:800}

.tp-zone-admin .ops-profile-link span{
display:grid;
place-items:center;
width:24px;
height:24px;
border-radius:8px;
background:linear-gradient(135deg,var(--tp-purple),#318fd7);
color:#fff;
font-size:.75rem}
.tp-zone-admin .operator>b{
background:linear-gradient(135deg,var(--tp-purple),#31aeda)}

.tp-zone-admin .ops-content{
padding:clamp(28px,4vw,56px);
background:radial-gradient(circle at 92% 0,rgba(51,170,221,.09),transparent 28%),radial-gradient(circle at 15% 12%,rgba(104,66,238,.08),transparent 30%)}

.tp-zone-admin .ops-content .panel{
border:1px solid var(--tp-line);
border-radius:var(--tp-radius);
box-shadow:var(--tp-shadow)}

.tp-zone-admin .ops-top .menu{
display:none}


/* Login and registration */
.tp-auth-main{
max-width:none!important;
margin:0!important;
padding:0!important}
.auth-shell-premium{
display:grid;
grid-template-columns:minmax(360px,.92fr) minmax(440px,1.08fr);
min-height:calc(100vh - 88px);
padding:clamp(32px,5vw,76px);
gap:clamp(32px,6vw,96px);
align-items:center;
background:radial-gradient(circle at 10% 15%,rgba(56,183,219,.2),transparent 28%),radial-gradient(circle at 92% 8%,rgba(108,68,238,.18),transparent 30%),linear-gradient(145deg,#f8f8ff,#eef6ff)}

.auth-shell-premium .auth-brand{
max-width:610px;
padding:30px}
.auth-kicker{
display:inline-flex;
padding:9px 13px;
border:1px solid rgba(104,66,238,.15);
border-radius:999px;
background:rgba(255,255,255,.6);
color:#5634bf;
font-size:.75rem;
font-weight:900;
letter-spacing:.14em}

.auth-shell-premium .auth-brand h1{
margin:22px 0 18px;
color:#17152b;
font-size:clamp(2.7rem,5vw,5.5rem);
line-height:.98;
letter-spacing:-.055em}
.auth-shell-premium .auth-brand h1 em{
color:transparent;
background:linear-gradient(120deg,#683eef,#24a9dc);
background-clip:text;
-webkit-background-clip:text;
font-style:normal}
.auth-shell-premium .auth-brand p{
max-width:570px;
color:#5f6880;
font-size:1.08rem;
line-height:1.75}

.auth-assurances{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:28px}
.auth-assurances span{
padding:10px 14px;
border:1px solid rgba(104,66,238,.11);
border-radius:12px;
background:rgba(255,255,255,.67);
color:#343753;
font-size:.84rem;
font-weight:800}
.auth-assurances span::before{
content:'✓';
margin-right:7px;
color:#0c9b7e}

.auth-shell-premium .auth-tp-card{
box-sizing:border-box;
width:100%;
max-width:600px;
margin:auto;
padding:clamp(28px,4vw,48px);
border:1px solid rgba(255,255,255,.8);
border-radius:28px;
background:rgba(255,255,255,.9);
box-shadow:0 28px 80px rgba(38,31,92,.15);
backdrop-filter:blur(18px)}

.auth-tp-card-top{
display:flex;
align-items:center;
gap:11px;
margin-bottom:24px;
color:#6b7187;
font-size:.7rem;
font-weight:900;
letter-spacing:.16em}
.auth-icon{
display:grid!important;
place-items:center;
width:43px!important;
height:43px!important;
margin:0!important;
border-radius:14px!important;
background:linear-gradient(135deg,#6b3ff0,#29b5dc)!important;
color:#fff!important;
box-shadow:0 10px 24px rgba(92,59,222,.25);
font-size:1.15rem!important;
font-weight:900}
.auth-tp-card>h1{
margin:0 0 8px;
font-size:clamp(2rem,3.2vw,2.7rem);
letter-spacing:-.04em}
.auth-tp-card>p{
margin:0 0 24px;
color:var(--tp-muted)}

.auth-field{
margin:0 0 17px}
.auth-field label{
display:block;
margin-bottom:7px;
color:#23253a;
font-size:.88rem;
font-weight:850}
.auth-field input,.auth-field select{
box-sizing:border-box;
width:100%;
min-height:50px;
padding:12px 14px;
border:1px solid #d9dce8;
border-radius:13px;
background:#fbfcff;
color:#15172a;
font:inherit;
outline:none;
transition:.2s}
.auth-field input:focus,.auth-field select:focus{
border-color:#7857ed;
box-shadow:0 0 0 4px rgba(104,66,238,.11);
background:#fff}
.field-help{
margin-top:6px;
color:#747b91;
font-size:.78rem;
line-height:1.45}
.field-help ul{
margin:5px 0;
padding-left:18px}
.field-error{
margin-top:7px;
padding:9px 11px;
border-left:3px solid #d92d4b;
border-radius:8px;
background:#fff0f2;
color:#941b32;
font-size:.83rem;
font-weight:750}
.has-error input,.has-error select{
border-color:#d92d4b}
.form-error-summary{
margin:16px 0;
padding:13px 14px;
border:1px solid #efb0bb;
border-radius:12px;
background:#fff2f4;
color:#8b1b31}
.auth-submit{
min-height:52px;
margin-top:5px;
border:0;
border-radius:14px!important;
background:linear-gradient(120deg,#6842ee,#258fdd)!important;
box-shadow:0 13px 28px rgba(78,60,211,.24);
font-weight:850!important}
.auth-links{
display:grid;
gap:10px;
margin-top:22px;
padding-top:20px;
border-top:1px solid var(--tp-line);
color:var(--tp-muted);
font-size:.9rem}
.auth-links p{
margin:0}
.auth-links a{
color:#5a36c7;
font-weight:850;
text-decoration:none}
.auth-links a:hover{
text-decoration:underline}


/* Shared MyCard refinements */
.tp-mycard-page{
max-width:1320px;
margin:auto}
.tp-mycard-title h1{
letter-spacing:-.045em}
.tp-id-tp-card,.tp-profile-editor,.tp-security-tp-card,.tp-verification-tp-card{
overflow:hidden;
border:1px solid rgba(57,55,90,.1)!important;
border-radius:26px!important;
box-shadow:0 20px 55px rgba(39,37,79,.1)!important}
.tp-id-cover{
background:linear-gradient(120deg,#6c42f0,#467fe2 48%,#2db9d1)!important}
.tp-avatar{
box-shadow:0 14px 35px rgba(31,32,76,.16)}
.tp-role{
border-radius:999px!important;
background:#f0ebff!important;
color:#5e35ce!important}
.tp-photo-editor{
border:1px solid rgba(104,66,238,.08);
border-radius:20px;
background:linear-gradient(135deg,#f9f7ff,#f3f9ff)!important}
.tp-photo-controls input[type=file]{
max-width:100%;
color:#626a80}
.tp-photo-controls input[type=file]::file-selector-button{
margin-right:11px;
padding:9px 12px;
border:1px solid rgba(104,66,238,.16);
border-radius:10px;
background:#fff;
color:#5633bd;
font-weight:800;
cursor:pointer}
.profile-field input,.profile-field select{
min-height:50px!important;
border-color:#dce0eb!important;
background:#fcfdff!important}
.profile-field input:focus,.profile-field select:focus{
border-color:#7654e8!important;
box-shadow:0 0 0 4px rgba(104,66,238,.1)!important;
outline:0}


@media(max-width:980px){

 .portal-nav{
position:sticky;
inset:auto;
top:0;
width:100%;
height:74px;
min-height:74px;
padding:10px 16px;
display:flex;
flex-direction:row;
align-items:center}
.portal-nav .brand{
min-height:0;
width:150px;
height:52px;
padding:4px 10px;
flex-direction:row}
.portal-nav .brand img{
max-width:118px}
.portal-nav .brand span{
display:none}
.portal-nav .menu-toggle,.tp-zone-admin .ops-top .menu{
display:grid;
place-items:center;
margin-left:auto;
width:46px;
height:46px;
border:1px solid rgba(255,255,255,.17);
border-radius:13px;
background:rgba(255,255,255,.09);
cursor:pointer}
.portal-nav .menu-toggle>span,.tp-zone-admin .ops-top .menu>span{
display:grid;
gap:5px}
.portal-nav .menu-toggle i,.tp-zone-admin .ops-top .menu i{
display:block;
width:22px;
height:2px;
border-radius:2px;
background:#fff;
transition:.2s}

 .portal-nav .nav-links{
position:fixed;
inset:74px 10px auto;
display:none!important;
max-height:calc(100vh - 94px);
margin:0;
padding:14px;
border:1px solid rgba(255,255,255,.12);
border-radius:18px;
background:#19153a;
box-shadow:0 24px 60px rgba(14,12,42,.32)}
.portal-nav .nav-links.open{
display:flex!important}
.tp-zone-customer>.tp-zone-main,.tp-zone-rider>.tp-zone-main,.tp-zone-merchant>.tp-zone-main{
margin-left:0;
padding:25px 18px 100px}

 .tp-zone-admin .ops-side{
position:fixed;
z-index:100;
transform:translateX(-105%);
transition:transform .25s ease}
.tp-zone-admin.nav-open .ops-side{
transform:translateX(0)}
.tp-zone-admin>main{
margin-left:0;
width:100%}
.tp-zone-admin .ops-top{
padding:10px 16px}
.tp-zone-admin .ops-top .menu{
order:-1;
margin:0;
border-color:rgba(68,52,143,.15);
background:#332064}
.tp-zone-admin .ops-content{
padding:26px 18px}
.tp-zone-admin.nav-open::after{
content:'';
position:fixed;
inset:0;
z-index:90;
background:rgba(12,11,31,.52);
backdrop-filter:blur(2px)}

 .auth-shell-premium{
grid-template-columns:1fr;
min-height:auto;
padding:45px 20px}
.auth-shell-premium .auth-brand{
text-align:center;
margin:auto;
padding:10px}
.auth-shell-premium .auth-brand h1{
font-size:clamp(2.6rem,9vw,4.5rem)}
.auth-assurances{
justify-content:center}
.auth-shell-premium .auth-tp-card{
max-width:620px}

}

@media(max-width:640px){
.tp-zone-admin .ops-top>div:first-of-type small,.tp-zone-admin .operator>span{
display:none}
.tp-zone-admin .ops-account-tools{
gap:5px}
.tp-zone-admin .ops-profile-link{
font-size:0;
padding:8px}
.tp-zone-admin .ops-profile-link span{
font-size:.75rem}
.tp-zone-admin .top-logout button{
padding:9px;
font-size:.76rem}
.tp-zone-admin .ops-language-form button{
min-width:32px}
.auth-shell-premium{
padding:28px 14px}
.auth-shell-premium .auth-brand p{
font-size:.95rem}
.auth-shell-premium .auth-tp-card{
padding:25px 20px;
border-radius:22px}
.auth-assurances{
display:none}
.tp-mycard-grid{
grid-template-columns:1fr!important}
.tp-photo-editor{
align-items:flex-start!important;
flex-direction:column}
.mobile-tabs{
border:1px solid rgba(62,57,105,.1);
background:rgba(255,255,255,.94)!important;
box-shadow:0 -8px 30px rgba(34,32,78,.11);
backdrop-filter:blur(14px)}
}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{
scroll-behavior:auto!important;
transition-duration:.01ms!important;
animation-duration:.01ms!important}
}

*:focus-visible{
outline:3px solid rgba(48,166,222,.65);
outline-offset:3px}


/* TimesPack Premium Purple marketplace finish */
.tp-food-public-main{
  background:
    radial-gradient(circle at 8% 0%, rgba(117,68,220,.13), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(91,43,191,.10), transparent 24%),
    #eee7ff!important;
}
.tp-food-subnav{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(91,43,191,.12);
  box-shadow:0 3px 18px rgba(50,21,111,.07);
}
.tp-food-hero{
  background:
    radial-gradient(circle at 85% 20%, rgba(154,115,239,.30), transparent 30%),
    linear-gradient(118deg,#32156f 0%,#4b1fa5 48%,#7544dc 100%);
  box-shadow:0 12px 32px rgba(50,21,111,.18);
}
.tp-food-search{
  box-shadow:0 8px 28px rgba(50,21,111,.14);
}
.tp-food-search button{
  background:linear-gradient(135deg,#5b2bbf,#7544dc);
  box-shadow:0 6px 16px rgba(91,43,191,.25);
}
.tp-food-filterbar,
.tp-food-benefits{
  border:1px solid rgba(91,43,191,.10);
  box-shadow:0 8px 24px rgba(50,21,111,.07);
}
.tp-food-dish-card,
.tp-food-restaurant-card,
.tp-food-empty{
  border:1px solid rgba(91,43,191,.08);
  box-shadow:0 8px 24px rgba(50,21,111,.07);
}
.tp-food-dish-card:hover,
.tp-food-restaurant-card:hover{
  border-color:rgba(91,43,191,.20);
  box-shadow:0 12px 30px rgba(50,21,111,.12);
  transform:translateY(-2px);
}
.tp-food-location span,
.tp-food-section-head>div>span,
.tp-food-dish-copy span,
.tp-food-meta span:first-child{
  color:#5b2bbf;
}
.tp-food-logo-placeholder{
  background:linear-gradient(135deg,#e5d9ff,#f7f4ff);
  border:1px solid rgba(91,43,191,.10);
}
