system,Segoe UI,Roboto,Arial}
.slf-head{margin:0 0 18px;text-align:center}
.slf-head h1{margin:0 0 8px;font-size:36px;line-height:1.2}
.slf-head p{margin:0;color:#444}
.slf-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px 0 8px}
.slf-filters a{display:inline-block;padding:8px 12px;border:1px solid #e5e5e5;border-radius:999px;text-decoration:none;color:#111;background:#fafafa}
.slf-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:16px}
.slf-card{border:1px solid #eee;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.slf-img{width:100%;aspect-ratio:1/1;overflow:hidden;background:#f6f6f6}
.slf-img img{width:100%;height:100%;object-fit:cover;display:block}
.slf-body{padding:16px}
.slf-body h3{margin:0 0 6px;font-size:18px}
.slf-body p{margin:0;color:#111;background:transparent}
.slf-btn{display:inline-block;background:#111;color:#fff;border-radius:10px;text-decoration:none;padding:10px 14px}
.slf-badge{display:inline-flex;gap:6px;font-size:12px;color:#555;background:#f2f2f2;border-radius:999px;padding:6px 10px;margin-bottom:10px}

slf-wrap { max-width:1100px; margin:0 auto; padding:36px 20px; }
.slf-head { text-align:center; margin:0 0 18px; }
.slf-head h1 { margin:0 0 8px; font-size:36px; line-height:1.2; }
.slf-head p { margin:0; color:#444; }
.slf-grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); margin-top:16px; }
.slf-card { border:1px solid #eee; border-radius:14px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.slf-img { width:100%; aspect-ratio:1/1; overflow:hidden; background:#f6f6f6; }
.slf-img img { width:100%; height:100%; object-fit:cover; display:block; }
.slf-body { padding:16px; }
.slf-body h3 { margin:0 0 6px; font-size:18px; }
.slf-btn { display:inline-block; background:#111; color:#fff; border-radius:10px; text-decoration:none; padding:10px 14px; }
@media (max-width:480px){ .slf-head h1{font-size:28px} }

/* SMART LIVING FINDS – Modern Nav Buttons */
.main-navigation a {
  display: inline-block;
  padding: 10px 22px;
  margin: 0 6px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  color: #333;
  transition: all 0.3s ease;
  background: #f8f8f8;
}

.main-navigation a:hover {
  background: #111;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

/* Highlight Shop Button */
.main-navigation a.shop-button {
  background: #00796b;
  color: #fff;
}

.main-navigation a.shop-button:hover {
  background: #004d40;
}
/* Keep catalog cards a nice size even if there's only 1 */
.slf-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:18px;
  justify-content:center;              /* center the row */
}
.slf-card{
  max-width: 360px;                    /* cap width */
  margin: 0 auto;                      /* center each card */
  display:flex; flex-direction:column;
  border:1px solid #eee; border-radius:12px; overflow:hidden;
  background:#fff;
}
.slf-img{ height:260px; background:#f6f6f6; overflow:hidden; }
.slf-img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Tidy text + button */
.slf-body{ padding:16px; }
.slf-body h3{ margin:6px 0 8px; font-size:18px; line-height:1.3; }
.slf-body p{ margin:0 0 8px; color:#555; }
.slf-body ul{ margin:0 0 12px 18px; }
.slf-btn{
  display:inline-block; padding:10px 14px; border-radius:999px;
  background:#111; color:#fff; text-decoration:none;
}
/* Catalog card images: fill the box but keep the top in view */
.slf-img{ height: 340px; overflow: hidden; }          /* 320–360px works; 340 is a nice middle */
.slf-img img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;   /* <- key: don't crop the top */
}

/* If one item is extra tall, add class="slf-card tall" to that article */
.slf-card.tall .slf-img{ height: 380px; }
.slf-img img { display:block; width:100%; height:auto; }
.slf-img { overflow:hidden; }
.slf-img img { display:block; width:100%; height:auto; }
.slf-img { overflow:hidden; }
.site-header .cart-contents { display:none !important; }
.woocommerce-product-search { display:none !important; }
.woocommerce-breadcrumb { display:none !important; }
.comment-subscription-form,
.jetpack-subscribe-form { display: none !important; }
/* Hide desktop header cart */
.site-header .cart-contents { display: none !important; }

/* Hide mobile handheld Account + Cart */
.storefront-handheld-footer-bar li.my-account,
.storefront-handheld-footer-bar li.cart {
  display: none !important;
}

/* If a header cart group shows on small screens, hide it too */
@media (max-width: 782px){
  .site-header .site-header-cart { display:none !important; }
}
/* ==== SLF: hard-lock spacing inside cards (editor + front-end) ==== */
:where(body) .entry-content :where(.wp-block-html,.wp-block-custom-html) .slf-wrap .slf-card *,
:where(body) .entry-content .slf-wrap .slf-card *,
:where(body) .slf-wrap .slf-card * {
  margin:0 !important;
  line-height:1.35 !important;
}

:where(body) .slf-wrap .slf-card h3{
  font-size:1.05rem !important;
  line-height:1.25 !important;
  font-weight:600 !important;
}

:where(body) .slf-wrap .slf-card p{
  margin:2px 0 !important;
  font-size:.96rem !important;
  color:#444 !important;
}

:where(body) .slf-wrap .slf-card p + ul{ margin-top:6px !important; }

:where(body) .slf-wrap .slf-card ul{
  margin:6px 0 0 1.1rem !important;
  padding:0 !important;
  list-style:disc outside;
}

:where(body) .slf-wrap .slf-card li{
  margin:.14rem 0 !important;
  padding:0 !important;
  line-height:1.3 !important;
}

/* layout (safe to repeat) */
:where(body) .slf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:stretch}
:where(body) .slf-card{display:flex;flex-direction:column;padding:12px;border:1px solid #eee;border-radius:14px;background:#fff}
:where(body) .slf-img{width:100%;aspect-ratio:1/1;border-radius:10px;background:#fafafa;display:flex;align-items:center;justify-content:center;overflow:hidden}
:where(body) .slf-img img{width:100%;height:100%;object-fit:contain;display:block}
:where(body) .slf-badge{align-self:flex-
start;background:#f2f2f2;color:#666;padding:4px 8px;border-radius:999px;font-size:.85rem}
:where(body) .slf-btn, :where(body) .slf-btn:visited{margin-top:auto;display:inline-block;padding:.6rem .9rem;border-radius:999px;background:#111;color:#fff !important;text-decoration:none}
:where(body) .slf-btn:hover{background:#333}

/* ====== SCOPE EVERYTHING TO THIS PAGE ====== */
#slf-page { max-width: 1200px; margin: 0 auto; padding: 24px; }

/* Section heads */
#slf-page .slf-section { margin: 56px 0; }
#slf-page .slf-head { text-align: center; margin-bottom: 20px; }
#slf-page .slf-head h2 { margin: 0 0 8px; font-size: clamp(22px, 2.6vw, 32px); }
#slf-page .slf-head p  { margin: 0; color: #555; }

/* Buttons (only inside this page) */
#slf-page .slf-btn,
#slf-page .slf-hero__btn,
#slf-page .slf-collections .link,
#slf-page .slf-actions .slf-btn { 
  display: inline-block; 
  padding: 10px 22px; 
  border-radius: 999px; 
  font-weight: 600; 
  text-decoration: none; 
  transition: .2s ease;
  background: #111; 
  color: #fff; 
}
#slf-page .slf-btn.alt,
#slf-page .slf-collections .link { background:#f5f5f5; color:#000; }
#slf-page .slf-btn:hover,
#slf-page .slf-hero__btn:hover,
#slf-page .slf-collections .link:hover,
#slf-page .slf-actions .slf-btn:hover { background:#000; color:#fff; }

/* Disclosure */
#slf-page .slf-disclosure { font-size: 14px; color:#666; background:#f7f7f7; padding:14px 16px; border-radius:10px; margin: 40px 0 10px; }

/* ====== HERO (scoped) ====== */
#slf-hero-desktop, #slf-hero-mobile {
  position: relative; width: 100%;
  border-radius: 12px; overflow: hidden; margin-bottom: 40px;
}

/* heights */
#slf-hero-desktop { height: 420px; }
#slf-hero-mobile  { height: 480px; }

/* image and shade (don’t block clicks) */
#slf-hero-desktop .slf-hero__img, #slf-hero-mobile .slf-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0; pointer-events: none;
}
#slf-hero-desktop .slf-hero__shade, #slf-hero-mobile .slf-hero__shade {
  position: absolute; inset: 0;
  background: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.45));
  z-index: 1; pointer-events: none;
}

/* text on top */
#slf-hero-desktop .slf-hero__content, #slf-hero-mobile .slf-hero__content {
  position: relative; z-index: 2; height: 100%;
  display: grid; place-items: center; text-align: center; color: #fff; padding: 20px;
}
#slf-hero-desktop .slf-hero__content h1, #slf-hero-mobile .slf-hero__content h1 {
  margin: 0 0 10px; line-height: 1.2; font-weight: 700;
  text-shadow: 0 2px 8px rgba(0,0,0,.8);
  font-size: 42px;
}
#slf-hero-desktop .slf-hero__content p, #slf-hero-mobile .slf-hero__content p {
  margin: 0 auto; max-width: 640px; line-height: 1.5; color: #f2f2f2;
  text-shadow: 0 2px 5px rgba(0,0,0,.6); font-size: 18px;
}
#slf-hero-desktop .slf-hero__btn, #slf-hero-mobile .slf-hero__btn { position: relative; z-index: 3; }

/* show one hero only */
#slf-hero-desktop, #slf-hero-mobile { display: none; }
@media (min-width: 768px)    { #slf-hero-desktop { display: block !important; } }
@media (max-width: 767.98px) { #slf-hero-mobile  { display: block !important; } }
@media (max-width: 767.98px){
  #slf-hero-mobile .slf-hero__content h1 { font-size: 30px; }
  #slf-hero-mobile .slf-hero__content p  { font-size: 16px; padding: 0 12px; }
}

/* ====== FEATURED COLLECTIONS (scoped) ====== */
#slf-page .slf-collections {
  display: grid; gap: 18px;
  grid-template-columns: repeat(4, 1fr);
}
#slf-page .slf-collection { background:#fff; border:1px solid #eee; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
#slf-page .slf-collection .img img { width:100%; height: 180px; object-fit: cover; display:block; }
#slf-page .slf-collection .body { padding:14px; }
#slf-page .slf-collection h3 { margin:0 0 6px; font-size:18px; }
#slf-page .slf-collection p  { margin:0 0 12px; color:#555; }
@media (max-width: 991px){ #slf-page .slf-collections { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px){ #slf-page .slf-collections { grid-template-columns: 1fr; } }

/* ====== PRODUCT GRID (scoped) ====== */
#slf-page .slf-grid {
  display:grid; gap:18px;
  grid-template-columns: repeat(3, 1fr);
}
#slf-page .slf-card { background:#fff; border:1px solid #eee; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
#slf-page .slf-img img { width:100%; height: 260px; object-fit: cover; display:block; }
#slf-page .slf-body { padding:14px; }
#slf-page .slf-body h4 { margin:6px 0 6px; font-size:18px; }
#slf-page .slf-body p { margin:0; color:#555; }
#slf-page .slf-badge { display:inline-block; background:#f1f1f1; color:#333; padding:4px 10px; border-radius:999px; font-size:12px; }
#slf-page .slf-stars { color:#ffb400; font-size:14px; margin:6px 0 8px; }
#slf-page .slf-actions { padding:14px; border-top:1px solid #eee; margin-top:auto; }
@media (max-width: 991px){ #slf-page .slf-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px){ #slf-page .slf-grid { grid-template-columns: 1fr; } }

/* ====== BLOG PREVIEW (scoped) ====== */
#slf-page .slf-posts { display:grid; gap:18px; grid-template-columns: repeat(3, 1fr); }
#slf-page .slf-post { background:#fff; border:1px solid #eee; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
#slf-page .slf-post .img img { width:100%; height: 200px; object-fit: cover; display:block; }
#slf-page .slf-post .body { padding:14px; }
#slf-page .slf-post .body h3 { margin:6px 0 8px; font-size:18px; }
#slf-page .slf-post .excerpt { color:#555; margin:0 0 10px; }
#slf-page .slf-post .body a { text-decoration:none; font-weight:600; }
@media (max-width: 991px){ #slf-page .slf-posts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px){ #slf-page .slf-posts { grid-template-columns: 1fr; } }

/* ====== ABOUT STRIP (scoped) ====== */
#slf-page .slf-about { display:grid; grid-template-columns: 1fr 1.2fr; gap: 22px; align-items:center; }
#slf-page .slf-about img { width:100%; height:auto; border-radius:12px; display:block; }
#slf-page .slf-about h2 { margin:0 0 8px; }
#slf-page .slf-about p  { margin:0 0 10px; color:#444; }
@media (max-width: 767px){ #slf-page .slf-about { grid-template-columns: 1fr; } }
* ===== SMART LIVING FINDS — Homepage Styling (Page ID 94) ===== */

/* Scoped box model */
body.page-id-94 .slf-scope * {
  box-sizing: border-box;
}

/* Toggle between desktop and mobile heroes */
@media (min-width:768px){
  body.page-id-94 .slf-mobile-hero { display: none !important; }
}
@media (max-width:767.98px){
  body.page-id-94 .slf-desktop-hero { display: none !important; }
}

/* Shared hero text layout */
body.page-id-94 .slf-hero-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 20px;
}
body.page-id-94 .slf-hero-content h1 {
  margin: 0 0 10px;
  line-height: 1.2;
  font-weight: 800;
  font-size: clamp(28px, 4vw, 42px);
  text-shadow: 0 2px 8px rgba(0, 0, 0, .85);
}
body.page-id-94 .slf-hero-content p {
  margin: 0 auto;
  max-width: 40ch;
  line-height: 1.5;
  color: #f2f2f2;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .65);
}
body.page-id-94 .slf-btn {
  display: inline-block;
  margin-top: 18px;
  padding: 10px 22px;
  border-radius: 999px;
  background: #f5f5f5;
  color: #000;
  text-decoration: none;
  font-weight: 700;
  transition: 0.2s ease;
}
body.page-id-94 .slf-btn:hover {
  background: #111;
  color: #fff;
}

/* Image and container sanity */
body.page-id-94 .slf-desktop-hero,
body.page-id-94 .slf-mobile-hero {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  max-width: 1200px;
  margin: 0 auto 40px;
}
body.page-id-94 .slf-desktop-hero img,
body.page-id-94 .slf-mobile-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
body.page-id-94 .slf-hero-shade {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .55);
  z-index: 1;
}
/* --- Make hero text brighter and more readable --- */
body.page-id-94 .slf-hero-content h1,
body.page-id-94 .slf-hero-content p {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
}

body.page-id-94 .slf-hero-shade {
  background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.6)) !important;
}
body.page-id-94 .slf-hero-content {
  opacity: 0;
  animation: fadeInHero 1.2s ease forwards;
}
@keyframes fadeInHero {
  to { opacity: 1; }
}
.holiday-banner {
  background-image: url('https://shopsmartlivingfinds.com/wp-content/uploads/2025/10/Holiday_Shop_Catalog_Banner1920x600.png');
  background-size: cover;
  background-position: center;
  border-radius: 20px;
  text-align: center;
  padding: 5rem 1.5rem;
  color: #1a1a1a;
}
.site-main {
  padding-top: 15px !important;
}
/* Tighten spacing & hide the auto title on just this page */
body.page-id-94 .wp-block-post-title,
body.page-id-94 header.entry-header,
body.page-id-94 .entry-title {
  display: none !important; /* hides the extra page title area if your theme shows it */
}

body.page-id-94 .wp-site-blocks > main,
body.page-id-94 .site-content,
body.page-id-94 .content-area,
body.page-id-94 .entry-content,
body.page-id-94 .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 6px !important;   /* pull content closer to the nav/header */
}

