:root{--ink:#2b1b14;--muted:#776861;--cream:#fffaf4;--paper:#fff;--line:#eaded3;--accent:#f26722;--soft:#fff1e5;--shadow:0 18px 50px rgba(43,27,20,.08)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.sitebar{border-bottom:1px solid var(--line);background:#fffaf4}.sitebar .wrap{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:800}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent);color:#fff;font:700 22px Georgia,serif}.sitebar nav{display:flex;gap:18px;font-size:14px}.sitebar nav a{text-decoration:none;color:var(--muted)}main{padding:42px 0 72px}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:20px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.eyebrow{margin:0 0 10px;color:var(--accent);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.hero h1{font:700 clamp(34px,5vw,58px)/1.04 Georgia,serif;margin:0 0 14px;letter-spacing:-.03em}.lead{font-size:18px;color:#5f5048;max-width:720px}.uid{display:inline-flex;border:1px solid #f2c8a9;background:#fff;padding:10px 14px;border-radius:12px;font-weight:900;letter-spacing:.05em}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 8px 24px rgba(43,27,20,.035)}.panel h2{font:700 27px/1.15 Georgia,serif;margin:0 0 14px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}.fact{background:#fff;padding:16px}.fact span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.fact strong{display:block;margin-top:4px}.city-list,.dish-grid{display:flex;flex-wrap:wrap;gap:10px}.city-pill{border:1px solid #f2c8a9;background:var(--soft);padding:8px 11px;border-radius:999px;font-size:14px}.aside{background:var(--ink);color:#fff}.aside p{color:#dccdc5}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:12px;background:var(--accent);color:#fff;padding:12px 16px;font-weight:800;cursor:pointer}.content{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;margin-top:30px}.dish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dish{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.dish strong{display:block}.dish small{color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:13px}@media(max-width:820px){.hero,.content{grid-template-columns:1fr}.dish-grid{grid-template-columns:1fr}}
/* v1.0.3 public cleanup */
.content--single{grid-template-columns:1fr}

/* v1.0.4 Location Master city links */
.city-pill{text-decoration:none}.city-pill:hover{border-color:#efb68f;background:#fff7f0}


/* =========================================================
   Universal Home Header on Vendor SEO pages v1.0.5
   ========================================================= */

.sitebar{display:none!important}

.vendor-seo-main{
    width:100%;
}

/* Give the universal ticker/header clear separation from page content. */
.vendor-seo-main{
    padding-top:42px;
}

/* Remove residual spacing intended for the deleted breadcrumb. */
.vendor-seo-main .hero{
    margin-top:0;
}

@media(max-width:820px){
    .vendor-seo-main .hero,
    .vendor-seo-main .content,
    .vendor-seo-main .panel,
    .vendor-seo-main h1,
    .vendor-seo-main h2,
    .vendor-seo-main p,
    .vendor-seo-main .lead{
        text-align:center;
    }

    .vendor-seo-main .hero{
        justify-items:center;
    }

    .vendor-seo-main .uid,
    .vendor-seo-main .city-list,
    .vendor-seo-main .dish-grid{
        margin-left:auto;
        margin-right:auto;
    }

    .vendor-seo-main .city-list,
    .vendor-seo-main .dish-grid{
        justify-content:center;
    }
}


/* =========================================================
   Vendor SEO content tabs v1.0.6
   ========================================================= */
.vendor-content-tabs-panel{
    padding:0;
    overflow:hidden;
}
.vendor-content-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid var(--line);
    background:#fff8f1;
}
.vendor-content-tab{
    appearance:none;
    border:0;
    border-right:1px solid var(--line);
    background:transparent;
    color:var(--muted);
    min-height:48px;
    padding:12px 14px;
    font:inherit;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
}
.vendor-content-tab:last-child{
    border-right:0;
}
.vendor-content-tab:hover{
    background:#fff1e5;
    color:var(--ink);
}
.vendor-content-tab.is-active{
    background:var(--accent);
    color:#fff;
}
.vendor-content-tab-panel{
    padding:22px;
}
.vendor-content-tab-panel[hidden]{
    display:none!important;
}
.vendor-content-tab-panel .dish-grid{
    margin:0;
}
@media(max-width:600px){
    .vendor-content-tab{
        min-height:44px;
        padding:10px 8px;
        font-size:12px;
    }
    .vendor-content-tab-panel{
        padding:16px;
    }
}


/* =========================================================
   Vendor SEO orange button tabs v1.0.7
   ========================================================= */

/* Remove the old joined-strip appearance. */
.vendor-content-tabs{
    display:flex !important;
    flex-wrap:wrap;
    gap:10px !important;
    padding:16px 18px 0 !important;
    border-bottom:0 !important;
    background:#fff !important;
}

/* Every tab is a proper orange button with white text. */
.vendor-content-tab{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:104px !important;
    min-height:44px !important;
    padding:10px 18px !important;
    margin:0 !important;
    border:1px solid #ef631c !important;
    border-radius:11px !important;
    background:#ef631c !important;
    color:#fff !important;
    text-decoration:none !important;
    font:inherit !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    cursor:pointer !important;
    box-shadow:0 6px 16px rgba(239,99,28,.18) !important;
    transition:background .15s ease, transform .15s ease, box-shadow .15s ease !important;
}

.vendor-content-tab:last-child{
    border-right:1px solid #ef631c !important;
}

.vendor-content-tab:hover{
    background:#dc5514 !important;
    border-color:#dc5514 !important;
    color:#fff !important;
    transform:translateY(-1px);
}

.vendor-content-tab.is-active{
    background:#c94b10 !important;
    border-color:#c94b10 !important;
    color:#fff !important;
    box-shadow:0 7px 18px rgba(201,75,16,.24) !important;
}

.vendor-content-tab:focus-visible{
    outline:3px solid rgba(239,99,28,.24) !important;
    outline-offset:2px !important;
}

.vendor-content-tab-panel{
    padding:18px !important;
}

@media(max-width:600px){
    .vendor-content-tabs{
        justify-content:center !important;
        padding:14px 14px 0 !important;
        gap:8px !important;
    }
    .vendor-content-tab{
        flex:1 1 0 !important;
        min-width:0 !important;
        min-height:42px !important;
        padding:9px 8px !important;
        font-size:12px !important;
    }
    .vendor-content-tab-panel{
        padding:14px !important;
    }
}


/* =========================================================
   CURRENT Vendor SEO orange button tabs v1.0.8
   Built from Backend_Catering_Services_Home_Page_Vendors_SEO_Pages (4).zip
   ========================================================= */
.vendor-content-tabs-panel{padding:0!important;overflow:hidden!important}

.vendor-content-tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:18px 18px 0!important;
    margin:0!important;
    border:0!important;
    background:#fff!important;
}

