/* Additive layer on the live marketplace. Existing customer and order flows remain active. */
body.dm-marketplace { background:#f8f6f1; color:#16243e; }
body.dm-marketplace header.site-head { background:rgba(255,255,255,.94); border-bottom:1px solid #ebe6de; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
body.dm-marketplace .marketplace-category-bar .cat-chip { border-radius:999px; transition:background-color .2s ease, color .2s ease, transform .2s ease; }
body.dm-marketplace .marketplace-category-bar .cat-chip:hover { transform:translateY(-2px); }
.premium-intro,.premium-results-heading { width:min(1320px,calc(100% - 48px)); box-sizing:border-box; margin-left:auto; margin-right:auto; }
.premium-intro { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(250px,.8fr); gap:16px; padding-top:28px; }
.premium-intro-main,.premium-intro-note { position:relative; overflow:hidden; min-height:252px; border-radius:28px; }
.premium-intro-main { padding:clamp(26px,3.4vw,45px); background:radial-gradient(circle at 86% 13%,#f4aa39 0,#db8923 21%,transparent 46%),linear-gradient(130deg,#15233e,#29405d); color:#fff; }
.premium-intro-main::after { content:'✦'; position:absolute; right:6%; bottom:-61px; color:#fff2; font-size:230px; line-height:1; transform:rotate(-16deg); pointer-events:none; }
.premium-kicker { display:block; color:#a95e24; font-size:11px; font-weight:900; letter-spacing:.16em; }
.premium-intro-main .premium-kicker { color:#ffd891; }
.premium-intro h1 { position:relative; z-index:1; max-width:12ch; margin:15px 0 10px; color:#fff; font-size:clamp(33px,4.2vw,58px); font-weight:900; line-height:1.06; letter-spacing:-.06em; }
.premium-intro h1 em { font-style:normal; color:#ffd076; }
.premium-intro-main p { position:relative; z-index:1; max-width:48ch; margin:0 0 20px; color:#e9ecf3; line-height:1.6; font-size:14px; }
body.dm-marketplace .premium-city-button { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:44px; padding:10px 17px; border:0; border-radius:12px; color:#18233c; background:#ffc461; font:inherit; font-size:13px; font-weight:850; cursor:pointer; transition:transform .2s ease,background-color .2s ease; }
body.dm-marketplace .premium-city-button:hover { transform:translateY(-2px); background:#ffda91; }
.premium-intro-note { display:flex; flex-direction:column; justify-content:flex-end; padding:28px; background:linear-gradient(155deg,#ffe9cd,#f5cda7); }
.premium-note-symbol { position:absolute; top:15px; right:25px; color:#ac622d; font-size:76px; line-height:1; }
.premium-intro-note h2 { max-width:15ch; margin:10px 0 8px; color:#26344c; font-size:clamp(22px,2.3vw,30px); line-height:1.15; letter-spacing:-.045em; }
.premium-intro-note p { max-width:32ch; margin:0; color:#66554b; line-height:1.55; font-size:13px; }
.premium-results-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; padding-top:33px; padding-bottom:16px; }
.premium-results-heading h2 { margin:6px 0 0; color:#16243e; font-size:clamp(23px,2.6vw,33px); letter-spacing:-.045em; line-height:1.2; }
.premium-results-heading p { margin:0 0 3px; color:#67738a; font-size:12px; font-weight:750; text-align:right; }
body.dm-marketplace > main { width:min(1320px,calc(100% - 48px)); max-width:none; padding-top:0; }
body.dm-marketplace .r-card { border:1px solid #eae4da; box-shadow:0 8px 26px #16243e0d; transition:transform .22s ease,box-shadow .22s ease; }
body.dm-marketplace .r-card:hover { box-shadow:0 18px 38px #16243e1c; }
body.dm-marketplace .premium-quick-button { position:absolute; z-index:8; top:204px; right:12px; min-height:38px; padding:7px 12px; border:1px solid #ead7b6; border-radius:999px; background:#fff9ee; color:#885015; box-shadow:0 4px 14px #17233b1c; font:inherit; font-size:11px; font-weight:850; cursor:pointer; }
body.dm-marketplace .premium-quick-button:hover { background:#ffedce; }
@media(min-width:900px) {
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; width:100%; max-width:none; height:auto; overflow:visible; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) > .r-card { position:relative; display:block; min-width:0; width:auto; height:420px; min-height:420px; overflow:hidden; border-radius:22px; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .r-card-link { display:flex; flex-direction:column; height:100%; text-decoration:none; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .cover { width:100%; height:205px; min-height:205px; flex:0 0 205px; border-radius:0; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .cover img { width:100%; height:100%; object-fit:cover; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .body { display:flex; flex-direction:column; min-width:0; flex:1; padding:15px 17px; gap:5px; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .name { font-size:20px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .city { font-size:12px; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .desc { flex:1; min-height:0; max-height:34px; font-size:12px; -webkit-line-clamp:2; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .preview-strip img { width:40px; height:40px; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .favorite-btn { top:12px; bottom:auto; right:12px; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .info-btn { top:58px; bottom:auto; right:12px; }
  body.dm-marketplace #restaurantGrid:not(.dm-coverflow) .premium-quick-button { top:156px; }
}
.premium-menu-dialog { width:min(610px,calc(100% - 28px)); max-height:min(84dvh,790px); box-sizing:border-box; border:0; border-radius:24px; padding:26px; color:#182640; background:#fff; box-shadow:0 30px 100px #0f193e4d; }
.premium-menu-dialog::backdrop { background:#101a2cb8; backdrop-filter:blur(5px); }
.premium-menu-dialog h2 { margin:7px 40px 8px 0; font-size:27px; letter-spacing:-.04em; }
.premium-menu-dialog p { color:#657188; line-height:1.55; font-size:13px; }
body.dm-marketplace .premium-menu-close { position:absolute; right:15px; top:15px; width:38px; height:38px; border:0; border-radius:50%; background:#f3f2ef; color:#182640; font:inherit; font-size:25px; cursor:pointer; }
.premium-menu-list { list-style:none; padding:0; margin:20px 0; display:grid; gap:9px; }
.premium-menu-list li { display:flex; align-items:center; gap:12px; padding:9px; border:1px solid #eee8df; border-radius:13px; }
.premium-menu-list img,.premium-menu-food { display:grid; place-items:center; width:52px; height:52px; flex:0 0 52px; border-radius:9px; object-fit:cover; background:#fff0d9; }
.premium-menu-list li>span:nth-child(2) { flex:1; min-width:0; }
.premium-menu-list strong { display:block; font-size:13px; }
.premium-menu-list small { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; color:#66738a; font-size:11px; }
.premium-menu-list b { font-size:12px; white-space:nowrap; }
.premium-menu-order { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:14px 17px; border-radius:12px; background:#182640; color:#fff; font-size:13px; font-weight:850; text-decoration:none; }
.premium-menu-order:hover { background:#2b4063; }
@media(max-width:899px) { .premium-intro { grid-template-columns:1fr; } .premium-intro-note { min-height:130px; } body.dm-marketplace .premium-quick-button { top:200px; } }
@media(max-width:600px) { .premium-intro,.premium-results-heading { width:calc(100% - 28px); } .premium-intro { padding-top:13px; gap:0; } .premium-intro-main { min-height:184px; padding:23px; border-radius:21px; } .premium-intro-main::after { font-size:145px; bottom:-36px; } .premium-intro h1 { margin:10px 0 8px; font-size:32px; } .premium-intro-main p { font-size:12px; margin-bottom:14px; max-width:40ch; } .premium-intro-note { display:none; } .premium-results-heading { padding-top:24px; padding-bottom:12px; } .premium-results-heading h2 { font-size:22px; } .premium-results-heading p { max-width:120px; font-size:11px; } body.dm-marketplace > main { width:calc(100% - 20px); } body.dm-marketplace .premium-quick-button { top:202px; } .premium-menu-dialog { width:100%; max-width:100%; max-height:calc(100dvh - max(20px,env(safe-area-inset-top))); margin:auto 0 0; border-radius:24px 24px 0 0; padding:22px 20px calc(24px + env(safe-area-inset-bottom)); } }
@media(prefers-reduced-motion:reduce) { body.dm-marketplace .premium-intro *,body.dm-marketplace .premium-quick-button,body.dm-marketplace .r-card { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Editorial marketplace, second iteration. */
body.dm-marketplace { background:#f4f1ea; color:#172027; }
body.dm-marketplace header.site-head { background:#f4f1eaf2; border-bottom:1px solid #ded9ce; }
body.dm-marketplace .marketplace-category-bar { background:#f4f1ea; }
body.dm-marketplace .marketplace-category-bar .cat-chip,
body.dm-marketplace .cats .cat-chip { box-shadow:none; border:1px solid #dcd7ca; background:#faf9f5; color:#343f40; font-size:12px; font-weight:750; }
body.dm-marketplace .marketplace-category-bar .cat-chip.active,
body.dm-marketplace .cats .cat-chip.active { background:#142320; border-color:#142320; color:#fff; }
.premium-intro { grid-template-columns:minmax(0,1.8fr) minmax(260px,.62fr); gap:14px; padding-top:18px; }
.premium-intro-main { min-height:445px; padding:clamp(30px,4vw,58px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border-radius:27px; isolation:isolate; background:#101d1c url('/marketplace-hero-v2.webp') center center/cover no-repeat; box-shadow:0 24px 45px #17282220; }
.premium-intro-main::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#101a19f5 0%,#101a19e0 28%,#101a19a3 48%,#101a1952 74%,#101a191f 100%); }
.premium-intro-main::after { content:none; }
.premium-hero-eyebrow { display:inline-flex; gap:9px; align-items:center; padding:9px 13px; border:1px solid #ffffff4a; border-radius:100px; color:#f4ebd8; background:#ffffff13; font-size:11px; font-weight:850; letter-spacing:.055em; backdrop-filter:blur(8px); }
.premium-hero-dot { width:7px; height:7px; border-radius:50%; background:#efbb70; box-shadow:0 0 0 4px #efbb7024; }
.premium-intro h1 { max-width:11ch; margin:19px 0 13px; font-size:clamp(52px,5.7vw,91px); line-height:.96; letter-spacing:-.07em; font-weight:900; text-wrap:balance; text-shadow:0 3px 22px #0004; }
.premium-intro h1 em { display:block; color:#f3b96b; }
.premium-intro-main p { max-width:47ch; color:#eee8df; font-size:clamp(14px,1.2vw,17px); line-height:1.58; }
.premium-hero-actions { position:relative; z-index:1; display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:13px; }
body.dm-marketplace .premium-search-button { display:inline-flex; align-items:center; gap:14px; min-height:55px; padding:11px 16px; border:1px solid #fff; border-radius:13px; background:#fff; color:#1c2926; box-shadow:0 11px 26px #0003; cursor:pointer; font:inherit; font-size:13px; font-weight:800; transition:transform .25s ease, box-shadow .25s ease; }
body.dm-marketplace .premium-search-button span:first-child { font-size:26px; line-height:.6; font-weight:400; }
body.dm-marketplace .premium-search-button span:last-child { margin-left:12px; color:#bd7b33; font-size:19px; }
body.dm-marketplace .premium-search-button:hover { transform:translateY(-3px); box-shadow:0 16px 32px #0004; }
body.dm-marketplace .premium-city-button { min-height:55px; border:1px solid #ffffff6e; border-radius:13px; background:#ffffff16; color:#fff; backdrop-filter:blur(8px); }
body.dm-marketplace .premium-city-button:hover { background:#ffffff2c; }
.premium-hero-caption { position:absolute; bottom:22px; left:clamp(30px,4vw,58px); font-size:10px; font-weight:900; letter-spacing:.2em; color:#fff9; }
.premium-intro-note { min-height:445px; padding:31px; border-radius:27px; justify-content:flex-end; background:radial-gradient(circle at 90% 16%,#f6c879 0,#ebaa4c 19%,transparent 47%),linear-gradient(160deg,#ecd5a6,#d89452); box-shadow:0 24px 45px #94663b20; }
.premium-intro-note::before { content:'DM'; position:absolute; top:41px; left:24px; color:#ffffff36; font-size:clamp(94px,10vw,150px); line-height:1; font-weight:900; letter-spacing:-.12em; }
.premium-intro-note .premium-kicker { color:#6e471e; }
.premium-note-symbol { top:24px; right:27px; font-size:34px; color:#4c3c2b; }
.premium-intro-note h2 { margin:14px 0; font-size:clamp(30px,3.4vw,48px); line-height:1.02; max-width:10ch; color:#302b24; }
.premium-intro-note p { font-size:14px; color:#584533; }
.premium-note-rule { width:100%; height:1px; margin-top:25px; background:#624a3657; }
.premium-note-footer { display:flex; justify-content:space-between; gap:10px; width:100%; margin-top:14px; color:#47372a; font-size:11px; font-weight:800; }
.premium-results-heading { padding-top:47px; padding-bottom:12px; }
.premium-results-heading .premium-kicker { color:#b87b32; font-size:11px; }
.premium-results-heading h2 { margin-top:8px; color:#1b2a26; font-size:clamp(30px,3.4vw,48px); font-weight:900; letter-spacing:-.06em; }
.premium-heading-period { color:#c9873c; }
.premium-results-heading p { color:#496158; background:#e7eae1; padding:9px 14px; border-radius:100px; font-size:12px; }
body.dm-marketplace #catsRow { width:min(1320px,calc(100% - 48px)); max-width:none; padding:8px 0 22px; }
body.dm-marketplace #catsRow .cat-chip { padding:10px 17px; font-size:13px; }
body.dm-marketplace > main { padding-bottom:85px; }
body.dm-marketplace #restaurantGrid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:20px!important; width:100%!important; max-width:none!important; height:auto!important; overflow:visible!important; justify-items:stretch!important; }
body.dm-marketplace #restaurantGrid > .r-card { position:relative!important; display:block!important; width:100%!important; min-width:0!important; justify-self:stretch!important; box-sizing:border-box!important; height:auto!important; min-height:430px!important; border:1px solid #e7e0d3!important; border-radius:23px!important; background:#fffdf9!important; overflow:hidden!important; box-shadow:0 10px 25px #272f2410!important; animation:premiumCardIn .5s both; transition:transform .3s ease,box-shadow .3s ease!important; }
body.dm-marketplace #restaurantGrid > .r-card:hover { transform:translateY(-7px); box-shadow:0 23px 44px #1b292021!important; }
body.dm-marketplace #restaurantGrid .r-card-link { height:100%!important; display:flex!important; flex-direction:column!important; }
body.dm-marketplace #restaurantGrid .cover { width:100%!important; height:224px!important; min-height:224px!important; flex:0 0 224px!important; border-radius:0!important; background:#ece5d7; }
body.dm-marketplace #restaurantGrid .cover img { width:100%!important; height:100%!important; object-fit:cover!important; transition:transform .5s ease; }
body.dm-marketplace #restaurantGrid .r-card:hover .cover img { transform:scale(1.05); }
body.dm-marketplace #restaurantGrid .body { display:flex!important; flex-direction:column!important; flex:1!important; min-height:205px!important; gap:5px!important; padding:18px 19px!important; box-sizing:border-box; }
body.dm-marketplace #restaurantGrid .name { color:#1b2a26; font-size:23px!important; font-weight:900; letter-spacing:-.045em; }
body.dm-marketplace #restaurantGrid .desc { color:#6b766e; font-size:12px; line-height:1.4; max-height:34px; flex:1; }
body.dm-marketplace #restaurantGrid .cat-badge { top:13px!important; left:13px!important; padding:7px 11px; border:1px solid #fff9; background:#fffdf8eb; color:#26362e; box-shadow:0 5px 16px #0002; }
body.dm-marketplace #restaurantGrid :is(.favorite-btn,.info-btn) { right:13px!important; background:#fffdf9; box-shadow:0 6px 18px #0002; }
body.dm-marketplace #restaurantGrid .favorite-btn { top:13px!important; bottom:auto!important; }
body.dm-marketplace #restaurantGrid .info-btn { top:56px!important; bottom:auto!important; }
body.dm-marketplace #restaurantGrid .premium-quick-button { top:177px!important; right:12px!important; min-height:34px; padding:7px 13px; border:1px solid #edc58e; background:#fff8ec; color:#71471d; font-size:12px; transition:transform .2s ease,background .2s ease; }
body.dm-marketplace #restaurantGrid .premium-quick-button:hover { transform:translateY(-2px); background:#ffe9c9; }
@keyframes premiumCardIn { from { opacity:0; translate:0 18px; } to { opacity:1; translate:0 0; } }
@media(max-width:1049px) {
  .premium-intro { grid-template-columns:1fr; }
  .premium-intro-note { display:none; }
  body.dm-marketplace #restaurantGrid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:640px) {
  .premium-intro,.premium-results-heading { width:calc(100% - 24px); }
  .premium-intro { padding-top:11px; }
  .premium-intro-main { min-height:408px; padding:25px 21px 45px; border-radius:21px; justify-content:center; background-position:61% center; }
  .premium-intro-main::before { background:linear-gradient(90deg,#101a19e8,#101a19c2 55%,#101a1970),linear-gradient(0deg,#101a19cb,transparent 44%); }
  .premium-hero-eyebrow { font-size:10px; padding:8px 10px; }
  .premium-intro h1 { max-width:10ch; margin:16px 0 10px; font-size:clamp(42px,11vw,58px); }
  .premium-intro-main p { max-width:32ch; font-size:13px; line-height:1.5; margin-bottom:0; }
  .premium-hero-actions { align-items:stretch; flex-direction:column; width:100%; margin-top:16px; gap:8px; }
  body.dm-marketplace .premium-search-button,body.dm-marketplace .premium-city-button { width:100%; justify-content:flex-start; min-height:45px; }
  body.dm-marketplace .premium-search-button span:last-child,body.dm-marketplace .premium-city-button span:last-child { margin-left:auto; }
  .premium-hero-caption { bottom:17px; left:23px; font-size:9px; }
  .premium-results-heading { align-items:flex-end; padding-top:34px; padding-bottom:9px; }
  .premium-results-heading h2 { max-width:11ch; font-size:clamp(30px,8vw,39px); }
  .premium-results-heading p { max-width:105px; padding:7px 9px; font-size:10px; line-height:1.25; }
  body.dm-marketplace #catsRow { width:calc(100% - 24px); padding:6px 0 18px; }
  body.dm-marketplace > main { width:calc(100% - 24px); padding-bottom:100px; }
  body.dm-marketplace #restaurantGrid { grid-template-columns:minmax(0,1fr)!important; grid-auto-rows:1fr!important; align-items:stretch!important; gap:18px!important; }
  body.dm-marketplace #restaurantGrid > .r-card { height:auto!important; min-height:0!important; border-radius:18px!important; }
  body.dm-marketplace #restaurantGrid .cover { height:172px!important; min-height:172px!important; flex-basis:172px!important; }
  body.dm-marketplace #restaurantGrid .premium-quick-button { top:130px!important; min-height:32px; }
  body.dm-marketplace #restaurantGrid .body { min-height:0!important; padding:13px 15px!important; gap:3px!important; }
  body.dm-marketplace #restaurantGrid .name { font-size:19px!important; }
  body.dm-marketplace #restaurantGrid .city { font-size:12px; }
  body.dm-marketplace #restaurantGrid .desc { flex:0 0 auto; min-height:0; max-height:19px; -webkit-line-clamp:1; font-size:12px; }
  body.dm-marketplace #restaurantGrid .card-footer-row { min-height:34px; margin-top:5px; }
  body.dm-marketplace #restaurantGrid .preview-strip img { width:34px; height:31px; flex-basis:34px; }
  body.dm-marketplace #restaurantGrid .cat-badge { padding:5px 9px; font-size:11px; }
  body.dm-marketplace #restaurantGrid :is(.favorite-btn,.info-btn) { width:35px; height:35px; }
  body.dm-marketplace #restaurantGrid .info-btn { top:54px!important; }
}
@media(prefers-reduced-motion:reduce) {
  body.dm-marketplace #restaurantGrid > .r-card,body.dm-marketplace #restaurantGrid .cover img,body.dm-marketplace .premium-search-button { animation:none!important; transition:none!important; }
}

/* Data-driven discovery bento. */
.premium-discovery[hidden] { display:none!important; }
.premium-discovery { width:min(1320px,calc(100% - 48px)); margin:0 auto; padding:49px 0 5px; }
.premium-discovery-heading { position:relative; margin-bottom:19px; padding-right:190px; }
.premium-discovery-heading h2 { margin:7px 0 5px; color:#192923; font-size:clamp(29px,3.2vw,42px); line-height:1.08; font-weight:900; letter-spacing:-.055em; }
.premium-discovery-heading p { margin:0; color:#68756c; font-size:13px; }
body.dm-marketplace .premium-show-all { position:absolute; right:0; bottom:2px; display:flex; align-items:center; gap:9px; border:0; background:none; color:#755022; font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
body.dm-marketplace .premium-show-all:hover { text-decoration:underline; }
.premium-discovery-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(265px,.9fr); gap:17px; }
.premium-discovery-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; min-width:0; }
body.dm-marketplace .premium-discovery-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; min-height:210px; padding:18px; overflow:hidden; border:1px solid #e4e2d9; border-radius:20px; color:#20342d; text-align:left; font:inherit; cursor:pointer; background:#e7e8dd; transition:transform .25s ease,box-shadow .25s ease; }
body.dm-marketplace .premium-discovery-card:hover { transform:translateY(-5px); box-shadow:0 15px 30px #25372c20; }
body.dm-marketplace .premium-discovery-card:focus-visible,body.dm-marketplace .premium-open-panel button:focus-visible,body.dm-marketplace .premium-search-button:focus-visible { outline:3px solid #b46c22; outline-offset:3px; }
.premium-discovery-card::after { content:''; position:absolute; width:132px; height:132px; right:-25px; top:14px; border-radius:50%; background:#ffffff4a; filter:blur(1px); }
body.dm-marketplace .premium-discovery-card[data-category="pizzerie"] { background:linear-gradient(145deg,#f0cfac,#e8a56f); }
body.dm-marketplace .premium-discovery-card[data-category="restaurant"] { background:linear-gradient(145deg,#dfe2cd,#b8c7a8); }
body.dm-marketplace .premium-discovery-card[data-category="fast_food"] { background:linear-gradient(145deg,#f0d2a6,#e7ad5b); }
body.dm-marketplace .premium-discovery-card[data-category="cafe"] { background:linear-gradient(145deg,#e5d4c4,#cfb497); }
body.dm-marketplace .premium-discovery-card[data-category="food_truck"] { background:linear-gradient(145deg,#d7e1d3,#9fc5ac); }
body.dm-marketplace .premium-discovery-card[data-category="bar"] { background:linear-gradient(145deg,#ddd3e1,#bba8c9); }
body.dm-marketplace .premium-discovery-card[data-category="all"] { background:linear-gradient(145deg,#d4dfd6,#96b2a0); }
.premium-category-icon { position:relative; z-index:1; display:grid; place-items:center; width:59px; height:59px; border:1px solid #ffffff80; border-radius:17px; background:#ffffff96; box-shadow:0 10px 24px #41362618; font-size:30px; transform:rotate(-7deg); transition:transform .25s ease; }
.premium-discovery-card:hover .premium-category-icon { transform:rotate(0deg) scale(1.08); }
.premium-category-copy { position:relative; z-index:1; display:flex; flex-direction:column; gap:3px; width:100%; }
.premium-category-name { font-size:clamp(15px,1.4vw,19px); line-height:1.15; font-weight:900; letter-spacing:-.035em; }
.premium-category-meta { display:flex; justify-content:space-between; align-items:center; gap:8px; color:#4d6153; font-size:11px; font-weight:750; }
.premium-category-meta span:last-child { font-size:22px; color:#33443a; }
.premium-open-panel { position:relative; display:flex; flex-direction:column; min-height:210px; box-sizing:border-box; padding:21px 23px; overflow:hidden; border-radius:20px; background:#18312b; color:#fff; }
.premium-open-panel::before { content:''; position:absolute; width:225px; height:225px; right:-53px; top:-55px; border:1px solid #ffffff22; border-radius:50%; box-shadow:0 0 0 41px #ffffff08,0 0 0 82px #ffffff06; pointer-events:none; }
.premium-open-eyebrow { position:relative; display:flex; justify-content:space-between; color:#e6b66f; font-size:10px; font-weight:900; letter-spacing:.13em; }
.premium-open-panel strong { position:relative; margin-top:15px; color:#fff; font-size:64px; line-height:.95; font-weight:900; letter-spacing:-.07em; }
.premium-open-panel > span:not(.premium-open-eyebrow) { position:relative; margin-top:2px; color:#e6eee5; font-size:13px; }
body.dm-marketplace .premium-open-panel button { position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; align-self:flex-start; margin-top:auto; padding:0; border:0; background:none; color:#f8cc89; font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
body.dm-marketplace .premium-open-panel button:disabled { opacity:.6; cursor:default; }
.premium-results-heading { padding-top:56px; }
body.dm-customer.dm-marketplace header.customer-site-head .marketplace-category-bar { display:none!important; }
body.dm-marketplace #searchInput::-webkit-search-cancel-button,
body.dm-marketplace #searchInput::-webkit-search-decoration { display:none; -webkit-appearance:none; }
body.dm-marketplace #searchInput::-ms-clear { display:none; }
body.dm-marketplace .premium-search-feedback { display:flex; align-items:center; justify-content:center; width:min(1180px,calc(100% - 24px)); min-height:37px; margin:0 auto 11px; padding:7px 12px; border:1px solid #dfd6c6; border-radius:11px; background:#fffaf0; color:#734715; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
body.dm-marketplace .premium-search-feedback[hidden] { display:none!important; }
body.dm-marketplace .premium-search-feedback:hover { background:#ffedcf; }
body.dm-marketplace .premium-search-feedback:focus-visible { outline:3px solid #bd7e31; outline-offset:2px; }
body.dm-marketplace #premiumResults:focus:not(:focus-visible) { outline:none; }
@media(min-width:900px) {
  body.dm-customer.dm-marketplace .marketplace-dock { display:none!important; }
  body.dm-customer.dm-marketplace footer.join-cta { padding:20px 24px 23px!important; }
  body.dm-customer.dm-marketplace footer.join-cta .footer-payment-badges { margin-top:5px; }
  body.dm-customer.dm-marketplace header.customer-site-head .marketplace-category-bar { display:none!important; }
}
@media(max-width:1100px) {
  .premium-discovery-layout { grid-template-columns:minmax(0,1fr) 260px; }
  .premium-discovery-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.dm-marketplace .premium-discovery-card { min-height:160px; }
  .premium-open-panel { min-height:332px; }
}
@media(max-width:700px) {
  .premium-discovery { width:calc(100% - 24px); padding-top:32px; }
  .premium-discovery-heading { padding-right:0; }
  .premium-discovery-heading h2 { font-size:31px; }
  body.dm-marketplace .premium-show-all { position:static; margin-top:12px; padding:0; }
  .premium-discovery-layout { grid-template-columns:1fr; gap:13px; }
  .premium-discovery-categories { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body.dm-marketplace .premium-discovery-card { min-height:152px; padding:14px; border-radius:17px; }
  .premium-category-icon { width:50px; height:50px; font-size:25px; }
  .premium-category-name { font-size:17px; }
  .premium-open-panel { min-height:165px; padding:18px 20px; border-radius:17px; }
  .premium-open-panel strong { margin-top:8px; font-size:49px; }
  body.dm-marketplace .premium-open-panel button { position:absolute; right:20px; bottom:21px; }
  .premium-results-heading { padding-top:37px; }
}
@media(max-width:640px) {
  body.dm-marketplace .premium-intro { display:none!important; }
  body.dm-marketplace .premium-discovery { padding-top:16px; }
}
/* Backward compatibility when Android restores markup carrying the old carousel class. */
html body.dm-marketplace #restaurantGrid.dm-coverflow {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
  justify-items:stretch!important;
  height:auto!important;
  overflow:visible!important;
  padding:0!important;
  perspective:none!important;
  scroll-snap-type:none!important;
}
html body.dm-marketplace #restaurantGrid.dm-coverflow > .r-card {
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  justify-self:stretch!important;
  height:auto!important;
  min-height:430px!important;
  margin:0!important;
  flex:none!important;
  transform:none!important;
  translate:none!important;
  scale:none!important;
  rotate:none!important;
  animation:none!important;
}
html body.dm-marketplace #restaurantGrid.dm-coverflow .cover { height:224px!important; min-height:224px!important; flex-basis:224px!important; }
@media(max-width:1049px) {
  html body.dm-marketplace #restaurantGrid.dm-coverflow { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:640px) {
  html body.dm-marketplace #restaurantGrid.dm-coverflow { grid-template-columns:minmax(0,1fr)!important; gap:18px!important; }
  html body.dm-marketplace #restaurantGrid.dm-coverflow > .r-card { min-height:0!important; }
  html body.dm-marketplace #restaurantGrid.dm-coverflow .cover { height:172px!important; min-height:172px!important; flex-basis:172px!important; }
}
@media(prefers-reduced-motion:reduce) {
  body.dm-marketplace .premium-discovery-card,.premium-category-icon { transition:none!important; }
}
