/* MyFoods Premium Polish */

:root {
  --mf-premium-ivory: #FFFCF6;
  --mf-premium-bg: #F7F2EA;
  --mf-premium-surface: #FFFFFF;
  --mf-premium-sage: #EAF1E8;
  --mf-premium-green: #2F7D46;
  --mf-premium-green-dark: #123D34;
  --mf-premium-slate: #27415A;
  --mf-premium-copper: #D3542A;
  --mf-premium-border: rgba(191, 175, 159, .62);
  --mf-premium-border-soft: rgba(231, 221, 210, .86);
  --mf-premium-shadow: 0 18px 46px rgba(39, 65, 90, .08);
  --mf-premium-shadow-soft: 0 10px 28px rgba(39, 65, 90, .06);
}

body {
  background:
    radial-gradient(circle at 88% 4%, rgba(47, 125, 70, .08), transparent 28%),
    linear-gradient(180deg, #FFFCF6 0%, var(--mf-premium-bg) 34%, #F9F4EC 100%) !important;
}

body *,
button,
input,
select,
textarea {
  font-family: var(--mf-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif) !important;
}

h1,
h2,
h3,
.hero-title,
.page-title,
.topbar-title {
  font-family: var(--mf-font, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif) !important;
  letter-spacing: -.026em !important;
}

/* Public pages */
.hero-card,
.content-card,
.about-card,
.legal-card,
.info-card,
.contact-grid > article,
.faq-list details,
.meta-grid > *,
.trust-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 252, 246, .88)) !important;
  border: 1px solid var(--mf-premium-border-soft) !important;
  border-radius: 26px !important;
  box-shadow: var(--mf-premium-shadow-soft) !important;
}

.hero-card,
.content-card,
.about-card,
.legal-card,
.info-card {
  padding: clamp(24px, 3vw, 42px) !important;
}

.hero-card h1,
.content-card h1,
.content-card h2,
.about-card h2,
.legal-card h2,
.info-card h2,
.contact-grid h2,
.faq-list summary {
  color: var(--mf-premium-slate) !important;
  font-weight: 650 !important;
}

.hero-card p,
.content-card p,
.about-card p,
.legal-card p,
.info-card p,
.contact-grid p,
.faq-list p {
  color: #4F5D57 !important;
  line-height: 1.68 !important;
}

.hero-card::before,
.content-card::before,
.about-card::before,
.legal-card::before,
.info-card::before {
  background: linear-gradient(90deg, rgba(47, 125, 70, .42), rgba(211, 84, 42, .22)) !important;
  border-radius: 999px !important;
  content: "" !important;
  display: block !important;
  height: 3px !important;
  margin-bottom: 18px !important;
  width: 74px !important;
}

body:not(:has(.mf-home-hero)) .mf-home-picture,
.page-hero .mf-home-picture,
.public-hero .mf-home-picture,
.about-hero .mf-home-picture,
.legal-hero .mf-home-picture,
.content-hero .mf-home-picture {
  display: none !important;
  visibility: hidden !important;
}

/* Restaurant cards */
.restaurant-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,252,246,.92)) !important;
  border: 1px solid var(--mf-premium-border-soft) !important;
  border-radius: 28px !important;
  box-shadow: var(--mf-premium-shadow-soft) !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.restaurant-card:hover {
  border-color: rgba(47, 125, 70, .28) !important;
  box-shadow: 0 24px 58px rgba(39, 65, 90, .12) !important;
  transform: translateY(-3px) !important;
}

.restaurant-card[data-mf-card-theme="cafe"] {
  --mf-card-image: url("/assets/cards/restaurant-cafe.svg");
}

.restaurant-card[data-mf-card-theme="fine-dining"] {
  --mf-card-image: url("/assets/cards/restaurant-fine-dining.svg");
}

.restaurant-card[data-mf-card-theme="takeaway"] {
  --mf-card-image: url("/assets/cards/restaurant-takeaway.svg");
}

.restaurant-card[data-mf-card-theme="catering"] {
  --mf-card-image: url("/assets/cards/restaurant-catering.svg");
}

.restaurant-card[data-mf-card-theme="default"] {
  --mf-card-image: url("/assets/cards/restaurant-default.svg");
}

.restaurant-img {
  background:
    linear-gradient(180deg, rgba(18, 61, 52, .03), rgba(18, 61, 52, .01)),
    var(--mf-card-image, url("/assets/cards/restaurant-default.svg")) center / cover no-repeat !important;
  min-height: 172px !important;
  position: relative !important;
}