.vendor-content-tabs .vendor-content-tab{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:112px!important;
    min-height:44px!important;
    width:auto!important;
    margin:0!important;
    padding:10px 20px!important;
    border:1px solid #f26722!important;
    border-radius:11px!important;
    background:#f26722!important;
    color:#fff!important;
    text-decoration:none!important;
    font:900 13px/1 Arial,Helvetica,sans-serif!important;
    cursor:pointer!important;
    box-shadow:0 6px 16px rgba(242,103,34,.18)!important;
}

.vendor-content-tabs .vendor-content-tab:hover{
    background:#df5718!important;
    border-color:#df5718!important;
    color:#fff!important;
}

.vendor-content-tabs .vendor-content-tab.is-active{
    background:#c94b10!important;
    border-color:#c94b10!important;
    color:#fff!important;
}

.vendor-content-tab-panel{padding:18px!important}
.vendor-content-tab-panel[hidden]{display:none!important}

@media(max-width:600px){
    .vendor-content-tabs{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:7px!important;
        padding:14px 14px 0!important;
    }
    .vendor-content-tabs .vendor-content-tab{
        min-width:0!important;
        width:100%!important;
        min-height:42px!important;
        padding:9px 5px!important;
        font-size:12px!important;
    }
    .vendor-content-tab-panel{padding:14px!important}
}


/* =========================================================
   Vendor SEO hero image + prospect-facing presentation v1.0.9
   ========================================================= */

.vendor-profile-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(320px,430px)!important;
    gap:28px!important;
    align-items:center!important;
}

.vendor-hero-copy .lead{
    max-width:720px;
}

.vendor-hero-media{
    width:100%;
    min-height:330px;
    border:1px solid var(--line);
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 8px 24px rgba(43,27,20,.035);
}

.vendor-hero-media img{
    display:block;
    width:100%;
    height:100%;
    min-height:330px;
    max-height:430px;
    object-fit:cover;
}

.vendor-image-placeholder{
    min-height:330px;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:28px;
    text-align:center;
    background:linear-gradient(145deg,#fff8f1,#fff);
    color:var(--muted);
}

.vendor-image-placeholder strong{
    color:var(--ink);
    font:700 26px/1.15 Georgia,serif;
}

.vendor-image-placeholder span{
    max-width:280px;
    font-size:13px;
}

.vendor-partner-content{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:28px!important;
    align-items:start!important;
    margin-top:30px!important;
}

.vendor-contact-aside{
    margin-top:18px;
    position:sticky;
    top:18px;
}

/* The UID is no longer part of the public-facing profile. */
.vendor-seo-main .uid{
    display:none!important;
}

@media(max-width:820px){
    .vendor-profile-hero,
    .vendor-partner-content{
        grid-template-columns:1fr!important;
    }

    .vendor-hero-copy,
    .vendor-hero-media,
    .vendor-content-main,
    .vendor-contact-aside{
        width:100%;
        max-width:680px;
        margin-left:auto;
        margin-right:auto;
    }

    .vendor-hero-media,
    .vendor-hero-media img,
    .vendor-image-placeholder{
        min-height:260px;
    }

    .vendor-contact-aside{
        position:static;
    }
}


/* =========================================================
   Dish/Vendor hero consistency v1.1.1
   Vendor hero follows Dish SEO hero dimensions and behavior.
   ========================================================= */

/* SAME grid as Dish SEO */
.vendor-seo-main .vendor-profile-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)!important;
    gap:36px!important;
    align-items:start!important;
}

