/* Dolissima Bistrot — design B „Coral și turcoaz” */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;src:url(../fonts/bricolage-grotesque-latin-opsz-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;src:url(../fonts/bricolage-grotesque-latin-ext-opsz-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/dm-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/dm-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/dm-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/dm-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/dm-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/dm-sans-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --bg:#FBF8F3; --ink:#1E2421; --ink-2:#3F4642; --muted:#5A615C; --line:#E2DDD4;
  --coral:#C24E33; --coral-ink:#A8412A; --coral-tint:#F6E3DA; --coral-line:#C9917F;
  --teal:#23544F; --teal-2:#2E6761; --teal-tint:#E3EEEC; --teal-line:#7FA6A1; --teal-soft:#DCE8E6;
  --sand:#F4EBD3; --sand-ink:#6E5512; --blush:#F4C9B9; --dark:#1E2421; --dark-ink:#E7E3DC;
  --radius:20px; --radius-s:12px; --wrap:1280px;
  --display:"Bricolage Grotesque",system-ui,sans-serif; --body:"DM Sans",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral-ink)}a:hover{color:#7E2F1E}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.04;letter-spacing:-.015em;margin:0}
h1{font-size:clamp(2.6rem,6vw,4.5rem)}
h2{font-size:clamp(2rem,4vw,3.25rem)}
h3{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.1}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
@media (max-width:640px){.wrap{padding:0 16px}body{font-size:16px}}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:50}.skip:focus{left:8px}
.test-banner{background:#FFF4C2;color:#4A3B00;font-size:14px;text-align:center;padding:8px 16px}

/* butoane */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:var(--radius-s);font-weight:700;text-decoration:none;border:1.5px solid transparent;font-size:16px;cursor:pointer}
.btn-primary{background:var(--coral);color:#fff}.btn-primary:hover{background:#A8412A;color:#fff}
.btn-ghost{background:#fff;border-color:var(--ink);color:var(--ink);font-weight:500}.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-light{background:#fff;color:var(--teal)}.btn-light:hover{background:var(--teal-soft);color:var(--teal)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.pill{display:inline-block;background:var(--teal-tint);color:var(--teal);font-weight:500;font-size:14px;padding:6px 14px;border-radius:999px}

/* antet */
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,248,243,.96);backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid transparent}
.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:76px}
.logo img{height:50px;width:auto}
.nav{display:flex;gap:26px;flex:1;justify-content:center;font-size:15px;font-weight:500}
.nav a{color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--coral)}
.head-actions{display:flex;align-items:center;gap:14px}
.lang{font-size:14px;color:var(--muted);text-decoration:none;font-weight:500}
.menu-toggle{display:none}
@media (max-width:1060px){
  .nav,.head-actions .btn{display:none}
  .site-header .wrap{min-height:64px}
  .logo img{height:40px}
  .head-actions{margin-left:auto}
  .menu-toggle{display:block;position:relative}
  .menu-toggle summary{list-style:none;width:44px;height:44px;border:1.5px solid var(--ink);border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}
  .menu-toggle summary::-webkit-details-marker{display:none}
  .menu-toggle .panel{position:absolute;right:0;top:54px;width:min(86vw,320px);background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 12px 32px rgba(30,36,33,.12);display:flex;flex-direction:column}
  .menu-toggle .panel a{padding:12px 10px;color:var(--ink);text-decoration:none;font-weight:500;border-radius:8px}
  .menu-toggle .panel a:hover{background:var(--coral-tint)}
}

/* hero */
.hero{padding:32px 0 80px}
.hero .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero-text{flex:1 1 440px;min-width:0}
.hero-text h1{margin:18px 0 0}
.hero-text .lead{margin:22px 0 30px;font-size:19px;color:var(--ink-2);max-width:540px}
.hero-media{flex:1 1 560px;min-width:0;display:grid;grid-template-columns:2fr 1fr;gap:14px}
.hero-media img{width:100%;object-fit:cover;border-radius:var(--radius)}
.hero-media .main{height:560px}
.hero-media .side{display:flex;flex-direction:column;gap:14px}
.hero-media .side img{height:273px}
@media (max-width:640px){.hero{padding:8px 0 40px}.hero-media{grid-template-columns:1fr}.hero-media .main{height:300px}.hero-media .side{display:none}.hero-text .lead{font-size:17px}}