/* Some themes add extra space below the header/template parts */
body.page-id-869 .wp-block-template-part,
body.page-id-94 .site-header,
body.page-id-94 .ast-container,
body.page-id-94 .kadence-container,
body.page-id-94 .container {
  margin-bottom: 6px !important;
  padding-bottom: 0 !important;
}

/* Optional: tighten paragraphs/headings inside this page */
body.page-id-94 h1,
body.page-id-94 h2,
body.page-id-94 p {
  margin-top: 6px !important;
  margin-bottom: 8px !important;
}/* === Bridge page: kill top gap & extras (handles both 869 and 94) === */
body.page-id-869, body.page-id-94 {
  /* Block-theme global paddings */
  --wp--style--root--padding-top: 0 !important;
  --wp--style--root--padding-bottom: 0 !important;
}

/* Hide auto page title/header area */
body.page-id-869 .wp-block-post-title,
body.page-id-94  .wp-block-post-title,
body.page-id-869 .entry-title,
body.page-id-94  .entry-title,
body.page-id-869 header.entry-header,
body.page-id-94  header.entry-header { display: none !important; }


/* Hide the first Spacer block if one exists at the top */
body.page-id-869 .wp-block-post-content > .wp-block-spacer:first-child,
body.page-id-94  .wp-block-post-content > .wp-block-spacer:first-child { display: none !important; }

/* Tighten inner rhythm */
body.page-id-869 .wp-block-post-content,
body.page-id-94  .wp-block-post-content,
body.page-id-869 .entry-content,
body.page-id-94  .entry-content { margin-top: 0 !important; padding-top: 0 !important; }

body.page-id-869 h1, body.page-id-869 h2, body.page-id-869 p,
body.page-id-94  h1, body.page-id-94  h2, body.page-id-94  p {
  margin-top: 6px !important;
  margin-bottom: 8px !important;
}
/* === Bridge page cleanup: ID 869 === */

/* Hide header & page title on this one page */
body.page-id-869 .site-header,
body.page-id-869 header.site-header,
body.page-id-869 .wp-block-post-title,
body.page-id-869 header.entry-header {
  display: none !important;
}

/* Remove all theme-level spacing above content */
body.page-id-869 .wp-site-blocks,
body.page-id-869 .wp-site-blocks > main,
body.page-id-869 main,
body.page-id-869 .wp-block-post-content,
body.page-id-869 .entry-content {
  --wp--style--root--padding-top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove any spacer block inserted at top */
body.page-id-869 .wp-block-post-content > .wp-block-spacer:first-child {
  display: none !important;
}

/* Tighten text rhythm */
body.page-id-869 h1,
body.page-id-869 h2,
body.page-id-869 p {
  margin-top: 6px !important;
  margin-bottom: 8px !important;
}
/* === Bridge page cleanup: ID 869 === */

/* Hide header & page title on this one page */
body.page-id-869 .site-header,
body.page-id-869 header.site-header,
body.page-id-869 .wp-block-post-title,
body.page-id-869 header.entry-header {
  display: none !important;
}

/* Remove all theme-level spacing above content */
body.page-id-869 .wp-site-blocks,
body.page-id-869 .wp-site-blocks > main,
body.page-id-869 main,
body.page-id-869 .wp-block-post-content,
body.page-id-869 .entry-content {
  --wp--style--root--padding-top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove any spacer block inserted at top */
body.page-id-869 .wp-block-post-content > .wp-block-spacer:first-child {
  display: none !important;
}

/* Tighten text rhythm */
body.page-id-869 h1,
body.page-id-869 h2,
body.page-id-869 p {
  margin-top: 6px !important;
  margin-bottom: 8px !important;
}
/* Ensure popup inner content is clickable */
.mailpoet_form_popup {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35) !important;
  position: relative !important;
  cursor: auto !important;
  pointer-events: auto !important;
}

/* Close button: big and tappable */
.mailpoet_form_popup_close,
.mailpoet_form_close_icon,
.mailpoet_form_popup [aria-label="Close"],
.mailpoet_form_popup .mp-close {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 44px !important;
  height: 44px !important;
  z-index: 10001 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* Center the card on tablet/desktop */
@media (min-width: 768px) {
  .mailpoet_form_popup {
    align-items: center !important;
    justify-content: center !important;
  }
	/* Mobile-only: don't hide or collapse images inside the MailPoet popup */
@media (max-width: 767.98px) {
  .mailpoet_form_popup img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  /* Preserve height if the image is a background on a wrapper */
  .mailpoet_form_popup [style*="background-image"] {
    min-height: 180px !important;
    background-size: cover !important;
    background-position: center !important;
  }
}
/* === Fix MailPoet popup image visibility on mobile === */
@media (max-width: 767.98px) {
  /* Keep popup visible and stacked properly */
  .mailpoet_form_popup {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Ensure columns stack vertically */
  .mailpoet_form_popup .mp-row,
  .mailpoet_form_popup .mp-columns {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  /* Keep the image (candle) visible */
  .mailpoet_form_popup img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 auto !important;
  }

  /* Restore any hidden column on mobile */
  .mailpoet_form_popup .mobile-hidden,
  .mailpoet_form_popup .hide-on-mobile,
  .mailpoet_form_popup .only-desktop {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
/* Mobile: center the MailPoet popup and keep the image visible */
@media (max-width: 767px) {
  .mailpoet_form_popup {
    width: 90% !important;
    max-width: 420px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 auto !important;
  }
  .mailpoet_form_popup img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
  /* Prevent overflow clipping */
  .mailpoet_form_popup,
  .mailpoet_form_popup * {
    overflow: visible !important;
  }
}
/* In case a container is collapsing on mobile */
.wp-block-image { overflow: visible; }

	.wp-block-image img{max-width:100%;height:auto}
.slf-hero, .slf-hero img{display:block}
@media (max-width: 600px){
  .slf-hero, .slf-hero *{display:block!important}
}
.entry-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 1.5em;
  border-radius: 12px;
}
	/* force header content left */
.site-header .wp-block-group,
.header-inner,
.wp-site-blocks header .wp-block-group {
  justify-content: flex-start !important;
  text-align: left !important;
}
/* push nav to the right if needed */
.wp-block-site-logo { margin-right: auto !important; }
/* prevent themes from centering site title */
.wp-block-site-title { text-align: left !important; }
	
}

}
/* Ensure HTML embeds + images display on mobile */
.gift-guide img,
.gift-guide iframe,
.slf-post img,
.slf-post iframe {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  display: block;
  visibility: visible !important;
}

/* Fix YouTube Short framing for mobile */
.wp-block-embed__wrapper iframe,
.wp-embed-aspect-9-16 iframe {
  aspect-ratio: 9/16;
  height: auto !important;
}

/* Remove Storefront iframe overflow clipping */
.entry-content iframe {
  max-height: 100% !important;
  overflow: visible !important;
}

/* Prevent image cropping inside cards */
.card img {
  object-fit: contain !important;
  height: auto !important;
}
/* --- SAFETY PATCH: make images render on mobile --- */

/* --- Force images to render on mobile (Storefront + custom blocks) --- */
@media (max-width: 768px) {
  img,
  .wp-block-image img,
  .slf-media img,
  .blog-card img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100% !important;
  }
}

/* Ensure card media has real height on iOS (aspect-ratio + abs fit) */
.slf-card{display:flex;flex-direction:column;min-height:0;}
.slf-media{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background:#fff;
  border-radius: 12px;
}
.slf-media img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;      /* keeps full image in frame */
}

/* Blog cards: make sure thumbnails show on mobile */
.blog-card{overflow:hidden;}
.blog-card img{
  display:block !important;
  width:100%;
  height:auto;
  aspect-ratio: 16 / 9;     /* prevents collapse before load */
  object-fit: cover;
}

/* Guardrail: Some themes hide images inside links on small screens */
a img{display:inline-block !important;}
 /* 🔧 Force images & video visible on single POSTS only */
.single-post .entry-content img,
.single-post .entry-content picture,
.single-post .entry-content figure img,
.
}

/* Prevent parent wrappers from hiding/cropping on mobile */
.single-post .entry-content figure,
.single-post .wp-block-image,
.single-post .wp-block-embed,
.single-post .wp-block-embed__wrapper {
  overflow: visible !important;
  min-height: 1px !important;
}

/* Gutenberg YouTube: keep Shorts in-frame (9:16) */
.single-post .wp-block-embed.is-provider-youtube.wp-embed-aspect-9-16 {
  max-width: 420px;           /* avoids super-tall, skinny look */
  margin: 16px auto;
}
.single-post .wp-block-embed.is-provider-youtube.wp-embed-aspect-9-16 .wp-block-embed__wrapper {
  position: relative;
  aspect-ratio: 9 / 16;
}
.single-post .wp-block-embed.is-provider-youtube.wp-embed-aspect-9-16 .wp-block-embed__wrapper iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}

/* Safety: neutralize common “hidden on mobile” classes in posts */
@media (max-width: 1024px) {
  .single-post .entry-content .hidden,
  .single-post .entry-content .is-hidden,
  .single-post .entry-content [style*="display:none"] {
    display: block !important;
  }
/* Fix hidden images in posts */
img {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Jetpack lazy load override */
img[data-lazy-loaded="true"],
img.lazy-loaded {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Remove Jetpack placeholding */
.jetpack-lazy-image {
  background: none !important;
}
	/* --- Force images to show inside blog posts on mobile --- */

  }
  .single-post .wp-block-image,
  .single-post .slf-media,
  .single-post .blog-card {
    display: block !important;
  }
}
	/* Jetpack/core lazy-load classes sometimes stay hidden on iOS */
img.lazyloaded,
img.lazy-loaded,
img[data-lazy-loaded="true"],
.jetpack-lazy-image img {
  opacity: 1 !important;
  visibility: visible !important;
}
	@media (max-width:768px){ .single-post img { display:block !important; } }
	/* — Fix images hidden on mobile for post layouts — */
@media (max-width: 768px) {
  /* All images inside blog posts */
  .single-post .entry-content img,
  .single-post .wp-block-image img,
  .single-post .slf-media img,
  .single-post .blog-card img {
    display:block !important;
    max-width:100% !important;
    height:auto !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  /* Make sure their containers don't collapse */
  .single-post .slf-media,
  .single-post .wp-block-image,
  .single-post .blog-card {
    display:block !important;
    min-height: 220px;           /* prevents 0-height boxes on Safari */
    background:#fff;
  }
}

/* Lazy-load classes sometimes stay invisible on iOS */


/* Your product card media: bulletproof sizing */
.slf-media{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.slf-media img{
  max-width:100% !important;
  max-height:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}
	/* BLOG CARDS: make sure thumbnails appear on mobile and don't collapse */
.single-post .blog-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:700px){.single-post .blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.single-post .blog-grid{grid-template-columns:repeat(3,1fr)}}

.single-post .blog-card{
  display:block;
  background:#fff;
  border:1px solid #e9e3dc;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  text-decoration:none;
  color:#141414;
}

/* ✅ The fix: force images visible & sized */
.single-post .blog-card img,
.single-post .wp-block-image img{
  display:block !important;
  width:100% !important;
  height:auto !important;            /* avoid stretched/hidden */
  max-width:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  object-fit:cover;                   /* nice crop inside card */
}

/* reserve height so iOS lazy-load doesn't leave a blank box */
.single-post .blog-card img{
  aspect-ratio:16/9;                  /* or 1/1 if you prefer square */
}

/* some lazy-load wrappers keep images invisible — neutralize */
.jetpack-lazy-image img,
img.lazyloaded, img.lazy-loaded, img[loading="lazy"]{
  opacity:1 !important;
  visibility:visible !important;
}
	/* === GLOBAL FIX: Unhide lazy images in posts (Storefront + Jetpack) === */

/* 1) Force visibility for any lazy state Jetpack/optimizers use */


/* 2) Make sure post images render with sane defaults */

/* 3) Prevent zero-height wrappers (common with custom HTML blocks) */


/* 4) Gutenberg embed wrappers sometimes pinch 9:16 on mobile */
.entry-content .wp-block-embed.is-provider-youtube,
.entry-content .wp-block-embed__wrapper {
  max-width: 100% !important;
}

/* 5) If a theme sets weird overflow on post content, neutralize */
.entry-content, .hentry .entry-content {
  overflow: visible !important;
}
/* Hide Storefront's top featured image on all single posts */
.single-post .post-thumbnail,
.single-post .post-thumbnail img {
  display: none !important;
}
/* === DIAGNOSTIC UNHIDE: mobile images in single posts === */

  /* Neutralize any accidental "content-visibility" or weird overflow */
  .single-post .entry-content * {
    content-visibility: visible !important;
    overflow: visible;
  }
}

/* Prevent the hero file from ever being used inside product image areas as a fallback */
.slf-media img[src*="TopHydrationPicksBanner"],
.entry-content img[src*="TopHydrationPicksBanner"] {
  display:none !important;
}
	/* ——— Fix mobile images hidden in POSTS (Storefront) ——— */
@media (max-width: 768px){
  /* Unhide images + figures inside post content */
  .single-post .entry-content img,
  .single-post .entry-content picture,
  .single-post .wp-block-image,
  .single-post .wp-block-image > img,

  }

  /* Neutralize any layout clipping on wrappers */
  .single-post .entry-content figure,
  .single-post .wp-block-image {
    overflow:visible !important;
    max-width:100% !important;
  }

  /* Kill any “content-visibility” or placeholder tricks that hide children */
  

  /* Make sure Gutenberg embed wrapper doesn't collapse */
 .single-post .wp-block-embed__wrapper {
    height:auto !important;
    min-height: 1px !important;
  }
}

