/* KoktelMajstor — cocktail design system, loaded after original page styles */
:root {
  --bs-primary: #087d74;
  --bs-primary-rgb: 8,125,116;
  --bs-link-color: #087d74;
  --bs-link-hover-color: #075f58;
  --km-navy: #102b29;
  --km-deep: #0a201e;
  --km-forest: #123c37;
  --km-teal: #087d74;
  --km-mint: #dff5ed;
  --km-gold: #f5bd78;
  --km-paper: #f6faf8;
  --km-ink: #162e2b;
  --km-muted: #627a75;
}
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Poppins', sans-serif; color: var(--km-ink); background: var(--km-paper); }
a { transition: color .2s ease; }
::selection { background: #ade4d7; color: #102b29; }
:focus-visible { outline: 3px solid #f5bd78; outline-offset: 3px; }
.btn-primary, .bg-primary { background-color: var(--km-teal) !important; border-color: var(--km-teal) !important; }
.btn-primary:hover { background-color: #06675f !important; border-color: #06675f !important; }
.text-primary { color: var(--km-teal) !important; }
.bg-primary-subtle { background-color: var(--km-mint) !important; }
.text-primary-emphasis { color: var(--km-forest) !important; }
.form-control:focus, .form-select:focus { border-color: #51a99d; box-shadow: 0 0 0 .2rem rgba(8,125,116,.13); }
/* Dark premium navigation, including mobile collapsed menu */
.main-navbar { background: rgba(11,37,34,.98); border-bottom: 1px solid rgba(255,255,255,.10); box-shadow: 0 8px 32px rgba(5,24,22,.16); }
.navbar-inner { min-height: 72px; }
.navbar-brand-custom, .navbar-brand-custom:hover { color: white; }
.brand-text { color: #fff; font-weight: 800; letter-spacing: -.04em; }
.brand-text span { color: var(--km-gold); }
.brand-icon { background: rgba(245,189,120,.13); box-shadow: inset 0 0 0 1px rgba(245,189,120,.22); }
.nav-link-custom { color: #d4e8e3; }
.nav-link-custom:hover { background: rgba(255,255,255,.09); color: #fff; }
.nav-link-custom.active, .nav-link-custom.active:hover { background: var(--km-gold); color: var(--km-deep); box-shadow: none; }
.navbar-toggle { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.07); }
.navbar-toggle:hover { background: rgba(255,255,255,.14); border-color: var(--km-gold); }
.navbar-toggle span { background: #fff; }
/* Homepage: atmospheric, without relying on a hero image */
.home-hero { min-height: 490px; padding: 7rem 0 6.5rem; background: radial-gradient(circle at 84% 20%,rgba(245,189,120,.18),transparent 32%), radial-gradient(circle at 8% 92%,rgba(35,179,153,.20),transparent 42%), linear-gradient(122deg,#0b2523 0%,#145047 60%,#0a302d 100%); }
.home-hero::before { width: 390px; height: 390px; top: -210px; right: -95px; background: rgba(245,189,120,.075); border: 1px solid rgba(245,189,120,.12); }
.hero-eyebrow { color: #b6e4d7; }
.hero-title { color: #fff; font-size: clamp(2.5rem, 6vw, 4.7rem); }
.hero-title span { color: var(--km-gold); }
.hero-subtitle { color: #c9e1dc; }
.hero-search { background: #fff; border-color: rgba(255,255,255,.4); box-shadow: 0 20px 55px rgba(4,23,21,.24); }
.hero-search button { background: var(--km-teal); }
.hero-search button:hover { background: #06675f; }
.hero-tags a { color: #d4ebe6; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
.hero-tags-label { color: #c0d8d2; }
.hero-tags a:hover { color: #102b29; background: var(--km-gold); }
/* Cocktail cards: intentionally compact */
.recipes-section, .recipes-page-section, .recipe-content-section, .recipe-bottom-cta { background: var(--km-paper); }
.recipes-section { padding: 4.5rem 0; }
.section-eyebrow, .content-eyebrow { color: var(--km-teal); }
.section-heading h2, .recipes-page-header h1 { color: var(--km-ink) !important; }
.section-description { color: var(--km-muted); }
.view-all { color: var(--km-teal); }
.view-all:hover { color: #075c55; }
.recipe-card { --recipe-accent: #087d74; --recipe-text: #162e2b; --recipe-muted: #627a75; --recipe-border: #e1ece7; border: 1px solid #e1ece7 !important; border-radius: 15px !important; background: #fff; box-shadow: 0 5px 18px rgba(11,51,43,.055) !important; }
.recipe-card-link:hover .recipe-card { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(11,51,43,.13) !important; }
.recipe-card.recipe-card-compact .recipe-image-wrapper { height: 170px !important; aspect-ratio: auto; background: #e1ede8; }
.recipe-card.recipe-card-compact .recipe-content { padding: 14px; min-height: 0; gap: 7px; }
.recipe-card.recipe-card-compact .recipe-title { font-size: 1rem; line-height: 1.35; }
.recipe-card.recipe-card-compact .recipe-description { color: #647a73; font-size: .79rem; line-height: 1.5; -webkit-line-clamp: 2; }
.recipe-card.recipe-card-compact .recipe-quick-info { font-size: .71rem; gap: 6px 11px; padding-top: 9px; border-color: #e7f0eb; }
.recipe-card .recipe-category { background: rgba(9,44,39,.94); color: white; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.14); }
.recipe-image { object-fit: cover; }
/* Search and filters */
.recipes-page-header .text-muted { color: var(--km-muted) !important; }
.recipes-page-section .card, .recipes-page-section main > .bg-white { border: 1px solid #e5efeb !important; }
.recipes-search-form .form-control, .recipes-search-form .form-select, .recipes-search-form .input-group-text { background: #f8fbf9 !important; border-color: #dce9e3; }
.recipes-pagination .page-link { color: var(--km-teal); border-color: #d9e8e2; }
.recipes-pagination .active .page-link { background: var(--km-teal); border-color: var(--km-teal); color: white; }
.recipes-pagination .page-link:hover { background: var(--km-mint); }
/* Single cocktail page */
.recipe-detail-hero { min-height: 490px; background: var(--km-deep); }
.recipe-detail-hero-overlay { background: linear-gradient(90deg,rgba(7,28,25,.90) 0%,rgba(10,38,34,.70) 50%,rgba(11,40,37,.40) 100%),linear-gradient(0deg,rgba(7,28,25,.65),transparent 65%); }
.recipe-detail-hero-content { padding: 6rem 0 3.6rem; }
.recipe-detail-title { font-size: clamp(2.25rem,5vw,4.3rem); }
.recipe-detail-summary { color: #d9eae4; }
.recipe-stats-section { background: #eff7f3; border-bottom-color: #dcebe5; }
.recipe-stats { grid-template-columns: repeat(3,minmax(0,1fr)); border-color: #dcebe5; box-shadow: 0 8px 28px rgba(8,57,45,.06); }
.recipe-stat { border-right-color: #e0ece7; }
.recipe-stat-icon { background: var(--km-mint); }
.recipe-stat-label { color: #688179; }
.recipe-stat strong { color: var(--km-ink); }
.ingredients-card, .preparation-card { border-color: #e1ece6; box-shadow: 0 8px 30px rgba(8,57,45,.045); }
.ingredients-header h2, .preparation-header h2 { color: var(--km-ink); }
.ingredient-item { border-color: #e7eee9; }
.ingredient-check { color: var(--km-teal); }
.recipe-step-number { background: var(--km-teal); }
.recipe-nutrition-bar { background: #ecf6f1 !important; border-color: #d8e9e1 !important; }
.recipe-cta-card { background: linear-gradient(120deg,#103d37,#17685e); border: 0; color: white; }
.recipe-cta-card h2, .recipe-cta-card p { color: white; }
.recipe-cta-card p { color: #d2e9df; }
.recipe-cta-card .content-eyebrow { color: var(--km-gold); }
.recipe-cta-button { background: var(--km-gold); color: var(--km-deep); }
.recipe-cta-button:hover { background: #f7c890; color: var(--km-deep); }
/* Editorial CTA and footer */
.community-section { background: #fff; padding: 4.5rem 0; }
.community-card { background: radial-gradient(circle at 90% 15%,rgba(245,189,120,.18),transparent 34%),linear-gradient(115deg,#0d2f2b,#17665c); box-shadow: 0 20px 50px rgba(7,41,36,.14); }
.community-content .section-eyebrow, .community-content h2 span { color: var(--km-gold); }
.community-content p { color: #c9e2da; }
.newsletter-form button { background: var(--km-gold); color: var(--km-deep); }
.newsletter-form button:hover { background: #f7cc95; }
.home-empty-state { border-color: #e1ece7; }
footer { background: var(--km-deep); color: #cfe5dc; padding: 1.8rem 0; }
footer p { color: #fff; }
/* Small screens: preserve compact cocktail cards */
@media (max-width: 991.98px) {
  .recipe-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .recipe-stat:nth-child(2) { border-right: 1px solid #e0ece7; }
  .recipe-stat:nth-child(-n + 2) { border-bottom: 0; }
}
@media (max-width: 767.98px) {
  .home-hero { min-height: 0; padding: 4.25rem 0; }
  .recipes-section, .community-section { padding: 3.5rem 0; }
  .recipe-detail-hero { min-height: 390px; }
  .recipe-detail-hero-content { padding: 4rem 0 2.5rem; }
  .recipe-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .recipe-stat { flex-direction: column; text-align: center; gap: .5rem; padding: .85rem .3rem; border-right: 1px solid #e0ece7 !important; }
  .recipe-stat:last-child { border-right: 0 !important; }
  .recipe-stat strong { font-size: .78rem; }
  .recipe-stat-label { font-size: .62rem; }
}
@media (max-width: 575.98px) {
  .recipe-card.recipe-card-compact .recipe-image-wrapper { height: 185px !important; }
  .hero-title { font-size: clamp(2.3rem,10.5vw,3.4rem); }
  .recipe-cta-card { padding: 1.75rem 1.25rem; }
  .community-card { padding: 2rem 1.35rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .recipe-card-link:hover .recipe-card { transform: none; } }
