/* ==========================================================
   Delizie di Carne — tema Dark neutro (antracite + accenti rosso/oro)
   ========================================================== */

:root{
  --bg-dark: #101114;
  --bg-panel: #17181c;
  --bg-card: #1d1f24;
  --accent-red: #e14b3a;
  --accent-red-hover: #ff6a56;
  --accent-gold: #e0b869;
  --text-light: #ffffff;
  --text-body: #e7e8ea;
  --text-muted: #a9adb5;
  --border-soft: rgba(255,255,255,0.08);
}

*{ box-sizing: border-box; }

body{
  background-color: var(--bg-dark);
  color: var(--text-body);
  font-family: 'Inter', sans-serif;
}

h1, h2, h3, .brand-font{
  font-family: 'Playfair Display', serif;
  color: var(--text-light);
}

a{
  color: var(--accent-gold);
}
a:hover{
  color: var(--accent-red-hover);
}

/* ---------- Navbar ---------- */
.main-navbar{
  background-color: var(--bg-panel);
  border-bottom: 1px solid var(--border-soft);
}
.main-navbar .navbar-brand{
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  color: var(--accent-gold) !important;
  font-size: 1.4rem;
}
.main-navbar .nav-link{
  color: var(--text-light) !important;
}
.main-navbar .nav-link:hover{
  color: var(--accent-gold) !important;
}
.main-navbar .nav-link.nav-pill{
  background-color: var(--bg-card);
  border-radius: 50px;
  padding: .45rem 1.1rem;
  margin: 0 .2rem;
  transition: background-color .15s ease;
}
.main-navbar .nav-link.nav-pill:hover{
  background-color: var(--accent-red);
  color: #fff !important;
}
.main-navbar .btn-outline-light,
.main-navbar .btn-brand{
  border-radius: 50px;
}

/* ---------- Hero ---------- */
.hero-section{
  background: linear-gradient(180deg, rgba(0,0,0,0.4), rgba(0,0,0,0.6)), var(--bg-dark);
  padding: 3rem 0 2rem;
  text-align: center;
  border-bottom: 1px solid var(--border-soft);
}
.hero-section h1{
  color: var(--accent-gold);
  font-size: 2.4rem;
}
.hero-section p{
  color: var(--text-muted);
}

/* ---------- Card generiche ---------- */
.post-card{
  background-color: var(--bg-card);
  border: 1px solid var(--border-soft);
  border-radius: 10px;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
  height: 100%;
}
.post-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.5);
  border-color: var(--accent-red);
}
.post-card img.cover{
  width: 100%;
  height: 190px;
  object-fit: cover;
  object-position: center 35%;
  background-color: #2a2c31;
}
.post-card .card-body{
  padding: 1rem;
}

.post-card .card-title,
.post-card .card-title a{
  color: var(--text-light) !important;
  text-decoration: none !important;
  font-family: 'Playfair Display', serif;
  font-weight: 600;
}
.post-card .card-title a:hover{
  color: var(--accent-gold) !important;
}
.post-card .card-body p,
.post-card .card-body .small{
  color: var(--text-muted) !important;
}

.post-card .badge-tipo{
  background-color: var(--accent-red);
  color: #fff;
}

/* ---------- Colonna centrale: preparati ---------- */
.col-centrale h2{
  color: var(--text-light);
}
.col-centrale .post-card{
  border-color: rgba(225,75,58,0.4);
}
.col-centrale .post-card img.cover{
  height: 230px;
}

/* ---------- Colonna sinistra: ricette ---------- */
.ricetta-mini{
  display: flex;
  gap: .75rem;
  padding: .6rem;
  border-bottom: 1px solid var(--border-soft);
}
.ricetta-mini img{
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  background-color: #2a2c31;
}
.ricetta-mini a{
  color: var(--text-light) !important;
  text-decoration: none !important;
  font-weight: 600;
}
.ricetta-mini a:hover{
  color: var(--accent-gold) !important;
}
.ricetta-mini .small.text-muted{
  color: var(--text-muted) !important;
}

/* ---------- Colonna destra: in evidenza ---------- */
.evidenza-item{
  display: flex;
  gap: .6rem;
  align-items: center;
  padding: .5rem 0;
  border-bottom: 1px dashed var(--border-soft);
}
.evidenza-item .num{
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem;
  color: var(--accent-gold);
  width: 28px;
  flex-shrink: 0;
}
.evidenza-item img{
  width: 50px;
  height: 50px;
  object-fit: cover;
  border-radius: 6px;
  background-color: #2a2c31;
}
.evidenza-item a{
  color: var(--text-light) !important;
  text-decoration: none !important;
  font-size: .92rem;
}
.evidenza-item a:hover{
  color: var(--accent-gold) !important;
}

