/* ================================================================
   LOVEFLOW PINK v4 — Complete Stylesheet
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── Variables ───────────────────────────────────────────────── */
:root {
  --lf-pink:        #ff1a6e;
  --lf-pink-dark:   #c9005a;
  --lf-pink-light:  #ff80b0;
  --lf-purple:      #9333ea;
  --lf-text:        #1a0010;
  --lf-muted:       #8b4060;
  --lf-card:        rgba(255,255,255,0.82);
  --lf-border:      rgba(255,150,190,0.25);
  --lf-grad:        linear-gradient(135deg,#ff3d7f,#9333ea);
  --lf-shadow-sm:   0 4px 20px rgba(255,80,140,0.12);
  --lf-shadow-md:   0 8px 36px rgba(255,80,140,0.18);
  --lf-shadow-lg:   0 16px 56px rgba(255,80,140,0.24);
  --lf-radius:      20px;
  --lf-ease:        all 0.25s ease;
}

/* ── Reset ───────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', system-ui, sans-serif;
  background: linear-gradient(135deg,#ffe0ec 0%,#ffc2d9 30%,#ffaacb 60%,#ffd0e8 100%);
  background-attachment: fixed;
  color: var(--lf-text);
  margin: 0; padding: 0;
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── Skip link ───────────────────────────────────────────────── */
.skip-link {
  position: absolute; top: -999px; left: 6px; z-index: 99999;
  padding: 8px 16px; background: var(--lf-pink); color: #fff;
  font-size: 14px; font-weight: 600; text-decoration: none;
  border-radius: 0 0 8px 8px;
}
.skip-link:focus { top: 0; }

/* ================================================================
   HEADER
   ================================================================ */
.lf-site-header,
header.wp-block-group {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: rgba(255,224,236,0.94) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(255,150,190,0.22) !important;
  box-shadow: 0 2px 16px rgba(255,80,140,0.08) !important;
  transition: box-shadow 0.3s ease !important;
}

header.wp-block-group.scrolled {
  box-shadow: 0 4px 28px rgba(255,80,140,0.18) !important;
}

/* Site title */
header .wp-block-site-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  background: var(--lf-grad) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
}

/* Nav links */
header .wp-block-navigation-item__content {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--lf-muted) !important;
  padding: 7px 13px !important;
  border-radius: 50px !important;
  transition: var(--lf-ease) !important;
  text-decoration: none !important;
}
header .wp-block-navigation-item__content:hover,
header .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
  background: rgba(255,100,160,0.12) !important;
  color: var(--lf-pink) !important;
}

/* Mobile menu */
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
  fill: var(--lf-pink) !important;
}
.wp-block-navigation__responsive-container.is-menu-open {
  background: rgba(255,224,236,0.98) !important;
  backdrop-filter: blur(20px) !important;
}

/* Header social icons */
header .wp-social-link {
  background: rgba(255,100,160,0.10) !important;
  border: 1px solid rgba(255,100,160,0.2) !important;
  transition: var(--lf-ease) !important;
}
header .wp-social-link:hover {
  background: var(--lf-pink) !important;
  transform: translateY(-2px) !important;
}
header .wp-social-link svg { fill: var(--lf-pink) !important; }
header .wp-social-link:hover svg { fill: #fff !important; }

/* Header CTA button */
header .wp-block-button__link {
  background: var(--lf-grad) !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(255,50,120,0.28) !important;
  transition: var(--lf-ease) !important;
}
header .wp-block-button__link:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px rgba(255,50,120,0.42) !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
footer.wp-block-group {
  background: rgba(255,200,225,0.55) !important;
  border-top: 1px solid rgba(255,150,190,0.25) !important;
}

footer .wp-block-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
footer .wp-block-list li {
  padding: 4px 0 !important;
}
footer .wp-block-list li a {
  font-size: 0.85rem !important;
  color: var(--lf-muted) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
  line-height: 1.8 !important;
  display: block !important;
}
footer .wp-block-list li a:hover { color: var(--lf-pink) !important; }

footer .wp-social-link {
  background: rgba(255,100,160,0.10) !important;
  border: 1px solid rgba(255,100,160,0.2) !important;
  border-radius: 50% !important;
  transition: var(--lf-ease) !important;
}
footer .wp-social-link:hover {
  background: var(--lf-pink) !important;
  transform: translateY(-2px) !important;
}
footer .wp-social-link svg { fill: var(--lf-pink) !important; }
footer .wp-social-link:hover svg { fill: #fff !important; }

/* ================================================================
   HERO
   ================================================================ */
.lf-hero { min-height: 88vh; display: flex; align-items: center; }

.lf-hcard {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  transition: var(--lf-ease) !important;
}
.lf-hcard:hover {
  transform: translateX(-4px) !important;
  box-shadow: var(--lf-shadow-sm) !important;
}

/* ================================================================
   STAT CARDS
   ================================================================ */
.lf-stat-card,
.wp-block-column[style*="border-radius:20px"] {
  transition: var(--lf-ease) !important;
}
.lf-stat-card:hover,
.wp-block-column[style*="border-radius:20px"]:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--lf-shadow-sm) !important;
}

