/* ─────────────────────────────────────────────────────────────────────────
   Gastronomia Gilardengo — modern compatibility stylesheet
   Applica il design system della landing page al vecchio sito PHP (Bootstrap 5)
   ───────────────────────────────────────────────────────────────────────── */

/* 1. IMPORTAZIONE DEI FONT DELLA LANDING */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&family=Allura&display=swap');

:root {
  --cream: #F1EBDD;
  --olive: #3D4A2A;
  --terracotta: #B85A3E;
  --amber: #D89B5A;
  --espresso: #2A2218;
  --nocciola: #b7a58f;
  --cream-2: #E8DFC8;
  --paper: #FAF5E7;

  --font-display: "DM Serif Display", serif;
  --font-script: "Allura", cursive;
  --font-body: "Manrope", system-ui, sans-serif;

  --rad: 14px;
  --rad-lg: 22px;
}

/* 2. TIPOGRAFIA E SFONDO GLOBALE */
body.main-layout {
  font-family: var(--font-body) !important;
  background-color: var(--cream) !important;
  color: var(--espresso) !important;
}

/* 3. TITOLI IN STILE OSTERIA VINTAGE */
h2, h3, h4, .title h2, .title h3 {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  color: var(--espresso) !important;
  letter-spacing: -0.01em !important;
}

/* Sezione titolo preventivo */
.yellow_bg {
  background-color: var(--cream-2) !important;
  background: linear-gradient(90deg, rgba(232, 223, 200, 1) 0%, rgba(241, 235, 221, 1) 50%, rgba(232, 223, 200, 1) 100%);
  padding: clamp(30px, 4vw, 60px) 0 !important;
}

.yellow_bg h2 {
  font-size: clamp(32px, 4vw, 54px) !important;
  color: var(--espresso) !important;
  text-align: center;
}

/* 4. RESTYLING DELLA TABELLA DEL PREVENTIVO */
.table {
  background-color: var(--paper) !important;
  border: 1px solid rgba(42, 34, 24, 0.08) !important;
  border-radius: var(--rad) !important;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(42, 34, 24, 0.04) !important;
}

/* Intestazioni tabella (Header) */
.table thead {
  background-color: var(--olive) !important;
}

.table thead th {
  color: var(--cream) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  border: none !important;
  padding: 16px 18px !important;
}

/* Titolo della sottocategoria (es. Buffet Rustico) */
.subcategory-section table thead span {
  color: var(--cream) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(18px, 2vw, 24px) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 400 !important;
}

/* Righe e celle */
.table tbody tr {
  background-color: transparent !important;
  border-bottom: 1px solid rgba(42, 34, 24, 0.06) !important;
  transition: background-color 0.2s ease;
}

.table tbody tr:hover {
  background-color: rgba(216, 155, 90, 0.04) !important;
}

.table td {
  padding: 16px 18px !important;
  border: none !important;
  color: var(--espresso) !important;
  vertical-align: middle !important;
}

/* Immagini dei piatti */
.menu-img-background {
  border: 3px solid #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 15px rgba(42, 34, 24, 0.08) !important;
  transition: border-color 0.25s ease, transform 0.25s ease !important;
}

.menu-img-background:hover {
  border-color: var(--amber) !important;
  transform: scale(1.04) rotate(1deg);
}

/* Testi del piatto */
.menu-text h4 {
  font-family: var(--font-display) !important;
  color: var(--espresso) !important;
  font-size: clamp(16px, 1.8vw, 20px) !important;
  margin-bottom: 4px !important;
}

.dish-description {
  font-size: 13.5px !important;
  color: rgba(42, 34, 24, 0.7) !important;
  line-height: 1.5 !important;
  margin-bottom: 4px !important;
}

.text-muted {
  color: rgba(42, 34, 24, 0.5) !important;
}

/* Prezzi e Subtotali */
.menu-text h4 strong {
  font-family: var(--font-body) !important;
  color: var(--terracotta) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
}

.unit-measure {
  font-size: 11px !important;
  color: rgba(42, 34, 24, 0.55) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.subtotal small {
  color: var(--olive) !important;
  font-weight: 700 !important;
}

.text-primary {
  color: var(--terracotta) !important; /* Limite minimo di quantità */
}

/* 5. INPUT QUANTITÀ CON FOCUS ARMONIZZATO */
.qta-input {
  border: 1px solid rgba(42, 34, 24, 0.15) !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  color: var(--espresso) !important;
  padding: 4px 2px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.qta-input:focus {
  border-color: var(--amber) !important;
  box-shadow: 0 0 0 3px rgba(216, 155, 90, 0.2) !important;
  outline: none !important;
}

/* 6. BARRA STICKY IN BASSO (STILE LANDING DARK SECTION) */
.sticky-bottom {
  background-color: var(--espresso) !important;
  color: var(--cream) !important;
  border-top: 1px solid rgba(241, 235, 221, 0.12) !important;
  padding: 20px 30px !important;
  border-radius: var(--rad-lg) var(--rad-lg) 0 0 !important;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.2) !important;
}

.sticky-bottom h4 {
  color: var(--cream) !important;
  font-family: var(--font-display) !important;
  font-size: 22px !important;
}

.sticky-bottom h4 span {
  color: var(--amber) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
}

.sticky-bottom small {
  color: rgba(241, 235, 221, 0.65) !important;
}

/* Bottone Azzera */
.btn-warning {
  background-color: transparent !important;
  border: 1px solid rgba(241, 235, 221, 0.3) !important;
  color: var(--cream) !important;
  border-radius: 999px !important;
  padding: 10px 24px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: background-color 0.2s, border-color 0.2s !important;
}

.btn-warning:hover {
  background-color: rgba(241, 235, 221, 0.08) !important;
  border-color: var(--cream) !important;
}

/* Bottone Invia */
.btn-success {
  background-color: var(--amber) !important;
  border: none !important;
  color: var(--espresso) !important;
  border-radius: 999px !important;
  padding: 12px 32px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 4px 15px rgba(216, 155, 90, 0.2) !important;
  transition: background-color 0.2s, transform 0.2s !important;
}

.btn-success:hover:not(:disabled) {
  background-color: #e3a866 !important;
  transform: translateY(-2px) !important;
}

.btn-success:disabled {
  background-color: rgba(241, 235, 221, 0.1) !important;
  color: rgba(241, 235, 221, 0.3) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Rimozione ombre e bordi Bootstrap sulle Card */
.card {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