/* If a plugin swaps a missing image with your hero, block that specific file */
.

/* Safety: prevent any lazy placeholder backgrounds from masking the image */
background:none !important; }
	/* ——— Fix mobile images hidden in POSTS (Storefront) ——— */
@media (max-width: 768px){
  /* Unhide images + figures inside post content */
  .single-post .entry-content img,
  .single-post .entry-content picture,
  .single-post .wp-block-image,
  .single-post .wp-block-image > img,
  .single-post .entry-content figure,
  .single-post .slf-media img {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }

  /* Neutralize any layout clipping on wrappers */
  .single-post .entry-content figure,
  .single-post .wp-block-image {
    overflow:visible !important;
    max-width:100% !important;
  }

  /* Kill any “content-visibility” or placeholder tricks that hide children */
  .single-post .entry-content * {
    content-visibility: visible !important;
    contain-intrinsic-size: auto !important;
  }

  /* Make sure Gutenberg embed wrapper doesn't collapse */
  .single-post .wp-block-embed__wrapper {
    height:auto !important;
    min-height: 1px !important;
  }
}

/* If a plugin swaps a missing image with your hero, block that specific file */
.single-post .slf-media img[src*="TopHydrationPicksBanner"] { display:none !important; }

/* Safety: prevent any lazy placeholder backgrounds from masking the image */
.single-post .entry-content img[loading="lazy"] { background:none !important; }
/* RESCUE: stop Storefront from injecting/duplicating hero or hiding media */
.single-post .entry-header .post-thumbnail { display: none !important; }

/* Make any post content images/iframes actually render (beats lazyload) */
.entry-content img,
.entry-content img[loading],
.entry-content img[decoding] { opacity: 1 !important; visibility: visible !important; max-width: 100%; height: auto; }

/* Keep iframes visible and responsive */
.entry-content iframe { max-width: 100%; border: 0; }
/* RESCUE: stop Storefront from injecting/duplicating hero or hiding media */
.single-post .entry-header .post-thumbnail { display: none !important; }

/* Make any post content images/iframes actually render (beats lazyload) */
.entry-content img,
.entry-content img[loading],
.entry-content img[decoding] { opacity: 1 !important; visibility: visible !important; max-width: 100%; height: auto; }

/* Keep iframes visible and responsive */
.entry-content iframe { max-width: 100%; border: 0; }
/* ——— Header quick fix (Storefront) ——— */
.site-header .custom-logo-link img {
  max-height: 40px !important;
  width: auto !important;
}
@media (min-width: 768px){
  .site-header .custom-logo-link img { max-height: 56px !important; }
}

/* Optional: hide search + cart in header */
.site-header .site-search,
.site-header .site-header-cart {
  display: none !important;
}
/***********************
PASTE THIS CSS INTO:
Appearance → Customize → Additional CSS
THEN CLICK PUBLISH
***********************/

/* 1) Remove the duplicate Storefront hero on all single posts */
.single-post .entry-header .wp-post-image,
.single-post .storefront-featured-image,
.single-post .storefront-featured-image img,
.single-post .wp-block-post-featured-image,
.single-post .wp-block-post-featured-image img { display: none !important; }

/* — If you prefer to hide only on ONE post, use this instead:
   Replace 1234 with your body class .postid-1234 and UNcomment:

.postid-1234 .entry-header .wp-post-image,
.postid-1234 .storefront-featured-image,
.postid-1234 .storefront-featured-image img,
.postid-1234 .wp-block-post-featured-image,
.postid-1234 .wp-block-post-featured-image img { display: none !important; }
*/

/* 2) Gift block layout (scoped) */
.giftkit { max-width:1080px; margin:0 auto; padding:0 16px 24px; box-sizing:border-box; }
.giftkit *, .giftkit *::before, .giftkit *::after { box-sizing:border-box; }

/* Hero */
.giftkit-hero img { display:block; width:100%; height:auto; margin:0 0 16px; border-radius:12px; }

/* Grid: 1/2/3 columns so cards aren’t giant on desktop */
.giftkit-grid { display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:520px){ .giftkit-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:900px){ .giftkit-grid { grid-template-columns:repeat(3,1fr); } }

.giftkit-card { background:#fff; border:1px solid #eee; border-radius:14px; padding:12px; text-align:center; }

/* Card images: consistent size */
.giftkit-img {
  display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:#fff;
  min-height:170px; max-height:clamp(170px,18vw,220px); margin:0 auto 10px;
}

/* Titles & buttons (not full width) */
.giftkit-title { font-size:1rem; line-height:1.25; margin:6px 0 10px; }
.giftkit-btn1, .giftkit-btn2 {
  display:inline-block; text-decoration:none; border-radius:12px; padding:10px 14px; margin:.35rem .25rem;
  min-width:170px; max-width:240px; text-align:center;
}
.giftkit-btn1 { background:#000; color:#fff; font-weight:700; }
.giftkit-btn2 { background:#f4f4f5; color:#111; border:1px solid #e5e7eb; font-weight:600; }

/* Screen-reader helper */
.giftkit-sr {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* 3) Make the header logo larger (Storefront common selectors) */
.site-branding .custom-logo,
.site-header .custom-logo,
.site-branding .site-logo-link img,
.site-header .site-logo-link img {
  height:72px !important; width:auto !important; max-width:80vw !important;
}
@media (min-width:768px){
  .site-branding .custom-logo,
  .site-header .custom-logo,
  .site-branding .site-logo-link img,
  .site-header .site-logo-link img { height:84px !important; }
}
/* --- Smart Living Finds Header & Menu Unified Styling --- */

/* General button look */
.main-navigation .menu > li > a {
  border-radius: 30px;
  padding: 8px 18px;
  border: 1px solid #ddd;
  background: #fff;
  color: #000;
  transition: all 0.25s ease-in-out;
}

/* Hover + Focus: Smart Living Finds green */
.main-navigation .menu > li > a:hover,
.main-navigation .menu > li > a:focus {
  background: #7db9b6;          /* brand green */
  color: #fff !important;
  border-color: #7db9b6;
}

/* Active / Current page */
.main-navigation .menu > li.current-menu-item > a,
.main-navigation .menu > li.current_page_item > a {
  background: #7db9b6;          /* match hover color */
  color: #fff !important;
  border-color: #7db9b6;
}

/* Smooth click & touch */
.main-navigation .menu > li > a {
  -webkit-tap-highlight-color: transparent;
}
/* --- Larger Logo for Main Domain --- */
.site-logo img {
  max-height: 350px !important;  /* increase logo height */
  height: auto;
  width: auto;
}

@media (max-width: 768px) {
  .site-logo img {
    max-height: 350px !important; /* scale slightly smaller on mobile */
  }
}
/* --- Larger Logo for Main Domain --- */
.site-logo img {
  max-height: 500px !important;  /* increase logo height */
  height: auto;
  width: auto;
}

@media (max-width: 768px) {
  .site-logo img {
    max-height: 500px !important; /* scale slightly smaller on mobile */
  }
}
/* === Make Storefront header logo larger === */
.site-branding img.custom-logo {
  max-height: 160px !important;  /* increase number for larger */
  width: auto !important;
}

/* Optional: add a little vertical padding so it breathes */
.site-header .site-branding {
  padding-top: 10px;
  padding-bottom: 10px;
}
/* === GLOBAL HEADER WRAP LOOK === */
header.site-header,
header.site-header .col-full {
  background-color: #f8f8f6 !important; /* warm light gray like gift site */
  border-bottom: 1px solid rgba(0,0,0,0.07);
  box-shadow: none;
  padding-top: 16px;
  padding-bottom: 16px;
}

/* Storefront tends to left-align logo + nav in one row.
   We want: logo centered above nav row. */
header.site-header .site-branding,
header.site-header .site-branding .site-logo,
header.site-header .site-branding a {
  display: block;
  text-align: center;
  margin: 0 auto 12px auto !important;
}

/* If your logo is an image */
header.site-header .site-branding img {
  width: 96px;
  height: auto;
  border-radius: 999px;              /* match the round badge feel */
  border: 1px solid rgba(0,0,0,0.2);
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  background: #b3d8cf;               /* mint/teal badge color */
  padding: 8px;                      /* optional if the file has transparent bg */
  display: block;
  margin: 0 auto;
}

/* Kill Storefront's default "inline" flex row layout on desktop
   and force nav to center under logo. */
header.site-header .site-header-cart,
header.site-header .main-navigation {
  width: 100%;
  text-align: center;
}

/* Keep cart/search icons from shoving nav off to the side */
header.site-header .site-header-cart {
  order: 3;
  margin-top: 12px;
}
header.site-header .main-navigation {
  order: 2;
}

/* Make sure the header inner container behaves like stacked blocks */
header.site-header .col-full {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* === NAV MENU AS PILLS === */
#site-navigation ul.menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 16px;           /* row gap / column gap */
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Top-level links */
#site-navigation ul.menu > li > a {
  display: inline-block;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
  color: #1a1a1a;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
  transition: all 0.15s ease;
  text-transform: none;        /* Storefront likes uppercase sometimes */
  letter-spacing: 0;
}

/* Active / hover state = teal bubble */
#site-navigation ul.menu > li:hover > a,
#site-navigation ul.menu > li.focus > a,
#site-navigation ul.menu > li.current-menu-item > a,
#site-navigation ul.menu > li.current_page_item > a {
  background-color: #b3d8cf;
  color: #111;
  border-color: #b3d8cf;
}

/* === DROPDOWN STYLING === */
#site-navigation ul.menu li ul.sub-menu {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.12);
  padding: 8px 0;
  min-width: 180px;
  margin-top: 8px;
  text-align: left;
  z-index: 9999;
}

/* Make sure Storefront doesn't stretch the dropdown full-width */
#site-navigation ul.menu li {
  position: relative;
}
#site-navigation ul.menu li ul.sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
}

/* Each dropdown link */
#site-navigation ul.menu li ul.sub-menu li a {
  display: block;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 16px !important;
  font-size: 15px;
  line-height: 1.3;
  color: #1a1a1a !important;
  white-space: nowrap;
  text-decoration: none;
}

/* Hover inside dropdown */
#site-navigation ul.menu li ul.sub-menu li a:hover {
  background: #b3d8cf !important;
  color: #111 !important;
  border-radius: 6px !important;
}

/* Remove caps/letterspacing on dropdown too */
#site-navigation ul.menu li ul.sub-menu li a {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* === MOBILE BEHAVIOR === */
@media (max-width: 768px) {
  /* Let Storefront still use its hamburger, but keep branding centered */
  header.site-header .col-full {
    align-items: center;
  }

  /* shrink pills a bit */
  #site-navigation ul.menu > li > a {
    font-size: 15px;
    padding: 10px 14px;
  }

  /* On mobile, Storefront often turns dropdowns into a vertical accordion.
     This makes them look like our dropdown panel. */
  #site-navigation.toggled ul.menu,
  #site-navigation.toggled ul.sub-menu {
    box-shadow: 0 12px 24px rgba(0,0,0,0.08);
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.15);
    background: #fff;
    padding: 8px 0;
  }

  #site-navigation.toggled ul.menu > li {
    text-align: left;
    width: 100%;
  }

  #site-navigation.toggled ul.menu > li > a {
    display: block;
    width: 100%;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(0,0,0,0.07);
    background: transparent;
    text-align: left;
  }

  #site-navigation.toggled ul.menu > li:last-child > a {
    border-bottom: 0;
  }
}
/* FORCE header logo to match Kadence look/size */

/* Storefront usually wraps the logo in .custom-logo-link and the img has .custom-logo */
.site-header .site-branding .custom-logo {
  width: 115px !important;        /* match Kadence scale */
  height: auto !important;
  display: block;
  margin: 0 auto;
  border-radius: 999px;           /* circle */
  background: #b3d8cf;            /* mint-teal */
  border: 1.5px solid rgba(0,0,0,0.5);
  box-shadow: 0 10px 25px rgba(0,0,0,0.12);
  padding: 10px;
}

/* tighten vertical spacing under the logo */
.site-header .site-branding {
  margin-bottom: 6px !important;
  text-align: center;
}

/* center-align nav row under the logo (Storefront sometimes left-aligns) */
.site-header .main-navigation {
  text-align: center;
}
.site-header .main-navigation ul.menu,
.site-header .main-navigation ul.nav-menu {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

/* pill button styling on main site, so it matches gift site */
.site-header .main-navigation ul li a {
  display: inline-block;
  padding: 10px 16px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 999px;
  background: rgba(255,255,255,0.4);
  font-size: 15px;
  line-height: 1.2;
  color: #000;
}
.site-header .main-navigation ul li:hover > a,
.site-header .main-navigation ul li:focus-within > a {
  background: #000;
  color: #fff;
  border-color: #000;
}

/* dropdown panel look */
.site-header .main-navigation ul li ul.sub-menu {
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 8px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.18);
  padding: 12px 16px;
}
.site-header .main-navigation ul li ul.sub-menu li a {
  border-radius: 4px;
  background: transparent;
  border: 0;
  padding: 8px 12px;
  white-space: nowrap;
  font-size: 15px;
  line-height: 1.4;
  color: #000;
}
.site-header .main-navigation ul li ul.sub-menu li a:hover {
  background: rgba(0,0,0,0.08);
  color: #000;
}
/* --- Make logo match Kadence version (no border, clean badge) --- */
.site-header .site-branding .custom-logo {
  width: 115px !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
  border-radius: 999px;         /* keeps the circular shape */
  background: #b3d8cf;          /* mint-teal background color */
  border: none !important;      /* removes border around logo */
  box-shadow: none !important;  /* removes any shadow */
  padding: 10px;                /* consistent spacing */
}

/* tighten spacing below logo for visual balance */
.site-header .site-branding {
  margin-bottom: 6px !important;
}
/* --- Display uploaded logo exactly as-is, no background or border --- */
.site-header .site-branding .custom-logo {
  width: 115px !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
  border: none !important;
  border-radius: 0 !important; /* removes forced circle frame */
  background: none !important; /* removes teal overlay */
  box-shadow: none !important;
  padding: 0 !important; /* prevents extra space */
}

/* keep centered layout and spacing */
.site-header .site-branding {
  margin-bottom: 6px !important;
  text-align: center;
}
.site-header .site-branding .custom-logo {
  width: 125px !important;
}
.slf-social-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  font-size: 22px;
  color: #000;
}