/* ================================================================
   POST GRID — homepage & archive
   ================================================================ */
.lf-post-grid.wp-block-post-template {
  display: grid !important;
  gap: 1.25rem !important;
}

/* 4 columns on homepage */
.wp-block-query .lf-post-grid {
  grid-template-columns: repeat(4, 1fr) !important;
}

/* 3 columns on archive */
.wp-block-query .lf-post-grid[style*="3"] {
  grid-template-columns: repeat(3, 1fr) !important;
}

.lf-post-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  transition: var(--lf-ease) !important;
}
.lf-post-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--lf-shadow-md) !important;
  border-color: rgba(255,80,140,0.4) !important;
  background: rgba(255,255,255,0.95) !important;
}
.lf-post-card .wp-block-post-featured-image img {
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  display: block !important;
}
.lf-post-card .wp-block-post-title a {
  color: var(--lf-text) !important;
  text-decoration: none !important;
}
.lf-post-card .wp-block-post-title a:hover { color: var(--lf-pink) !important; }

.wp-block-read-more {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--lf-pink) !important;
  text-decoration: none !important;
}
.wp-block-read-more:hover { color: var(--lf-pink-dark) !important; }

/* Pagination */
.wp-block-query-pagination {
  display: flex !important;
  gap: 0.5rem !important;
  justify-content: center !important;
  margin-top: 3rem !important;
  flex-wrap: wrap !important;
}
.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 10px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.78) !important;
  border: 1px solid rgba(255,150,190,0.25) !important;
  color: var(--lf-muted) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: var(--lf-ease) !important;
}
.wp-block-query-pagination-numbers .current,
.page-numbers:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
  background: var(--lf-pink) !important;
  color: #fff !important;
  border-color: var(--lf-pink) !important;
}

/* ================================================================
   FEATURE CARDS
   ================================================================ */
.lf-feat-card { transition: var(--lf-ease) !important; }
.lf-feat-card:hover {
  transform: translateY(-5px) !important;
  background: rgba(255,255,255,0.92) !important;
  border-color: rgba(255,80,140,0.38) !important;
  box-shadow: 0 12px 36px rgba(255,80,140,0.15) !important;
}

/* ================================================================
   CTA BANNER
   ================================================================ */
.lf-cta-section {
  position: relative !important;
  overflow: hidden !important;
}
.lf-cta-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse 65% 75% at 20% 50%, rgba(255,255,255,0.14), transparent),
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(255,255,255,0.08), transparent) !important;
  pointer-events: none !important;
}

/* ================================================================
   SINGLE POST — ARTICLE + SIDEBAR LAYOUT
   ================================================================ */

/* The columns wrapper */
.lf-single-layout.wp-block-columns {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 3rem !important;
}

/* Article column */
.lf-single-layout .wp-block-column.lf-article-col {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  word-break: break-word !important;
}

/* Sidebar column — never shrinks, never overlaps */
.lf-single-layout .wp-block-column.lf-sidebar-col {
  flex: 0 0 300px !important;
  width: 300px !important;
  max-width: 300px !important;
  min-width: 0 !important;
}