.restaurant-img::after {
  background: linear-gradient(180deg, transparent 44%, rgba(18, 61, 52, .08)) !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

.restaurant-img-initial {
  display: none !important;
  visibility: hidden !important;
}

.restaurant-info {
  padding: 20px !important;
}

.restaurant-info h3 {
  color: var(--mf-premium-slate) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
}

.restaurant-cuisine,
.restaurant-meta,
.restaurant-meta span {
  color: #50645B !important;
}

/* Business and admin portals */
.sidebar {
  background:
    linear-gradient(180deg, rgba(255, 252, 246, .98), rgba(242, 232, 220, .9)) !important;
  border-right: 1px solid var(--mf-premium-border-soft) !important;
  box-shadow: 12px 0 34px rgba(39, 65, 90, .06) !important;
}

.sidebar-logo {
  border-bottom: 1px solid var(--mf-premium-border-soft) !important;
}

.sidebar-nav a,
.sidebar-nav button,
.nav-item {
  border-radius: 14px !important;
  color: #40524A !important;
}

.sidebar-nav a.active,
.sidebar-nav button.active,
.nav-item.active,
.nav-link.active {
  background: rgba(47, 125, 70, .1) !important;
  color: var(--mf-premium-green-dark) !important;
}

.topbar,
.admin-topbar,
.business-topbar,
.portal-topbar,
.dashboard-topbar {
  background: rgba(255, 252, 246, .94) !important;
  border-bottom: 1px solid var(--mf-premium-border-soft) !important;
  box-shadow: 0 10px 30px rgba(39, 65, 90, .05) !important;
}

.topbar-title,
.admin-main header h1,
.business-main header h1,
.portal-main header h1 {
  color: var(--mf-premium-slate) !important;
  font-weight: 680 !important;
}

.card,
.kpi-card,
.metric-card,
.order-card,
.menu-mobile-card,
.mf-menu-item-card,
.business-empty-state,
.admin-mobile-card,
.cms-block-card,
.media-card,
.settings-card {
  background: linear-gradient(180deg, #FFFFFF, #FFFCF6) !important;
  border: 1px solid var(--mf-premium-border-soft) !important;
  border-radius: 22px !important;
  box-shadow: var(--mf-premium-shadow-soft) !important;
}

.card-header,
.admin-section-head,
.section-header {
  border-bottom: 1px solid var(--mf-premium-border-soft) !important;
}

.table-wrap,
.table-container {
  background: #FFFFFF !important;
  border: 1px solid var(--mf-premium-border-soft) !important;
  border-radius: 20px !important;
  box-shadow: var(--mf-premium-shadow-soft) !important;
  overflow: auto !important;
}

table th {
  background: #F7F2EA !important;
  color: var(--mf-premium-slate) !important;
  font-weight: 700 !important;
}

table td {
  border-color: rgba(231, 221, 210, .74) !important;
  color: #2D3733 !important;
}

input,
select,
textarea,
.form-input,
.form-select,
.form-control {
  background: #FFFFFF !important;
  border: 1px solid rgba(191, 175, 159, .78) !important;
  border-radius: 13px !important;
  color: #1F2328 !important;
  opacity: 1 !important;
}

button,
.btn,
.primary-btn,
.btn-primary {
  border-radius: 999px !important;
  font-weight: 700 !important;
}

.btn-primary,
.primary-btn,
button[type="submit"] {
  background: linear-gradient(135deg, #2F7D46, #123D34) !important;
  border-color: transparent !important;
  color: #FFFFFF !important;
  box-shadow: 0 12px 28px rgba(18, 61, 52, .18) !important;
}

.admin-main header,
.admin-topbar,
.admin-header,
.topbar-actions {
  align-items: center !important;
  gap: 16px !important;
}

/* Lighter footer */
.footer,
.site-footer,
footer {
  background:
    linear-gradient(180deg, rgba(255, 252, 246, .98), rgba(247, 242, 234, .98)) !important;
  border-top: 1px solid var(--mf-premium-border-soft) !important;
  color: var(--mf-premium-slate) !important;
  margin-top: clamp(28px, 4vw, 52px) !important;
}

.footer-inner,
.site-footer-inner {
  gap: 20px !important;
  padding: 28px clamp(18px, 4vw, 42px) !important;
}

.footer a,
.site-footer a,
footer a {
  color: var(--mf-premium-green-dark) !important;
}

.footer-brand-logo,
.site-footer .brand,
.site-footer .logo,
footer .brand,
footer .logo {
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(231, 221, 210, .72) !important;
  box-shadow: 0 8px 24px rgba(39, 65, 90, .06) !important;
}

.footer-note,
.footer-bottom,
.site-footer-bottom {
  color: #5E6A64 !important;
  font-size: 0 !important;
}

.footer-note::before,
.footer-bottom::before,
.site-footer-bottom::before {
  color: #5E6A64 !important;
  content: "\00A9 MyFoods.ch" !important;
  font-size: 14px !important;
}

.footer-note *,
.footer-bottom *,
.site-footer-bottom * {
  display: none !important;
}

/* Keep removed UI out */
.theme-toggle,
.dark-toggle,
.mode-toggle,
button[aria-label*="Theme"],
button[aria-label*="theme"],
button[aria-label*="Dunkel"],
button[aria-label*="Hell"],
button[title*="Theme"],
button[title*="Dunkel"],
button[title*="Hell"] {
  display: none !important;
  visibility: hidden !important;
}

@media (max-width: 760px) {
  .hero-card,
  .content-card,
  .about-card,
  .legal-card,
  .info-card,
  .contact-grid > article {
    border-radius: 20px !important;
    padding: 22px !important;
  }

  .restaurant-img {
    min-height: 142px !important;
  }

  .footer-inner,
  .site-footer-inner {
    padding: 22px 16px !important;
  }

  .sidebar,
  .topbar,
  .admin-topbar,
  .business-topbar {
    box-shadow: none !important;
  }
}
