/*
 * recipe.css — HMRecipes v13 Single Recipe Page
 * Premium Design: Full-bleed hero, slim info bar, borderless cards
 */

/* ──────────────────────────────────────────
   ROOT TOKENS
────────────────────────────────────────── */
:root {
  --coral:       #FF6B6B;
  --coral-dark:  #E85555;
  --amber:       #FF9A3C;
  --mint:        #2EC4B6;
  --bg:          #FFFFFF;
  --bg-soft:     #FAFAFA;
  --bg-muted:    #F5F5F5;
  --txt:         #1A1A2E;
  --txt-2:       #4A4A68;
  --txt-3:       #8888A0;
  --border:      rgba(26,26,46,0.07);
  --font-body:  'Inter', -apple-system, sans-serif;
  --font-head:  'Playfair Display', Georgia, serif;
  --r-sm:  10px;
  --r-md:  16px;
  --r-lg:  24px;
  --r-full:9999px;
  --shadow-coral: 0 8px 24px rgba(255,107,107,0.25);
}

[data-theme="dark"] {
  --bg:       #0F0F13;
  --bg-soft:  #161620;
  --bg-muted: #1E1E2A;
  --txt:      #F0F0F8;
  --txt-2:    #A8A8C0;
  --txt-3:    #60607A;
  --border:   rgba(255,255,255,0.06);
}

/* ──────────────────────────────────────────
   READING PROGRESS BAR
────────────────────────────────────────── */
.reading-progress-bar {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(90deg, var(--coral), var(--amber), var(--mint));
  z-index: 10001;
  transition: width 0.1s linear;
}

/* ──────────────────────────────────────────
   RECIPE HERO — LARGE & CINEMATIC
────────────────────────────────────────── */
.recipe-hero {
  position: relative;
  height: 88vh;
  min-height: 580px;
  max-height: 900px;
  overflow: hidden;
  margin-top: 70px;
  display: flex;
  align-items: flex-end;
}

.recipe-hero-bg {
  position: absolute;
  inset: 0;
}

.recipe-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.05);
  transition: transform 12s ease;
}

.recipe-hero-bg img.loaded { transform: scale(1); }

.recipe-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(5,5,15,0.95) 0%,
    rgba(5,5,15,0.55) 38%,
    rgba(5,5,15,0.15) 65%,
    rgba(0,0,0,0.05) 100%
  );
}

.recipe-hero-content {
  position: relative;
  z-index: 2;
  padding: 2.5rem 0 4rem;
  width: 100%;
}

/* Breadcrumb */
.recipe-hero-breadcrumb,
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.breadcrumb a,
.recipe-hero-breadcrumb a {
  color: rgba(255,255,255,0.55);
  font-size: 0.78rem;
  font-weight: 500;
  transition: color 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.breadcrumb a:hover,
.recipe-hero-breadcrumb a:hover { color: rgba(255,255,255,0.9); }
.breadcrumb span,
.recipe-hero-breadcrumb .sep { color: rgba(255,255,255,0.28); font-size: 0.7rem; }

/* Category badge */
.cat-badge,
.hero-cat-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(255,107,107,0.2);
  border: 1px solid rgba(255,107,107,0.5);
  color: #ffb3b3;
  padding: 0.25rem 0.8rem;
  border-radius: var(--r-full);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  margin-bottom: 0.85rem;
  display: inline-block;
}

/* Title */
.recipe-title-display,
.recipe-hero-content h1 {
  font-family: var(--font-head);
  font-size: clamp(2rem, 5vw, 3.75rem);
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.08;
  margin-bottom: 0;
  letter-spacing: -0.5px;
  text-shadow: 0 3px 30px rgba(0,0,0,0.4);
  max-width: 820px;
}

/* ──────────────────────────────────────────
   QUICK INFO BAR — COMPACT & SLEEK
────────────────────────────────────────── */
.quick-info-sticky,
.quick-info-sticky-wrapper {
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 58px;
  z-index: 90;
  padding: 0;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
}

[data-theme="dark"] .quick-info-sticky,
[data-theme="dark"] .quick-info-sticky-wrapper {
  background: rgba(15,15,19,0.97);
  border-color: rgba(255,255,255,0.06);
  backdrop-filter: blur(20px);
}