/* Sticky sidebar inner container */
.lf-sidebar-inner {
  position: sticky !important;
  top: 88px !important;
  max-height: calc(100vh - 108px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 1 !important;
}

/* Article body typography */
.wp-block-post-content {
  font-size: 1.02rem !important;
  line-height: 1.85 !important;
}
.wp-block-post-content h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  color: var(--lf-text) !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}
.wp-block-post-content h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  color: var(--lf-text) !important;
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
}
.wp-block-post-content blockquote,
.wp-block-quote {
  border-left: 4px solid var(--lf-pink) !important;
  padding-left: 1.5rem !important;
  color: var(--lf-muted) !important;
  font-style: italic !important;
  margin: 2rem 0 !important;
}
.wp-block-post-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 0.9rem;
}
.wp-block-post-content table th {
  background: rgba(255,26,110,0.07);
  color: var(--lf-text);
  font-weight: 700;
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 2px solid rgba(255,150,190,0.3);
}
.wp-block-post-content table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,150,190,0.15);
  color: var(--lf-muted);
}
.wp-block-post-content table tr:hover td {
  background: rgba(255,150,190,0.05);
}

/* Sidebar widget boxes */
.lf-sidebar-widget {
  background: rgba(255,255,255,0.82) !important;
  border: 1px solid rgba(255,150,190,0.25) !important;
  border-radius: 18px !important;
  padding: 1.4rem !important;
  margin-bottom: 1.25rem !important;
}
.lf-sidebar-widget h4 {
  font-size: 0.73rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--lf-text) !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid rgba(255,150,190,0.2) !important;
}

/* Sidebar recent posts */
.wp-block-latest-posts.wp-block-latest-posts__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wp-block-latest-posts.wp-block-latest-posts__list li {
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid rgba(255,150,190,0.12) !important;
}
.wp-block-latest-posts.wp-block-latest-posts__list li:last-child {
  border-bottom: none !important;
}
.wp-block-latest-posts.wp-block-latest-posts__list li a {
  font-size: 0.84rem !important;
  color: var(--lf-text) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  display: block !important;
  transition: color 0.2s !important;
}
.wp-block-latest-posts.wp-block-latest-posts__list li a:hover {
  color: var(--lf-pink) !important;
}

/* Sidebar categories */
.wp-block-categories-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wp-block-categories-list li {
  padding: 0.4rem 0 !important;
  border-bottom: 1px solid rgba(255,150,190,0.1) !important;
}
.wp-block-categories-list li:last-child { border-bottom: none !important; }
.wp-block-categories-list li a {
  font-size: 0.84rem !important;
  color: var(--lf-muted) !important;
  text-decoration: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  transition: color 0.2s !important;
}
.wp-block-categories-list li a:hover { color: var(--lf-pink) !important; }

/* Social share buttons */
.lf-share {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 1.5rem 0;
  margin-top: 2rem;
  border-top: 1px solid rgba(255,150,190,0.2);
}
.lf-share a {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border-radius: 50px;
  font-size: 0.78rem;
  font-weight: 600;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(255,150,190,0.25);
  color: var(--lf-text);
  text-decoration: none;
  transition: var(--lf-ease);
}
.lf-share a:hover { background: var(--lf-pink); color: #fff; border-color: var(--lf-pink); }

/* ================================================================
   COMMENTS
   ================================================================ */
.wp-block-post-comments-form input,
.wp-block-post-comments-form textarea {
  width: 100% !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,150,190,0.3) !important;
  background: rgba(255,255,255,0.85) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9rem !important;
  color: var(--lf-text) !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  margin-bottom: 1rem !important;
}
.wp-block-post-comments-form input:focus,
.wp-block-post-comments-form textarea:focus {
  border-color: var(--lf-pink) !important;
  box-shadow: 0 0 0 3px rgba(255,26,110,0.08) !important;
}
.wp-block-post-comments-form .form-submit input[type="submit"] {
  background: var(--lf-grad) !important;
  color: #fff !important;
  padding: 11px 28px !important;
  border-radius: 50px !important;
  border: none !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: var(--lf-ease) !important;
}
.wp-block-post-comments-form .form-submit input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255,50,120,0.35) !important;
}

/* ================================================================
   SEARCH
   ================================================================ */