.slf-social-row a {
  color: #000;
  text-decoration: none;
  line-height: 1;
}

/* make sure it's never hidden on mobile */
@media (max-width: 600px) {
  .slf-social-row {
    display: flex !important;
    font-size: 24px; /* slightly bigger tap targets */
    gap: 20px;
  }
}
/* hide all submenus by default */
.menu-item-has-children .sub-menu {
  position: absolute;
  z-index: 9999;
  min-width: 220px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 6px;
  padding: 8px 0;
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}

/* show only the one we "opened" with JS */
.menu-item-has-children .sub-menu.is-open {
  display: block;
}

/* make each dropdown link feel tappable */
.menu-item-has-children .sub-menu li > a {
  display: block;
  padding: 10px 14px;
  line-height: 1.4;
  white-space: nowrap;
  color: #000;
  text-decoration: none;
}

/* hover style (desktop nice-to-have) */
.menu-item-has-children .sub-menu li > a:hover {
  background-color: #d4e7dc; /* your mint tone */
}
/* Fix contact page footer spacing */
.page-id-55 .mailpoet_form, 
.page-id-55 .wp-block-mailpoet-form,
.page-id-55 .join-the-list {
  margin-top: 40px !important;
  clear: both;
  display: block;
}

/* Keep image and text from overlapping */
.page-id-55 img {
  display: block;
  margin-bottom: 30px;
}
/* === Smart Living Finds - Pill Style Nav to Match Gift Site === */