/* The inner bar */
.quick-info,
.quick-info-bar {
  display: flex;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

.quick-info::-webkit-scrollbar,
.quick-info-bar::-webkit-scrollbar { display: none; }

/* Each stat item */
.quick-item,
.qi-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.65rem 1.25rem 0.65rem 0;
  margin-right: 1.25rem;
  border-right: 1px solid var(--border);
  flex-shrink: 0;
  transition: opacity 0.2s ease;
}

.quick-item:last-of-type,
.qi-item:last-of-type { border-right: none; }

/* Icon circle — small and minimal */
.quick-item i,
.qi-icon {
  width: 26px;
  height: 26px;
  background: linear-gradient(135deg, rgba(255,107,107,0.1), rgba(255,154,60,0.1));
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  color: var(--coral);
  flex-shrink: 0;
}

/* Text block */
.qi-text,
.quick-item > div:not(i) {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.quick-item .label,
.qi-label {
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: var(--txt-3);
  font-weight: 600;
  line-height: 1;
  margin-bottom: 2px;
}

.quick-item .value,
.qi-value {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--txt);
  white-space: nowrap;
  line-height: 1;
}

/* Highlight item (total time) */
.qi-item.highlight .qi-value,
.quick-item.highlight .value {
  color: var(--coral);
}

/* Quick actions — to the right */
.quick-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  padding: 0.5rem 0;
  flex-shrink: 0;
}

.btn-gourmet-sm {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 1.1rem;
  background: var(--coral);
  color: #fff;
  border-radius: var(--r-full);
  font-weight: 600;
  font-size: 0.8rem;
  transition: all 0.25s ease;
  text-decoration: none;
  white-space: nowrap;
}
.btn-gourmet-sm:hover {
  background: var(--coral-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(255,107,107,0.35);
  color: #fff;
}

.btn-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--bg-muted);
  color: var(--txt-3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 0.8rem;
}
.btn-icon:hover { background: var(--coral); color: #fff; border-color: var(--coral); }

/* ──────────────────────────────────────────
   LAYOUT
────────────────────────────────────────── */
.recipe-layout,
.recipe-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 3rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 24px;
  align-items: start;
}

/* ──────────────────────────────────────────
   CONTENT CARDS — BORDERLESS & CLEAN
────────────────────────────────────────── */
.recipe-card-block,
.content-card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: 3rem;
  transition: none;
  box-shadow: none;
}

.recipe-card-block:hover,
.content-card:hover {
  border-color: transparent;
}

/* Section headings — large divider style */
.recipe-section-title,
.content-card h2 {
  font-family: var(--font-head);
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--txt);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  letter-spacing: -0.3px;
  padding-bottom: 0.875rem;
  border-bottom: 2px solid var(--border);
  text-transform: none;
}

.recipe-section-title .icon-badge,
.content-card h2 i {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, var(--coral), var(--amber));
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(255,107,107,0.28);
}

.description-text,
.recipe-description {
  font-size: 1.0rem;
  color: var(--txt-2);
  line-height: 1.9;
}

/* ──────────────────────────────────────────
   INGREDIENTS
────────────────────────────────────────── */
.ing-group-title {
  font-weight: 700;
  font-size: 0.82rem;
  color: var(--coral);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 1.25rem 0 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ing-group-title::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 2px;
  background: var(--coral);
  border-radius: 2px;
}

.ingredients-list { list-style: none; }
.ingredients-list li {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.7rem 0.5rem;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  transition: background 0.2s ease;
  border-radius: 8px;
}
.ingredients-list li:last-child { border-bottom: none; }
.ingredients-list li:hover { background: rgba(255,107,107,0.04); padding-left: 0.875rem; }
.ingredients-list li.checked {
  opacity: 0.45;
}
.ingredients-list li.checked span { text-decoration: line-through; color: var(--txt-3); }

.check-box {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255,107,107,0.4);
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.check-box.checked { background: var(--coral); border-color: var(--coral); }
.check-box.checked::after {
  content: '✓';
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
}
.ing-text { font-size: 0.92rem; color: var(--txt-2); line-height: 1.5; }

