
:root{
  --mdv-orange:#ff6b27;
  --mdv-orange-dark:#e95716;
  --mdv-ink:#171717;
  --mdv-muted:#777777;
  --mdv-soft:#f8f7f5;
  --mdv-border:#ece9e5;
  --mdv-radius:18px;
  --mdv-shadow:0 12px 32px rgba(20,20,20,.07);
}
.mdv-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.mdv-section{padding:72px 0;background:#fff}
.mdv-section--soft{background:var(--mdv-soft)}
.mdv-eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:850;color:#ffd1ba;text-transform:uppercase}
.mdv-eyebrow--dark{color:#a95b35}
.mdv-section-heading{margin-bottom:28px}
.mdv-section-heading h2{font-size:clamp(28px,3vw,40px);line-height:1.08;margin:7px 0 0;color:var(--mdv-ink);font-weight:850;letter-spacing:-.7px}

/* Hero — linguagem mais limpa, inspirada no estilo Dineplan */
.mdv-hero{
  position:relative;isolation:isolate;min-height:570px;display:flex;align-items:center;color:#fff;overflow:hidden;
  background:#221a15;
}
.mdv-hero__backdrop{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(90deg,rgba(25,14,9,.78) 0%,rgba(25,14,9,.52) 47%,rgba(25,14,9,.20) 100%),
    url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1900&q=88') center/cover no-repeat;
  transform:scale(1.015);
}
.mdv-hero__content{padding:88px 0 74px}
.mdv-hero h1{font-size:clamp(48px,6vw,78px);line-height:.98;margin:10px 0 15px;font-weight:900;letter-spacing:-2.6px;max-width:820px}
.mdv-hero p{font-size:clamp(18px,1.7vw,22px);max-width:690px;margin:0 0 30px;color:#f5f3f1}
.mdv-search--dineplan{
  display:grid;grid-template-columns:minmax(260px,1.45fr) minmax(210px,.8fr) auto;
  max-width:940px;background:#fff;border:7px solid rgba(255,255,255,.22);
  background-clip:padding-box;border-radius:21px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.25);
}
.mdv-search__field{padding:13px 17px;border-right:1px solid #ececec;background:#fff}
.mdv-search__field span{display:block;color:#8a8a8a;font-size:10px;font-weight:800;margin-bottom:4px}
.mdv-search__field input,.mdv-search__field select{
  width:100%;border:0!important;outline:0;background:transparent!important;padding:0!important;
  min-height:28px;color:#181818;font-size:14px;box-shadow:none!important;
}
.mdv-search__button{border:0;background:var(--mdv-orange);color:#fff;font-weight:850;padding:0 31px;cursor:pointer;font-size:14px}
.mdv-search__button:hover{background:var(--mdv-orange-dark)}
.mdv-popular-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:17px}
.mdv-popular-row__label{font-size:12px;color:#e5e0dd}
.mdv-quick-links{display:flex;gap:8px;flex-wrap:wrap}
.mdv-quick-links a{
  color:#fff;text-decoration:none;font-size:12px;font-weight:750;padding:6px 10px;border-radius:999px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);transition:.18s ease;
}
.mdv-quick-links a:hover{background:#fff;color:#222}

/* Localizações */
.mdv-location-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.mdv-location-card{
  position:relative;isolation:isolate;min-height:210px;border-radius:var(--mdv-radius);overflow:hidden;
  display:flex;align-items:flex-end;padding:18px;text-decoration:none;color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.08);transition:.22s ease;background:#2f2f2f;
}
.mdv-location-card__bg{position:absolute;inset:-12px;z-index:-3;background:var(--mdv-bg) center/cover no-repeat;filter:blur(7px);transform:scale(1.09)}
.mdv-location-card__overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.06) 12%,rgba(0,0,0,.68) 100%)}
.mdv-location-card__content{position:relative;z-index:2}
.mdv-location-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.13)}
.mdv-location-card strong{display:block;font-size:20px;line-height:1.1;color:#fff}
.mdv-location-card__content>span{font-size:11px;color:#efefef;margin-top:5px;display:block}

/* Categorias */
.mdv-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mdv-category-card{
  min-height:118px;display:grid;grid-template-columns:82px 1fr 28px;align-items:center;gap:14px;
  padding:13px 15px 13px 13px;background:#fff;border:1px solid var(--mdv-border);border-radius:18px;
  text-decoration:none;color:var(--mdv-ink);box-shadow:0 8px 24px rgba(0,0,0,.035);transition:.2s ease;
}
.mdv-category-card:hover{transform:translateY(-3px);border-color:#ffd0b9;box-shadow:var(--mdv-shadow)}
.mdv-category-card__visual{
  width:82px;height:82px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  background:#f2f2f2;border:3px solid #fff;box-shadow:0 0 0 1px #ece7e3;
}
.mdv-category-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.mdv-category-card:hover .mdv-category-card__visual img{transform:scale(1.055)}
.mdv-category-card__emoji{font-size:35px;background:linear-gradient(135deg,#fff5ef,#ffe2d2)}
.mdv-category-card__content strong{display:block;font-size:15px;line-height:1.15;margin-bottom:5px}
.mdv-category-card__content small{display:block;font-size:11px;color:#999}
.mdv-category-card__go{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f7f5f3;color:#7d7d7d;font-size:15px;transition:.2s ease}
.mdv-category-card:hover .mdv-category-card__go{background:var(--mdv-orange);color:#fff}

/* Restaurantes */
.mdv-listing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mdv-listing-card{
  background:#fff;border:1px solid var(--mdv-border);border-radius:19px;overflow:hidden;
  box-shadow:0 8px 28px rgba(0,0,0,.045);transition:.22s ease;
}
.mdv-listing-card:hover{transform:translateY(-4px);box-shadow:var(--mdv-shadow)}
.mdv-listing-card__image{position:relative;display:block;aspect-ratio:1.46/1;overflow:hidden;background:#eee}
.mdv-listing-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .32s ease}
.mdv-listing-card:hover .mdv-listing-card__image img{transform:scale(1.045)}
.mdv-listing-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 55%,rgba(0,0,0,.18) 100%)}
.mdv-listing-card__badge{
  position:absolute;left:12px;top:12px;background:var(--mdv-orange);color:#fff;border-radius:999px;
  padding:6px 10px;font-size:10px;font-weight:850;box-shadow:0 4px 15px rgba(0,0,0,.14)
}
.mdv-listing-card__body{padding:16px 16px 17px}
.mdv-listing-card__topline{display:grid;grid-template-columns:1fr 28px;gap:10px;align-items:start}
.mdv-listing-card h3{font-size:18px;line-height:1.18;margin:0 0 7px}
.mdv-listing-card h3 a{text-decoration:none;color:var(--mdv-ink)}
.mdv-listing-card__arrow{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f5f3f1;color:#555;font-size:14px}
.mdv-listing-card:hover .mdv-listing-card__arrow{background:var(--mdv-orange);color:#fff}
.mdv-listing-card__location{font-size:12px;color:#777;margin:3px 0 11px;display:flex;gap:5px;align-items:center}
.mdv-listing-card__tags{display:flex;gap:6px;flex-wrap:wrap}
.mdv-listing-card__tags span{background:#f5f3f1;border-radius:999px;padding:5px 8px;font-size:10px;color:#666}
.mdv-listing-card__reviews{font-size:10px;color:#999;margin-top:11px}

/* Editorial / CTA */
.mdv-editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mdv-editorial-card{background:#fff;border-radius:var(--mdv-radius);overflow:hidden;border:1px solid var(--mdv-border)}
.mdv-editorial-card__image{display:block;aspect-ratio:1.6/1;background:#eee}
.mdv-editorial-card__image img{width:100%;height:100%;object-fit:cover}
.mdv-editorial-card__body{padding:18px}
.mdv-editorial-card h3{font-size:20px;line-height:1.2;margin:0 0 8px}
.mdv-editorial-card h3 a{text-decoration:none;color:var(--mdv-ink)}
.mdv-editorial-card p{color:var(--mdv-muted);font-size:13px;line-height:1.55}
.mdv-text-link{color:var(--mdv-orange-dark);text-decoration:none;font-weight:800;font-size:13px}
.mdv-restaurant-cta{
  border-radius:24px;padding:48px;background:linear-gradient(120deg,rgba(0,0,0,.88),rgba(0,0,0,.72)),url('../images/cta.jpg') center/cover;
  color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px
}
.mdv-restaurant-cta h2{font-size:clamp(30px,3vw,42px);margin:7px 0 10px}
.mdv-restaurant-cta p{max-width:680px;color:#ededed;margin:0 0 8px}
.mdv-restaurant-cta small{color:#cfcfcf}
.mdv-button{background:var(--mdv-orange);color:#fff!important;text-decoration:none!important;padding:15px 22px;border-radius:999px;font-weight:850;white-space:nowrap}

@media(max-width:1100px){
  .mdv-location-grid{grid-template-columns:repeat(3,1fr)}
  .mdv-category-grid{grid-template-columns:repeat(2,1fr)}
  .mdv-listing-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .mdv-hero{min-height:540px}
  .mdv-hero__content{padding:68px 0}
  .mdv-search--dineplan{grid-template-columns:1fr}
  .mdv-search__field{border-right:0;border-bottom:1px solid #ededed}
  .mdv-search__button{padding:16px}
  .mdv-editorial-grid{grid-template-columns:1fr}
  .mdv-restaurant-cta{padding:34px;align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .mdv-shell{width:min(100% - 28px,1180px)}
  .mdv-section{padding:54px 0}
  .mdv-location-grid{grid-template-columns:repeat(2,1fr)}
  .mdv-location-card{min-height:170px}
  .mdv-category-grid{grid-template-columns:1fr}
  .mdv-listing-grid{grid-template-columns:1fr}
  .mdv-popular-row{align-items:flex-start;flex-direction:column}
  .mdv-hero h1{letter-spacing:-1.5px}
}
