/* ==========================================================================
   Τυροκομείο Άλφα — Bootstrap UI (εργασία σχεδιασμού)
   Στόχος: μίνιμαλ αισθητική τύπου "λευκό header + full width slideshow"
   ========================================================================== */

:root{
  --bg: #f7f4ee;
  --ink: #1f1f1f;
  --muted: #6b6b6b;
  --line: rgba(0,0,0,.12);

  --btn: #1f1f1f;
  --btn-hover: #000;

  --card: rgba(255,255,255,.86);
}

html, body{ height: 100%; }

body{
  background: var(--bg);
  color: var(--ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Top bar */
.topbar{ background: #fff; }
.brand-logo{ width: 46px; height: 46px; display:block; }
.brand-name{ font-weight: 800; letter-spacing: .4px; color: var(--ink); }
.brand-tagline{ font-size: .82rem; color: var(--muted); }

/* Navbar */
.navbar-clean{ background: #fff; }
.navbar-clean .nav-link{
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: .08em;
  font-size: .86rem;
  color: var(--ink);
}
.navbar-clean .nav-link:hover,
.navbar-clean .nav-link:focus{
  text-decoration: underline;
  text-underline-offset: .35em;
}
.navbar-clean .dropdown-menu{
  border-radius: 14px;
  border-color: rgba(0,0,0,.10);
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}

/* Buttons */
.btn-dark{
  background: var(--btn);
  border-color: var(--btn);
}
.btn-dark:hover{ background: var(--btn-hover); border-color: var(--btn-hover); }

.btn-outline-dark{ border-color: rgba(0,0,0,.55); }

/* Carousel / slideshow (Α.5) */
.hero-carousel .carousel-item{
  height: 520px;
  background: #000;
}
.hero-carousel img{
  width: 100%;
  height: 520px;
  object-fit: cover;
  filter: grayscale(70%) contrast(90%) brightness(85%);
}
.hero-carousel .carousel-caption{
  left: 8%;
  right: 8%;
  bottom: 18%;
  text-align: center;
}
.hero-carousel .caption-box{
  display: inline-block;
  padding: 1rem 1.25rem;
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  backdrop-filter: blur(6px);
}
.hero-carousel h1{
  font-weight: 600;
  letter-spacing: .03em;
}
.hero-carousel .lead{
  max-width: 62ch;
  margin-inline: auto;
  color: rgba(0,0,0,.70);
}
.hero-carousel .btn{
  border-radius: 0;
  padding-inline: 1.2rem;
  letter-spacing: .06em;
}

/* Story section (Α.3 + πληροφορία) */
.section{
  padding: 4rem 0;
  background: #fff;
}
.section-title{
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: none;
}
.section-subline{
  width: 92px;
  height: 2px;
  background: rgba(0,0,0,.12);
  margin: 1rem 0 1.25rem;
}
.section p{ color: rgba(0,0,0,.68); }

/* Gallery strip (Α.4) */
.gallery-strip .tile{
  position: relative;
  height: 220px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
}
.gallery-strip img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.gallery-strip .tile:hover img{ transform: scale(1.06); }
.gallery-strip .overlay{
  position:absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.58), rgba(0,0,0,0) 60%);
}
.gallery-strip .label{
  position:absolute;
  left: 16px;
  bottom: 16px;
  color: #fff;
  font-weight: 600;
  letter-spacing: .04em;
}

/* Calendar (Α.6) */
.calendar-card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  box-shadow: 0 14px 40px rgba(0,0,0,.08);
}
.calendar-table th, .calendar-table td{
  text-align: center;
  padding: .75rem .25rem;
  border: 1px solid rgba(0,0,0,.07);
}
.calendar-table th{ background: rgba(0,0,0,.03); font-weight: 700; }
.calendar-table td.muted{ color: rgba(0,0,0,.35); }
.calendar-table td.active-day{
  background: rgba(0,0,0,.06);
  font-weight: 700;
}
.legend-dot{
  display:inline-block;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  margin-right: 6px;
  background: rgba(0,0,0,.25);
}
.legend-dot.open{ background: rgba(0,0,0,.75); }
.legend-dot.limited{ background: rgba(0,0,0,.45); }

/* Forms (Β) */
.page-hero{
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: 2.25rem 0;
}
.breadcrumb{
  --bs-breadcrumb-divider: "›";
}
.table thead th{
  background: rgba(0,0,0,.03);
}
.badge-status{
  border-radius: 0;
  font-weight: 600;
}

/* Footer */
.site-footer{
  background: rgba(255,255,255,.78);
}
.footer-title{
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .8rem;
  margin-bottom: .75rem;
}
.footer-links li{ margin-bottom: .35rem; }
.footer-links a{
  color: rgba(0,0,0,.72);
  text-decoration: none;
}
.footer-links a:hover{ text-decoration: underline; text-underline-offset: .25em; }
.social{
  color: rgba(0,0,0,.72);
  font-size: 1.25rem;
}
.social:hover{ color: #000; }
