.site-hero {
  isolation: isolate;
  overflow: hidden;
  background: #050505;
}

.hero-panoramas { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.hero-panorama { position: absolute; inset: -4%; opacity: 0; background-position: center; background-size: cover; filter: saturate(.82) contrast(1.1) brightness(.68); transform: scale(1.08); transition: opacity 1.35s cubic-bezier(.24, .74, .28, 1), transform 7s cubic-bezier(.16, .72, .28, 1); }
.hero-panorama--buffet { background-image: url("images/hero-buffet.png"); background-position: 71% center; }
.hero-panorama--grill { background-image: url("images/show-grill.png"); background-position: 63% 44%; }
.hero-panorama--editorial { background-image: url("images/hero-balkanika-editorial.webp"); background-position: center; }
.hero-panorama.is-active { opacity: 1; transform: scale(1); }

.site-hero:before { z-index: 1; background: linear-gradient(90deg, rgba(3, 3, 3, .98) 0%, rgba(3, 3, 3, .94) 28%, rgba(3, 3, 3, .52) 54%, rgba(3, 3, 3, .09) 100%); }
.site-hero:after { z-index: 1; height: 250px; }
.hero-content { z-index: 2; transition: opacity .9s ease, transform .9s cubic-bezier(.2, .8, .25, 1); }
.motion-enabled .site-hero:not(.is-ready) .hero-content { opacity: 0; transform: translateY(20px); }

.hero-panorama-progress { position: absolute; z-index: 3; right: max(22px, calc((100vw - 1240px) / 2)); bottom: 37px; display: flex; gap: 8px; }
.hero-panorama-progress span { width: 28px; height: 2px; overflow: hidden; background: rgba(255, 255, 255, .32); }
.hero-panorama-progress span:after { display: block; width: 100%; height: 100%; content: ""; background: var(--site-gold-light); transform: translateX(-104%); }
.hero-panorama-progress span.is-active:after { animation: panorama-progress 6.5s linear forwards; }

.site-header { border-bottom-color: rgba(229, 202, 129, .14); transition: background .42s ease, backdrop-filter .42s ease, border-color .42s ease, box-shadow .42s ease; }
.site-header:after { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; content: ""; opacity: .56; background: linear-gradient(90deg, transparent, var(--site-gold-light), transparent); transform: scaleX(.1); transition: transform .55s ease; }
.site-header .site-nav { transition: min-height .38s ease, transform .38s ease; }
.site-header .site-brand img { filter: drop-shadow(0 5px 16px rgba(0, 0, 0, .45)); transition: transform .4s ease; }
.site-header .site-brand:hover img { transform: rotate(-5deg) scale(1.05); }
.nav-links a { position: relative; padding: 7px 0; }
.nav-links a:after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; content: ""; background: var(--site-gold-light); transform: scaleX(0); transform-origin: right; transition: transform .28s ease; }
.nav-links a:hover:after { transform: scaleX(1); transform-origin: left; }
.site-nav-actions .gold-button { position: relative; overflow: hidden; box-shadow: 0 7px 22px rgba(0, 0, 0, .22); }
.site-nav-actions .gold-button:before { position: absolute; inset: 0; content: ""; background: linear-gradient(105deg, transparent 32%, rgba(255,255,255,.45) 50%, transparent 68%); transform: translateX(-130%); transition: transform .65s ease; }
.site-nav-actions .gold-button:hover:before { transform: translateX(130%); }

.site-header.is-scrolled { position: fixed; background: rgba(5, 5, 5, .8); border-color: rgba(208, 169, 73, .34); box-shadow: 0 9px 30px rgba(0, 0, 0, .25); backdrop-filter: blur(17px) saturate(1.14); }
.site-header.is-scrolled:after { transform: scaleX(1); }
.site-header.is-scrolled .site-nav { min-height: 68px; }
.site-header.is-scrolled .site-brand img { width: 43px; height: 43px; }
.site-header.is-scrolled .site-brand span { font-size: 21px; }

.scroll-reveal { opacity: 1; transform: none; }
.motion-enabled .scroll-reveal { opacity: 0; transform: translateY(30px) scale(.985); transition: opacity .78s cubic-bezier(.2, .75, .25, 1) var(--reveal-delay, 0ms), transform .78s cubic-bezier(.2, .75, .25, 1) var(--reveal-delay, 0ms); }
.motion-enabled .scroll-reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

@keyframes panorama-progress { from { transform: translateX(-104%); } to { transform: translateX(0); } }