/* ──────────────────────────────────────────
   STEPS
────────────────────────────────────────── */
.steps-list { list-style: none; }
.step-item {
  display: flex;
  gap: 1.25rem;
  margin-bottom: 2rem;
  position: relative;
}
.step-item:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 19px;
  top: 42px;
  bottom: -2rem;
  width: 2px;
  background: linear-gradient(to bottom, rgba(255,107,107,0.25), transparent);
}
.step-num {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, var(--coral), var(--amber));
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.9rem;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(255,107,107,0.25);
  transition: transform 0.2s ease;
}
.step-item:hover .step-num { transform: scale(1.1); }
.step-text {
  flex: 1;
  font-size: 0.97rem;
  color: var(--txt-2);
  line-height: 1.85;
  padding-top: 0.5rem;
}
.step-group-title {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--txt);
  margin: 2rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(255,107,107,0.12);
}

/* ──────────────────────────────────────────
   TOOLS / EQUIPMENT
────────────────────────────────────────── */
.tools-list,
.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 0.625rem;
}
.tool-item {
  background: var(--bg-soft);
  border-radius: var(--r-md);
  padding: 0.75rem;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--txt-2);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  transition: all 0.2s ease;
}
.tool-item:hover { color: var(--coral); background: rgba(255,107,107,0.06); transform: translateY(-2px); }
.tool-item i { color: var(--coral); font-size: 1rem; }

/* ──────────────────────────────────────────
   TIPS / VARIATIONS / STORAGE SECTIONS
────────────────────────────────────────── */
.tips-content {
  color: var(--txt-2);
  line-height: 1.85;
  font-size: 0.95rem;
}
.tips-content p { margin-bottom: 0.875rem; }
.tips-content p:last-child { margin-bottom: 0; }

/* Chef Tips — warm accent */
.content-card[style*="gradient"] .tips-content,
.tips-card-warm .tips-content {
  color: var(--txt-2);
}

/* ──────────────────────────────────────────
   NUTRITION
────────────────────────────────────────── */
.nutrition-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 0.75rem;
}
.nutrition-item {
  background: var(--bg-soft);
  border-radius: var(--r-md);
  padding: 1rem 0.75rem;
  text-align: center;
  transition: all 0.2s ease;
}
.nutrition-item:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.07); }
.nutrition-item.highlight {
  background: linear-gradient(135deg, rgba(255,107,107,0.1), rgba(255,154,60,0.08));
}
.nutrition-value {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--coral);
  display: block;
  line-height: 1;
  margin-bottom: 4px;
}
.nutrition-unit {
  font-size: 0.65rem;
  color: var(--txt-3);
  display: block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Existing nutrition list (sidebar) */
.nutrition-list .nutrition-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 0;
  background: transparent;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  text-align: left;
}
.nutrition-list .nutrition-item:last-child { border-bottom: none; }
.nutrition-list .nutrition-item .label { font-size: 0.85rem; color: var(--txt-2); font-weight: 500; }
.nutrition-list .nutrition-item .value { font-size: 0.85rem; font-weight: 700; color: var(--txt); }
.nutrition-list .nutrition-item.highlight .label { color: var(--coral); font-weight: 700; }
.nutrition-list .nutrition-item.highlight .value { color: var(--coral); font-size: 1rem; }

/* ──────────────────────────────────────────
   VIDEO
────────────────────────────────────────── */
.recipe-video-wrapper,
.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: #000;
}
.recipe-video-wrapper iframe,
.video-wrapper iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
}

/* ──────────────────────────────────────────
   FAQ ACCORDION
────────────────────────────────────────── */
.faq-item {
  border-bottom: 1px solid var(--border);
  overflow: hidden;
  margin-bottom: 0;
}
.faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.93rem;
  color: var(--txt);
  transition: color 0.2s ease;
}
.faq-q:hover { color: var(--coral); }
.faq-q i {
  color: var(--coral);
  flex-shrink: 0;
  transition: transform 0.3s ease;
  font-size: 0.78rem;
}
.faq-item.active .faq-q { color: var(--coral); }
.faq-item.active .faq-q i { transform: rotate(180deg); }
.faq-a {
  padding: 0;
  color: var(--txt-2);
  font-size: 0.9rem;
  line-height: 1.8;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.3s ease;
}
.faq-item.active .faq-a { max-height: 600px; padding: 0 0 1rem; }

