@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Libre+Caslon+Display&display=swap');

:root { --ink:#181410; --ivory:#f1eadf; --paper:#f8f4ed; --sand:#d2c1ab; --muted:#6f665d; --line:rgba(24,20,16,.18); --max:1320px; --basic-scroll-offset:24px; }
*{box-sizing:border-box} html{scroll-behavior:auto} body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden} a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,textarea{font:inherit} h1,h2,h3,p{margin-top:0} h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.025em} h1{font-size:clamp(2.4rem,5.25vw,5.4rem);line-height:.92} h2{font-size:clamp(1.875rem,3.75vw,4.05rem);line-height:.98} p{line-height:1.65;color:var(--muted)}
.site-header{height:82px;position:absolute;top:0;left:0;right:0;z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)} .header-inner{height:100%;max-width:var(--max);margin:auto;padding:0 32px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:baseline;gap:10px;min-width:max-content}.brand strong{font-family:'Libre Caslon Display',serif;font-size:1.55rem;font-weight:400}.brand span{font-size:.62rem;letter-spacing:.18em}.desktop-nav{display:flex;gap:27px;margin-left:auto;align-items:center}.desktop-nav a{font-size:.82rem}.desktop-nav a.active{border-bottom:1px solid currentColor}.header-cta{border:1px solid rgba(255,255,255,.55);padding:12px 18px;font-size:.79rem}.menu-toggle{display:none;background:none;border:0;color:#fff;width:42px;height:42px;padding:10px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}.mobile-nav{position:absolute;top:82px;left:0;right:0;background:var(--ink);padding:26px 24px;display:flex;flex-direction:column;gap:18px}.mobile-reserve{margin-top:6px;border:1px solid #fff;padding:14px;text-align:center}
.section-pad{padding:120px max(32px,calc((100vw - var(--max))/2))}.eyebrow{font-size:.68rem;letter-spacing:.22em;font-weight:600;margin-bottom:22px;color:#6f665d}.eyebrow.light{color:#e8ded0}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.84rem}.light-link{color:#fff}.button{display:inline-block;padding:15px 23px;border:1px solid currentColor;font-size:.84rem}.button-light{background:#f7f1e7;color:#15120f;border-color:#f7f1e7}.button-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.home-hero{position:relative;min-height:760px;height:100vh;max-height:980px;background:#15120f;color:#fff;overflow:hidden}.home-hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,13,.82) 0%,rgba(20,16,13,.58) 34%,rgba(20,16,13,.08) 67%,rgba(20,16,13,.05) 100%)}.home-hero-content{position:absolute;left:max(32px,calc((100vw - var(--max))/2));top:50%;transform:translateY(-42%);max-width:700px}.home-hero h1{margin-bottom:28px}.hero-copy{max-width:570px;color:#e8ded0;font-size:1.05rem}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}
.editorial-two{display:grid;grid-template-columns:.78fr 1.22fr;gap:10vw;align-items:center}.copy-column{max-width:520px}.copy-column h2{margin-bottom:32px}.copy-column .text-link{margin-top:20px}.image-placeholder{min-height:420px;background:linear-gradient(135deg,#cbbdaa,#8a7968);display:flex;align-items:flex-end;padding:24px;color:rgba(255,255,255,.85);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.portrait-placeholder{min-height:720px}.editorial-image{display:block;width:100%;height:720px;object-fit:cover;object-position:center;border-radius:20px}.dark-section{background:var(--ink);color:#fff}.dark-section p{color:#bdb1a5}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-heading h2{margin-bottom:0}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dish-grid .image-placeholder{aspect-ratio:3/4;min-height:0}.dish-photo{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;border-radius:20px}.dish-grid h3{font-family:'Libre Caslon Display',serif;font-weight:400;font-size:1.125rem;margin:18px 0 0}.home-dish-copy{display:flex;flex-direction:column;gap:7px}.home-dish-name{font-family:'DM Sans',Arial,sans-serif;font-weight:700;font-size:.98rem;line-height:1.25}.home-dish-ingredients{font-family:'DM Sans',Arial,sans-serif;font-weight:400;font-size:.82rem;line-height:1.45;color:#bdb1a5}.ambience-preview{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end}.wide-placeholder{min-height:650px}.wide-photo{display:block;width:100%;min-height:650px;height:650px;object-fit:cover;object-position:center;border-radius:20px}.ambience-copy{padding-bottom:24px}.philosophy{text-align:center;max-width:1050px;margin:auto}.philosophy p:last-child{font-family:'Libre Caslon Display',serif;font-size:clamp(1.275rem,2.25vw,2.25rem);line-height:1.25;color:var(--ink)}.reservation-banner{position:relative;padding-top:0}.banner-placeholder{min-height:610px}.banner-photo{display:block;width:100%;min-height:610px;height:610px;object-fit:cover;object-position:center;border-radius:20px}.reservation-banner-copy{position:absolute;left:max(64px,calc((100vw - var(--max))/2 + 48px));bottom:85px;color:#fff;max-width:560px}.reservation-banner-copy h2{margin-bottom:28px}
.page-hero{position:relative;min-height:760px;height:100vh;max-height:980px;color:#fff;background:#15120f;overflow:hidden}.page-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,13,.82) 0%,rgba(20,16,13,.58) 34%,rgba(20,16,13,.08) 67%,rgba(20,16,13,.05) 100%)}.page-hero-content{--hero-edge-gap:28px;position:absolute;left:max(32px,calc((100vw - var(--max))/2));bottom:0;padding-bottom:var(--hero-edge-gap);max-width:780px}.page-hero-content p:last-child{color:#e4d9cd;max-width:620px}.page-hero h1{font-size:clamp(1.92rem,4.2vw,4.32rem);margin-bottom:0}.page-hero-rule{display:block;width:min(calc(33vw + 1cm),calc(100vw - 64px));max-width:468px;height:1px;background:rgba(255,255,255,.78);margin:0 0 var(--hero-edge-gap)}
.menu-page{max-width:1050px;margin:auto}.menu-intro{display:flex;justify-content:space-between;gap:30px;margin-bottom:65px;border-bottom:1px solid var(--line);padding-bottom:25px}.menu-block{padding:58px 0;border-bottom:1px solid var(--line)}.menu-block h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:36px}.menu-row{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:18px 0}.menu-row span:last-child{white-space:nowrap}.menu-photo{margin-top:65px;min-height:520px}.photo-story{display:grid;grid-template-columns:1fr 1fr;gap:35px}.story-copy{padding:60px 10% 70px 0}.story-wide-photo{grid-column:1/-1;display:block;width:100%;height:650px;object-fit:cover;object-position:center;border-radius:20px}.story-pair{display:grid;grid-template-columns:1fr 1fr;gap:35px}.story-pair-photo{display:block;width:100%;height:600px;object-fit:cover;object-position:center;border-radius:20px}.story-tall-photo{display:block;width:100%;height:780px;object-fit:cover;object-position:center;border-radius:20px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 8vw;align-items:center}.about-grid h2{font-size:clamp(1.725rem,3vw,3.15rem)}.about-photo-image{display:block;width:100%;height:720px;object-fit:cover;object-position:center;border-radius:20px}.reservation-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:stretch}.reservation-photo-frame{min-width:0;align-self:stretch;overflow:hidden;border-radius:20px}.reservation-photo-image{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;border-radius:20px}.reservation-form{display:flex;flex-direction:column;gap:23px}.reservation-form label{font-size:.76rem;letter-spacing:.05em}.reservation-form input,.reservation-form select,.reservation-form textarea{display:block;width:100%;margin-top:8px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;outline:none;font:inherit;color:inherit}.reservation-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px}.reservation-form textarea{border:1px solid var(--line);padding:14px;resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:25px}.reservation-form .button{align-self:flex-start}.reservation-time-note{display:block;margin-top:9px;font-size:.72rem;line-height:1.45;letter-spacing:.01em;color:#756b61}.form-note{font-size:.78rem}.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:center}.contact-info{display:flex;flex-direction:column;align-items:flex-start}.contact-info>a{font-family:'Libre Caslon Display',serif;font-size:1.5rem;margin:5px 0}.hours{width:100%;margin-top:38px;border-top:1px solid var(--line)}.hours div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:.83rem}.contact-photo-image{display:block;width:100%;height:700px;object-fit:cover;object-position:center;border-radius:20px}.map-placeholder{height:380px;background:#d9d0c3;display:flex;align-items:center;justify-content:center;color:#6e645a;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.legal-page{max-width:900px;margin:auto;padding-top:160px}.legal-page h1{font-size:clamp(2.25rem,4.5vw,4.5rem);margin-bottom:60px}.legal-page h2{font-size:1.5rem;margin-top:50px}.legal-page ul{margin:0 0 24px;padding-left:1.25rem;color:var(--muted)}.legal-page li{margin:8px 0;line-height:1.6}.legal-page strong{color:var(--ink);font-weight:600}.legal-updated{margin-top:58px;padding-top:22px;border-top:1px solid var(--line);font-size:.82rem}.not-found{min-height:80vh;padding:180px 32px;display:flex;flex-direction:column;align-items:center;text-align:center}.not-found h1{font-size:clamp(2.25rem,5.25vw,5.25rem)}
.footer{background:#100e0c;color:#ddd3c8;padding:76px max(32px,calc((100vw - var(--max))/2)) 28px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-grid h3{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#8f8479;margin-bottom:10px}.footer-grid a,.footer-grid span,.footer-grid p{font-size:.8rem;color:#b6aaa0}.footer-brand{font-family:'Libre Caslon Display',serif;font-size:1.7rem}.footer-brand span{font-family:'DM Sans';font-size:.58rem;letter-spacing:.16em;margin-left:8px}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:.7rem;color:#847a71}
@media(max-width:1100px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.editorial-two,.ambience-preview,.reservation-layout,.contact-grid{grid-template-columns:1fr;gap:60px}.portrait-placeholder{min-height:600px}.editorial-image{height:600px}.dish-grid{grid-template-columns:1fr 1fr}.dish-grid article:last-child{grid-column:1/-1;max-width:50%}.about-grid{gap:50px}.footer-grid{grid-template-columns:1fr 1fr}.photo-story{display:block}.photo-story>*{margin-bottom:30px}.story-pair{margin-bottom:30px}.story-wide-photo{height:560px}.story-pair-photo{height:520px}.story-tall-photo{height:620px}.reservation-photo-frame{height:560px}.reservation-photo-image{height:100%}.contact-photo-image{height:550px}}
@media(max-width:700px){h1{font-size:clamp(2.25rem,11.25vw,3.525rem)}h2{font-size:clamp(1.8rem,9vw,3rem)}.section-pad{padding:82px 22px}.site-header{height:72px}.header-inner{padding:0 20px}.mobile-nav{top:72px}.brand strong{font-size:1.4rem}.home-hero{min-height:700px;height:100svh}.home-hero>img{object-position:66% center}.home-hero-shade{background:linear-gradient(90deg,rgba(20,16,13,.85),rgba(20,16,13,.42))}.home-hero-content{left:22px;right:22px;top:auto;bottom:65px;transform:none}.home-hero-content h1{font-size:clamp(2.4rem,10.5vw,3.675rem)}.hero-copy{font-size:.93rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.editorial-two{gap:45px}.portrait-placeholder{min-height:520px}.editorial-image{height:520px}.section-heading{display:block}.section-heading .text-link{margin-top:20px}.dish-grid{grid-template-columns:1fr}.dish-grid article:last-child{grid-column:auto;max-width:none}.dish-grid .image-placeholder{aspect-ratio:4/5}.wide-placeholder{min-height:480px}.wide-photo{min-height:480px;height:480px}.reservation-banner{padding-left:0;padding-right:0}.banner-placeholder{min-height:520px}.banner-photo{min-height:520px;height:520px}.reservation-banner-copy{left:22px;right:22px;bottom:55px}.page-hero{min-height:700px;height:100svh;max-height:none}.page-hero img{object-position:65% center}.page-hero-shade{background:linear-gradient(90deg,rgba(20,16,13,.85),rgba(20,16,13,.42))}.page-hero-content{--hero-edge-gap:24px;left:22px;right:22px;bottom:0;padding-bottom:var(--hero-edge-gap)}.page-hero h1{font-size:clamp(1.98rem,9vw,3rem)}.menu-intro{display:block}.menu-block{padding:40px 0}.menu-row{font-size:.9rem}.menu-photo{min-height:360px}.story-pair{grid-template-columns:1fr}.story-pair-photo,.story-tall-photo{height:480px}.story-wide-photo{height:420px}.about-grid{grid-template-columns:1fr;gap:45px}.about-photo-image{height:520px}.form-two{grid-template-columns:1fr}.reservation-photo-frame{height:520px}.reservation-photo-image{height:100%}.contact-photo-image{height:480px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column}.legal-page{padding-top:130px}.map-placeholder{height:300px;text-align:center;padding:30px}}
@media(max-width:380px){.brand span{display:none}.home-hero-content h1{font-size:2.3625rem}.section-pad{padding-left:18px;padding-right:18px}.page-hero-content{left:18px;right:18px}.page-hero-rule{width:min(calc(33vw + 1cm),calc(100vw - 36px));margin-bottom:var(--hero-edge-gap)}}

#jelovnik-sadrzaj,#rezervacija-forma{scroll-margin-top:88px}
.page-hero-content,.home-hero-content{scroll-margin-top:var(--basic-scroll-offset)}
@media(max-width:700px){:root{--basic-scroll-offset:18px}#jelovnik-sadrzaj,#rezervacija-forma{scroll-margin-top:72px}.page-hero-content,.home-hero-content{scroll-margin-top:var(--basic-scroll-offset)}}

/* Reservation hero: bottom-aligned, quieter title treatment */
.reservation-page-hero .page-hero-content{bottom:0;padding-bottom:28px}
@media(max-width:700px){.reservation-page-hero .page-hero-content{bottom:0;padding-bottom:24px}}

/* Expanded menu + wine card system */
.menu-page{max-width:1240px}
.menu-intro{align-items:flex-end}
.menu-intro>div{max-width:680px}
.menu-intro .button{flex:0 0 auto}
.menu-block-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:18px}
.menu-block-heading h2{margin-bottom:0}
.menu-block-heading span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.menu-items-columns{display:grid;grid-template-columns:1fr 1fr;column-gap:64px}
.menu-items-columns .menu-row:nth-child(2){border-top:1px solid var(--line)}
.menu-wine-cta{margin-top:80px;padding:52px;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.menu-wine-cta h2{margin-bottom:16px;font-size:clamp(1.875rem,3vw,3rem)}
.menu-wine-cta p{margin-bottom:0}

.wine-page{max-width:1240px;margin:auto}
.wine-intro{display:grid;grid-template-columns:1fr .8fr;gap:8vw;align-items:end;padding-bottom:70px;border-bottom:1px solid var(--line)}
.wine-intro h2{margin-bottom:0}
.wine-intro>p{max-width:520px;margin-bottom:0}
.wine-section{padding-top:90px}
.wine-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}
.wine-section-heading h2{margin-bottom:0;font-size:clamp(1.95rem,3vw,3.45rem)}
.wine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.wine-card{border:1px solid var(--line);border-radius:20px;padding:24px;min-height:230px;display:flex;flex-direction:column;background:rgba(255,255,255,.18)}
.wine-index{font-size:.66rem;letter-spacing:.16em;color:var(--muted);margin-bottom:48px}
.wine-card h3{font-family:'Libre Caslon Display',serif;font-size:1.275rem;font-weight:400;margin:0 0 10px}
.wine-card p{font-size:.8rem;margin-bottom:24px}
.wine-meta{margin-top:auto;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:16px;align-items:end;font-size:.75rem;color:var(--muted)}
.wine-meta strong{color:var(--ink);font-weight:500;white-space:nowrap}
.house-wine-section{margin-top:20px;padding-bottom:10px}
.house-wine-grid{grid-template-columns:repeat(5,1fr)}
.house-wine-card{background:var(--ivory)}

/* 80% opacity on all title rules */
.page-hero-rule{background:rgba(255,255,255,.8)}

@media(max-width:1100px){
  .menu-items-columns{grid-template-columns:1fr}
  .wine-grid{grid-template-columns:repeat(2,1fr)}
  .house-wine-grid{grid-template-columns:repeat(2,1fr)}
  .wine-intro{grid-template-columns:1fr;gap:30px}
}
@media(max-width:700px){
  .menu-intro{display:flex;flex-direction:column;align-items:flex-start}
  .menu-block-heading{align-items:flex-end}
  .menu-items-columns{display:block}
  .menu-wine-cta{padding:30px 24px;display:block}
  .menu-wine-cta .button{margin-top:24px}
  .wine-grid,.house-wine-grid{grid-template-columns:1fr}
  .wine-section-heading{display:block}
  .wine-card{min-height:205px}
}

/* Dark, price-sorted wine card */
.wine-page-dark{
  max-width:none;
  margin:0;
  background:#2b241d;
  color:#f5efe5;
}
.wine-page-dark .wine-list-heading{
  max-width:1240px;
  margin:0 auto 48px;
  border-bottom:1px solid rgba(245,239,229,.28);
  padding-bottom:26px;
}
.wine-page-dark .wine-list-heading h2{
  margin:0;
  color:#f5efe5;
}
.wine-page-dark .wine-grid-simple{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.wine-page-dark .wine-card-simple{
  min-height:150px;
  border:1px solid rgba(245,239,229,.24);
  background:#342c24;
  border-radius:20px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.wine-page-dark .wine-card-simple h3{
  margin:0 0 30px;
  color:#f5efe5;
  font-family:'Libre Caslon Display',serif;
  font-size:1.1625rem;
  font-weight:400;
  line-height:1.15;
}
.wine-page-dark .wine-card-simple strong{
  color:#d8b982;
  font-size:.9rem;
  font-weight:500;
  letter-spacing:.03em;
}
@media(max-width:1100px){
  .wine-page-dark .wine-grid-simple{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .wine-page-dark .wine-grid-simple{grid-template-columns:1fr}
  .wine-page-dark .wine-card-simple{min-height:125px}
}

/* Homepage rendering clarity: keep MAREA/hero copy crisp and avoid sub-pixel rasterisation. */
html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.brand strong,.home-hero .eyebrow{text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
@media(min-width:701px){
  .home-hero-content{
    top:82px;
    bottom:0;
    transform:none;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* Menu refinement: three-column food layout, drinks before the wine card. */
.menu-items-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:44px;
}
.menu-items-columns .menu-row{
  min-width:0;
}
.drinks-block{
  padding-bottom:24px;
}
.drink-groups{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:44px;
}
.drink-group h3{
  font-family:'Libre Caslon Display',serif;
  font-size:1.35rem;
  font-weight:400;
  margin:0 0 18px;
}
.drink-items .menu-row:first-child{
  border-top:1px solid var(--line);
}
.menu-wine-cta{
  margin-top:64px;
}

/* About: four clear statements paired with a new restaurant image. */
.about-story{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:8vw;
  align-items:start;
}
.about-statements article{
  padding:0 0 38px;
  margin:0 0 38px;
  border-bottom:1px solid var(--line);
}
.about-statements article:last-child{
  margin-bottom:0;
}
.about-statements h2{
  font-size:clamp(1.65rem,2.6vw,2.8rem);
  margin-bottom:14px;
}
.about-statements p:last-child{
  margin-bottom:0;
}
.about-story .about-photo-image{
  height:820px;
}

@media(max-width:1100px){
  .menu-items-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .drink-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-story{grid-template-columns:1fr;gap:60px}
  .about-story .about-photo-image{height:620px;position:static}
}
@media(max-width:700px){
  .menu-items-columns,.drink-groups{grid-template-columns:1fr}
  .drink-groups{gap:42px}
  .about-story .about-photo-image{height:520px}
}

/* Dish cards: emphasize the primary dish name while keeping ingredients lighter. */
.dish-grid h3 strong{font-weight:700}

/* Final responsive / pre-launch QA */
.site-header-dark{color:var(--ink);border-bottom-color:var(--line);background:var(--paper)}
.site-header-dark .menu-toggle{color:var(--ink)}
.site-header-dark .header-cta{border-color:var(--line)}
.mobile-nav{max-height:calc(100svh - 72px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.button,.header-cta,.mobile-reserve{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.menu-row span:first-child{min-width:0;overflow-wrap:anywhere}
.footer-grid a,.footer-grid span,.footer-grid p{overflow-wrap:anywhere}
.reservation-form input,.reservation-form select{min-height:44px}

@media (min-width:701px) and (max-width:1100px){
  .section-pad{padding-top:96px;padding-bottom:96px}
  .dish-grid article:last-child{justify-self:center;width:100%}
  .drink-group:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 22px)}
  .footer{padding-top:64px}
}

@media(max-width:700px){
  .mobile-nav{top:72px}
  .menu-row{gap:18px}
  .menu-wine-cta{margin-top:48px}
  .menu-wine-cta h2{font-size:2rem}
  .reservation-form .button{width:100%}
  .footer{padding-left:22px;padding-right:22px}
}

@media(max-width:380px){
  .footer{padding-left:18px;padding-right:18px}
  .menu-row{gap:14px;font-size:.86rem}
  .menu-wine-cta{padding-left:20px;padding-right:20px}
}

/* Vinska karta: lighter hero overlay for an early-evening atmosphere. */
.wine-page-hero .page-hero-shade{
  background:linear-gradient(90deg,rgba(20,16,13,.48) 0%,rgba(20,16,13,.30) 34%,rgba(20,16,13,.05) 67%,rgba(20,16,13,.02) 100%);
}
@media(max-width:700px){
  .wine-page-hero .page-hero-shade{
    background:linear-gradient(90deg,rgba(20,16,13,.58) 0%,rgba(20,16,13,.30) 46%,rgba(20,16,13,.08) 100%);
  }
}

/* Jelovnik: desktop scroll-following section navigation. */
.menu-page{max-width:1440px}
.menu-page-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:40px;
  align-items:start;
}
.menu-page-main{min-width:0}
.menu-scroll-section{scroll-margin-top:112px}
.menu-scroll-nav{
  position:sticky;
  top:112px;
  align-self:start;
  padding-left:22px;
  border-left:1px solid var(--line);
}
.menu-scroll-nav-label{
  margin:0 0 18px;
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.2em;
  color:var(--muted);
}
.menu-scroll-nav nav{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}
.menu-scroll-nav a{
  position:relative;
  width:100%;
  padding:8px 0 8px 15px;
  font-size:.76rem;
  line-height:1.35;
  color:var(--muted);
}
.menu-scroll-nav a::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  width:6px;
  height:1px;
  background:transparent;
}
.menu-scroll-nav a.active{
  color:var(--ink);
  font-weight:600;
}
.menu-scroll-nav a.active::before{background:var(--ink)}


@media(max-width:1240px){
  .menu-page{max-width:1050px}
  .menu-page-layout{display:block}
  .menu-scroll-nav{display:none}
  .menu-scroll-section{scroll-margin-top:88px}
}
@media(max-width:700px){
  .menu-scroll-section{scroll-margin-top:72px}
}


/* Global return-to-title control: shared basic scroll position on all main pages. */
.page-return-control{
  position:fixed;
  right:24px;
  bottom:26px;
  z-index:35;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:0 16px;
  border:1px solid rgba(24,20,16,.24);
  border-radius:999px;
  background:rgba(248,244,237,.96);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(24,20,16,.10);
  cursor:pointer;
}
.page-return-arrow{font-size:1rem;line-height:1}
.page-return-label{font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}
@media(max-width:1100px){
  .page-return-control{
    width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    justify-content:center;
  }
  .page-return-label{display:none}
}
@media(max-width:700px){
  .page-return-control{display:none}
}


/* Jelovnik: dish name on the first line, ingredients on the second. */
.menu-dish-row{align-items:flex-start}
.menu-dish-copy{display:block;min-width:0;padding-right:8px}
.menu-dish-name{
  display:block;
  font-weight:700;
  line-height:1.3;
  color:var(--ink);
}
.menu-dish-ingredients{
  display:block;
  margin-top:5px;
  font-size:.78rem;
  line-height:1.45;
  color:var(--muted);
}
.menu-dish-price{padding-top:1px;font-weight:500}
@media(max-width:700px){
  .menu-dish-ingredients{font-size:.76rem}
}

/* v5.2 final production pass: unique imagery, consistent secondary heroes and responsive navigation. */
.page-hero-no-image{
  background:
    radial-gradient(circle at 78% 28%,rgba(210,193,171,.14),transparent 28%),
    linear-gradient(135deg,#191410 0%,#292119 55%,#17130f 100%);
}
.page-hero-no-image .page-hero-shade{
  background:linear-gradient(90deg,rgba(15,12,10,.28),rgba(15,12,10,.02));
}

.about-story-text-only{
  display:block;
  max-width:1080px;
  margin:0 auto;
}
.about-story-text-only .about-statements{
  display:block;
}
.about-story-text-only .about-statements article{
  min-height:0;
}

.contact-grid-text-only{
  display:block;
  max-width:900px;
  margin:0 auto;
}
.contact-grid-text-only .contact-info{
  max-width:680px;
}

.ambience-story-refined{
  display:grid;
  grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);
  gap:7vw;
  align-items:center;
}
.ambience-story-refined .story-copy{
  padding:0;
}
.ambience-story-refined .ambience-detail-photo{
  grid-column:auto;
  height:680px;
}

/* Keep the global return control available on every main breakpoint. */
@media(max-width:700px){
  .page-return-control{
    display:flex;
    right:14px;
    bottom:16px;
    width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    justify-content:center;
  }
  .page-return-label{display:none}
}

/* Jelovnik keeps its own sticky category navigation on tablet and mobile. */
@media(max-width:1240px){
  .menu-page-layout{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .menu-scroll-nav{
    display:block;
    order:-1;
    position:sticky;
    top:0;
    z-index:12;
    width:100%;
    padding:10px 0;
    margin:0 0 34px;
    border-left:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:rgba(248,244,237,.97);
    backdrop-filter:blur(8px);
  }
  .menu-scroll-nav-label{display:none}
  .menu-scroll-nav nav{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:4px;
    overflow-x:auto;
    padding:0 2px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .menu-scroll-nav nav::-webkit-scrollbar{display:none}
  .menu-scroll-nav a{
    width:auto;
    flex:0 0 auto;
    padding:8px 11px;
    border-radius:999px;
    white-space:nowrap;
    font-size:.72rem;
  }
  .menu-scroll-nav a::before{display:none}
  .menu-scroll-nav a.active{
    background:var(--ink);
    color:#fff;
  }
  .menu-scroll-section{scroll-margin-top:70px}
}

@media(max-width:1100px){
  .ambience-story-refined{grid-template-columns:1fr;gap:48px}
  .ambience-story-refined .ambience-detail-photo{height:560px}
}

@media(max-width:700px){
  .about-story-text-only .about-statements article{min-height:0}
  .ambience-story-refined .ambience-detail-photo{height:480px}
  .menu-scroll-nav{margin-bottom:24px;padding:8px 0}
  .menu-scroll-nav a{font-size:.7rem;padding:7px 10px}
  .menu-scroll-section{scroll-margin-top:64px}
}
.dark-header-page .site-header{color:var(--ink);border-bottom-color:var(--line);background:var(--paper)}
.dark-header-page .site-header .menu-toggle{color:var(--ink)}
.dark-header-page .site-header .header-cta{border-color:var(--line)}
@media(max-width:1100px){
  .header-cta{display:none}
}
.mobile-nav[hidden],
.page-return-control[hidden]{display:none!important}
/* v5.3: restore the static SCROLL cue on the homepage hero only. */
.home-scroll-label{
  position:absolute;
  left:50%;
  bottom:28px;
  z-index:2;
  transform:translateX(-50%);
  color:rgba(255,255,255,.82);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.24em;
  line-height:1;
  pointer-events:none;
  user-select:none;
}
@media(max-width:700px){
  .home-scroll-label{bottom:22px;font-size:.58rem;letter-spacing:.22em}
}

/* v5.7 About identity closing statement */
.about-identity{
  padding-top:0;
}
.about-identity-inner{
  display:grid;
  grid-template-columns:minmax(90px,.12fr) minmax(0,1fr);
  gap:4vw;
  align-items:start;
  padding-top:54px;
  border-top:1px solid var(--line);
}
.about-identity .eyebrow{
  margin:7px 0 0;
}
.about-identity-copy{
  width:fit-content;
  max-width:100%;
  margin:0 0 0 auto;
  font-family:'Libre Caslon Display',serif;
  font-size:clamp(1.55rem,2.55vw,2.75rem);
  line-height:1.28;
  color:var(--ink);
  text-align:right;
}
.about-identity-copy span{
  display:block;
}
.about-identity-copy span + span{
  margin-top:0;
}
@media(min-width:1280px){
  .about-identity-copy span:first-child{white-space:nowrap}
}
@media(max-width:700px){
  .about-identity-inner{
    grid-template-columns:1fr;
    gap:20px;
    padding-top:38px;
  }
  .about-identity .eyebrow{margin-top:0}
  .about-identity-copy{font-size:clamp(1.45rem,7.2vw,2.15rem)}
}


/* v5.9 Ambijent day-to-evening image sequence */
.ambience-journey{
  display:flex;
  flex-direction:column;
  gap:42px;
}
.ambience-journey-copy{
  padding:0;
  max-width:760px;
}
.ambience-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
.ambience-card img{
  display:block;
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center;
  border-radius:20px;
}
.ambience-card h3{
  margin:18px 0 0;
  font-family:'Libre Caslon Display',serif;
  font-weight:400;
  font-size:clamp(1.2rem,1.9vw,1.65rem);
  line-height:1.2;
}
@media(max-width:1100px){
  .ambience-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .ambience-journey{gap:32px}
  .ambience-gallery{grid-template-columns:1fr;gap:24px}
  .ambience-card h3{margin-top:14px}
}


/* v5.10 Ambijent: vertical day-to-evening editorial flow */
.ambience-gallery-vertical{
  display:flex;
  flex-direction:column;
  gap:0;
}
.ambience-gallery-vertical .ambience-card{
  width:100%;
  padding-bottom:0;
}
.ambience-gallery-vertical .ambience-card + .ambience-card{
  margin-top:1cm;
}
.ambience-gallery-vertical .ambience-card:last-child{
  padding-bottom:0;
}
.ambience-gallery-vertical .ambience-card img{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  max-height:760px;
  object-fit:cover;
}
.ambience-card-copy{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
  column-gap:8vw;
  row-gap:8px;
  align-items:baseline;
  padding:.5cm 0 .4cm;
}
.ambience-gallery-vertical .ambience-card:first-child .ambience-card-copy{
  padding-top:2.5cm;
}
.ambience-card-copy h3{
  grid-row:1/3;
  margin:0;
  font-size:clamp(1.55rem,2.8vw,2.7rem);
}
.ambience-card-copy p{
  margin:0;
  color:#756b61;
  font-size:.95rem;
  line-height:1.55;
}
@media(max-width:900px){
  .ambience-gallery-vertical{gap:0}
  .ambience-gallery-vertical .ambience-card{padding-bottom:0}
  .ambience-gallery-vertical .ambience-card:last-child{padding-bottom:0}
  .ambience-card-copy{grid-template-columns:1fr;gap:8px;padding:.45cm 0 .35cm;align-items:start}
  .ambience-gallery-vertical .ambience-card:first-child .ambience-card-copy{padding-top:1.6cm}
  .ambience-card-copy h3{grid-row:auto;margin-bottom:6px}
  .ambience-gallery-vertical .ambience-card img{aspect-ratio:3/2;max-height:none}
}
@media(max-width:700px){
  .ambience-gallery-vertical{gap:0}
  .ambience-gallery-vertical .ambience-card{padding-bottom:0}
  .ambience-gallery-vertical .ambience-card:last-child{padding-bottom:0}
  .ambience-card-copy{padding:.35cm 0 .3cm}
  .ambience-gallery-vertical .ambience-card:first-child .ambience-card-copy{padding-top:1.1cm}
  .ambience-card-copy p{font-size:.9rem}
}

/* v5.12 contact page — stronger editorial contact flow without reusing imagery. */
.contact-main{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:8vw;
  align-items:start;
}
.contact-info-panel{max-width:520px}
.contact-info-panel h2{font-size:clamp(1.9rem,3.2vw,3.4rem);margin-bottom:26px}
.contact-lead{max-width:460px;margin-bottom:46px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:34px}
.contact-detail-block{display:flex;flex-direction:column;gap:8px;padding-top:15px;border-top:1px solid var(--line)}
.contact-detail-label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.contact-detail-block strong,.contact-detail-block a{font-family:'Libre Caslon Display',Georgia,serif;font-size:1.22rem;font-weight:400}
.contact-hours-label{display:block;margin-top:8px;margin-bottom:8px;opacity:.78}
.contact-hours{margin-top:0;max-width:420px;opacity:.72}
.contact-hours div{padding:10px 0;font-size:.76rem}
.contact-form{display:flex;flex-direction:column;gap:25px;max-width:760px}
.contact-form label{font-size:.76rem;letter-spacing:.05em}
.contact-form input,.contact-form select,.contact-form textarea{
  display:block;
  width:100%;
  margin-top:8px;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--line);
  padding:12px 0;
  outline:none;
  font:inherit;
  color:inherit;
}
.contact-form select{
  appearance:none;
  -webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:28px;
}
.contact-form textarea{border:1px solid var(--line);padding:14px;resize:vertical;min-height:170px}
.contact-form .button{align-self:flex-start}
.field-optional{font-size:.68rem;letter-spacing:0;color:var(--muted);margin-left:6px}
.contact-reservation-link{align-self:flex-start;margin-top:-12px}
.contact-arrival{min-height:440px;display:flex;align-items:center}
.contact-arrival-copy{max-width:760px}
.contact-arrival-copy h2{margin-bottom:24px}
.contact-arrival-copy>p:not(.eyebrow){max-width:600px;color:#bdb1a5}
.contact-arrival-actions{display:flex;align-items:center;gap:30px;margin-top:34px}

@media(max-width:1100px){
  .contact-main{grid-template-columns:1fr;gap:64px}
  .contact-info-panel,.contact-form{max-width:none}
}

@media(max-width:700px){
  .contact-main{gap:50px}
  .contact-info-panel h2{font-size:clamp(1.8rem,9vw,3rem)}
  .contact-details{grid-template-columns:1fr;gap:18px}
  .contact-form .button{width:100%}
  .contact-arrival{min-height:0}
  .contact-arrival-actions{align-items:flex-start;flex-direction:column;gap:20px}
}

/* v5.36 Jelovnik: up to five key ingredients + discreet allergen numbering. */
.menu-dish-allergens{
  display:block;
  margin-top:6px;
  font-size:.64rem;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a7d70;
}
.menu-allergen-legend{
  margin:12px 0 24px;
  padding:30px 0 34px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.menu-allergen-legend .eyebrow{margin-bottom:18px}
.menu-allergen-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px 26px;
  font-size:.72rem;
  line-height:1.45;
  color:var(--muted);
}
.menu-allergen-grid span{white-space:nowrap}
.menu-allergen-grid strong{
  display:inline-block;
  min-width:22px;
  color:var(--ink);
  font-weight:600;
}
.menu-allergen-note{
  margin:20px 0 0;
  max-width:760px;
  font-size:.7rem;
  line-height:1.55;
  color:#7d7166;
}
@media(max-width:900px){
  .menu-allergen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .menu-dish-allergens{font-size:.61rem}
  .menu-allergen-grid{grid-template-columns:1fr 1fr;gap:8px 16px}
  .menu-allergen-grid span{white-space:normal}
}


/* v5.40 Jelovnik: normalize dish-row height and prevent Prilozi column overflow. */
.menu-items-columns{min-width:0;width:100%}
.menu-dish-row{min-width:0;width:100%;overflow:hidden}
.menu-dish-copy{flex:1 1 auto;min-width:0;max-width:100%}
.menu-dish-name,.menu-dish-ingredients,.menu-dish-allergens{max-width:100%;overflow-wrap:anywhere}
.menu-dish-price{flex:0 0 auto}
.menu-dish-allergens-empty{visibility:hidden}

/* Footer social links: restrained outline icons, consistent across all pages. */
.footer-socials{display:flex;align-items:center;gap:10px;margin-top:10px}
.footer-socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#b6aaa0;transition:border-color .2s ease,color .2s ease}
.footer-socials a:hover{border-color:rgba(255,255,255,.42);color:#f0e8df}
.footer-socials svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
.footer-socials svg path{fill:currentColor;stroke:none}
.footer-socials .social-dot{fill:currentColor;stroke:none}