.wp-block-search__input {
  border: 1px solid rgba(255,150,190,0.3) !important;
  border-radius: 50px 0 0 50px !important;
  padding: 10px 18px !important;
  background: rgba(255,255,255,0.85) !important;
  color: var(--lf-text) !important;
  outline: none !important;
}
.wp-block-search__input:focus { border-color: var(--lf-pink) !important; }
.wp-block-search__button {
  background: var(--lf-grad) !important;
  color: #fff !important;
  border-radius: 0 50px 50px 0 !important;
  border: none !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* ================================================================
   READING PROGRESS BAR
   ================================================================ */
#lf-progress {
  position: fixed !important;
  top: 0 !important; left: 0 !important;
  height: 3px !important;
  width: 0% !important;
  background: var(--lf-grad) !important;
  z-index: 99999 !important;
  transition: width 0.1s linear !important;
  pointer-events: none !important;
}

/* ================================================================
   FLOATING BUBBLES
   ================================================================ */
.lf-bubble {
  position: fixed !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background: radial-gradient(circle,rgba(255,255,255,0.45),rgba(255,150,190,0.10)) !important;
  animation: lfFloat linear infinite !important;
}
@keyframes lfFloat {
  0%   { transform: translateY(110vh) scale(0); opacity: 0; }
  8%   { opacity: 1; }
  92%  { opacity: 0.4; }
  100% { transform: translateY(-120px) scale(1); opacity: 0; }
}

/* ================================================================
   SCROLL ANIMATIONS
   ================================================================ */
.lf-anim { opacity: 0; transform: translateY(18px); transition: opacity 0.55s ease, transform 0.55s ease; }
.lf-anim.lf-in { opacity: 1; transform: translateY(0); }

/* ================================================================
   FOCUS / ACCESSIBILITY
   ================================================================ */
:focus-visible {
  outline: 3px solid var(--lf-pink) !important;
  outline-offset: 3px !important;
  border-radius: 4px !important;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1100px) {
  .wp-block-query .lf-post-grid { grid-template-columns: repeat(3,1fr) !important; }
}

@media (max-width: 900px) {
  /* Stack single post columns, hide sidebar */
  .lf-single-layout.wp-block-columns {
    flex-direction: column !important;
  }
  .lf-single-layout .wp-block-column.lf-sidebar-col {
    display: none !important;
  }
  .lf-single-layout .wp-block-column.lf-article-col {
    flex: 1 1 auto !important;
    width: 100% !important;
  }
}

@media (max-width: 768px) {
  .lf-hero { min-height: auto !important; }
  .lf-hero .wp-block-columns { flex-direction: column !important; }
  .lf-hero .wp-block-column:last-child { display: none !important; }
  .wp-block-query .lf-post-grid { grid-template-columns: repeat(2,1fr) !important; }
}

@media (max-width: 480px) {
  .wp-block-query .lf-post-grid { grid-template-columns: 1fr !important; }
}

/* ================================================================
   PRINT
   ================================================================ */
@media print {
  header.wp-block-group,
  footer.wp-block-group,
  .lf-cta-section,
  .lf-sidebar-col,
  #lf-progress,
  .lf-bubble { display: none !important; }
  body { background: #fff !important; }
  .lf-single-layout { flex-direction: column !important; }
}

/* ================================================================
   FAQ SECTION
   ================================================================ */

.lf-faq-section {
  scroll-margin-top: 88px;
}

.lf-faq-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}

/* Details/summary accordion item */
.lf-faq-item {
  transition: all 0.25s ease !important;
}

.lf-faq-item:hover {
  border-color: rgba(255, 80, 140, 0.4) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 4px 20px rgba(255, 80, 140, 0.12) !important;
}

/* Summary — the clickable question row */
.lf-faq-item summary {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #1a0010 !important;
  cursor: pointer !important;
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1rem !important;
  user-select: none !important;
}

/* Hide the default browser triangle */
.lf-faq-item summary::-webkit-details-marker { display: none !important; }
.lf-faq-item summary::marker { display: none !important; }

/* The + icon */
.lf-faq-item summary span {
  color: #ff1a6e !important;
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
}

/* Rotate + to × when open */
.lf-faq-item[open] summary span {
  transform: rotate(45deg) !important;
  color: #c9005a !important;
}

/* Answer paragraph */
.lf-faq-item .wp-block-paragraph,
.lf-faq-item p {
  font-size: 0.9rem !important;
  line-height: 1.78 !important;
  color: #8b4060 !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  animation: lf-faq-open 0.2s ease forwards !important;
}