.section-heading .eyebrow:after { display: inline-block; width: 34px; height: 1px; margin-left: 11px; content: ""; vertical-align: middle; background: currentColor; transform-origin: left; animation: eyebrow-line 1.1s cubic-bezier(.2, .75, .25, 1) both; }
.service-card, .menu-card, .journal-card, .reference-card { transition: transform .45s cubic-bezier(.2, .8, .25, 1), box-shadow .45s ease, border-color .35s ease; }
.menu-card:before { transition: transform .8s cubic-bezier(.2, .75, .25, 1), filter .45s ease; }
.feature-image { transition: transform 1s cubic-bezier(.2, .75, .25, 1), filter .5s ease; }

@media (hover: hover) {
  .service-card:hover, .menu-card:hover, .journal-card:hover, .reference-card:hover { border-color: rgba(222, 183, 88, .85); box-shadow: 0 18px 42px rgba(0, 0, 0, .18); transform: translateY(-7px); }
  .menu-card:hover:before { filter: saturate(1.1) contrast(1.03); transform: scale(1.045); }
  .feature:hover .feature-image { filter: saturate(1.08) contrast(1.04); transform: scale(1.02); }
  .motion-enabled .service-card.scroll-reveal.is-visible:hover, .motion-enabled .menu-card.scroll-reveal.is-visible:hover, .motion-enabled .journal-card.scroll-reveal.is-visible:hover, .motion-enabled .reference-card.scroll-reveal.is-visible:hover { transform: translateY(-7px) scale(1); }
}

@keyframes eyebrow-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.reference-section {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 80% 15%, rgba(193, 143, 47, .18), transparent 34%), #090909;
}

.reference-section:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(214, 169, 75, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(214, 169, 75, .025) 1px, transparent 1px);
  background-size: 64px 64px;
}

.reference-section .site-container { position: relative; }

.reference-grid {
  display: grid;
  grid-template-columns: 1.28fr .72fr .72fr;
  grid-auto-rows: 230px;
  gap: 15px;
}

.reference-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(211, 173, 83, .42);
  background: #10100f;
}

.reference-card-large { grid-row: span 2; }
.reference-card:last-child { grid-column: span 2; }

.reference-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.82) contrast(1.08) brightness(.82);
  transition: transform .8s cubic-bezier(.2, .75, .25, 1), filter .45s ease;
}

.reference-card:nth-child(2) img { object-position: 50% 72%; }
.reference-card:nth-child(3) img { object-position: center 45%; }
.reference-card:nth-child(4) img { object-position: 50% 57%; }

.reference-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 25%, rgba(0, 0, 0, .84) 100%);
}

.reference-card div {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px;
}

