


/* ---------- Inter ---------- */
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
font-display: fallback;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
font-display: fallback;
}

@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter/Inter-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
font-display: fallback;
}

/* ---------- Playfair Display ---------- */
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair/PlayfairDisplay-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
font-display: fallback;
}

@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair/PlayfairDisplay-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
font-display: fallback;
}

@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair/PlayfairDisplay-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
font-display: fallback;
}


:root{
  --lp-accent:#c10007;
  --lp-border:#ffc9c9;
  --lp-title:#811719;
  --bs-font-sans-serif: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

h1, h2, h3, h4, h5, .navbar-brand {
  font-family: 'Playfair Display', serif;
}


/* ===== Main navbar ===== */
.nav-main-wrap{
  background: var(--lp-accent);
}

.navbar-brand{
  letter-spacing: .3px;
}

.navbar .nav-link{
  color: rgba(255,255,255,.92);
  padding: .75rem .9rem;
  border-radius: 0 !important;
}

.navbar .nav-link:hover{
  color: #fff;
}

.navbar .nav-link.active{
  background: rgba(255,255,255,.14);
  color: #fff;
}

.navbar-toggler{
  border: none;
}
.navbar-toggler:focus{
  box-shadow: none;
}

.navbar .dropdown-menu {
  background-color: var(--lp-accent);
  color: #fff;
  border-color: rgba(0,0,0,.1);
}

.navbar .dropdown-item {
  color: inherit;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background-color: rgba(0,0,0,.05);
  color: inherit;
}

/* ===== Category navbar (scroll + scrollspy) ===== */
.nav-cats-wrap{
  background: #fff;
}

.nav-cats{
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  align-items: center;
  padding-left: 0;
  margin-bottom: 0;
}

.nav-cats .nav-link{
  border-radius: 0 !important;
  padding: .5rem .75rem;
  color: var(--lp-title);
  border: 1px solid var(--lp-border);
  background: #fff;
}

.nav-cats .nav-link:hover{
  background: #fff5f5;
}

.nav-cats .nav-link.active{
  background: var(--lp-accent);
  border-color: var(--lp-accent);
  color: #fff;
}

/* ===== Category header delimiter ===== */
.cat-head{
  margin-bottom: 1.5rem;
}

.cat-title{
  margin: 0;
  color: var(--lp-title);
  letter-spacing: .2px;
}

.cat-rule{
  height: 1px;
  background: linear-gradient(
    90deg,
    var(--lp-accent),
    rgba(193,0,7,0.15),
    rgba(193,0,7,0)
  );
  margin: .6rem 0 .5rem 0;
}

.cat-sub{
  margin: 0;
  color: #6c757d;
  font-size: .95rem;
}

/* ===== Menu cards ===== */
.text-title{ color: var(--lp-title); }

.menu-card{
  background: #fff;
  border: 1px solid var(--lp-border);
  border-radius: 0 !important;
}

.price{
  font-size: 1.1rem;
  white-space: nowrap;
  color: var(--lp-accent);
}
/* background general pagină */
body{
  background: #f8f8f8;
}
.menu-wrapper{
  background: #ffffff;
  border: 0px solid #eee;
  padding: 1.5rem 0;
}

.footer-main {
  background: var(--lp-accent);
}

.footer-main .nav-link {
  color: rgba(255,255,255,.85);
}

.footer-main .nav-link:hover {
  color: #fff;
  text-decoration: underline;
}

    a.allergy-link { text-decoration: none !important; }
    a.allergy-link:hover {
      text-decoration: underline !important;
      text-decoration-color: currentColor;
      text-underline-offset: .18em;
      text-decoration-thickness: 2px;
    }

html {
  overflow-y: scroll;          /* always reserve scrollbar width */
  scrollbar-gutter: stable;    /* modern browsers */
}

/* ===== Burger menu: icon + text same color, 3 lines guaranteed ===== */
.navbar-toggler{
  display:flex;
  align-items:center;
  gap:.5rem;
  color: rgba(255,255,255,.92);
  border: none;
}

/* force our own non-faded burger icon */
.navbar-dark .navbar-toggler-icon{
  width: 1.5em;
  height: 1.5em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  opacity: 1;
}

/* ===== Empfehlungen – FIXED image size (restaurant standard) ===== */

.emp-card{
  overflow: hidden;
}

/* container FIX, aceeași dimensiune pentru toate imaginile */
.emp-img-top{
  width: 280px;
  height: 280px;
  margin: 0 auto .5rem auto;   /* centrat + mic spațiu sub imagine */
  padding: .5rem;
  box-sizing: border-box;
}

/* imaginea încape complet, nu taie */
.emp-img{
  width: 100%;
  height: 100%;
  object-fit: contain;        /* 🔑 NU se taie */
  object-position: center;

  border: 1px solid var(--lp-border);
  background: #fff;
  display: block;
}

/* puțin mai mare pe desktop mare (opțional) */
@media (min-width: 1200px){
  .emp-img-top{
    width: 400px;
    height: 400px;
  }
}

/* ===== Home: red accent boxes (square) ===== */
.lp-card{
  background:#fff;
  border: 1px solid var(--lp-border);
  border-radius: 0 !important;     /* pătrat, ca la menu-card */
  overflow: hidden;

}

.lp-card-body{
  padding: 1rem;
}


@media (min-width: 992px){
  .lp-card-body{ padding: 1.25rem; }
}


/* ===============================
   Announcements – match site system
   =============================== */

.ann-box{
  background:#fff;
  border: 1px solid var(--lp-border);
  border-radius: 0 !important;   /* pătrat, ca menu-card / lp-card */
  overflow: hidden;
}

.ann-box .ann-media{
  width: 100%;
  max-height: 320px;
  object-fit: contain;
  display: block;
}

.announcement-body{
  color: #212529;
  font-size: .95rem;     /* similar vibe cu cat-sub */
  line-height: 1.55;
}

.photo-move-select {
  max-width: 220px;
  width: 100%;
  min-width: 0;
}