.page-hero{padding:40px 0 56px}
.page-hero .wrap{display:flex;flex-wrap:wrap;gap:40px;align-items:end}
.page-hero .text{flex:1 1 460px;min-width:0}
.page-hero .lead{margin-top:18px;font-size:19px;color:var(--ink-2);max-width:640px}
.page-hero img{flex:1 1 420px;min-width:0;height:380px;object-fit:cover;border-radius:var(--radius)}
@media (max-width:640px){.page-hero{padding:16px 0 32px}.page-hero img{height:240px}}

.eyebrow{font-weight:700;font-size:14px;color:var(--coral-ink);margin-bottom:10px;display:block}

/* secțiuni */
.section{padding:96px 0}
.section.tight{padding:56px 0}
@media (max-width:640px){.section{padding:56px 0}}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:36px}
.section-head h2{max-width:760px}
.bg-teal{background:var(--teal);color:#fff}.bg-teal a:not(.btn){color:#fff}
.bg-coral{background:var(--coral-tint)}
.bg-sand{background:var(--sand)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.card{border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px}
.card.coral{background:var(--coral-tint)}.card.teal{background:var(--teal-tint)}.card.sand{background:var(--sand)}
.card img,.card .ph{width:100%;height:220px;object-fit:cover;border-radius:14px}
.card .meta{font-size:14px;font-weight:700}
.card.coral .meta{color:var(--coral-ink)}.card.teal .meta{color:var(--teal)}.card.sand .meta{color:var(--sand-ink)}
.card.teal a{color:var(--teal)}.card.sand a{color:var(--sand-ink)}
.card p{color:var(--ink-2)}
.card .more{font-weight:700;text-decoration:none;margin-top:auto}
.ph{border:1.5px dashed var(--coral-line);display:flex;align-items:center;justify-content:center;text-align:center;color:#6B4436;font-size:15px;padding:20px;background:rgba(255,255,255,.35)}
.split{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.split > *{flex:1 1 420px;min-width:0}
.split img{width:100%;height:440px;object-fit:cover;border-radius:var(--radius)}
@media (max-width:640px){.split{gap:28px}.split img{height:260px}}
.perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.perks li{background:var(--teal-2);border-radius:16px;padding:22px}
.perks strong{display:block;font-family:var(--display);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1}
.bg-teal .muted{color:var(--teal-soft)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.gallery figure{margin:0}
.gallery img{width:100%;height:380px;object-fit:cover;border-radius:var(--radius)}
.gallery figcaption{margin-top:12px}
@media (max-width:640px){.gallery img{height:240px}}
.prose{max-width:720px}.prose p+p{margin-top:16px}.prose h2{margin:48px 0 16px;font-size:clamp(1.6rem,3vw,2.2rem)}.prose ul{padding-left:20px}
.muted{color:var(--muted)}

/* program / contact */
.facts{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;margin:0}
.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:500}
.hours-strip{background:var(--teal-tint)}
.hours-strip .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding-top:20px;padding-bottom:20px;font-size:15px}
.hours-strip span{color:var(--muted);display:block}
.hours-strip strong{font-weight:700}
.map-card{border-radius:var(--radius);background:var(--teal-tint);padding:28px;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:300px}

/* meniu */
.menu-nav{position:sticky;top:76px;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.menu-nav .wrap{display:flex;gap:8px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.menu-nav a{flex:none;text-decoration:none;color:var(--ink);font-weight:500;font-size:15px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.menu-nav a:hover{border-color:var(--coral);color:var(--coral-ink)}
@media (max-width:1060px){.menu-nav{top:64px}}
.menu-cat{padding:56px 0 8px;scroll-margin-top:140px}
.menu-cat h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.menu-cat .note{margin-top:8px;color:var(--muted)}
.menu-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:0 48px}
.menu-item{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:2px 16px}
.menu-item .name{font-weight:700;font-size:18px}
.menu-item .price{font-weight:700;white-space:nowrap;text-align:right}
.menu-item .desc{color:var(--ink-2);font-size:15px}
.menu-item .qty{color:var(--muted);font-size:14px;text-align:right}
.menu-item .check{color:var(--coral-ink);font-size:13px;font-weight:500}
.menu-item.has-photo{grid-template-columns:96px 1fr auto;column-gap:16px}
.menu-item .thumb{grid-row:1 / span 2;align-self:start}
.menu-item .thumb img{width:96px;height:96px;object-fit:cover;border-radius:14px}
.dishes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dishes figure{margin:0}
.dishes img{width:100%;height:300px;object-fit:cover;border-radius:var(--radius)}
.dishes figcaption{margin-top:10px;font-weight:500}
.dishes figcaption span{display:block;color:var(--muted);font-weight:400;font-size:15px}
@media (max-width:1060px){.dishes{grid-template-columns:repeat(2,minmax(0,1fr))}.dishes img{height:220px}}
@media (max-width:640px){.dishes img{height:170px}.menu-item.has-photo{grid-template-columns:72px 1fr auto}.menu-item .thumb img{width:72px;height:72px}}

/* subsol */
.site-footer{background:var(--dark);color:var(--dark-ink);margin-top:0}
.site-footer a{color:var(--dark-ink);text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer .top{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;padding-top:56px;padding-bottom:28px;font-size:15px}
.site-footer .cols{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px 40px}
.site-footer .social a{color:var(--blush)}
.site-footer .legal{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:32px;font-size:13px;color:#B5B0A8}
.site-footer .legal a{color:#B5B0A8;text-decoration:underline}
@media (max-width:1060px){.site-footer{padding-bottom:84px}}

/* bara de acțiuni pe telefon */
.action-bar{display:none}
@media (max-width:1060px){
  .action-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(12px + env(safe-area-inset-bottom))}
  .action-bar a{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-s);text-decoration:none;font-weight:500;border:1.5px solid var(--ink);color:var(--ink);font-size:15px}
  .action-bar a.primary{background:var(--coral);border-color:var(--coral);color:#fff;font-weight:700}
}
.cat-photo img{width:100%;height:340px;object-fit:cover;border-radius:var(--radius);margin-top:20px}
@media (max-width:640px){.cat-photo img{height:200px}}

.pv-logo{display:block;width:min(340px,80%);height:auto;margin:0 0 18px}
.pv-logo.pv-small{width:180px;margin:0 0 4px}
.menu-cat .pv-logo.pv-small{margin-bottom:12px}
.signoff{padding:72px 16px 64px;display:flex;justify-content:center;border-top:1px solid var(--line)}
.signoff img{width:min(260px,62vw);height:auto}
.page-hero img.pv-logo,.card img.pv-logo,.menu-cat img.pv-logo{height:auto;object-fit:contain;border-radius:0;flex:none}

.process-hero{width:100%;height:440px;object-fit:cover;border-radius:var(--radius);margin-bottom:28px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.steps img{width:100%;height:240px;object-fit:cover;border-radius:16px;margin-bottom:14px}
.steps h3{margin-bottom:6px}.steps p{color:var(--ink-2)}
@media (max-width:640px){.process-hero{height:240px}.steps img{height:200px}}

.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.process-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.process-strip img{width:100%;height:320px;object-fit:cover;border-radius:var(--radius)}
@media (max-width:640px){.process-strip{grid-template-columns:1fr}.process-strip img{height:220px}}

.coffee-bags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.split .coffee-bags img{height:260px;object-fit:cover;border-radius:14px}
@media (max-width:640px){.split .coffee-bags img{height:160px}}

.split img.poster{height:auto;max-height:720px;object-fit:contain;border-radius:var(--radius);flex:0 1 460px}

.menu-item .alg{grid-column:1 / -1;font-size:13px;color:var(--muted)}
.menu-item.has-photo .alg{grid-column:2 / -1}
.alg-table-wrap{overflow-x:auto}
.alg-table{width:100%;border-collapse:collapse;font-size:15px}
.alg-table th,.alg-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.alg-table th{font-weight:700;background:var(--teal-tint)}
.alg-table td:first-child{width:45%;font-weight:500}