/* SAME heading typography as Dish SEO */
.vendor-seo-main .vendor-profile-hero h1{
    font:700 clamp(36px,5vw,66px)/1.02 Georgia,'Times New Roman',serif!important;
    margin:0 0 20px!important;
    letter-spacing:-.035em!important;
}

/* SAME lead treatment as Dish SEO */
.vendor-seo-main .vendor-profile-hero .lead{
    font-size:18px!important;
    color:#5f5048!important;
    margin:0!important;
    max-width:760px!important;
}

/* SAME media box as Dish SEO */
.vendor-seo-main .vendor-hero-media{
    width:auto!important;
    min-height:0!important;
    max-height:none!important;
    border:0!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background:#f1e8df!important;
    box-shadow:var(--shadow)!important;
    aspect-ratio:4/3!important;
    display:grid!important;
    place-items:center!important;
}

/* SAME image behavior as Dish SEO */
.vendor-seo-main .vendor-hero-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:cover!important;
}

/* Empty image placeholders on BOTH modules contain no public text. */
.vendor-seo-main .vendor-image-placeholder{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
    background:#f1e8df!important;
    color:transparent!important;
    font-size:0!important;
}

/* SAME responsive breakpoint and image-first behavior as Dish SEO. */
@media(max-width:900px){
    .vendor-seo-main .vendor-profile-hero{
        grid-template-columns:1fr!important;
        gap:24px!important;
    }

    /* Image appears ABOVE the text section on mobile/tablet. */
    .vendor-seo-main .vendor-profile-hero .vendor-hero-media{
        order:-1!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }

    .vendor-seo-main .vendor-profile-hero .vendor-hero-copy{
        order:0!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }
}

@media(max-width:620px){
    .vendor-seo-main .vendor-profile-hero h1{
        font-size:40px!important;
    }

    .vendor-seo-main .vendor-profile-hero .lead{
        font-size:16px!important;
    }
}


/* =========================================================
   Vendor SEO direct Home Dish Items module v1.1.0
   ========================================================= */

.vendor-public-tabs-section{
    width:100%;
    margin-top:22px;
}

.vendor-public-tabs-shell{
    width:min(1240px,calc(100% - 40px));
    max-width:1240px;
    margin:0 auto;
}

.vendor-public-tabs-section .vendor-content-tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
}

.vendor-public-tabs-section .vendor-content-tab{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:112px!important;
    min-height:44px!important;
    margin:0!important;
    padding:10px 20px!important;
    border:1px solid #f26722!important;
    border-radius:11px!important;
    background:#f26722!important;
    color:#fff!important;
    font:900 13px/1 Arial,Helvetica,sans-serif!important;
    cursor:pointer!important;
    box-shadow:0 6px 16px rgba(242,103,34,.18)!important;
}

.vendor-public-tabs-section .vendor-content-tab:hover{
    background:#df5718!important;
    border-color:#df5718!important;
    color:#fff!important;
}

.vendor-public-tabs-section .vendor-content-tab.is-active{
    background:#c94b10!important;
    border-color:#c94b10!important;
    color:#fff!important;
}

.vendor-public-tabs-section .vendor-content-tab-panel{
    width:100%;
    padding:0!important;
    margin:0!important;
}

.vendor-public-tabs-section .vendor-content-tab-panel[hidden]{
    display:none!important;
}

/* Search/cards are styled only by the shared Home Dish Items CSS. */
.vendor-public-tabs-section .tb-dishdb{
    width:100%;
}

@media(max-width:900px){
    .vendor-public-tabs-shell{
        width:min(100% - 28px,1240px);
    }
    .vendor-public-tabs-section .vendor-content-tabs{
        justify-content:center!important;
    }
}

@media(max-width:600px){
    .vendor-public-tabs-section .vendor-content-tabs{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:7px!important;
    }
    .vendor-public-tabs-section .vendor-content-tab{
        width:100%!important;
        min-width:0!important;
        min-height:42px!important;
        padding:9px 5px!important;
        font-size:12px!important;
    }
}


/* =========================================================
   Vendor SEO CTA below slider v1.1.1
   ========================================================= */

/* Old side CTA has been removed. Service coverage uses full content width. */
.vendor-partner-content{
    grid-template-columns:1fr!important;
}

.vendor-content-main{
    width:100%!important;
}

/* The CTA itself is rendered by the shared Home Dish Items module AFTER
   the slider, so Vendor and Location pages use the same CTA behavior:
   desktop full-width banner / mobile compact card. */
.vendor-public-tabs-section .tb-dishdb__catering-cta{
    width:100%;
}

/* Retire any stale styling for the removed side CTA. */
.vendor-contact-aside{
    display:none!important;
}
