body.ma-restaurants-active{overflow-x:clip}body.ma-restaurants-active .site-content,body.ma-restaurants-active .content-area,body.ma-restaurants-active .site-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}body.ma-restaurants-active .page-header-image{display:none!important}
.ma-restaurants{--navy:#073653;--blue:#1196ce;--line:#dce6eb;--muted:#677d8a;color:#0a304a;background:#fff;position:relative;width:100%;max-width:none;margin-left:0}.ma-restaurants *{box-sizing:border-box}.ma-restaurants a{text-decoration:none!important}.mar-container{width:min(1220px,calc(100% - 48px));margin:auto}.mar-hero{position:relative;min-height:360px;height:360px;background:#134963 var(--mar-hero,none) center/cover no-repeat;color:white}.mar-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,49,.80),rgba(4,30,49,.30) 70%,rgba(4,30,49,.15))}.mar-hero-inner{position:relative;height:100%;padding-top:95px;display:flex;flex-direction:column;justify-content:center}.mar-breadcrumbs{position:absolute;top:82px;left:0;display:flex;gap:9px;font-size:11px;color:#fff}.mar-breadcrumbs a{color:#fff!important}.mar-hero-copy{padding:18px 0 32px}.mar-hero h1{font-size:clamp(42px,4.3vw,64px)!important;line-height:1!important;letter-spacing:-.035em!important;margin:0 0 15px!important;color:#fff!important;font-weight:700!important}.mar-hero p{max-width:560px;font-size:15px;line-height:1.6;margin:0;color:#fff!important}
.mar-filters{position:relative;z-index:4;margin-top:-35px}.mar-filter-bar{display:grid;grid-template-columns:1.4fr repeat(3,1fr) 170px;gap:10px;padding:10px;border-radius:9px;background:#fff;box-shadow:0 12px 28px #04283d22}.mar-filter-bar:has(#mar-city){grid-template-columns:1.35fr repeat(4,1fr) 160px}.mar-filter-bar select,.mar-search{min-width:0;height:50px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#345365;font-size:12px}.mar-filter-bar select{padding:0 12px}.mar-search{display:flex;align-items:center;gap:12px;padding:0 14px}.mar-search i{color:var(--blue)}.mar-search input{width:100%;border:0!important;box-shadow:none!important;background:transparent!important;font-size:12px}#mar-show{background:var(--navy);color:white;border:0;border-radius:5px;font-size:11px;font-weight:700;cursor:pointer}.mar-chips{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;padding:25px 0 30px}.mar-chips button{min-height:91px;border:1px solid var(--line);border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer;color:var(--navy);padding:10px 5px}.mar-chips button.active{background:#e6f2fd;border-color:#bdd9ee}.mar-chips i{font-size:22px;color:var(--blue)}.mar-chips strong{font-size:10px}.mar-chips small{font-size:9px;color:var(--muted)}.mar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.mar-heading h2,.mar-destinations h2{font-size:23px!important;font-weight:700!important;color:var(--navy)!important;margin:0!important}.mar-heading>a{font-size:12px;color:#0079bd!important}.mar-featured{padding:0 0 30px}.mar-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.mar-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:white;box-shadow:0 3px 13px #052c4210}.mar-card-image{display:block;height:145px;overflow:hidden;background:#e5f1f5}.mar-card-featured .mar-card-image{height:180px}.mar-card-image img{height:100%;width:100%;object-fit:cover}.mar-card-image>span{display:grid;place-items:center;height:100%;font-size:34px;color:#9bbcc9}.mar-card-info{padding:12px 13px}.mar-card h3{font-size:14px!important;margin:0 0 5px!important;line-height:1.2!important}.mar-card h3 a{color:var(--navy)!important}.mar-card-location{font-size:11px;color:#678091}.mar-card-location i{color:#168bb8}.mar-card-info p{font-size:12px;line-height:1.5;color:#607789;margin:8px 0}.mar-card-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#687d8b;margin-top:10px}.mar-card-meta strong{color:var(--navy)}.mar-card[hidden]{display:none!important}.mar-results{padding-bottom:38px}.mar-views{display:flex;gap:7px}.mar-views a,.mar-views button{border:1px solid var(--line);border-radius:5px;padding:9px 12px;background:#fff;color:var(--navy)!important;font-size:11px}.mar-views .active{background:var(--navy);color:#fff!important}.mar-empty{text-align:center;padding:45px 15px;color:var(--muted)}.mar-map{display:grid;grid-template-columns:355px minmax(0,1fr);min-height:350px;background:var(--navy);border-radius:8px;overflow:hidden;margin-bottom:30px}.mar-map-copy{padding:42px 32px;color:#fff;background:linear-gradient(135deg,#073653,#08668c)}.mar-map-copy h2{font-size:23px!important;line-height:1.15!important;color:#fff!important;margin:0 0 14px!important}.mar-map-copy p{font-size:12px;line-height:1.6}.mar-map-copy a{display:inline-block;margin-top:12px;border:1px solid #fff8;border-radius:4px;padding:12px;color:#fff!important;font-size:11px}.mar-map-embed{min-width:0;background:#e7eef2}.mar-map-embed>*{height:100%!important;min-height:350px}.mar-destinations{padding-bottom:50px}.mar-destinations>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.mar-destinations a{padding:12px;border:1px solid var(--line);border-radius:6px;color:var(--navy)!important}
@media(max-width:1100px){.mar-filter-bar,.mar-filter-bar:has(#mar-city){grid-template-columns:repeat(2,minmax(0,1fr))}.mar-chips{grid-template-columns:repeat(4,minmax(0,1fr))}.mar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mar-map{grid-template-columns:1fr}}
@media(max-width:760px){.mar-container{width:calc(100% - 30px)}.mar-hero{height:470px;min-height:470px}.mar-hero-inner{padding:45px 0 50px;justify-content:center}.mar-breadcrumbs{top:22px}.mar-hero-copy{padding:0}.mar-hero h1{font-size:37px!important}.mar-hero p{font-size:13px}.mar-filters{margin-top:-26px}.mar-filter-bar,.mar-filter-bar:has(#mar-city){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.mar-search,#mar-show,.mar-filter-bar #mar-city{grid-column:1/-1}.mar-filter-bar select,.mar-search{height:45px}#mar-show{height:45px}.mar-chips{display:flex;overflow-x:auto;gap:8px;padding:22px 0 25px;scroll-snap-type:x mandatory}.mar-chips button{flex:0 0 94px;min-height:78px;scroll-snap-align:start}.mar-featured-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.mar-featured-grid .mar-card{min-width:84%;scroll-snap-align:start}.mar-grid{grid-template-columns:1fr}.mar-grid .mar-card{display:grid;grid-template-columns:120px 1fr}.mar-grid .mar-card-image{height:125px}.mar-heading h2{font-size:18px!important}.mar-card-info{padding:10px}.mar-map-copy{padding:28px 22px}}

/* v0.6.15: Full-width GeneratePress shell for Restaurants archive and city page. */
body.ma-restaurants-active .site,
body.ma-restaurants-active .site.grid-container,
body.ma-restaurants-active .site-content,
body.ma-restaurants-active .site-content.grid-container,
body.ma-restaurants-active #page,
body.ma-restaurants-active #content,
body.ma-restaurants-active .content-area,
body.ma-restaurants-active .site-main,
body.ma-restaurants-active .inside-article {
  width:100%!important; max-width:none!important; margin-left:0!important; margin-right:0!important;
}
body.ma-restaurants-active .inside-article {padding:0!important;}
body.ma-restaurants-active .ma-restaurants {width:100%!important;max-width:none!important;margin:0!important;}

/* v0.6.16: compact, balanced restaurant hero on mobile. */
@media (max-width:760px) {
  .ma-restaurants .mar-hero { height:355px; min-height:355px; background-position:center 52%; }
  .ma-restaurants .mar-hero-inner { padding:58px 0 20px; justify-content:center; }
  .ma-restaurants .mar-breadcrumbs { top:18px; }
  .ma-restaurants .mar-hero-copy { padding:0 0 10px; }
  .ma-restaurants .mar-hero h1 { font-size:clamp(32px,8.5vw,37px)!important; line-height:1.06!important; margin-bottom:13px!important; }
  .ma-restaurants .mar-hero p { font-size:13px; line-height:1.55; max-width:370px; }
  .ma-restaurants .mar-shade { background:linear-gradient(90deg,rgba(4,30,49,.78),rgba(4,30,49,.35)),linear-gradient(0deg,rgba(4,30,49,.22),transparent 65%); }
  .ma-restaurants .mar-filters { margin-top:-22px; }
}

/* v0.6.34 — unified Atlas archive hero and listing cards */
@media(min-width:761px){
 .ma-restaurants .mar-hero{height:420px;min-height:420px}
 .ma-restaurants .mar-hero-inner{padding-top:0;justify-content:center}
 .ma-restaurants .mar-breadcrumbs{top:90px}
 .ma-restaurants .mar-hero-copy{padding:0;transform:translateY(-18px)}
}
.ma-restaurants .mar-hero h1{font-size:clamp(43px,4.6vw,66px)!important;line-height:1.04!important;font-weight:750!important;letter-spacing:-.035em!important;margin-bottom:14px!important}
.ma-restaurants .mar-hero p{font-size:15px;line-height:1.65;max-width:550px}
.ma-restaurants .mar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.ma-restaurants .mar-card{display:flex;flex-direction:column;border-radius:11px;box-shadow:0 5px 22px rgba(4,45,74,.075);transition:transform .2s ease,box-shadow .2s ease}
.ma-restaurants .mar-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(4,45,74,.14)}
.ma-restaurants .mar-card-image,.ma-restaurants .mar-card-featured .mar-card-image{height:auto;aspect-ratio:1.65;flex-shrink:0}
.ma-restaurants .mar-card-image img{display:block;transition:transform .3s ease}
.ma-restaurants .mar-card:hover .mar-card-image img{transform:scale(1.035)}
.ma-restaurants .mar-card-info{padding:16px 17px 15px;display:flex;flex-direction:column;flex:1}
.ma-restaurants .mar-card h3{font-size:17px!important;font-weight:750!important;line-height:1.35!important;margin:0 0 7px!important}
.ma-restaurants .mar-card-location{font-size:12px;line-height:1.4;margin-bottom:10px}
.ma-restaurants .mar-card-description{font-size:12px;line-height:1.65;color:#607789;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ma-restaurants .mar-card-meta{margin-top:auto;padding-top:11px;border-top:1px solid #e9f0f5;font-size:12px;min-height:35px}
.ma-restaurants .mar-card-meta strong{font-size:13px;color:#073653}
.ma-restaurants .mar-card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#0079d7!important;font-size:12px;font-weight:750;margin-top:12px}
.ma-restaurants .mar-card-cta:hover{text-decoration:underline!important}
@media(max-width:1050px){.ma-restaurants .mar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .ma-restaurants .mar-grid,.ma-restaurants .mar-featured-grid{display:grid;grid-template-columns:1fr;gap:16px;overflow:visible}
 .ma-restaurants .mar-grid .mar-card,.ma-restaurants .mar-featured-grid .mar-card{display:flex;min-width:0;grid-template-columns:none}
 .ma-restaurants .mar-grid .mar-card-image,.ma-restaurants .mar-featured-grid .mar-card-image{height:auto;aspect-ratio:1.65}
 .ma-restaurants .mar-card-info{padding:15px 16px}
 .ma-restaurants .mar-hero-copy{transform:translateY(-10px)}
 .ma-restaurants .mar-hero h1{font-size:clamp(33px,9vw,43px)!important}
 .ma-restaurants .mar-hero p{font-size:13px}
}

/* v0.6.35: breadcrumbs remain above vertically centered hero copy. */
.ma-restaurants .mar-breadcrumbs{top:36px!important;left:0;z-index:2;line-height:1.5;}
@media(max-width:760px){.ma-restaurants .mar-breadcrumbs{top:22px!important;}}

/* v0.6.36 — Restaurants header overlays its hero (unlike other archives).
   Add the header's ~80px to the hero so its visible photo area matches
   Accommodation / Things to Do; keep breadcrumb below the overlay. */
@media (min-width:761px) {
  .ma-restaurants .mar-hero { height:500px!important; min-height:500px!important; }
  .ma-restaurants .mar-breadcrumbs { top:112px!important; }
  .ma-restaurants .mar-hero-copy { transform:translateY(5px); }
}
