/* Italian Eat Where — "Fresco" theme v1 */
html:root{--bg:#FFFFFF;--surfaceBg:#FFFFFF;--text:15 30 54;--headerBg:#FFFFFF;--headerBorder:#E8ECF1;--headerColor:#0F1E36;--searchBarBg:#FFFFFF;--searchBarBorder:#D3DAE3;--searchBarColor:#46546B;--filtersBg:#F4F7FA;--filtersColor:#0F1E36;--filtersInputColor:#0F1E36;--filtersInputBg:#FFFFFF;--filtersInputBorder:#D3DAE3;--filtersTagBg:#FCEDEA;--filtersTagColor:#B0321B;--highlightsPrimary:#C9381F;--highlightsSecondary:#2E7D4F;--buttonBg:201 56 31;--buttonHoverBg:#B0321B;--buttonColor:#FFFFFF;--cardBg:255 255 255;--cardFooterBg:#FFFFFF;--cardFooterBorder:#EEF1F5;--cardFooterColor:#46546B;--cardBorder:#E8ECF1;--cardTagBg:#F1F4F8;--cardTagColor:#0F1E36;--cardTagBorder:#F1F4F8;--cardColor:15 30 54;--cardColorLight:#6B7890;--cardFeatureTitle:#C9381F;--cardFeatureBorder:#C9381F;--cardFeatureTagBg:201 56 31;--cardFeatureTagColor:#FFFFFF;--font-sans:'Inter Tight';--font-display:'Inter Tight'}
body{font-family:'Inter Tight',system-ui,-apple-system,sans-serif;background:#fff;color:#0F1E36;-webkit-font-smoothing:antialiased}
.font-display{font-family:'Inter Tight',system-ui,sans-serif!important}

/* ---------- header ---------- */
header.absolute{background:#FFFFFF;border-bottom:1px solid #E8ECF1}
header .h-20>a,header .h-20>div{color:#0F1E36!important}
header .h-20>a>span.font-semibold{display:inline-flex;align-items:center;gap:11px;font-weight:800;font-size:19px;letter-spacing:-.02em}
header .h-20>a>span.font-semibold::before{content:"";flex:none;width:28px;height:28px;border-radius:7px;background:linear-gradient(90deg,#1F7A4D 0 33.4%,#FFFFFF 33.4% 66.6%,#C9381F 66.6%);box-shadow:inset 0 0 0 1px #DDE3EA}
header nav{font-weight:600}
header nav button,header nav a{font-size:15px!important}

/* ---------- hero (split, photo bleeds right) ---------- */
.hero.hero__left{background:#FFFFFF!important;color:#0F1E36!important;overflow:hidden}
.hero.hero__left .darkener{display:none!important}
.hero.hero__left h1{font-weight:800!important;text-transform:uppercase;letter-spacing:-.04em!important;line-height:1.04!important;font-size:clamp(42px,5.6vw,82px)!important;max-width:620px!important;color:#0F1E36}
.hero.hero__left h1 .iew-red{color:#C9381F}
.hero.hero__left h1+p{color:#46546B!important;opacity:1!important;font-size:19px!important;line-height:1.55!important;letter-spacing:-.005em!important;max-width:500px!important;margin-top:22px!important}
.iew-eyebrow{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2E7D4F}
.hero .hero-search-bar{background:transparent!important;padding:0!important;margin-top:28px!important}
.hero .hero-search-bar .search input{height:56px!important;border:1.5px solid #D3DAE3!important;border-radius:12px!important;font-size:16px!important;padding-left:44px!important;color:#0F1E36!important;background:#FFFFFF!important}
.hero .hero-search-bar .search input::placeholder{color:#6B7890!important;opacity:1}
.hero .hero-search-bar .shortcut{display:none!important}
.hero .hero-search-bar .search--button{height:42px!important;padding:0 22px!important;border-radius:10px!important;font-size:15px!important;font-weight:700!important;background:#C9381F!important;color:#FFFFFF!important}
.iew-hero-card{display:none}
@media (min-width:1024px){
 .hero.hero__left{--g:max(128px,calc((100vw - 1728px) / 2 + 128px));--pw:calc((100vw - 2 * var(--g)) * .47)}
 .hero.hero__left picture{left:auto!important;right:var(--g)!important;top:104px!important;width:var(--pw)!important;height:calc(100% - 128px)!important;z-index:0!important;border-radius:28px;overflow:hidden}
 .hero.hero__left picture img{border-radius:28px}
 .hero.hero__left>.px-4{position:relative;z-index:1}
 .hero.hero__left .lg\:h-\[30rem\]{height:40rem!important}
 .hero.hero__left .md\:w-2\/3{width:50%!important;max-width:640px}
 .iew-hero-card{display:block;position:absolute;z-index:2;left:calc(100vw - var(--g) - var(--pw) + 24px);bottom:48px;max-width:320px;background:#FFFFFF;border-radius:18px;padding:16px 18px;box-shadow:0 16px 40px rgba(15,30,54,.22);color:#0F1E36;text-decoration:none}
 .iew-hero-card:hover{transform:translateY(-2px);transition:transform .15s}
 .iew-hero-card b{display:block;font-size:12px;letter-spacing:.1em;color:#2E7D4F}
 .iew-hero-card strong{display:block;font-size:20px;font-weight:800;margin-top:4px}
 .iew-hero-card span{display:block;font-size:14px;color:#46546B;margin-top:2px}
}
@media (max-width:1023px){
 .hero.hero__left picture{position:relative!important;display:block;height:300px!important;width:auto!important;margin:0 16px;border-radius:22px;overflow:hidden;z-index:0!important}
 .hero.hero__left .h-96{height:auto!important;padding:28px 0 8px}
 .hero.hero__left h1{font-size:clamp(38px,10vw,56px)!important}
 .hero.hero__left h1+p{font-size:17px!important}
}

/* ---------- section headings ---------- */
.heading-block h2.heading,.accordion-block h2,.cta-block h2{font-weight:800!important;text-transform:uppercase;letter-spacing:-.035em!important;font-size:clamp(30px,3.6vw,46px)!important;line-height:1.02!important;color:#0F1E36}
.heading-block p{color:#46546B!important;font-size:17px!important}
.heading-block.\!-mb-7{margin-bottom:-1.25rem!important}

/* ---------- cards ---------- */
.card{border:1px solid #E8ECF1!important;border-radius:22px!important;box-shadow:none!important;overflow:hidden;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 14px 34px rgba(15,30,54,.12)!important;transform:translateY(-2px)}
.card .aspect-video{border-radius:0!important}
.card h2.title,.card h3.title{font-weight:800!important;font-size:20px!important;letter-spacing:-.02em!important}
.card .intro{opacity:1!important;color:#46546B;font-size:15px;line-height:1.5}
.card .footer{border-radius:0!important}
.selected-items-block .mt-8 a,.selected-items-block .mt-8 button{padding:12px 22px!important;border-radius:12px!important;font-size:15px!important;font-weight:700!important}
.selected-items-block .mt-8 .bg-brand-text\/10{background:#0F1E36!important;color:#FFFFFF!important}

@media (min-width:1024px){
 .selected-items-block>.grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .section-block .selected-items-block>.grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
}
/* ---------- Michelin panel ---------- */
.section-block{border-radius:28px!important}
@media (min-width:1024px){.section-block{padding:44px!important}}
.section-block .card{border-color:transparent!important}

/* ---------- city tiles ---------- */
.image-tiles-block a.group{aspect-ratio:16/10!important;border-radius:18px!important}
.image-tiles-block a.group>div.absolute>div{display:none!important}
.image-tiles-block a.group>.relative{padding:12px!important;align-items:flex-start}
.image-tiles-block a.group h3{background:#FFFFFF;color:#0F1E36!important;font-size:16px!important;font-weight:800!important;padding:9px 13px!important;margin:0!important;border-radius:12px;transform:none!important;letter-spacing:-.01em}
.image-tiles-block a.group h3[data-count]::after{content:attr(data-count);color:#6B7890;font-weight:600;margin-left:8px}
.image-tiles-block a.group h3[data-count]+p{display:none!important}
.image-tiles-block a.group svg{display:none}

/* ---------- text, FAQ, CTA ---------- */
.text-block .prose h3{font-weight:800;letter-spacing:-.02em}
.accordion-block button span{font-weight:600!important;opacity:1!important}
.cta-block{background:#F4F7FA!important;border-radius:26px!important}
.cta-block>div{padding-top:56px!important;padding-bottom:56px!important}
.cta-block p{color:#46546B!important}
.cta-block button,.cta-block a{border-radius:12px!important;font-weight:700!important;box-shadow:none!important}

/* ---------- global buttons ---------- */
.bg-brand-button-bg{border-radius:10px}

/* ---------- category & listing pages ---------- */
h1{font-weight:800;letter-spacing:-.03em}
.break-all{word-break:normal!important;overflow-wrap:break-word!important;hyphens:manual!important}
.text-xl.break-all{font-size:18px!important;line-height:1.65!important;color:#46546B;max-width:820px;margin-top:14px}
.text-xl.break-all p{margin:0 0 14px}

/* category intro: first paragraph + Read more */
.text-xl.break-all.iew-clamp>p:not(:first-child){display:none}
.text-xl.break-all.iew-clamp{margin-bottom:10px!important}
.iew-more{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:0;background:none;border:0;font:700 15px 'Inter Tight',system-ui,sans-serif;color:#C9381F;cursor:pointer}
.iew-more::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
@media (max-width:767px){
 .text-xl.break-all{font-size:16px!important;line-height:1.6!important;margin-top:8px}
 h1.text-4xl{font-size:34px!important}
}
/* claim CTA inside listing main column: keep it in the column */
.flex-1>.blocks .cta-block{left:auto!important;right:auto!important;margin-left:0!important;margin-right:0!important;width:auto!important;border-radius:22px!important}
.flex-1>.blocks .cta-block>div{padding:40px 28px!important}
.flex-1>.blocks .cta-block h2{font-size:clamp(26px,3vw,34px)!important}