/* ──────────────────────────────────────────
   DIETARY TAGS
────────────────────────────────────────── */
.dietary-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.dietary-tag,
.diet-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(46,196,182,0.09);
  border: 1px solid rgba(46,196,182,0.25);
  color: #18A79D;
  padding: 0.3rem 0.875rem;
  border-radius: var(--r-full);
  font-size: 0.76rem;
  font-weight: 600;
}
[data-theme="dark"] .dietary-tag,
[data-theme="dark"] .diet-tag { color: var(--mint); }

/* Category tags */
.category-tag {
  background: transparent;
  color: var(--coral);
  padding: 0.3rem 0.875rem;
  border-radius: var(--r-full);
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  margin: 0.2rem;
  border: 1px solid rgba(255,107,107,0.25);
  transition: all 0.2s ease;
}
.category-tag:hover { background: var(--coral); color: #fff; border-color: var(--coral); }

/* ──────────────────────────────────────────
   SIDEBAR
────────────────────────────────────────── */
.recipe-sidebar { position: sticky; top: 120px; }

.sidebar-card {
  background: var(--bg-soft);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 1.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
[data-theme="dark"] .sidebar-card { background: var(--bg-soft); }
.sidebar-card:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,0.07); }

.sidebar-card-header,
.sidebar-card h3 {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid var(--border);
  font-weight: 700;
  font-size: 0.8rem;
  color: var(--txt-3);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}
.sidebar-card-header i,
.sidebar-card h3 i { color: var(--coral); }
.sidebar-card > *:not(h3) { padding: 1.25rem; }