/* ---------- Sidebar box ---------- */
.sidebar-box{
  background-color: var(--bg-panel);
  border: 1px solid var(--border-soft);
  border-radius: 10px;
  padding: 1rem;
  margin-bottom: 1.5rem;
}
.sidebar-box h5{
  color: var(--accent-gold);
  font-family: 'Playfair Display', serif;
  border-bottom: 1px solid var(--border-soft);
  padding-bottom: .5rem;
  margin-bottom: .75rem;
}
.sidebar-box p.text-muted{
  color: var(--text-muted) !important;
}

/* ---------- Form (login/registrazione) ---------- */
.auth-box{
  max-width: 440px;
  margin: 3rem auto;
  background-color: var(--bg-panel);
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  padding: 2rem;
}
.auth-box h2{
  color: var(--accent-gold);
  text-align: center;
  margin-bottom: 1.5rem;
}
.form-control, .form-select{
  background-color: var(--bg-card);
  border: 1px solid var(--border-soft);
  color: var(--text-light);
}
.form-control:focus, .form-select:focus{
  background-color: var(--bg-card);
  color: var(--text-light);
  border-color: var(--accent-gold);
  box-shadow: 0 0 0 .2rem rgba(224,184,105,0.2);
}
.form-control::placeholder{
  color: var(--text-muted);
}
label{
  color: var(--text-muted);
}
.btn-brand{
  background-color: var(--accent-red);
  border-color: var(--accent-red);
  color: #fff;
}
.btn-brand:hover{
  background-color: var(--accent-red-hover);
  border-color: var(--accent-red-hover);
  color: #fff;
}

.auth-mini-footer p:first-child{
  color: var(--accent-gold) !important;
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
}
.auth-mini-footer p.text-muted{
  color: var(--text-muted) !important;
}

/* ---------- Pulsanti outline ---------- */
.btn-outline-light{
  color: var(--text-light);
  border-color: var(--border-soft);
}
.btn-outline-light:hover{
  background-color: var(--accent-red);
  border-color: var(--accent-red);
  color: #fff;
}

/* ---------- BBCode render helpers ---------- */
.bb-size-1{font-size:.75rem;} .bb-size-2{font-size:.85rem;} .bb-size-3{font-size:1rem;}
.bb-size-4{font-size:1.2rem;} .bb-size-5{font-size:1.5rem;} .bb-size-6{font-size:1.9rem;} .bb-size-7{font-size:2.4rem;}
.ricetta-titolo{color: var(--accent-gold);}
.ricetta-sottotitolo{color: var(--accent-red-hover);}

/* ---------- Footer ---------- */
.site-footer{
  background-color: var(--bg-panel);
  border-top: 1px solid var(--border-soft);
}
.site-footer p{
  color: var(--text-muted) !important;
}
.site-footer p:first-child{
  color: var(--text-light) !important;
  font-family: 'Playfair Display', serif;
}

/* ---------- Contenuto bloccato (non loggato) ---------- */
.contenuto-bloccato{
  position: relative;
  max-height: 160px;
  overflow: hidden;
}
.contenuto-bloccato::after{
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 120px;
  background: linear-gradient(180deg, transparent, var(--bg-dark));
}
.cta-registrazione{
  text-align: center;
  padding: 2rem;
  background-color: var(--bg-panel);
  border: 1px solid var(--accent-red);
  border-radius: 10px;
}

/* ---------- Toolbar BBCode (admin) ---------- */
.bb-toolbar .btn{
  border-radius: 6px;
}
.bb-toolbar .btn:hover{
  background-color: var(--accent-red);
  border-color: var(--accent-red);
  color: #fff;
}

/* ---------- View singolo post ---------- */
.view-cover{
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 12px;
  background-color: #2a2c31;
}
.view-content{
  font-size: 1.05rem;
  line-height: 1.7;
}
.galleria-thumb{
  width: 100%;
  height: 130px;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid var(--border-soft);
  transition: transform .15s ease, border-color .15s ease;
}
.galleria-thumb:hover{
  transform: scale(1.03);
  border-color: var(--accent-gold);
}

@media (max-width: 767px){
  .hero-section h1{ font-size: 1.8rem; }
}