/* Default (idle) state */
header.site-header nav a,
header.site-header nav a .menu-item-link-wrap {
  background-color: transparent !important;
  border-radius: 9999px !important;
  padding: 10px 18px !important;
  display: inline-block !important;
  line-height: 1.2 !important;
  color: #111111 !important;
  font-weight: 500 !important;
  border: none !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

/* Hover + Current page */
header.site-header nav a:hover,
header.site-header nav .current-menu-item > a,
header.site-header nav .current-menu-ancestor > a,
header.site-header nav a:hover .menu-item-link-wrap,
header.site-header nav .current-menu-item > a .menu-item-link-wrap {
  background-color: #91B6B9 !important;  /* Brand teal */
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

/* Spacing between pills */
header.site-header nav li.menu-item {
  margin: 0 6px !important;
}

/* Dropdown container (rounded panel) */
header.site-header nav ul ul.sub-menu {
  background-color: #ffffff !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.08) !important;
  padding: 6px 0 !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
}

/* Dropdown links */
header.site-header nav ul ul.sub-menu > li > a {
  background: transparent !important;
  border-radius: 8px !important;
  padding: 8px 14px !important;
  color: #111111 !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

/* Dropdown hover */
header.site-header nav ul ul.sub-menu > li > a:hover {
  background-color: #91B6B9 !important;
  color: #ffffff !important;
}
/* Hide Contact in the desktop row if space is tight */
@media (min-width: 768px) {
  header.site-header nav ul.menu > li.menu-item a[href*="contact"] {
    display: none !important;
  }
}

/* Make sure it still shows on mobile */
@media (max-width: 767px) {
  .kadence-navigation-drawer nav a[href*="contact"] {
    display: block !important;
  }
}
.single-post .entry-content > .kb-row-layout-wrap:first-child,
.single-post .entry-content > .wp-block-group:first-child {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}
//* 🧩 Clean hero for “FSA/HSA Electrolytes Guide” post (ID 1411) */
.postid-1411 .entry-content > figure.wp-block-image:first-of-type,
.postid-1411 .entry-content > p:first-of-type img {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* Remove hero styling on post ID 1411 only */
body.postid-1411 .wp-block-image:first-of-type,
body.postid-1411 .wp-block-image:first-of-type figure,
body.postid-1411 .wp-block-image:first-of-type img {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Storefront sometimes wraps images in a framed div */
body.postid-1411 .entry-content > *:first-child,
body.postid-1411 .entry-content > *:first-child img {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
* Remove the gray hero-style card wrapper from the FSA/HSA Electrolytes post only */
.postid-1411 .entry-content > *:first-child,
.postid-1411 .entry-content > *:first-child figure,
.postid-1411 .entry-content > .wp-block-group:first-child,
.postid-1411 .entry-content > .wp-block-columns:first-child,
.postid-1411 .entry-content > .wp-block-image:first-child {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ALSO kill any “card” styling the theme is applying to early sections in the post */
.postid-1411 .entry-content .wp-block-group.is-style-shadow,
.postid-1411 .entry-content .wp-block-group.has-background,
.postid-1411 .entry-content .wp-block-group {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Make sure your Smart Tip row is allowed to be full width, not trapped in a “card” */
.postid-1411 .entry-content section[style*="margin-top"],
.postid-1411 .entry-content section .wp-block-group {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  padding: 0 !important;
}
/* Remove the gray hero-style card wrapper from the FSA/HSA Electrolytes post only */
.postid-1411 .entry-content > *:first-child,
.postid-1411 .entry-content > *:first-child figure,
.postid-1411 .entry-content > .wp-block-group:first-child,
.postid-1411 .entry-content > .wp-block-columns:first-child,
.postid-1411 .entry-content > .wp-block-image:first-child {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ALSO kill any “card” styling the theme is applying to early sections in the post */
.postid-1411 .entry-content .wp-block-group.is-style-shadow,
.postid-1411 .entry-content .wp-block-group.has-background,
.postid-1411 .entry-content .wp-block-group {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Make sure your Smart Tip row is allowed to be full width, not trapped in a “card” */
.postid-1411 .entry-content section[style*="margin-top"],
.postid-1411 .entry-content section .wp-block-group {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border: 0 !important;
  padding: 0 !important;
}
Pam Saling:
	/* Kill the gray rounded hero box JUST on the FSA/HSA electrolytes post */
.postid-1411 .entry-content > *:first-child,
.postid-1411 .entry-content > *:first-child figure,
.postid-1411 .entry-content > .wp-block-group:first-child,
.postid-1411 .entry-content > .wp-block-columns:first-child,
.postid-1411 .entry-content > .wp-block-image:first-child {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Make sure later sections (like 💡 Smart Tip) don't get sucked into that same gray card */
.postid-1411 .entry-content section,
.postid-1411 .entry-content .wp-block-group,
.postid-1411 .entry-content .wp-block-columns {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Remove any weird overflow/rounded wrapper your theme might inject around inline HTML blocks */
.postid-1411 .entry-content .slf-hero,
.postid-1411 .entry-content .slf-intro {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 1rem 0 !important;
}
	/* Kill the gray rounded hero box JUST on the FSA/HSA electrolytes post */
.postid-1411 .entry-content > *:first-child,
.postid-1411 .entry-content > *:first-child figure,
.postid-1411 .entry-content > .wp-block-group:first-child,
.postid-1411 .entry-content > .wp-block-columns:first-child,
.postid-1411 .entry-content > .wp-block-image:first-child {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Make sure later sections (like 💡 Smart Tip) don't get sucked into that same gray card */
.postid-1411 .entry-content section,
.postid-1411 .entry-content .wp-block-group,
.postid-1411 .entry-content .wp-block-columns {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Remove any weird overflow/rounded wrapper your theme might inject around inline HTML blocks */
.postid-1411 .entry-content .slf-hero,
.postid-1411 .entry-content .slf-intro {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 1rem 0 !important;
}
.slf-hero img {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
.yt-wrap{
  position:relative;
  width:100%;
  max-width:900px;
  margin:16px auto;
  aspect-ratio:16/9;
  border-radius:12px;
  overflow:hidden;
}
.yt-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.yt-caption{
  font:500 14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#444;
  text-align:center;
  margin-top:6px;
}
.slf-wrap{max-width:860px;margin:0 auto;padding:0 12px} .slf-sub{color:#475569;margin:.25rem 0 1rem} .slf-note{background:#f8fafc;padding:14px;border-left:4px solid #10b981;border-radius:10px;margin:16px 0} .slf-h2{margin:22px 0 10px} .slf-list{margin:.25rem 0 0 1.2rem} .slf-mini{font-size:.92rem;color:#64748b} .slf-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px} .slf-card{grid-column:span 12;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px} .slf-card h3{margin:.25rem 0 .5rem;font-size:1.1rem} .slf-card p{margin:.25rem 0} @media (min-width:720px){.slf-card{grid-column:span 6}} .slf-cta{display:inline-block;margin:.5rem .5rem 0 0;padding:.6rem 1rem;border-radius:999px;font-weight:600;text-decoration:none} .slf-cta-primary{background:#0f172a;color:#fff} .slf-cta-secondary{background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1} .slf-table{width:100%;border-collapse:collapse;margin:12px 0} .slf-table th,.slf-table td{border:1px solid #e5e7eb;padding:.6rem;text-align:left} .slf-table th{background:#f1f5f9} .wp-block-image img{max-width:100%;height:auto;display:block} 
<!-- wp:html -->
.grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin-top: 16px;
}
.card {
  background: var(--card, #fff);
  border: 1px solid #eee;
  border-radius: var(--radius, 16px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.card figure {
  margin: 0;
  aspect-ratio: 1 / 1;
  background: #f3f3f7;
  display: grid;
  place-items: center;
}
.card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pad { padding: 14px; }
.sign { margin: 0 0 4px; font-weight: 800; }
.tag { margin: 0 0 10px; color: var(--muted, #666); }
.pill {
  display: inline-block;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid #ddd;
  text-decoration: none;
  color: var(--ink, #111);
  font-weight: 700;
}
.pill:hover { border-color: #bbb; }

/* --- mobile tuning to keep cards visually even --- */
@media (max-width: 768px) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
  }
  .pad { padding: 12px; }
  .sign { font-size: 15px; }
  .tag { font-size: 14px; line-height: 1.45; }
}
<!-- /wp:html -->
.slf-disclosure {text-align:center;font-size:13px;line-height:1.6;color:#666;background:#fafafa;padding:14px 10px;margin-top:10px;border-top:1px solid #eee}
/* ---- Storefront: unify button styling (posts + pages + Woo) ---- */

/* Core/Gutenberg buttons */
.wp-block-button__link,
.wp-element-button {
  color:#111111 !important;              /* text */
  background:#ffffff !important;         /* fill */
  border:1.5px solid #111111 !important; /* border */
  border-radius:50px !important;         /* pill */
  padding:.65em 1.5em !important;
  line-height:1.1;
  text-decoration:none !important;
}

/* Hover/focus */
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-element-button:hover,
.wp-element-button:focus {
  color:#111111 !important;
  background:#F1ECE5 !important;         /* cozy cream hover */
  border-color:#111111 !important;
}

/* Outline style buttons (Gutenberg “Outline”) */
.wp-block-button.is-style-outline .wp-block-button__link {
  color:#111111 !important;
  background:transparent !important;
  border:1.5px solid #111111 !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background:#F1ECE5 !important;
}

/* WooCommerce buttons (keeps cart/checkout consistent) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.added_to_cart,
.cart button,
.checkout-button {
  color:#111111 !important;
  background:#ffffff !important;
  border:1.5px solid #111111 !important;
  border-radius:50px !important;
  padding:.6em 1.3em !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.added_to_cart:hover {
  background:#F1ECE5 !important;
  color:#111111 !important;
  border-color:#111111 !important;
}

/* Make sure links styled as buttons don't inherit white text */
.entry-content a.button,
.entry-content .button {
  color:#111111 !important;
}

/* Improve tap targets on mobile */
@media (max-width: 782px) {
  .wp-block-button__link,
  .wp-element-button,
  .woocommerce a.button,
  .woocommerce button.button {
    padding:.8em 1.6em !important;
  }
}
/* Ensure wrappers create space */
.gift-img-wrap {
  position: relative;
  display: block;
  width: 100%;
  /* Option A: fixed aspect ratio frame (square) */
  aspect-ratio: 1 / 1;
  /* Or Option B: min-height if you prefer */
  /* min-height: 320px; */
  overflow: hidden; /* keeps rounded corners from clipping the image */
}

/* Make the image actually paint */
.gift-img {
  display: block;           /* avoids stray inline gaps */
  width: 100%;
  height: 100%;
  object-fit: cover;        /* nice crop inside the frame */
  object-position: center;
  opacity: 1;               /* protect against theme animations setting 0 */
  visibility: visible;
}

/* Kill double-lazy styles some plugins inject */
img.lazyloaded, img.is-lazyloaded, .gifto-img.lazyload {
  opacity: 1 !important;
  visibility: visible !important;
}

/* If something set absolute positioning, force normal flow */
.gift-img:not([style*="position:"]) {
  position: static;
}
/* Generic buttons (Woo + Blocks + Core) */
.button,
.woocommerce a.button,
.woocommerce button.button,
.wp-element-button,
.wp-block-button__link {
  background: #111;           /* dark default */
  color: #fff !important;
  border: 1px solid #111;
  border-radius: 999px;
  padding: 10px 16px;
  line-height: 1.2;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Hover/focus states */
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.button:focus,
.wp-block-button__link:focus {
  background: #91B6B9;        /* your teal */
  border-color: #91B6B9;
  color: #111 !important;      /* strong contrast on teal */
}

/* Outline/secondary style if used */
.button.is-style-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
  background: #fff;
  color: #111 !important;
  border: 1px solid #91B6B9;
}
.button.is-style-outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #91B6B9;
  color: #111 !important;
}

/* Ensure links styled as buttons inside white sections stay visible */
a.button, .wp-block-button__link {
  box-shadow: none;
}

/* If Storefront variables override, harden contrast */
:root {
  --button-background: #111;
  --button-text: #fff;
}
/* Nav menu spacing cleanup */
#site-navigation .main-navigation ul li a {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

/* Keep Cozy Ritual cloud icon from drifting */
#site-navigation .main-navigation ul li a span {
  margin-left: 2px;
}
#site-navigation .main-navigation ul li a {
  line-height: 1.2;
}
/* Desktop primary menu spacing */
.primary-navigation > ul > li { margin: 0 10px; }             /* reduce gap */
.primary-navigation > ul > li > a { padding: 10px 8px; }      /* tighter hit area */

/* Keep dropdowns neat */
.primary-navigation .sub-menu a { padding: 8px 12px; }

/* Mobile menu (optional) */
.mobile-navigation .menu-item a { padding: 12px 14px; }
/* Reduce horizontal space between menu items in Storefront */
.main-navigation ul.menu {
  display: flex !important;
  gap: 12px !important;   /* adjust this number to tighten/loosen */
}

/* Reduce padding on each clickable link */
.main-navigation ul.menu > li > a {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

/* Keep Cozy Ritual cloud from drifting */
.main-navigation ul.menu > li > a span {
  margin-left: 2px !important;
}
/* Limit video & headshot card width on desktop */
@media (min-width: 900px) {
  /* Video card + Meet Pam card */
  .wp-block-column {
    max-width: 420px;   /* adjust smaller or bigger here */
    margin: 0 auto;
  }
}

/* Make sure the YouTube embed stays tall like a Short */
.wp-block-embed__wrapper iframe {
  aspect-ratio: 9 / 16;
  height: auto;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
}

/* Make sure your headshot never stretches too large */
.wp-block-image img {
  max-width: 420px;     /* same desktop cap */
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  margin: 0 auto;
}
/* Limit the size of vertical video embeds on desktop */
@media (min-width: 900px) {
  .wp-block-embed,
  .wp-block-embed__wrapper iframe,
  iframe[src*="youtube"] {
    max-width: 380px !important;
    width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    border-radius: 12px;
  }
}

/* Maintain the tall cozy vertical feel */
.wp-block-embed__wrapper,
iframe[src*="youtube"] {
  aspect-ratio: 9 / 16 !important;
  object-fit: cover;
}
/* Cozy Slippers Post Styling (Smart Living Finds) */
.cozy-slippers-2025 .hero,
.cozy-slippers-2025 section{
  background:#faf8f6;             /* linen/cream */
  border-radius:20px;
  padding:24px;
  margin-bottom:28px;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.cozy-slippers-2025 h2{color:#463f3a;font-weight:600}
.cozy-slippers-2025 h3{color:#5a524c;margin-top:12px}
.cozy-slippers-2025 figure{margin:0 0 12px}
.cozy-slippers-2025 figcaption{font-size:.9rem;color:#8a7f76}
.cozy-slippers-2025 a.btn{
  display:inline-block;
  background:#bfaea0;             /* warm taupe; swap for teal if you want */
  color:#fff;
  padding:10px 20px;
  border-radius:40px;
  text-decoration:none;
  transition:background .2s ease, transform .05s ease;
}
.cozy-slippers-2025 a.btn:hover{background:#a48f7c}
.cozy-slippers-2025 a.btn:active{transform:translateY(1px)}
.related-searches {
  background: #FAF7F2; /* cozy cream */
  padding: 24px 22px;
  border-radius: 14px;
  margin-top: 40px;
  margin-bottom: 20px;
  font-family: 'Montserrat', sans-serif;
  border: 1px solid #f0ece6;
}

.related-searches h3 {
  font-size: 20px;
  margin-bottom: 14px;
  color: #444;
  font-weight: 600;
}

.related-searches ul {
  padding-left: 20px;
  margin: 0;
}

.related-searches li {
  margin-bottom: 8px;
  color: #555;
  font-size: 15px;
  line-height: 1.5;
}

.related-searches a {
  color: #6A8A8C; /* subtle cozy teal accent */
  text-decoration: none;
}

.related-searches a:hover {
  text-decoration: underline;
}
/* ------------------------------- */
/*  COZY BLOG POST VIBES           */
/* ------------------------------- */

.cozy-post {
  font-family: "Cormorant Garamond", serif !important;
  line-height: 1.7;
  color: #333;
  font-size: 1.15rem;
  max-width: 850px;
  margin: 0 auto;
  padding: 0 18px;
}

/* Soft serif heading style */
.cozy-post h1,
.cozy-post h2,
.cozy-post h3 {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 600;
  color: #2f2f2f;
  letter-spacing: 0.3px;
}

/* Cozy H1 */
.cozy-post h1 {
  font-size: 2.6rem;
  margin-top: 10px;
  margin-bottom: 18px;
}

/* Cozy H2 */
.cozy-post h2 {
  font-size: 1.9rem;
  margin-top: 36px;
  margin-bottom: 14px;
}

/* Cozy H3 */
.cozy-post h3 {
  font-size: 1.4rem;
  margin-top: 24px;
  margin-bottom: 8px;
}

/* Paragraph styling */
.cozy-post p {
  font-size: 1.15rem;
  margin-bottom: 18px;
  color: #444;
}

/* Lists */
.cozy-post ul,
.cozy-post ol {
  margin-left: 20px;
  margin-bottom: 18px;
}

/* Product grid coziness */
.cozy-post .product-list {
  gap: 28px !important;
}

.cozy-post .product-list img {
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08) !important;
  transition: transform 0.25s ease;
}

.cozy-post .product-list img:hover {
  transform: translateY(-3px);
}

/* Hero & in-post images */
article.matcha-banana-pancakes.cozy-post {
  max-width: 850px;
  margin: 0 auto;
  padding: 0 18px 40px;
  font-family: "Cormorant Garamond", serif !important;
  line-height: 1.7 !important;
  color: #333;
}

/* Headings & paragraphs (optional but nice) */
article.matcha-banana-pancakes.cozy-post h1,
article.matcha-banana-pancakes.cozy-post h2,
article.matcha-banana-pancakes.cozy-post h3 {
  font-family: "Cormorant Garamond", serif !important;
}

article.matcha-banana-pancakes.cozy-post p {
  font-size: 1.15rem !important;
  color: #444;
  margin-bottom: 18px !important;
}
.cozy-buttons {
  display: flex;
  gap: 14px;
  margin: 24px 0 36px;
  flex-wrap: wrap;
}

.cozy-pill {
  display: inline-block;
  padding: 10px 22px;
  background: #f3f7f8;
  border-radius: 40px;
  color: #6c9091 !important;
  font-size: 1.05rem;
  font-weight: 600;
  border: 1px solid #d9e5e6;
  text-decoration: none !important;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.cozy-pill:hover {
  background: #e3ecec;
  border-color: #c3d4d5;
  color: #5b7e7f !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}
.faq-section {
  max-width: 850px;
  margin: 0 auto 40px auto;
  padding: 18px 18px 24px;
  font-family: "Cormorant Garamond", serif !important;
  background: #faf6f2;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

.faq-section h3 {
  font-size: 1.3rem;
  margin-top: 18px;
  margin-bottom: 6px;
  color: #444;
}

.faq-section p {
  font-size: 1.05rem;
  margin-left: 6px;
  margin-bottom: 10px;
  color: #555;
}
/* ---------------------------
   Cozy Accordion Styling
----------------------------*/
.slf-accordion {
  margin-top: 32px;
}

.slf-accordion-item {
  background: #ffffff;
  border-radius: 16px;
  margin-bottom: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  overflow: hidden;
  padding: 0;
}

.slf-accordion-header {
  cursor: pointer;
  padding: 18px 20px;
  font-size: 1.05rem;
  font-weight: bold;
  position: relative;
}

.slf-accordion-header:after {
  content: '+';
  position: absolute;
  right: 20px;
  font-size: 22px;
  transition: transform 0.3s ease;
}

.slf-accordion-header.active:after {
  transform: rotate(45deg);
}

.slf-accordion-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;
  transition: max-height 0.35s ease;
  background: #fdfcfb;
}

.slf-accordion-content p {
  padding: 15px 0 20px 0;
  margin: 0;
}
/* ---------------------------
   Cozy Accordion Styling
----------------------------*/
.slf-accordion {
  margin-top: 32px;
}

.slf-accordion-item {
  background: #ffffff;
  border-radius: 16px;
  margin-bottom: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  overflow: hidden;
  padding: 0;
}

.slf-accordion-header {
  cursor: pointer;
  padding: 18px 20px;
  font-size: 1.05rem;
  font-weight: bold;
  position: relative;
}

.slf-accordion-header:after {
  content: '+';
  position: absolute;
  right: 20px;
  font-size: 22px;
  transition: transform 0.3s ease;
}

.slf-accordion-header.active:after {
  transform: rotate(45deg);
}

.slf-accordion-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 20px;
  transition: max-height 0.35s ease;
  background: #fdfcfb;
}

.slf-accordion-content p {
  padding: 15px 0 20px 0;
  margin: 0;
}
/* ---------------------------
   Cozy Accordion Styling
----------------------------*/

.slf-accordion {
  background-color: #f2ede9;
  color: #2f2e2c;
  cursor: pointer;
  padding: 14px 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 18px;
  font-family: 'Georgia', serif;
  border-radius: 12px;
  margin-top: 10px;
  transition: background-color 0.25s ease, color 0.25s ease;
}

.slf-accordion:hover {
  background-color: #e8e2dd;
}

.slf-accordion.active {
  background-color: #e6dfd8;
  color: #2b2a28;
}

.slf-panel {
  padding: 0 18px;
  background-color: #faf8f6;
  overflow: hidden;
  border-left: 3px solid #d4c8be;
  margin-top: 6px;
  margin-bottom: 10px;
  border-radius: 0 0 12px 12px;
  font-family: 'Georgia', serif;
  color: #3d3b39;
  line-height: 1.6;
}
/* Accordion JS injection */
.slf-accordion-js-ready {}
document.addEventListener("DOMContentLoaded", function() {
  const accordions = document.querySelectorAll(".slf-accordion");

  accordions.forEach(acc => {
    acc.addEventListener("click", function() {
      this.classList.toggle("active");
      const panel = this.nextElementSibling;

      if (panel.style.display === "block") {
        panel.style.display = "none";
      } else {
        panel.style.display = "block";
      }
    });
  });
});

/* Make single post title readable & white */
.single-post .entry-title,
.single .entry-title,
h1.entry-title,
h1.post-title,
h1.single-title,
.single-post h1,
.content-area h1.entry-title {
    color: #ffffff !important;
    text-shadow: 0 3px 10px rgba(0,0,0,0.55) !important;
}

/* Also fix spacing if title overlaps hero */
.single-post .entry-title {
    position: relative;
    z-index: 10;
}
/* FORCE all post titles to white */
h1 {
    color: #ffffff !important;
    text-shadow: 0 3px 8px rgba(0,0,0,0.55) !important;
}

/* Target ANY title within post headers */
.single-post [class*="title"],
.single-post [class*="header"] h1,
.single [class*="title"],
.single h1 {
    color: #ffffff !important;
    text-shadow: 0 3px 8px rgba(0,0,0,0.55) !important;
}

/* Override Kadence/Astra transparent header interference */
.entry-header,
.entry-header * {
    color: #ffffff !important;
    text-shadow: 0 3px 8px rgba(0,0,0,0.55) !important;
}

/* If theme sets opacity */
.entry-title,
.entry-header,
.entry-header h1 {
    opacity: 1 !important;
}
/* Hide the duplicate theme post title */
.single-post .entry-title,
.single-post h1.entry-title,
.single .entry-title {
    display: none !important;
}

/* Hide the entry header wrapper if needed */
.single-post .entry-header,
.single .entry-header {
    display: none !important;
}
.page-title,
.entry-title {
    display: none !important;
}
/* Remove Storefront page header spacing */
.storefront-breadcrumb,
.storefront-page-header,
.page-title {
    display: none !important;
}

/* Remove default top padding on pages */
.site-main {
    padding-top: 0 !important;
}

/* Optional: tighten hero section slightly */
.slf-hero {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}
/* Remove Storefront page header + top spacing */
.storefront-breadcrumb,
.storefront-page-header,
.page-title {
    display: none !important;
}

/* Reduce default Storefront padding */
.site-main {
    padding-top: 0 !important;
    margin-top: -25px !important;  /* pulls hero upward */
}

/* Optional: fine-tune hero section padding */
.slf-hero {
    padding-top: 10px !important;
    padding-bottom: 14px !important;
}
/* Reduce hero image height on desktop */
.slf-hero img {
    max-height: 430px !important;
    object-fit: cover !important;
    width: 100% !important;
}
.hero-custom {
  max-height: 820px;       /* Adjusts height to show full card */
  overflow: hidden;
  border-radius: 28px;     /* Ensures visible rounded corners */
  margin-top: 20px;        /* Pulls image down so top isn't cut off */
}

.hero-custom img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 28px;
}
/* Fix top spacing on storefront pages */
.woocommerce-page .content-area,
.woocommerce .content-area {
    padding-top: 40px !important;
}

/* Remove duplicate WooCommerce page titles */
.woocommerce-products-header__title.page-title {
    display: none !important;
}

/* Fix overlapping hero image/title on storefront */
.woocommerce-products-header {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
}

/* Prevent breadcrumb from floating too high */
.woocommerce-breadcrumb {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* Smooth heading text (removes shadow/ghosting effect) */
.entry-title,
.woocommerce-products-header__title {
    text-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Fix image alignment in storefront */
.woocommerce ul.products li.product a img {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Prevent header/logo from overlapping content */
header.site-header {
    z-index: 9999 !important;
    position: relative !important;
}
/* Fix breadcrumb/tag block floating too high */
.kadence-breadcrumbs, 
.breadcrumbs, 
.kt-breadcrumbs {
    margin-top: 40px !important;    /* Push breadcrumb down */
    display: block !important;
}

/* Ensure breadcrumbs appear BELOW header, not above */
header.site-header {
    position: relative !important;
    z-index: 9999 !important;
}

/* Fix page title spacing */
.entry-header {
    margin-top: 30px !important;
}

/* Remove any accidental negative margins on titles */
.entry-title, 
.page-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* If a Kadence "Page Title" overlay exists, ensure correct stacking */
.kt-title-entry {
    margin-top: 20px !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Remove accidental white gap at top of pages */
.site-main, 
.content-area {
    padding-top: 20px !important;
}

/* Smooth the text shadow issue on the title */
.entry-title {
    text-shadow: none !important;
    filter: none !important;
}
/* Fix Gift Guide tag ribbon position on gift guide pages */
.page-id-XXXX .kt-breadcrumbs,
.page-id-XXXX .kadence-breadcrumbs,
.page-id-XXXX .gift-guide-tag,
.page-id-XXXX .entry-meta {
    margin-top: 60px !important;   /* Push tag block DOWN below header */
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Fix page title spacing on gift guide pages */
.page-id-XXXX .entry-header,
.page-id-XXXX .entry-title,
.page-id-XXXX h1.entry-title {
    margin-top: 20px !important;
    padding-top: 0 !important;
    text-shadow: none !important;
}

/* Remove accidental top gap */
.page-id-XXXX .site-main,
.page-id-XXXX .content-area {
    padding-top: 20px !important;
}

/* Make sure header always stays ABOVE the content */
header.site-header {
    position: relative !important;
    z-index: 99 !important;
}
/* Fix Gift Guide ribbon/tag block floating at the top */
.single .entry-header .wp-block-group:first-child,
.single .entry-header .wp-block-kadence-advancedheading:first-child,
.wp-block-group .gift-guide-tag {
    margin-top: 60px !important; 
    padding-top: 10px !important;
    display: block !important;
    position: relative !important;
    z-index: 5 !important;
}

/* Title spacing correction */
.single .entry-title {
    margin-top: 20px !important;
    padding-top: 0 !important;
    text-shadow: none !important;
}

/* Remove extra gap at very top */
.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Ensure header stays above everything */
header.site-header {
    position: relative !important;
    z-index: 9999 !important;
}
/* Fix floating Gift Guide tag ribbon on gift guide pages */
.wp-block-image.gift-guide-ribbon,
.gift-guide-tag,
.wp-block-group .gift-guide-tag {
    margin-top: 40px !important;    /* push it down into correct position */
    position: relative !important;
    z-index: 2 !important;
}

/* Fix page title spacing after ribbon moves */
.entry-header,
.entry-title {
    margin-top: 20px !important;
}

/* Remove any unintentional white gap */
.site-main {
    padding-top: 0 !important;
}

/* Make sure header never overlaps content */
header.site-header {
    z-index: 999 !important;
    position: relative !important;
}
/* Hide WordPress/Kadence default title on this page */
.page-id-XXXX .entry-header,
.page-id-XXXX h1.entry-title,
.page-id-XXXX .kadence-breadcrumbs,
.page-id-XXXX .kt-breadcrumbs {
    display: none !important;
}

/* Remove spacing from page wrapper so your custom hero sits at the top */
.page-id-XXXX .site-main,
.page-id-XXXX .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
/* =========================================================
   HARD OVERRIDE: Fix broken top spacing on Hydration Gift Guide
   URL-specific so it only affects THIS page
   ========================================================= */

body.page-id-XXXX .entry-header,
body.page-id-XXXX .page-title,
body.page-id-XXXX h1.entry-title,
body.page-id-XXXX .kadence-breadcrumbs,
body.page-id-XXXX .kt-breadcrumbs,
body.page-id-XXXX .hero-section,
body.page-id-XXXX .archive-header {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Remove ALL top padding Kadence injects */
body.page-id-XXXX .content-area,
body.page-id-XXXX .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Ensure your custom hero starts at the very top */
body.page-id-XXXX section.slf-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
    display: block !important;
}

/* Prevent header overlap issues */
header.site-header {
    position: relative !important;
    z-index: 999 !important;
}
/* REMOVE STOREFRONT'S BUILT-IN PAGE HEADER ON THIS PAGE */
.page-id-2384 .entry-header {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    visibility: hidden !important;
}

/* REMOVE DEFAULT TOP SPACING */
.page-id-2384 .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* FORCE YOUR CUSTOM HERO TO SIT AT THE TOP */
.page-id-2384 .entry-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* ============================================================
   FIX Storefront title + breadcrumb for the Hydration Gift Guide
   Using PAGE SLUG selector because ID versions didn't apply
   ============================================================ */

/* Hide default Storefront page header on this specific page */
.page-slug-cozy-hydration-gift-guide .entry-header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide the WordPress page title on this page */
.page-slug-cozy-hydration-gift-guide h1.entry-title {
    display: none !important;
}

/* Hide breadcrumbs if Storefront or a plugin is adding them */
.page-slug-cozy-hydration-gift-guide .storefront-breadcrumb,
.page-slug-cozy-hydration-gift-guide .woocommerce-breadcrumb {
    display: none !important;
}

/* Remove top spacing Storefront injects */
.page-slug-cozy-hydration-gift-guide .site-main,
.page-slug-cozy-hydration-gift-guide .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Ensure your custom hero sits at the very top */
.page-slug-cozy-hydration-gift-guide .entry-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* REMOVE STOREFRONT BADGE (category / label bubble) */
.entry-meta,
.entry-meta *,
.cat-links,
.cat-links *,
.tags-links,
.tags-links *,
.posted_in,
.posted_in *,
.term-description,
.term-description * {
    display: none !important;
}

/* REMOVE THE FLOATING OVAL BADGE ABOVE CONTENT */
.storefront-breadcrumb,
.storefront-breadcrumb *,
.taxonomy-description,
.taxonomy-description * {
    display: none !important;
}

/* REMOVE TITLE GLOW / BLUR / SHADOW */
.entry-title,
.entry-header .entry-title,
h1.entry-title,
.entry-title a {
    text-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    background: none !important;
    box-shadow: none !important;
}

/* REMOVE EXTRA HEADER SPACE */
.entry-header {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border: none !important;
}

.entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* REMOVE STOREFRONT CATEGORY BADGE / BUBBLE ABOVE CONTENT */
.storefront-hero,
.storefront-hero *,
.taxonomy-description,
.taxonomy-description *,
.storefront-breadcrumb,
.storefront-breadcrumb *,
.entry-taxonomy,
.entry-taxonomy *,
.entry-meta,
.entry-meta *,
.cat-links,
.cat-links *,
.tags-links,
.tags-links *,
.posted-on,
.posted-on *,
.posted-in,
.posted-in * {
    display: none !important;
}

/* REMOVE ANY GLOW, SHADOW, FILTER ON TITLES */
.entry-title,
.entry-header .entry-title,
h1.entry-title,
.entry-title a {
    text-shadow: none !important;
    filter: none !important;
    color: #333 !important;
    opacity: 1 !important;
}

/* REMOVE THE ENTIRE STOREFRONT ENTRY HEADER IF NECESSARY */
.entry-header,
.entry-header * {
    background: none !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* REMOVE EXTRA SPACE BETWEEN HEADER + CONTENT */
.entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* REMOVE ANY REMAINING BADGE CONTAINERS */
.woocommerce-breadcrumb,
.woocommerce-breadcrumb *,
.single-product .product_meta,
.single-product .product_meta *,
.storefront-featured,
.storefront-featured *,
.single .meta {
    display: none !important;
}
/* ===============================
   STORE FRONT — FULL PAGE CLEANUP
   (Removes title, badge, spacing)
================================ */

/* Remove the category/badge bubble */
.taxonomy-description,
.page-description,
.storefront-product-section,
.storefront-breadcrumb,
.woocommerce-breadcrumb,
.label,
.label-badge,
span.cat-links,
span.tag-links {
    display: none !important;
}

/* Remove Storefront’s built-in page title wrapper */
.entry-header,
.page-header,
.entry-title {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove ALL top padding Storefront adds */
.site-main,
.hentry,
.content-area,
.entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove any Storefront box shadow or text shadow */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content p,
.entry-content * {
    text-shadow: none !important;
    filter: none !important;
}

/* Prevent Storefront from adding whitespace above first HTML block */
.entry-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove weird Storefront padding specifically on pages */
body.page .entry-content,
body.page .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove leftover space from breadcrumb placeholder */
.woocommerce-breadcrumb {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.slf-h1{
  font-size:34px;
  line-height:1.2;
  margin:0 0 12px;
  color:#2f2d2b;              /* forces dark text */
  text-shadow:0 1px 2px rgba(255,255,255,.6); /* subtle lift if over image */
  background:rgba(250,248,246,.92); /* soft backdrop if hero overlaps */
  display:inline-block;
  padding:10px 14px;
  border-radius:12px;
}
h1.entry-title {
  display: none !important;
}
/* Fix white-on-white header contrast */
.slf-hero-title,
.page h1,
.entry-content h1 {
  background: #e9f1f1; /* soft cozy blue */
  color: #2f4f4f;      /* deep slate text */
  padding: 14px 18px;
  border-radius: 14px;
  display: inline-block;
  line-height: 1.25;
}

/* Optional subtle separation */
.entry-content h1 {
  margin-bottom: 18px;
}

/* Optional: subtle lift from image */
.entry-content h1 {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}
/* ============================
   SLF GIFT GUIDE DESIGN SYSTEM
============================ */

/* SECTION WRAPPER */
.slf-section {
  max-width: 900px;
  margin: 56px auto;
  padding: 0 16px;
}

/* CENTERED VARIANT */
.slf-center {
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* HEADINGS */
.slf-section h1,
.slf-section h2 {
  margin-bottom: 16px;
  line-height: 1.25;
}

.slf-section h3 {
  margin-bottom: 12px;
  line-height: 1.3;
}

/* PARAGRAPHS */
.slf-section p {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 16px;
  color: #475569;
}

/* LINKS */
.slf-section a {
  font-weight: 500;
}

/* LISTS (Related / You May Also Like) */
.slf-section ul {
  list-style: none;
  padding-left: 0;
  margin-top: 16px;
}

.slf-section li {
  margin-bottom: 10px;
  font-size: 15px;
}

/* PRODUCT GRID */
.gift-section {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto 56px;
  padding: 0 16px;
}

/* PRODUCT CARD */
.gift-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(15,23,42,.08);
  display: flex;
  flex-direction: column;
}

/* BADGE */
.gift-badge {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}

/* IMAGE */
.gift-img-wrap img {
  height: 240px;
  object-fit: contain;
}

/* CTA */
.gift-cta {
  margin-top: auto;
  border-radius: 999px;
}

/* FAQ */
.slf-faq-wrap {
  max-width: 900px;
  margin: 64px auto;
  padding: 0 16px;
}

/* VIDEO */
.slf-video-wrap {
  max-width: 900px;
  margin: 56px auto;
  padding: 0 16px;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .gift-section {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .gift-section {
    grid-template-columns: 1fr;
  }
}
/* ============================
   SLF GIFT GUIDE BACKGROUND
   (Warm Cream White)
============================ */

/* Default page background */
body {
  background-color: #faf8f6;
}

/* Ensure gift guide sections inherit warmth */
.slf-section {
  background: transparent;
}
.slf-faq-wrap {
  max-width: 900px;
  margin: 56px auto;
  padding: 32px 24px;
  background: #ffffff;
  border-radius: 20px;
}

.slf-faq-item {
  margin-bottom: 18px;
  border-radius: 14px;
  padding: 14px 16px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}
/* ============================
   SLF Gift Guide Background
   Canonical cream tone
============================ */

body.page .wp-site-blocks,
body.single .wp-site-blocks {
  background-color: #faf8f5;
}
/* =====================================
   SLF GIFT GUIDE – CANONICAL BACKGROUND
   Overrides Kadence row + block drift
===================================== */

body.page,
body.single {
  background-color: #faf8f5 !important;
}

.wp-site-blocks,
.entry-content,
.wp-block-group,
.wp-block-kadence-rowlayout {
  background-color: transparent !important;
}
/* =====================================
   FORCE REMOVE KADENCE YELLOW BACKGROUNDS
===================================== */

/* Kill palette8 / yellow rows */
.wp-block-kadence-rowlayout.has-theme-palette-8-background-color,
.wp-block-kadence-rowlayout[class*="theme-palette8"],
.wp-block-kadence-rowlayout[style*="palette8"] {
  background: transparent !important;
}

/* Ensure consistent cream canvas */
body,
.wp-site-blocks,
.entry-content {
  background-color: #faf8f5 !important;
}
/* =========================================
   FORCE WIDTH CONSTRAINT INSIDE KADENCE ROW
========================================= */

.wp-block-kadence-rowlayout .slf-section {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* Ensure product grids never stretch */
.wp-block-kadence-rowlayout .gift-section {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
/* FIX: Allow mobile menu to scroll */
@media (max-width: 768px) {
  .main-navigation,
  .handheld-navigation {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
/* Ensure mobile menu overlays footer correctly */
@media (max-width: 768px) {

  /* Mobile menu should sit on top */
  .mobile-navigation,
  .primary-navigation,
  .main-navigation {
    position: relative;
    z-index: 9999 !important;
  }

  /* Footer must sit BELOW menu overlay */
  footer,
  .site-footer {
    position: relative !important;
    z-index: 1 !important;
  }

  /* If menu is full-screen or slide-in */
  .mobile-menu,
  .mobile-nav-wrapper {
    z-index: 10000 !important;
  }
}

/* Hide page titles on all pages */
.entry-title,
.page-title,
h3.entry-title {
  display: none !important;
}
/* Hide Shop Smart Living Finds CTA button */
a[href*="shopsmartlivingfinds.com"],
.wp-block-button__link {
}
/* Remove duplicate page title section */
.slf-head {
  display: none !important;
}
/* FIX: Widen desktop navigation to prevent overlap */
@media (min-width: 769px) {
  .storefront-primary-navigation,
  .main-navigation {
    max-width: 100%;
  }

  .storefront-primary-navigation .menu {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }

  .storefront-primary-navigation .menu > li {
    white-space: nowrap;
    padding: 0 14px;
  }
}
@media (min-width: 769px) {
  .storefront-primary-navigation .menu > li {
    padding: 0 10px;
    font-size: 15px;
  }
}
/* FORCE Storefront desktop menu to use full width and prevent overlap */
@media (min-width: 769px) {

  /* Remove width constraint from header containers */
  .site-header .col-full,
  .storefront-primary-navigation .col-full {
    max-width: 100% !important;
    width: 100%;
  }

  /* Ensure nav itself stretches */
  .storefront-primary-navigation,
  .main-navigation {
    width: 100%;
  }

  /* Force menu into a single non-wrapping row */
  .storefront-primary-navigation ul.menu,
  .main-navigation ul.menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center;
    align-items: center;
  }

  /* Prevent text wrapping & overlap */
  .storefront-primary-navigation ul.menu > li {
    white-space: nowrap;
    padding: 0 12px;
  }

}

/* FORCE CTA BUTTONS BACK */
.gift-cta,
a.gift-cta,
.slf-cta {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 44px;
}

/* ENSURE PARENT IS NOT CLIPPING */
.gift-card,
.gift-section,

.slf-section {
  overflow: visible !important;
}

/* RESET DROPDOWN MENU BEHAVIOR */
.main-navigation ul ul,
.primary-navigation ul ul {
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* SHOW DROPDOWN ONLY ON HOVER (DESKTOP) */
@media (min-width: 769px) {
  .main-navigation li:hover > ul,
  .primary-navigation li:hover > ul {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
/* KEEP DROPDOWN OPEN WHEN MOVING INTO IT */
@media (min-width: 769px) {
  .main-navigation li:hover > ul,
  .main-navigation li:focus-within > ul,
  .primary-navigation li:hover > ul,
  .primary-navigation li:focus-within > ul {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  /* PREVENT GAP BETWEEN MENU + SUBMENU */
  .main-navigation ul ul,
  .primary-navigation ul ul {
    margin-top: 0;
  }

  .main-navigation li,
  .primary-navigation li {
    position: relative;
  }
}
/* Storefront mobile menu layering fix */
.storefront-primary-navigation,
.storefront-handheld-footer-bar,
.storefront-handheld-footer-bar ul,
.storefront-primary-navigation ul {
  position: relative;
  z-index: 99999 !important;
}
/* Prevent clicks passing through mobile menu */
.storefront-primary-navigation,
.storefront-primary-navigation * {
  pointer-events: auto !important;
}
/* Disable page interaction when menu is open */
body.storefront-primary-navigation-open {
  overflow: hidden;
}

body.storefront-primary-navigation-open .storefront-primary-navigation,
body.storefront-primary-navigation-open .storefront-primary-navigation * {
  pointer-events: auto !important;
}
/* Prevent accidental menu collapse */
.storefront-primary-navigation.toggled {
  display: block !important;
}
}

/* STORE­FRONT: Fix awkward mobile hamburger/toggle positioning */
@media (max-width: 768px){

  /* Make the navigation bar behave like a proper flex row */
  .storefront-primary-navigation{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 10px 14px !important;
  }

  /* Push the Menu toggle to the right and center it vertically */
  .storefront-primary-navigation .menu-toggle{
    margin: 0 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    line-height: 1 !important;
    padding: 10px 14px !important;
  }

  /* IMPORTANT: Hide the desktop-style menu items on mobile
     so you don’t get that weird “links + hamburger” combo */
  .storefront-primary-navigation ul.menu,
  .storefront-primary-navigation .primary-navigation{
    display: none !important;
  }

  /* When toggled open, show the menu list */
  .storefront-primary-navigation.toggled ul.menu{
    display: block !important;
    width: 100% !important;
    margin-top: 10px !important;
  }
}
/* =========================
   STORE­FRONT MOBILE MENU FIX
========================= */
@media (max-width: 768px){

  /* Force header area to behave like a real header */
  .site-header{
    position: relative;
  }

  /* Anchor the mobile menu toggle */
  .storefront-primary-navigation{
    position: absolute !important;
    top: 12px !important;
    right: 14px !important;
    width: auto !important;
    background: transparent !important;
    border: none !important;
  }

  /* Style the Menu button cleanly */
  .storefront-primary-navigation .menu-toggle{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    border: 2px solid #222 !important;
    border-radius: 6px !important;
    background: #fff !important;
  }

  /* Hide desktop-style menu links on mobile */
  .storefront-primary-navigation ul.menu{
    display: none !important;
  }

  /* Show menu ONLY when toggled */
  .storefront-primary-navigation.toggled ul.menu{
    display: block !important;
    position: absolute !important;
    top: 48px !important;
    right: 0 !important;
    width: 220px !important;
    background: #fff !important;
    padding: 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
    z-index: 99999 !important;
  }
}
@media (max-width: 768px){
  .storefront-primary-navigation .menu-toggle span{
    display:none !important;
  }
}
/* =========================
   STORE­FRONT MOBILE MENU — FINAL FIX
========================= */
@media (max-width: 768px){

  /* Make sure header is the anchor */
  .site-header{
    position: relative;
    z-index: 1000;
  }

  /* Position hamburger correctly */
  .storefront-primary-navigation{
    position: absolute !important;
    top: 12px !important;
    right: 14px !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
  }

  /* Ensure hamburger button is clickable */
  .storefront-primary-navigation .menu-toggle{
    pointer-events: auto !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 12px !important;
    border: 2px solid #222 !important;
    background: #fff !important;
    border-radius: 6px !important;
  }

  /* Hide menu items by default */
  .storefront-primary-navigation ul.menu{
    display: none !important;
  }

  /* Show menu ONLY when toggled */
  .storefront-primary-navigation.toggled ul.menu{
    display: block !important;
    position: absolute !important;
    top: 48px !important;
    right: 0 !important;
    width: 240px !important;
    background: #fff !important;
    padding: 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.18);
    pointer-events: auto !important;
  }
}
@media (max-width: 768px){
  .storefront-primary-navigation ul.menu{
    display: none !important;
  }

  .storefront-primary-navigation.toggled ul.menu{
    display: block !important;
  }
}
@media (min-width: 1024px) {
  .storefront-primary-navigation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
/* Force horizontal desktop nav in Storefront header widget */
@media (min-width: 1024px) {
  .header-widget-region ul.menu {
    display: flex;
    gap: 24px;
    align-items: center;
  }

  .header-widget-region ul.menu li {
    list-style: none;
  }

  .header-widget-region ul.menu li a {
    font-family: Georgia, serif;
    font-size: 15px;
    color: #2b2b2b;
    text-decoration: none;
  }

  .header-widget-region ul.menu li a:hover {
    text-decoration: underline;
  }
}
/* Restore Storefront desktop header + nav layout */
.site-header {
  position: relative;
  z-index: 1000;
  background: #f7f4ef; /* cozy neutral */
  padding: 12px 0;
}

/* Top-level menu items */
.main-navigation ul.menu > li > a {
  font-family: Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  color: #3d3b39;
  padding: 10px 14px;
}

/* Dropdown container */
.main-navigation ul ul {
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  padding: 10px 0;
}

/* Dropdown items */
.main-navigation ul ul li a {
  padding: 10px 16px;
  font-size: 15px;
  color: #3d3b39;
}

/* Fix dropdown positioning */
.main-navigation ul li:hover > ul {
  top: 100%;
}

/* Prevent nav overlapping hero */
.site-header + .site-content {
  margin-top: 0;
}

.main-navigation .current-menu-item > a {
  background: transparent;
  color: #2f4f4f;
  border-radius: 0;
}
.main-navigation a {
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #3d3b39;
}

.main-navigation a:hover {
  color: #6b8f8a;
}
.site-header {
  padding-top: 20px;
  padding-bottom: 20px;
}
/* Tighten header vertical spacing */
.site-header {
  padding-top: 12px;
  padding-bottom: 8px;
}

/* Reduce space under logo */
.site-branding {
  margin-bottom: 6px;
}

/* Clean active state (no bubble) */
.main-navigation .current-menu-item > a {
  background: transparent;
  border-radius: 0;
  color: #3d3b39;
}

/* Refined nav typography */
.main-navigation a {
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #3d3b39;
}
/* Remove Storefront "pill" style on active menu item */
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
  background: none !important;
  border-radius: 0 !important;
}

/* Pull nav slightly closer to logo */
.site-header .main-navigation {
  margin-top: -4px;
}

/* Reduce extra line-height causing vertical drift */
.main-navigation ul li a {
  line-height: 1.4;
  padding-top: 6px;
  padding-bottom: 6px;
}
/* === STORE-FRONT: TRUE CENTER NAV (DESKTOP) === */

/* Break Storefront container behavior */
.site-header .storefront-primary-navigation {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
}

/* Center menu items cleanly */
.storefront-primary-navigation ul.menu {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin: 0;
  padding: 0;
  float: none;
}

/* Remove Storefront floats */
.storefront-primary-navigation ul.menu li {
  float: none;
}
/* Reduce excessive hero spacing on mobile */
@media (max-width: 768px) {

  /* Common hero/cover containers */
  .wp-block-cover,
  .wp-block-group.alignfull,
  .entry-content > .wp-block-group:first-child {
    min-height: auto !important;
    padding-top: 24px !important;
    padding-bottom: 32px !important;
  }

  /* Headline spacing */
  .wp-block-cover__inner-container h1,
  .wp-block-cover__inner-container h2 {
    margin-bottom: 12px !important;
  }

  /* Subheadline spacing */
  .wp-block-cover__inner-container p {
    margin-bottom: 0 !important;
  }
}
/* MOBILE HERO TEXT SPACING FIX – Kadence */
@media (max-width: 768px) {

  /* Hero / Cover blocks */
  .wp-block-cover {
    min-height: auto !important;
  }

  /* Inner content wrapper */
  .wp-block-cover__inner-container {
    padding-top: 24px !important;
    padding-bottom: 20px !important;
  }

  /* Headline spacing */
  .wp-block-cover__inner-container h1,
  .wp-block-cover__inner-container h2 {
    margin-bottom: 10px !important;
  }

  /* Subheadline / description */
  .wp-block-cover__inner-container p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* REMOVE EXTRA TOP GAP BELOW HERO ON MOBILE */
@media (max-width: 768px) {

  /* First block after hero */
  .wp-site-blocks > *:first-child + * {
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  /* Button / pill groups directly after hero */
  .wp-block-buttons,
  .wp-block-group {
    margin-top: 12px !important;
  }
}
/* STORE­FRONT — FIX TALL HERO SPACING ON MOBILE */
@media (max-width: 768px) {

  /* Page header container */
  .storefront-page-header {
    padding-bottom: 16px !important;
    margin-bottom: 0 !important;
  }

  /* Page title + description wrapper */
  .storefront-page-header .page-description {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }

  /* Remove breadcrumb space if present */
  .storefront-breadcrumb {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Pull first content block up */
  .site-main > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
/* STORE­FRONT — MORE IMAGE, LESS COLOR BLOCK (MOBILE) */
@media (max-width: 768px) {

  /* Reduce overall header height */
  .storefront-page-header {
    min-height: auto !important;
    padding-top: 20px !important;
    padding-bottom: 12px !important;
  }

  /* Pull title + description upward */
  .storefront-page-header .page-title {
    margin-bottom: 6px !important;
  }

  .storefront-page-header .page-description {
    margin-top: 4px !important;
    padding-bottom: 0 !important;
  }

  /* Allow image to visually dominate */
  .storefront-page-header {
    background-size: cover !important;
    background-position: center top !important;
  }
}
@media (max-width: 768px) {
  .storefront-page-header {
    padding-top: 14px !important;
    padding-bottom: 8px !important;
  }
}
/* STORE­FRONT MOBILE HERO — IMAGE FIRST */
@media (max-width: 768px) {

  .storefront-page-header {
    height: 240px !important;
    min-height: 240px !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
  }

  .storefront-page-header .page-title,
  .storefront-page-header .page-description {
    max-width: 90%;
    margin: 0 auto;
  }
}
@media (max-width: 768px) {

  .storefront-page-header .page-title {
    margin-bottom: 6px !important;
    line-height: 1.15 !important;
  }

  .storefront-page-header .page-description {
    margin-top: 4px !important;
    line-height: 1.35 !important;
  }
}
@media (max-width: 768px) {
  .storefront-page-header {
    background-color: transparent !important;
  }
}
/* STORE­FRONT MOBILE HERO — FIX OVERSIZED TITLE */
@media (max-width: 768px) {

  /* Page title */
  .storefront-page-header h1 {
    font-size: 28px !important;
    line-height: 1.15 !important;
    margin-bottom: 6px !important;
  }

  /* Subtext */
  .storefront-page-header .page-description p {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-top: 4px !important;
  }

  /* Reduce overall hero padding */
  .storefront-page-header {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
}
.storefront-page-header h1 {
  font-size: 24px !important;
}
/* MOBILE HERO FIX — Storefront */
@media (max-width: 768px) {

  /* Reduce hero height */
  .page .entry-header,
  .page .storefront-breadcrumb,
  .page .entry-header.has-background {
    min-height: auto !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  /* Reduce title size so subtext fits on image */
  .page .entry-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }

  /* Reduce subtitle spacing */
  .page .entry-header p,
  .page .entry-content .wp-block-post-excerpt {
    font-size: 15px !important;
    margin-top: 6px !important;
  }
}
/* MOBILE HERO FIX — Storefront */
@media (max-width: 768px) {

  /* Reduce hero height */
  .page .entry-header,
  .page .storefront-breadcrumb,
  .page .entry-header.has-background {
    min-height: auto !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  /* Reduce title size so subtext fits on image */
  .page .entry-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }

  /* Reduce subtitle spacing */
  .page .entry-header p,
  .page .entry-content .wp-block-post-excerpt {
    font-size: 15px !important;
    margin-top: 6px !important;
  }
}
/* === STORE-FRONT MOBILE HERO FIX (iOS Safari safe) === */
@media only screen and (max-width: 768px) {

  /* Remove forced hero height */
  .page .entry-header {
    min-height: unset !important;
    padding-top: 20px !important;
    padding-bottom: 16px !important;
  }

  /* Reduce title size so text stays on image */
  .page .entry-header .entry-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    margin-bottom: 6px !important;
  }

  /* Reduce subtitle spacing */
  .page .entry-header p {
    font-size: 15px !important;
    margin-top: 4px !important;
  }

  /* Kill extra beige space Safari adds */
  .storefront-breadcrumb {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

}
/* === PUSH HERO IMAGE DOWN ON MOBILE (TRANSPARENT HEADER SAFE) === */
@media only screen and (max-width: 768px) {

  /* Push hero content below transparent header */
  .page .entry-header {
    padding-top: 90px !important; /* adjust 80–110px if needed */
  }

}
/* === PUSH HERO IMAGE DOWN ON MOBILE (TRANSPARENT HEADER SAFE) === */
@media only screen and (max-width: 768px) {

  /* Push hero content below transparent header */
  .page .entry-header {
    padding-top: 90px !important; /* adjust 80–110px if needed */
  }

}
}
body {
  outline: 10px solid red !important;
}
@media (max-width: 768px) {
  .slf-card img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 768px) {
  .slf-card img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* === MOBILE CENTER FIX (Storefront) === */
.slf-shop-grid{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 640px){
  .slf-shop-grid{
    grid-template-columns: 1fr;      /* force single column */
    justify-items: center;           /* center items inside the grid */
    gap: 18px;
  }

  .slf-card{
    width: 100%;
    max-width: 420px;                /* keeps the card visually centered */
    margin-left: auto;
    margin-right: auto;
  }

  .slf-card img{
    display:block;
    margin-left:auto;
    margin-right:auto;
  }
}
.slf-cozy-wrap { margin-left:auto; margin-right:auto; }
/* ===== FORCE CENTERING FOR SLF COZY SECTIONS (STOREFRONT FIX) ===== */

/* 1. Break Storefront's container constraint */
.site-content .slf-cozy-wrap {
  max-width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2. Mobile-specific fix */
@media (max-width: 768px) {

  /* Remove Storefront padding squeeze */
  .site-content,
  .col-full,
  .content-area {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Center your grid */
  .slf-shop-grid {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    width: 100%;
  }

  /* Center cards visually */
  .slf-card {
    width: 92%;
    max-width: 420px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .slf-card img {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* ===============================
   DESKTOP MENU FIX — HYDRATION
=============================== */

/* Ensure submenu stays clickable */
.main-navigation ul ul {
  pointer-events: auto;
  z-index: 9999;
}

/* Add hover buffer so menu doesn't collapse */
.main-navigation ul li:hover > ul,
.main-navigation ul li:focus-within > ul {
  display: block;
  opacity: 1;
  visibility: visible;
}

/* Increase clickable padding on submenu items */
.main-navigation ul ul li a {
  padding: 12px 18px;
  line-height: 1.4;
}

/* Prevent diagonal hover gap issue */
.main-navigation ul ul {
  margin-top: 6px;
}

/* Improve hover feedback */
.main-navigation ul ul li a:hover {
  background-color: #e6f2ef; /* your cozy teal */
}

/* Make parent item more stable on hover */
.main-navigation ul li {
  position: relative;
}
/* =====================================
   SLF – Hero Text Separation Fix
===================================== */

/* Style the intro sentence ABOVE the hero */
.single-post .slf-intro {
  max-width: 760px;
  margin: 24px auto 28px;   /* space before hero */
  padding: 12px 16px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #6b6b6b;
  background: #f7f7f5;     /* soft cozy backdrop */
  border-radius: 12px;
  text-align: center;
}

/* Ensure hero is visually isolated */
.single-post .slf-hero,
.single-post .wp-block-image.aligncenter {
  margin-top: 0;
  margin-bottom: 56px;     /* space after hero */
}

/* Prevent any accidental overlap */
.single-post .slf-hero img {
  display: block;
  position: relative;
  z-index: 1;
}
/* Kadence heading accent line */
.kt-title-wrap::before {
  display: none !important;
}
/* Remove blockquote left rule */
blockquote {
  border-left: none !important;
  padding-left: 0 !important;
}
/* MOBILE FIX: prevent site title from overlaying hero */
@media (max-width: 768px) {
  header,
  .site-header,
  .kadence-header-wrap,
  .header-wrap {
    position: relative !important;
  }

  .wp-site-blocks,
  main {
    padding-top: 0 !important;
  }
}
@media (max-width: 768px) {
  .hero .site-title,
  .hero .site-branding,
  .hero .wp-block-site-title {
    display: none !important;
  }
}
/* === FORCE FULL-WIDTH HERO IN STOREFRONT === */
.home .wp-block-cover.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
@media (max-width: 768px) {
  body.home .wp-block-cover h1,
  body.home .wp-block-cover h2,
  body.home .wp-block-cover p {
    display: none !important;
  }
}

  /* Space between hero image and first section */
  body.home .wp-block-cover {
    margin-bottom: 28px !important;
  }

  /* Give the main headline breathing room */
  body.home .entry-content h1:first-of-type {
    margin-top: 0 !important;
    padding-top: 12px;
  }

  /* Slightly tighten sections below */
  body.home .entry-content > * {
    margin-bottom: 20px;
  }

}
/* MOBILE — tighten space between hero image and headline */

  /* Kill Storefront image spacing */
  body.home .wp-block-cover,
  body.home .wp-block-image {
    margin-bottom: 12px !important;
  }

  /* Pull headline closer */
  body.home h1:first-of-type {
    margin-top: 0 !important;
  }

/* ===== MOBILE HERO FIX (STOREFRONT SAFE) ===== */
@media (max-width: 768px) {

  /* Restore hero text */
  body.home .wp-block-cover__inner-container {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  /* Reduce gap under hero */
  body.home .wp-block-cover {
    margin-bottom: 16px !important;
  }

  /* Tighten headline spacing */
  body.home h1 {
    margin-top: 12px !important;
  }

  body.home p {
    margin-top: 8px !important;
  }
}
@media (max-width: 768px) {
  body.home .wp-block-cover { margin-bottom: 8px !important; }
  body.home h1 { margin-top: 8px !important; }
}
@media (max-width: 768px) {
  /* Allow buttons to be clickable on mobile */
  .home a,
  .home button {
    position: relative;
    z-index: 10;
  }

  /* Prevent hero layers from blocking taps */
  .home .wp-block-cover::before,
  .home .wp-block-cover::after,
  .home .wp-block-cover__background,
  .home .wp-block-cover__inner-container {
    pointer-events: none;
  }
}
/* Remove background pill behind hero text */
.home .wp-block-cover__inner-container {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Force full-width hero on homepage */
.home .wp-block-cover.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
/* Hero title */
.home .wp-block-cover h1,
.home .wp-block-cover h2 {
  color: #ffffff !important;
  font-weight: 700;
  text-shadow: 0 3px 10px rgba(0,0,0,0.55);
}

/* Hero subtitle */
.home .wp-block-cover p {
  color: #f2f2f2 !important;
  text-shadow: 0 2px 6px rgba(0,0,0,0.45);
  max-width: 42ch;
  margin: 12px auto 0;
}
@media (max-width: 768px) {
  .home .wp-block-cover__inner-container {
    padding-top: 32px !important;
  }

  .home .wp-block-cover {
    margin-bottom: 24px !important;
  }
}
@media (max-width: 768px) {
  .home a,
  .home button {
    position: relative;
    z-index: 5;
    pointer-events: auto !important;
  }

  .home .wp-block-cover,
  .home .wp-block-cover::before {
    pointer-events: none;
  }
}
/* HERO TITLE – CLEAN, NO PILL */
.entry-content h1,
.slf-hero-title {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: block;
  color: #2b2b2b;
  font-weight: 600;
}
/* HERO TITLE – cream + airy */
.home .entry-content h1 {
  color: #f6f1ea;              /* warm cream */
  letter-spacing: 0.04em;      /* elegant spacing */
  font-weight: 600;
  line-height: 1.25;
  text-shadow: 0 2px 6px rgba(0,0,0,0.35); /* readability only */
}
.home .entry-content p {
  color: #eee7de;
  letter-spacing: 0.02em;
  max-width: 38ch;
}
@media (max-width: 768px) {
  .home .entry-content h1 {
    letter-spacing: 0.03em;
    font-size: 1.8rem;
  }
}
/* === HERO TEXT FIX (FIREFOX SAFE) === */
.home .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}

.home .wp-block-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25); /* subtle dark overlay */
  z-index: 1;
}

.home .wp-block-cover h1,
.home .wp-block-cover h2,
.home .wp-block-cover p {
  color: #f7f4ee !important; /* warm cream */
  opacity: 1 !important;
  text-shadow: 0 3px 10px rgba(0,0,0,0.55);
}
/* ===============================
HERO FIX — ALL BROWSERS
Centers text + full overlay
=============================== */

/* Ensure full-height overlay */
.home .wp-block-cover::before {
  height: 100% !important;
}

/* Reset any forced padding pushing text down */
.home .wp-block-cover__inner-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

/* Slight upward optical correction (subtle, not jumpy) */
@media (min-width: 769px) {
  .home .wp-block-cover__inner-container {
    transform: translateY(-4%);
  }
}

@media (max-width: 768px) {
  .home .wp-block-cover__inner-container {
    transform: translateY(-2%);
  }
}
/* ======================================
HERO HARD RESET — FIREFOX SAFE
====================================== */

/* Ensure hero acts as positioning context */
.home .wp-block-cover {
  position: relative !important;
}

/* Full overlay — no slicing */
.home .wp-block-cover::before {
  height: 100% !important;
}

/* Absolute center the hero text */
.home .wp-block-cover__inner-container {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;

  width: 100%;
  padding: 0 24px !important;
  margin: 0 !important;
  text-align: center;
}

/* Desktop optical adjustment (Firefox needs this) */
@media (min-width: 769px) {
  .home .wp-block-cover__inner-container {
    transform: translate(-50%, -54%) !important;
  }
}

/* Mobile tweak */
@media (max-width: 768px) {
  .home .wp-block-cover__inner-container {
    transform: translate(-50%, -50%) !important;
  }
}
/* ===============================
   FIX WASHED-OUT TEXT SITE-WIDE
   =============================== */

/* Force full opacity on text */
body,
p,
li,
h1, h2, h3, h4, h5, h6,
.entry-content,
.wp-block-group,
.wp-block-cover__inner-container {
  opacity: 1 !important;
}

/* Prevent overlays from affecting text */
.wp-block-cover__background,
.wp-block-cover::before,
.wp-block-cover::after,
.hero::before,
.hero::after {
  pointer-events: none;
}

/* Improve text contrast globally */
body {
  color: #2a2a2a;
}

/* Headings darker for readability */
h1, h2, h3 {
  color: #1f2933;
}

/* Paragraph text */
p {
  color: #3a3a3a;
}
/* =====================================
   REMOVE HERO / SECTION OVERLAY VEIL
   ===================================== */

/* Kill overlay pseudo-elements */
.wp-block-cover::before,
.wp-block-cover::after,
.wp-block-group::before,
.wp-block-group::after,
.hero::before,
.hero::after {
  display: none !important;
  opacity: 0 !important;
}

/* Force cover overlay behind content */
.wp-block-cover__background {
  z-index: 0 !important;
}

/* Force text containers ABOVE overlays */
.wp-block-cover__inner-container,
.entry-content,
.entry-content * {
  position: relative;
  z-index: 2 !important;
}

/* Ensure text is fully opaque */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content h1,
.entry-content h2,
.entry-content h3 {
  opacity: 1 !important;
  color: #2a2a2a !important;

/* ================================
   Storefront – Fix Black Social Icons
================================ */

/* Target Storefront social icons */
.site-footer .storefront-social-icons a {
  color: #6b6b6b !important;
  background: transparent !important;
}

/* SVG icons (newer Storefront versions) */
.site-footer .storefront-social-icons svg {
  fill: #6b6b6b !important;
  color: #6b6b6b !important;
}

/* Font icons (older Storefront / FA fallback) */
.site-footer .storefront-social-icons i {
  color: #6b6b6b !important;
}

/* Remove any forced filters */
.site-footer .storefront-social-icons,
.site-footer .storefront-social-icons a {
  filter: none !important;
  opacity: 1 !important;
}
/* Warm neutral */
.site-footer .storefront-social-icons a,
.site-footer .storefront-social-icons svg {
  color: #7a746d !important;
  fill: #7a746d !important;
}
/* =====================================
   FORCE WP SOCIAL ICON COLORS (DESKTOP)
   Fix black icons caused by dark-mode
===================================== */

/* Stop browser dark-mode influence */
:root {
  color-scheme: light !important;
}

/* Target WordPress Social Icons block */
.wp-block-social-links .wp-social-link svg {
  fill: currentColor !important;
}

/* Force brand colors back */
.wp-block-social-links .wp-social-link-facebook {
  color: #1877f2 !important;
}

.wp-block-social-links .wp-social-link-instagram {
  color: #e1306c !important;
}

.wp-block-social-links .wp-social-link-threads {
  color: #000000 !important;
}

.wp-block-social-links .wp-social-link-youtube {
  color: #ff0000 !important;
}

.wp-block-social-links .wp-social-link-tiktok {
  color: #000000 !important;
}

/* Kill any inversion or blend effects */
.wp-block-social-links,
.wp-block-social-links * {
  filter: none !important;
  mix-blend-mode: normal !important;
}
/* =====================================
   FIX WP SOCIAL ICONS SHOWING AS DOTS
   Restore SVG paths on desktop
===================================== */

/* Force SVG paths to render */
.wp-block-social-links .wp-social-link svg,
.wp-block-social-links .wp-social-link svg path {
  fill: #ffffff !important;
}

/* Ensure icon background colors stay */
.wp-block-social-links .wp-social-link-facebook {
  background-color: #1877f2 !important;
}

.wp-block-social-links .wp-social-link-instagram {
  background-color: #e1306c !important;
}

.wp-block-social-links .wp-social-link-youtube {
  background-color: #ff0000 !important;
}

.wp-block-social-links .wp-social-link-threads,
.wp-block-social-links .wp-social-link-tiktok {
  background-color: #000000 !important;
}

/* Remove any masking */
.wp-block-social-links .wp-social-link svg {
  mask: none !important;
  -webkit-mask: none !important;
}
.wp-block-social-links .wp-social-link {
  background-color: #6f6a63 !important;
}

.wp-block-social-links .wp-social-link svg path {
  fill: #ffffff !important;
}
/* =====================================
   FORCE NEUTRAL SOCIAL ICONS ON MOBILE
===================================== */

@media (max-width: 768px) {
  .wp-block-social-links .wp-social-link {
    background-color: #6f6a63 !important; /* cozy neutral */
  }

  .wp-block-social-links .wp-social-link svg,
  .wp-block-social-links .wp-social-link svg path {
    fill: #ffffff !important;
  }
}
/* =========================================
   FORCE NEUTRAL SOCIAL ICONS (MOBILE)
   Works for WP Social Icons + Storefront
========================================= */

/* WordPress mobile breakpoints can be 782/768/600 depending on theme/editor */
@media (max-width: 782px) {

  /* --- WP Social Icons block (most common) --- */
  .wp-block-social-links .wp-social-link,
  .site-footer .wp-block-social-links .wp-social-link,
  .footer-widgets .wp-block-social-links .wp-social-link {
    background: #6f6a63 !important;
    background-color: #6f6a63 !important;
    border-color: #6f6a63 !important;
    color: #ffffff !important; /* important for currentColor SVGs */
  }

  /* Override network-specific brand backgrounds */
  .wp-block-social-links .wp-social-link-facebook,
  .wp-block-social-links .wp-social-link-instagram,
  .wp-block-social-links .wp-social-link-threads,
  .wp-block-social-links .wp-social-link-youtube,
  .wp-block-social-links .wp-social-link-tiktok {
    background: #6f6a63 !important;
    background-color: #6f6a63 !important;
  }

  /* Make sure the icon itself goes white */
  .wp-block-social-links .wp-social-link svg,
  .wp-block-social-links .wp-social-link svg path,
  .wp-block-social-links .wp-social-link a svg,
  .wp-block-social-links .wp-social-link a svg path {
    fill: #ffffff !important;
    color: #ffffff !important;
  }

  /* Some WP icon sets use currentColor instead of fill */
  .wp-block-social-links .wp-social-link a {
    color: #ffffff !important;
  }

  /* --- Storefront theme "Social Icons" widget/menu fallback --- */
  .site-footer .social-navigation a,
  .footer-widgets .social-navigation a {
    background: #6f6a63 !important;
    border-color: #6f6a63 !important;
    color: #ffffff !important;
  }

  .site-footer .social-navigation a svg,
  .site-footer .social-navigation a svg path,
  .footer-widgets .social-navigation a svg,
  .footer-widgets .social-navigation a svg path {
    fill: #ffffff !important;
  }
}
/* =========================================
   Storefront Social Icons — FORCE NEUTRAL
   MOBILE FIX (icon-font based)
========================================= */

@media (max-width: 782px) {

  /* Base icon container */
  .site-footer .social-navigation a,
  .footer-widgets .social-navigation a {
    background-color: #6f6a63 !important;
    border-color: #6f6a63 !important;
    color: #ffffff !important;
  }

  /* Icon font itself (this is the missing piece) */
  .site-footer .social-navigation a:before,
  .footer-widgets .social-navigation a:before {
    color: #ffffff !important;
  }

  /* Kill brand color overrides */
  .site-footer .social-navigation a[href*="facebook"],
  .site-footer .social-navigation a[href*="inst*]()