@keyframes lf-faq-open {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Divider between open FAQ and next item */
.lf-faq-item[open] {
  border-color: rgba(255, 100, 160, 0.35) !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

/* Links inside FAQ answers */
.lf-faq-item a {
  color: #ff1a6e !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 26, 110, 0.25) !important;
  transition: border-color 0.2s !important;
}
.lf-faq-item a:hover {
  border-color: #ff1a6e !important;
}

/* Mobile */
@media (max-width: 600px) {
  .lf-faq-item summary {
    font-size: 0.92rem !important;
  }
  .lf-faq-item {
    padding: 1.25rem 1.25rem !important;
  }
}

/* ================================================================
   AFFILIATE DISCLAIMER
   ================================================================ */

.lf-disclaimer {
  display: block !important;
  font-size: 0.72rem !important;
  line-height: 1.55 !important;
  color: #8b4060 !important;
  background: rgba(255, 255, 255, 0.62) !important;
  border: 1px solid rgba(255, 150, 190, 0.22) !important;
  border-radius: 8px !important;
  padding: 0.6rem 1.25rem !important;
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto 0.5rem !important;
}

/* Inline disclaimer on single posts — left-aligned, below image */
.lf-article-col .lf-disclaimer {
  text-align: left !important;
  max-width: 100% !important;
  margin: 0 0 1.5rem !important;
  font-style: italic !important;
}

/* Footer disclaimer line */
footer .lf-disclaimer,
.wp-block-group[style*="rgba(255,180,210"] p[style*="0.7rem"] {
  font-size: 0.7rem !important;
  color: #8b4060 !important;
  text-align: center !important;
  width: 100% !important;
  padding: 0.35rem 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-style: italic !important;
}

/* Remove social icon CSS rules that are no longer needed */
header .wp-social-link,
footer .wp-social-link,
.lf-header-social,
.lf-footer-social { display: none !important; }

/* ================================================================
   SINGLE POST — FIX ARTICLE CUTOFF
   ================================================================ */

/* The outer columns wrapper must not overflow */
.lf-single-layout {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 2.5rem !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Article column — fills remaining space, NEVER overflows */
.lf-article-col {
  flex: 1 1 0% !important;
  min-width: 0 !important;          /* KEY: stops flex item from overflowing */
  max-width: 100% !important;
  overflow: hidden !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
}

/* Post title must wrap — never overflow its column */
.lf-article-col .wp-block-post-title,
.lf-article-col h1,
.lf-article-col h2 {
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  max-width: 100% !important;
  hyphens: auto !important;
}

/* Sidebar column — fixed width, shrink if needed */
.lf-sidebar-col {
  flex: 0 0 300px !important;
  width: 300px !important;
  min-width: 0 !important;
  max-width: 300px !important;
  box-sizing: border-box !important;
}

/* Constrained content wrapper inside single post */
.wp-block-post-content,
.wp-block-post-content > * {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}

/* Images and embeds inside article must not exceed column width */
.lf-article-col img,
.lf-article-col video,
.lf-article-col iframe,
.lf-article-col embed,
.lf-article-col table {
  max-width: 100% !important;
  height: auto !important;
}

/* The main constrained group wrapper */
main.wp-block-group > .wp-block-group {
  max-width: 100% !important;
  overflow: visible !important;
}

/* Fix: constrained layout inside single post should not exceed viewport */
.single-post-inner,
.lf-single-layout .wp-block-columns {
  max-width: 100% !important;
}

/* Mobile */
@media (max-width: 900px) {
  .lf-single-layout {
    flex-direction: column !important;
  }
  .lf-article-col {
    width: 100% !important;
    max-width: 100% !important;
  }
  .lf-sidebar-col {
    display: none !important;
  }
}

/* ================================================================
   SINGLE POST — FULL WIDTH (no sidebar)
   ================================================================ */

/* Override any leftover flex/column rules */
.wp-singular main,
.site-main,
single main {
  width: 100% !important;
}

/* Post title full width, wrapping */
.wp-block-post-title {
  width: 100% !important;
  max-width: 100% !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  white-space: normal !important;
}

/* Post content full width */
.wp-block-post-content {
  width: 100% !important;
  max-width: 100% !important;
}

/* Images in post content */
.wp-block-post-content img {
  max-width: 100% !important;
  height: auto !important;
}

/* Hide sidebar styles that are no longer needed */
.lf-sidebar-col,
.lf-sidebar-inner,
.lf-single-layout {
  all: unset !important;
}