/* Related recipes sidebar */
.related-recipe-item {
  display: flex;
  gap: 0.875rem;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--border);
  text-decoration: none;
}
.related-recipe-item:last-child { border-bottom: none; padding-bottom: 0; }
.related-recipe-img {
  width: 60px;
  height: 60px;
  border-radius: var(--r-sm);
  object-fit: cover;
  flex-shrink: 0;
  background: var(--bg-muted);
  overflow: hidden;
}
.related-recipe-img img { width: 100%; height: 100%; object-fit: cover; }
.related-recipe-img .no-img {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--coral), var(--amber));
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.1rem;
}
.related-recipe-info h4,
.related-recipe-info a {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--txt);
  line-height: 1.35;
  margin: 0 0 4px;
  transition: color 0.2s ease;
  text-decoration: none;
}
.related-recipe-info a:hover,
.related-recipe-item:hover .related-recipe-info h4 { color: var(--coral); }
.related-time,
.related-recipe-info .meta {
  font-size: 0.72rem;
  color: var(--txt-3);
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.related-time i,
.related-recipe-info .meta i { color: var(--coral); font-size: 0.65rem; }

/* Share sidebar */
.share-buttons { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.share-btn {
  flex: 1;
  min-width: 76px;
  padding: 0.6rem 0.75rem;
  border-radius: var(--r-sm);
  font-size: 0.78rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  transition: all 0.2s ease;
  border: none;
  color: var(--txt-2);
  background: var(--bg-muted);
  cursor: pointer;
}
.share-btn:hover { background: var(--coral); color: #fff; transform: translateY(-2px); }

/* ──────────────────────────────────────────
   FACEBOOK WIDGET
────────────────────────────────────────── */
.fb-page-widget {
  background: linear-gradient(135deg, #1877F2, #0d65d9);
  color: #fff;
  border-radius: var(--r-lg);
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 6px 20px rgba(24,119,242,0.25);
}
.fb-page-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.875rem; }
.fb-page-header h3 { font-size: 0.95rem; font-weight: 700; margin: 0; color: #fff; }
.fb-page-stats {
  display: flex;
  justify-content: space-around;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(255,255,255,0.15);
  border-bottom: 1px solid rgba(255,255,255,0.15);
  margin: 0.875rem 0;
}
.fb-stat { text-align: center; }
.fb-stat-value { font-size: 1.3rem; font-weight: 700; display: block; }
.fb-stat-label { font-size: 0.7rem; opacity: 0.8; }
.fb-follow-btn {
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  width: 100%; padding: 0.65rem; background: #fff; color: #1877F2;
  border: none; border-radius: 8px; font-weight: 600; font-size: 0.82rem;
  text-decoration: none; cursor: pointer; transition: all 0.2s ease;
}
.fb-follow-btn:hover { background: #f0f2f5; color: #1877F2; }

/* ──────────────────────────────────────────
   TTS BUTTON
────────────────────────────────────────── */
.tts-btn {
  background: none;
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  padding: 0.3rem 0.6rem;
  color: var(--txt-3);
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.5rem;
}
.tts-btn:hover { border-color: var(--coral); color: var(--coral); }
.tts-btn.speaking { border-color: var(--coral); color: var(--coral); background: rgba(255,107,107,0.08); }

/* ──────────────────────────────────────────
   AD SLOTS
────────────────────────────────────────── */
.ad-slot { margin: 1.5rem 0; text-align: center; }
.ad-slot-sidebar { min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.sidebar-ad { text-align: center; padding: 1rem; }

/* ──────────────────────────────────────────
   RESPONSIVE (Mobile UI Fixes)
────────────────────────────────────────── */
@media (max-width: 900px) {
  .recipe-layout,
  .recipe-grid { grid-template-columns: 1fr; gap: 0; }
  .recipe-sidebar { position: static; }
  .quick-info,
  .quick-info-bar { justify-content: flex-start; padding: 0 1rem; }
  .quick-item,
  .qi-item { padding: 0.6rem 1rem 0.6rem 0; margin-right: 1rem; }
  
  /* Fix: prevent excessive image cropping by using aspect-ratio instead of fixed vh */
  .recipe-hero { height: auto; aspect-ratio: 4/3; min-height: unset; background-position: center center !important; }
  .recipe-title-display,
  .recipe-hero-content h1 { font-size: 1.8rem; line-height: 1.25; }
}

@media (max-width: 600px) {
  .recipe-layout,
  .recipe-grid { padding: 1.5rem 1rem; }
  .recipe-card-block,
  .content-card { margin-bottom: 2.25rem; border-radius: var(--r-md); padding: 1.5rem; }
  
  /* Fix: Quick Info Card Overlapping -> Switch to Grid */
  .quick-info-sticky,
  .quick-info-sticky-wrapper {
      position: static; /* Remove sticky on mobile to save screen space */
  }
  .quick-info,
  .quick-info-bar { 
      display: grid !important; 
      grid-template-columns: repeat(2, 1fr); 
      gap: 0.75rem; 
      padding: 1rem !important; 
      overflow: visible;
  }
  .quick-item,
  .qi-item { 
      border-right: none !important; 
      margin-right: 0 !important; 
      padding: 0 !important; 
      gap: 0.4rem;
  }
  .quick-actions {
      grid-column: 1 / -1;
      justify-content: center;
      margin-left: 0;
      padding-top: 0.75rem;
      border-top: 1px solid var(--border);
  }

  .nutrition-grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
  .nutrition-item { padding: 0.75rem; }
  .tools-list,
  .tools-grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
  
  /* Enhanced Action Bar for Mobile Touch */
  .action-bar-pro { flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
  .action-btn-pro { flex: 1 1 calc(50% - 0.6rem); padding: 0.8rem; font-size: 0.85rem; justify-content: center; }

  /* Floating Action Buttons spacing */
  .recipe-fab-container { right: 1rem; bottom: 1rem; gap: 0.75rem; }
  .fab { width: 50px; height: 50px; font-size: 1.1rem; }

  /* Fix: Large Text and Image crop on very small screens */
  .recipe-hero { aspect-ratio: 1/1; }
  .recipe-title-display,
  .recipe-hero-content h1 { font-size: 1.6rem; line-height: 1.35; padding: 0 1rem; }
  
  .quick-item .value,
  .qi-value { font-size: 0.85rem; }
  .btn-gourmet-sm span { display: none; }
}

@media (max-width: 480px) {
  .recipe-title-display,
  .recipe-hero-content h1 { font-size: 1.35rem; }
  
  /* Show label on mobile grid */
  .quick-item .label,
  .qi-label { display: block; font-size: 0.6rem; }
}

@media print {
  .site-header, .recipe-sidebar, .quick-info-sticky,
  .quick-info-sticky-wrapper,
  .hero-overlay, .share-buttons, .back-to-top,
  .reading-progress-bar { display: none !important; }
  .recipe-layout,
  .recipe-grid { grid-template-columns: 1fr; }
  .recipe-hero { height: 200px; }
}