.reference-card span, .journal-card > span, .journal-copy > span {
  color: var(--site-gold-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.reference-card h3, .journal-card h3, .journal-copy h3 {
  margin: 7px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: .98;
}

.reference-card p { margin: 7px 0 0; color: #ddd6ca; font-size: 12px; }
.reference-card:hover img { filter: saturate(1.05) contrast(1.04) brightness(.98); transform: scale(1.055); }

.journal-section { padding-top: 100px; }
.journal-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 16px; }

.journal-feature, .journal-card {
  border: 1px solid #dbd1c1;
  background: #fbf8f1;
}

.journal-feature { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 375px; }
.journal-feature img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.86) saturate(.82); }
.journal-copy { display: flex; flex-direction: column; justify-content: center; padding: 34px; }
.journal-copy h3 { font-size: clamp(29px, 3vw, 42px); color: #201c15; }
.journal-copy p { color: #6c655a; line-height: 1.6; font-size: 13px; }
.journal-copy .text-link { margin-top: 10px; }

.journal-card { display: flex; min-height: 375px; padding: 30px; flex-direction: column; justify-content: end; background: linear-gradient(145deg, #1c1811, #0a0907); color: #f8f3e9; }
.journal-card:nth-child(3) { background: linear-gradient(145deg, #9a7429, #2c2111 72%, #0e0b08); }
.journal-card h3 { font-size: 32px; }
.journal-card p { color: #d4c9b8; font-size: 13px; line-height: 1.6; }
.journal-card a { margin-top: 15px; color: var(--site-gold-light); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

.journal-card-image { padding: 0; justify-content: stretch; background: #14110d; overflow: hidden; }
.journal-card-image img { width: 100%; height: 170px; object-fit: cover; filter: brightness(.78) saturate(.88); }
.journal-card-image > div { display: flex; height: 100%; padding: 24px 28px 28px; flex-direction: column; justify-content: end; }

.partner-card > img { width: 100%; height: 180px; margin: -1px -1px 18px; object-fit: cover; filter: brightness(.84) saturate(.86); }
.cart-item small { display: block; margin-top: 3px; color: #b69c65; font-size: 10px; line-height: 1.35; }

.article-page { min-height: 100vh; background: radial-gradient(circle at 75% 0%, rgba(188, 138, 42, .22), transparent 35%), #090909; color: #f8f3e9; }
.article-shell { width: min(900px, calc(100% - 40px)); margin: 0 auto; padding: 52px 0 90px; }
.article-back { color: var(--site-gold-light); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.journal-article { margin-top: 42px; }
.journal-article h1 { max-width: 760px; margin: 12px 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 7vw, 76px); font-weight: 400; line-height: .96; }
.article-summary { max-width: 650px; color: #ddd3c2; font-size: 20px; line-height: 1.5; }
.article-date { color: var(--site-gold-light); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.journal-article > img { display: block; width: 100%; max-height: 520px; margin: 34px 0; object-fit: cover; }
.article-body { max-width: 720px; color: #e6dfd3; font-size: 17px; line-height: 1.8; }
.article-link { display: inline-block; margin-top: 28px; padding: 13px 18px; border: 1px solid var(--site-gold); color: var(--site-gold-light); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }

.menu-card h3 a, .service-card h3 a, .feature-copy h2 a, .journal-card h3 a {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
  text-transform: none;
}

.menu-card h3 a:hover, .service-card h3 a:hover, .feature-copy h2 a:hover, .journal-card h3 a:hover { color: var(--site-gold-light); }
.menu-card .actions { display: flex; align-items: center; gap: 13px; margin-top: 14px; }
.menu-card .actions .add-product { flex: 1; width: auto; margin-top: 0; }
.menu-card .actions .text-link { white-space: nowrap; }
.journal-source { opacity: .76; }

.detail-shell { width: min(940px, calc(100% - 40px)); margin: 0 auto; padding: 52px 0 90px; }
.public-detail-card { position: relative; margin-top: 40px; padding: clamp(28px, 6vw, 68px); overflow: hidden; border: 1px solid rgba(210, 170, 75, .48); background: radial-gradient(circle at 88% 5%, rgba(191, 138, 39, .23), transparent 28%), linear-gradient(145deg, rgba(32, 27, 19, .98), rgba(8, 8, 7, .98)); }
.public-detail-card:before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .32; background-image: linear-gradient(rgba(215, 172, 79, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(215, 172, 79, .035) 1px, transparent 1px); background-size: 68px 68px; }
.public-detail-card > * { position: relative; }
.public-detail-card h1 { max-width: 780px; margin: 14px 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 7vw, 78px); font-weight: 400; line-height: .96; }
.public-detail-content { max-width: 720px; margin-top: 34px; color: #e6dfd3; font-size: 16px; line-height: 1.75; }
.public-detail-content h2 { margin: 32px 0 14px; color: #f6efe2; font-family: Georgia, "Times New Roman", serif; font-size: 28px; font-weight: 400; }
.public-detail-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.public-detail-list li { padding: 12px 14px; border-left: 2px solid var(--site-gold); background: rgba(255, 255, 255, .04); }
.public-detail-list span { color: #cfc3b1; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }

@media (max-width: 600px) {
  .hero-panorama--buffet { background-position: 61% center; }
  .hero-panorama--grill { background-position: 59% center; }
  .hero-panorama-progress { right: 15px; bottom: 25px; }
  .hero-panorama-progress span { width: 20px; }
  .site-header.is-scrolled .site-brand img { width: 38px; height: 38px; }
  .menu-card .actions { align-items: stretch; flex-direction: column; }
  .menu-card .actions .text-link { text-align: center; }
  .detail-shell { width: calc(100% - 30px); padding-top: 36px; }
  .public-detail-card { margin-top: 26px; }
}

@media (max-width: 900px) {
  .reference-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 250px; }
  .reference-card-large { grid-row: span 1; grid-column: span 2; }
  .reference-card:last-child { grid-column: span 1; }
  .journal-grid { grid-template-columns: 1fr 1fr; }
  .journal-feature { grid-column: span 2; }
}

@media (max-width: 600px) {
  .reference-grid { grid-template-columns: 1fr; grid-auto-rows: 280px; }
  .reference-card-large, .reference-card:last-child { grid-column: auto; }
  .reference-card div { padding: 20px; }
  .reference-card h3 { font-size: 25px; }
  .journal-section { padding-top: 68px; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-feature { grid-column: auto; grid-template-columns: 1fr; }
  .journal-feature img { min-height: 225px; }
  .journal-card { min-height: 270px; }
  .journal-card-image { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .scroll-reveal { opacity: 1; transform: none; }
  .hero-panorama { transition: none; }
}

/* Izdvojene ponude i konfigurator upita. */
.featured-offers { overflow: hidden; color: #f8f3e9; background: radial-gradient(circle at 82% 12%, rgba(202,151,47,.2), transparent 34%), #0a0907; }
.featured-offer-carousel { position: relative; min-height: 520px; border: 1px solid rgba(220,181,87,.48); background: #15110b; box-shadow: 0 28px 70px rgba(0,0,0,.28); }
.featured-offer-slide { position: absolute; inset: 0; display: grid; grid-template-columns: 1.05fr .95fr; visibility: hidden; opacity: 0; transform: translateX(4%); transition: opacity .55s ease, transform .55s ease, visibility .55s; }
.featured-offer-slide.is-active { position: relative; visibility: visible; opacity: 1; transform: none; }
.featured-offer-slide > img, .featured-offer-placeholder { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.featured-offer-placeholder { display: grid; place-items: center; color: #e6bd61; background: radial-gradient(circle, #5b4319, #15110b 65%); font: 700 clamp(70px,12vw,150px)/1 Georgia,serif; }
.featured-offer-copy { display: flex; padding: clamp(32px,6vw,76px); flex-direction: column; justify-content: center; background: linear-gradient(145deg,#21190e,#080706); }
.featured-offer-copy > span { color: var(--site-gold-light); font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.featured-offer-copy h2 { margin: 13px 0 18px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(40px,5vw,68px); font-weight: 400; line-height: .95; }
.featured-offer-copy p { color: #d5cbbc; font-size: 15px; line-height: 1.7; }
.featured-offer-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 28px; }
.featured-offer-meta strong { color: #f0d18a; font-family: Georgia,"Times New Roman",serif; font-size: 20px; }
.featured-offer-controls { position: absolute; z-index: 4; right: 20px; bottom: 18px; display: flex; align-items: center; gap: 10px; }
.featured-offer-controls button { width: 38px; height: 38px; border: 1px solid rgba(235,204,129,.65); border-radius: 50%; color: #fff5df; background: rgba(8,7,5,.72); cursor: pointer; }
.featured-offer-controls span { min-width: 48px; color: #dbc27f; font-size: 11px; text-align: center; }
.featured-inquiry { margin-top: 28px; padding: clamp(25px,5vw,54px); border: 1px solid rgba(220,181,87,.48); background: linear-gradient(145deg,#18130c,#090806); }
.featured-inquiry h2 { margin: 9px 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(34px,5vw,52px); font-weight: 400; }
.featured-inquiry > p { max-width: 680px; color: #d5cbbc; line-height: 1.6; }
.featured-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
.featured-form-grid label, .featured-notes { display: grid; gap: 7px; color: #eadfcb; font-size: 12px; font-weight: 700; }
.featured-form-grid .wide { grid-column: 1/-1; }
.featured-form-grid input, .featured-form-grid select, .featured-notes textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid rgba(218,185,110,.45); border-radius: 4px; color: #f9f3e8; background: rgba(255,255,255,.055); font: inherit; }
.featured-form-grid option { color: #221a0f; background: #fffaf0; }
.featured-form-grid small { color: #a99b87; font-weight: 400; }
.featured-inquiry .service-choice { border-color: rgba(218,185,110,.35); }
.offer-options { margin: 18px 0; border: 1px solid rgba(218,185,110,.28); }
.offer-options summary { padding: 15px; color: #ebcc82; font-weight: 800; cursor: pointer; }
.offer-options > div { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(218,185,110,.16); }
.offer-option { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 15px; background: #13100b; }
.offer-option span { display: grid; gap: 3px; }
.offer-option small { color: #a99b87; font-size: 10px; }
.offer-option input { width: 72px; min-height: 38px; border: 1px solid rgba(218,185,110,.45); color: #fff; background: rgba(255,255,255,.06); text-align: center; }
.featured-notes { margin: 18px 0; }
.featured-notes textarea { min-height: 110px; resize: vertical; }

@media (max-width: 760px) {
  .featured-offer-carousel { min-height: 0; }
  .featured-offer-slide { grid-template-columns: 1fr; }
  .featured-offer-slide > img, .featured-offer-placeholder { min-height: 280px; height: 280px; }
  .featured-offer-meta { align-items: stretch; flex-direction: column; }
  .featured-offer-controls { top: 250px; bottom: auto; }
  .featured-form-grid, .offer-options > div { grid-template-columns: 1fr; }
  .featured-form-grid .wide { grid-column: auto; }
}

/* Moderni footer i košarica u tri koraka. */
.footer-modern { position: relative; padding: 0; overflow: hidden; border-top: 1px solid rgba(214, 172, 76, .36); background: radial-gradient(circle at 12% 3%, rgba(191, 139, 39, .18), transparent 30%), #070706; }
.footer-modern:before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .52; background-image: linear-gradient(120deg, transparent 48%, rgba(230, 194, 103, .05) 48.2%, transparent 48.4%), linear-gradient(90deg, rgba(216, 174, 79, .04) 1px, transparent 1px); background-size: 100% 100%, 72px 72px; }
.footer-modern-grid, .footer-bottom { position: relative; }
.footer-modern-grid { display: grid; grid-template-columns: 1.6fr repeat(3, .8fr); gap: 40px; padding: 60px 0 46px; }
.footer-modern-grid > div:not(.footer-brand-block) { display: grid; align-content: start; gap: 11px; }
.footer-modern a { color: #e7dfd0; font-size: 12px; text-decoration: none; transition: color .22s ease, transform .22s ease; }
.footer-modern a:hover { color: var(--site-gold-light); transform: translateX(3px); }
.footer-modern .site-brand { margin-bottom: 17px; }
.footer-brand-block p { max-width: 310px; margin: 0; color: #aaa094; font-size: 13px; line-height: 1.65; }
.footer-label { margin-bottom: 6px; color: var(--site-gold-light); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.footer-contact a:first-of-type { color: #f6ead2; font-family: Georgia, "Times New Roman", serif; font-size: 20px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 0; border-top: 1px solid rgba(231, 198, 110, .18); color: #918a80; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.footer-bottom a { color: var(--site-gold-light); font-size: 10px; }

.detail-close { position: fixed; z-index: 20; top: 18px; right: 18px; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 13px; border: 1px solid rgba(229, 194, 103, .75); border-radius: 999px; color: #fbf2df; background: rgba(12, 11, 9, .88); box-shadow: 0 9px 26px rgba(0, 0, 0, .3); backdrop-filter: blur(12px); font-size: 19px; font-weight: 700; line-height: 1; text-decoration: none; }
.detail-close span { font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.detail-close:hover { color: #1a1409; background: var(--site-gold-light); }

.cart-panel { width: min(470px, 100%); padding: 0; color: #221d15; background: #f8f4eb; }
.cart-head { min-height: 92px; padding: 20px 25px; border-bottom: 1px solid #dacdb6; background: linear-gradient(125deg, #fffdf7, #eee2cf); }
.cart-head h2 { margin: 3px 0 0; font-size: 30px; }
.cart-kicker { color: #9a7226; font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.cart-close { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid #c5a35c; border-radius: 50%; color: #644a19; background: rgba(255,255,255,.55); font-size: 26px; line-height: 1; }
.cart-flow { flex: 1; overflow: auto; padding: 0 25px; }
.cart-step { padding: 20px 0; border-bottom: 1px solid #e0d6c5; }
.cart-step-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.cart-step-heading b { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #fdf8ed; background: #8d6721; font-size: 11px; }
.cart-step-heading span { display: block; color: #9f7a32; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cart-step-heading h3 { margin: 2px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 400; }
.cart-step-note { margin: 9px 0 0; color: #766b5d; font-size: 11px; line-height: 1.45; }
.cart-item { align-items: start; padding: 12px 0; }
.cart-item-image { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 11px; object-fit: cover; background: #e9dfce; }
.cart-item + .cart-item { border-top: 1px solid #ebe2d4; }
.cart-item-info strong { max-width: 250px; color: #211b13; font-size: 13px; line-height: 1.2; }
.cart-item-info span { color: #80642d; font-size: 11px; }
.cart-item small { color: #817363; }
.cart-controls { align-items: center; justify-content: end; flex-wrap: wrap; max-width: 128px; }
.cart-controls button { width: 25px; height: 25px; border-color: #c9ac70; color: #513c18; background: #fffdf8; }
.cart-controls input { min-height: 27px; border-color: #ccb88f; color: #3b2c15; background: #fffdf8; }
.cart-controls .cart-remove { width: auto; height: auto; margin-left: auto; border: 0; padding: 3px 0; color: #8d6423; background: transparent; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.cart-empty { padding: 2px 0 0; color: #776e61; }
.cart-empty p { margin: 0 0 8px; font-size: 12px; line-height: 1.45; }
.cart-select-link { border: 0; padding: 0; color: #8a641e; background: transparent; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cart-total { margin: 0 25px; padding: 17px 0; border-top: 2px solid #b69039; color: #514126; font-size: 13px; font-weight: 700; }
.cart-total strong { color: #805c1c; font-family: Georgia, "Times New Roman", serif; font-size: 24px; }
.cart-total small { display: block; width: 100%; margin-top: 4px; color: #84796b; font-size: 9px; font-weight: 500; }
.cart-quick-add { display: grid; gap: 6px; margin: 0 0 12px; color: #80642d; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cart-quick-add select { width: 100%; min-height: 42px; padding: 9px 34px 9px 11px; border: 1px solid #cbb98f; border-radius: 10px; color: #332612; background: #fffdf8; font: inherit; text-transform: none; }
.cart-action { display: flex; align-items: center; justify-content: center; gap: 12px; width: calc(100% - 50px); margin: 0 25px; padding: 15px; }
.cart-note { margin: 12px 25px 23px; color: #84796b; font-size: 10px; line-height: 1.45; }
.order-flow-summary { display: grid; gap: 4px; margin: 0 0 18px; padding: 13px 15px; border: 1px solid rgba(226, 191, 105, .42); background: rgba(221, 181, 84, .08); color: #e7decf; }
.order-flow-summary strong { color: var(--site-gold-light); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.order-flow-summary span { color: #d6cec1; font-size: 12px; line-height: 1.45; }
.order-flow-summary .order-summary-total { margin-top: 5px; color: #f3d382; font-family: Georgia, "Times New Roman", serif; font-size: 18px; letter-spacing: 0; text-transform: none; }
.product-image-required { display: grid; place-items: center; color: #8d6824; background: linear-gradient(145deg, #efe5d3, #fffaf0); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.location-choice { position: relative; display: grid; gap: 13px; padding: 16px; border: 1px solid rgba(218,185,110,.42); }
.location-choice legend { padding: 0 7px; color: #ead7a6; font-weight: 800; }
.location-choice-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.location-choice-tabs label { display: flex; align-items: center; gap: 8px; min-height: 43px; padding: 10px 12px; border: 1px solid rgba(218,185,110,.38); border-radius: 9px; background: rgba(255,255,255,.035); cursor: pointer; }
.location-choice-tabs input { width: auto; min-height: 0; accent-color: #cda54a; }
.location-suggestions { position: absolute; z-index: 8; left: 0; right: 0; top: calc(100% + 4px); overflow: hidden; border: 1px solid #d1b877; border-radius: 9px; background: #fffdf8; box-shadow: 0 15px 38px rgba(0,0,0,.25); }
.location-suggestions button { display: block; width: 100%; padding: 11px 13px; border: 0; border-bottom: 1px solid #eee3cf; color: #2e2519; background: transparent; text-align: left; cursor: pointer; }
.location-suggestions button:hover { background: #f1e6d2; }
.selected-partner-location { display: grid; gap: 5px; min-height: 76px; padding: 14px; border: 1px solid rgba(218,185,110,.42); border-radius: 10px; background: rgba(217,178,80,.08); }
.selected-partner-location strong { color: #f1dfb1; }
.selected-partner-location span, .selected-partner-location small, .selected-partner-location a { color: #cfc4b4; }

@media (max-width: 760px) {
  .footer-modern-grid { grid-template-columns: 1fr 1fr; gap: 30px 22px; padding: 48px 0 38px; }
  .footer-brand-block { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
  .cart-panel { width: min(100%, 470px); }
}

@media (max-width: 600px) {
  .footer-modern-grid { grid-template-columns: 1fr; gap: 26px; padding: 42px 0 34px; }
  .footer-brand-block { grid-column: auto; }
  .footer-contact a:first-of-type { font-size: 18px; }
  .detail-close { top: 10px; right: 10px; min-height: 39px; padding: 8px 11px; }
  .detail-close span { font-size: 9px; }
  .article-shell, .detail-shell { padding-top: 68px; }
  .cart-head { min-height: 76px; padding: 15px 18px; }
  .cart-head h2 { font-size: 26px; }
  .cart-flow { padding: 0 18px; }
  .cart-step { padding: 15px 0; }
  .cart-total { margin: 0 18px; }
  .cart-action { width: calc(100% - 36px); margin: 0 18px; }
  .cart-note { margin: 10px 18px 18px; }
  .location-choice-tabs { grid-template-columns: 1fr; }
}

/* Fotografije menija, objava i referenci iz administracije. */
.menu-card.has-image:before { display: none; }
.menu-card.has-image { padding-top: 25px; }
.menu-card-image { display: block; height: 151px; margin: -25px -25px 21px; overflow: hidden; }
.menu-card-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.03) brightness(.88); transition: transform .65s cubic-bezier(.2,.75,.25,1), filter .4s ease; }
.menu-card.has-image:hover .menu-card-image img { filter: saturate(1.05) contrast(1.04) brightness(1); transform: scale(1.04); }
.reference-card h3 a { color: inherit; text-decoration: none; }
.reference-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--site-gold-light); background: radial-gradient(circle at 50% 20%, #5c4217, #080807 68%); font-family: Georgia, serif; font-size: 36px; }
.managed-reference-section { padding-top: 0; }
.reference-grid-managed { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 280px; }
.reference-grid-managed .reference-card:last-child { grid-column: auto; }
.public-detail-cover { display: block; width: 100%; max-height: 470px; margin: 0 0 28px; object-fit: cover; border: 1px solid rgba(228, 190, 98, .4); }
.public-gallery { margin-top: 42px; }
.public-gallery h2 { margin-bottom: 15px; }
.public-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.public-gallery figure { min-height: 155px; margin: 0; overflow: hidden; border: 1px solid rgba(228, 190, 98, .32); background: #12100d; }
.public-gallery img { display: block; width: 100%; height: 100%; min-height: 155px; object-fit: cover; transition: transform .45s ease; }
.public-gallery figure:hover img { transform: scale(1.045); }
.public-gallery figcaption { padding: 8px 10px; color: #e7dfd1; background: #16130e; font-size: 11px; line-height: 1.4; }

@media (max-width: 760px) {
  .reference-grid-managed { grid-template-columns: 1fr 1fr; grid-auto-rows: 245px; }
  .public-gallery-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .reference-grid-managed, .public-gallery-grid { grid-template-columns: 1fr; }
  .reference-grid-managed { grid-auto-rows: 270px; }
  .menu-card-image { height: 170px; }
}
.service-choice{border:1px solid rgba(199,161,83,.34);border-radius:14px;padding:14px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-choice legend{padding:0 8px;color:#e8d39b;font-weight:700}.service-choice label{display:flex;align-items:center;gap:9px;min-height:40px}.service-choice input{width:auto;accent-color:#c7a153}[data-business-field].is-required{color:#f1d588}@media(max-width:640px){.service-choice{grid-template-columns:1fr}}
/* Finalni meniji 2026: vodič od odabira do potvrđene ponude. */
.menu-explore{background:linear-gradient(145deg,#0b1114,#121c20);color:#fff}.menu-explore .section-heading p{color:#b8c2c5}.menu-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px;margin:8px 0 30px;padding:18px;border:1px solid rgba(201,151,62,.28);border-radius:22px;background:rgba(255,255,255,.035)}.menu-flow>div{display:flex;align-items:center;gap:13px}.menu-flow b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#e1b15a,#9b6827);color:#111;font-size:18px}.menu-flow span{display:flex;flex-direction:column}.menu-flow strong{font-size:15px}.menu-flow small{margin-top:3px;color:#9eaaae}.menu-flow i{color:#d3a44e;font-size:22px;font-style:normal}.menu-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.menu-explore-card{position:relative;display:block;min-height:260px;overflow:hidden;border:1px solid rgba(201,151,62,.28);border-radius:22px;background:#090d0f;color:#fff;box-shadow:0 18px 46px rgba(0,0,0,.22)}.menu-explore-card img{width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s}.menu-explore-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,6,7,.96))}.menu-explore-card span{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column}.menu-explore-card b{font:600 24px/1.15 Georgia,serif;color:#edbd63}.menu-explore-card small{margin-top:5px;color:#e6eaeb}.menu-explore-card:hover img{transform:scale(1.045);filter:saturate(1.08)}.menu-price-note{margin:22px 0 0;padding:14px 18px;border-left:3px solid #c9973e;background:rgba(255,255,255,.035);color:#c6ced0;font-size:14px;line-height:1.6}
@media(max-width:780px){.menu-flow{grid-template-columns:1fr}.menu-flow i{display:none}.menu-explore-grid{grid-template-columns:1fr}.menu-explore-card,.menu-explore-card img{min-height:210px}}

/* Custom meni, prehrambene oznake, lokacija i privatnost. */
.custom-menu-section{color:#f7f2e8;background:radial-gradient(circle at 85% 10%,rgba(201,151,62,.15),transparent 30%),#0b1012}.custom-menu-section .section-heading p{color:#b9c1c1}.custom-menu-tools{position:sticky;z-index:5;top:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 22px;padding:13px;border:1px solid rgba(213,174,83,.32);border-radius:16px;background:rgba(11,16,18,.94);backdrop-filter:blur(12px)}.custom-menu-tools input{width:min(390px,100%);min-height:44px;padding:10px 13px;border:1px solid rgba(213,174,83,.45);border-radius:10px;color:#fff;background:#151c1f}.diet-filter{display:flex;flex-wrap:wrap;gap:7px}.diet-filter button{min-height:36px;padding:8px 11px;border:1px solid rgba(213,174,83,.35);border-radius:999px;color:#d9d3c8;background:transparent;cursor:pointer}.diet-filter button.is-active{color:#171207;background:#e3bb67}.custom-dish-group{margin:0 0 13px;border:1px solid rgba(213,174,83,.28);border-radius:16px;background:rgba(255,255,255,.025)}.custom-dish-group summary{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;color:#f0cc7c;font:600 20px Georgia,serif;cursor:pointer}.custom-dish-group summary small{color:#8f999b;font:500 10px system-ui,sans-serif;text-transform:uppercase}.custom-dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 13px 13px}.custom-dish-card{overflow:hidden;border:1px solid rgba(213,174,83,.22);border-radius:13px;background:#13191b}.custom-dish-image{height:150px}.custom-dish-image img{width:100%;height:100%;object-fit:cover}.custom-dish-copy{display:grid;align-content:start;gap:8px;padding:14px}.custom-dish-copy h4,.custom-dish-copy p{margin:0}.custom-dish-copy h4{font:600 19px Georgia,serif}.custom-dish-copy p,.custom-dish-copy small{color:#aeb7b8;font-size:11px;line-height:1.5}.custom-dish-copy .add-product{margin-top:3px}.diet-badges{display:flex;flex-wrap:wrap;gap:5px}.diet-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.diet-badge.gluten-free{color:#403113;background:#f0d991}.diet-badge.vegetarian{color:#123d27;background:#a9dfb8}.diet-badge.vegan{color:#eaffdf;background:#39764c}.allergen-warning{margin:18px 0 0;padding:14px 17px;border-left:3px solid #d5a64d;color:#c7cfcf;background:rgba(255,255,255,.035);font-size:12px;line-height:1.6}.location-map{display:grid;gap:6px}.location-map iframe{width:100%;height:230px;border:1px solid rgba(218,185,110,.4);border-radius:11px;background:#e7e2d7}.delivery-quote{padding:13px 15px;border:1px solid #d9a755;border-radius:10px;color:#ffe7ad;background:rgba(202,151,47,.12);font-weight:750;line-height:1.45}.delivery-quote.is-free{border-color:#62b987;color:#caffdd;background:rgba(69,155,105,.14)}.privacy-consents{display:grid;gap:10px;padding:15px;border:1px solid rgba(218,185,110,.34);border-radius:10px;background:rgba(255,255,255,.025)}.privacy-consents label{display:flex;align-items:flex-start;gap:9px}.privacy-consents input{width:auto;min-height:0;margin-top:3px}.privacy-consents a{color:#efd083}.cookie-notice{position:fixed;z-index:100;right:18px;bottom:18px;display:flex;align-items:center;gap:20px;width:min(560px,calc(100% - 36px));padding:16px 18px;border:1px solid #d3aa53;border-radius:14px;color:#f3ede1;background:#111718;box-shadow:0 20px 55px rgba(0,0,0,.38)}.cookie-notice[hidden]{display:none}.cookie-notice p{margin:4px 0;color:#bfc6c5;font-size:11px}.cookie-notice a{color:#efca77;font-size:10px}.cookie-notice button{flex:0 0 auto;padding:10px 15px;border:0;border-radius:999px;color:#181207;background:#e0b75f;font-weight:800}.recipe-sales-form{display:grid;gap:7px;min-width:220px}.recipe-sales-form input[type=number]{width:100%}.diet-admin{display:flex;flex-wrap:wrap;gap:8px}.diet-admin label{font-size:10px}
@media(max-width:820px){.custom-menu-tools{position:static;align-items:stretch;flex-direction:column}.custom-dish-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.custom-dish-grid{grid-template-columns:1fr}.cookie-notice{align-items:stretch;flex-direction:column;gap:10px}.cookie-notice button{width:100%}}
