/* ============================================================
   Neat Meat — Home Sections (plugin styles)
   Scoped under .nm-home so nothing leaks to header/footer.
   ============================================================ */
.nm-home{
  --nm-red:#db1f26; --nm-red-deep:#9e1219; --nm-terracotta:#C66B4A;
  --nm-cream:#FAF5EE; --nm-paper:#FFFDF8; --nm-ink:#1C1208;
  --nm-muted:#6B5D52; --nm-line:rgba(28,18,8,.08); --nm-gold:#C9A24B;
  --nm-shadow:0 12px 40px -18px rgba(219,31,38,.35); --nm-radius:14px;
  /* Use the active theme's fonts — no web fonts loaded by this plugin.
     --nm-disp / --nm-body inherit whatever the theme already applies. */
  --nm-disp:inherit;
  --nm-body:inherit;
  color:var(--nm-ink);
}
.nm-home *{box-sizing:border-box;}
.nm-home-main{width:100%;overflow-x:hidden;}
.nm-home-wrap{max-width:1280px;margin:0 auto;padding:0 24px;}

/* ---------- HERO ---------- */
.nm-home-hero{
  position:relative;
  background:var(--nm-ink);
  overflow:hidden;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
.nm-hero-track{display:flex;transition:transform .5s ease;}
.nm-hero-slide{
  position:relative;
  flex:0 0 100%;
  /* Match a 16:9 source image so nothing is cropped top/bottom on desktop.
     Clamp guards against extreme wide/narrow viewports. */
  aspect-ratio:16/9;
  height:auto;
  min-height:380px;
  max-height:720px;
}
.nm-hero-slide img{width:100%;height:100%;object-fit:cover;}
.nm-hero-txt{position:absolute;inset:0;display:flex;align-items:center;z-index:3;}
.nm-hero-txt h1{font-family:var(--nm-disp);font-weight:800;font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.02em;color:#fff;margin:0 0 14px;max-width:560px;text-shadow:0 2px 24px rgba(0,0,0,.25);}
.nm-hero-txt p{font-family:var(--nm-body);font-size:clamp(15px,1.8vw,19px);color:rgba(255,255,255,.92);max-width:480px;line-height:1.5;margin:0 0 24px;}
.nm-hero-cta{display:inline-block;background:#fff;color:var(--nm-red);font-weight:700;font-size:15px;padding:14px 34px;border-radius:8px;text-decoration:none;transition:transform .2s;}
.nm-hero-cta:hover{transform:translateY(-2px);}
.nm-hero-slide{text-decoration:none;}
.nm-hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:4;}
.nm-hero-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:all .3s;}
.nm-hero-dots i.on{background:#fff;width:26px;border-radius:5px;}

/* ---------- PERKS ---------- */
.nm-home-perks{background:var(--nm-red);color:#fff;}
.nm-perks-inner{display:grid;grid-template-columns:repeat(3,1fr);}
.nm-perk{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;border-inline-end:1px solid rgba(255,255,255,.15);}
.nm-perk:last-child{border-inline-end:none;}
.nm-perk svg{flex-shrink:0;}
.nm-perk-icon-img{width:30px;height:30px;object-fit:contain;flex-shrink:0;}
.nm-perk-text{text-align:start;}
.nm-perk-text strong{display:block;font-family:var(--nm-body);font-weight:700;font-size:14px;}
.nm-perk-text span{font-family:var(--nm-body);font-size:12px;opacity:.85;}

/* ---------- SECTION SHELL ---------- */
.nm-home-section.nm-cream{background:var(--nm-cream);}
.nm-home-section.nm-paper{background:var(--nm-paper);}
.nm-home-section{margin:0;}
.nm-home-inner{padding:72px 24px !important;}
.nm-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:2px solid var(--nm-ink);padding-bottom:14px;margin-bottom:32px;position:relative;}
.nm-head::after{content:"";position:absolute;bottom:-2px;left:0;width:80px;height:2px;background:var(--nm-red);}
[dir="rtl"] .nm-head::after{left:auto;right:0;}
.nm-head h2{font-family:var(--nm-disp);font-weight:800;font-size:clamp(26px,3vw,34px);color:var(--nm-ink);margin:0;letter-spacing:-.02em;}
.nm-head a{font-family:var(--nm-body);font-size:14px;font-weight:600;color:var(--nm-red);text-decoration:none;white-space:nowrap;}
.nm-head-note{font-family:var(--nm-body);font-size:14px;font-weight:500;color:var(--nm-muted);}
.nm-head a:hover{text-decoration:underline;}
.nm-head-center{justify-content:center;text-align:center;border:none;}
.nm-head-center::after{left:50%;transform:translateX(-50%);}

/* ---------- CATEGORY CARDS (desktop) ---------- */
.nm-cats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.nm-cat-card{position:relative;display:block;border-radius:var(--nm-radius);overflow:hidden;aspect-ratio:3/4;box-shadow:var(--nm-shadow);text-decoration:none;}
.nm-cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.nm-cat-card:hover img{transform:scale(1.06);}
.nm-cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(219,31,38,.88),rgba(219,31,38,.1) 55%,transparent);}
.nm-cat-card-label{position:absolute;left:0;right:0;bottom:0;padding:20px;color:#fff;z-index:2;}
.nm-cat-card-label h3{font-family:var(--nm-disp);font-weight:700;font-size:21px;margin:0;}
.nm-cat-card-label span{font-family:var(--nm-body);font-size:13px;font-weight:600;opacity:.9;}

/* ---------- CATEGORY STORIES (mobile) ---------- */
.nm-stories{display:none;gap:14px;overflow-x:auto;padding:6px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.nm-stories::-webkit-scrollbar{display:none;}
.nm-story{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:7px;width:78px;text-decoration:none;}
.nm-story-ring{width:74px;height:74px;border-radius:50%;padding:3px;background:conic-gradient(from 140deg,var(--nm-gold),var(--nm-red),var(--nm-red-deep),var(--nm-gold));display:flex;align-items:center;justify-content:center;}
.nm-story-inner{width:100%;height:100%;border-radius:50%;overflow:hidden;border:2px solid var(--nm-paper);background:var(--nm-cream);display:block;}
.nm-story-inner img{width:100%;height:100%;object-fit:cover;}
.nm-story b{font-family:var(--nm-body);font-size:11px;font-weight:600;text-align:center;line-height:1.2;color:var(--nm-ink);}
.nm-story-ct{display:block;font-size:9px;color:var(--nm-muted);font-weight:400;}

/* ---------- PRODUCT ROW: feature + carousel ---------- */
.nm-prow{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:stretch;}
.nm-feature{position:relative;background:linear-gradient(160deg,var(--nm-red-deep),var(--nm-red));border-radius:var(--nm-radius);overflow:hidden;color:#fff;display:flex;flex-direction:column;box-shadow:var(--nm-shadow);text-decoration:none;}
.nm-feature:hover,
.nm-feature:focus,
.nm-feature:hover .nm-feature-title,
.nm-feature:hover .nm-feature-cat,
.nm-feature:hover .nm-feature-price,
.nm-feature .nm-feature-title,
.nm-feature .nm-feature-cat,
.nm-feature .nm-feature-price{color:var(--nm-cream);text-decoration:none;}
.nm-feature-badge{position:absolute;top:14px;left:14px;background:var(--nm-gold);color:var(--nm-ink);font-family:var(--nm-body);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:4px;z-index:3;}
[dir="rtl"] .nm-feature-badge{left:auto;right:14px;}
.nm-feature-img{height:210px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.nm-feature-img img{width:100%;height:100%;object-fit:cover;}
.nm-feature-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1;}
.nm-feature-cat{font-family:var(--nm-body);font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.8;}
.nm-feature-title{font-family:var(--nm-disp);font-size:25px;font-weight:700;line-height:1.2;}
.nm-feature-price{font-family:var(--nm-body);font-size:21px;font-weight:700;margin-top:auto;}
.nm-feature-price del{opacity:.6;font-size:14px;font-weight:400;margin-inline-end:6px;}
.nm-feature-btn{background:#fff;color:var(--nm-red);text-align:center;font-family:var(--nm-body);font-weight:700;font-size:14px;padding:12px;border-radius:8px;margin-top:8px;}
.nm-feature:hover .nm-feature-btn{color:var(--nm-red);}

.nm-carousel-wrap{position:relative;min-width:0;}
.nm-carousel{display:flex;gap:18px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;}
.nm-carousel::-webkit-scrollbar{display:none;}
.nm-carousel > .box{flex:0 0 235px;}
.nm-carousel .buy-btn:hover,
.nm-carousel .buy-btn:focus{color:var(--nm-cream);}
.nm-cnav{position:absolute;top:42%;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--nm-line);box-shadow:var(--nm-shadow);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--nm-ink);z-index:4;cursor:pointer;transition:all .2s;}
.nm-cnav:hover{background:var(--nm-red);color:#fff;}
.nm-cnav-next{right:-8px;}
.nm-cnav-prev{left:-8px;}
[dir="rtl"] .nm-cnav-next{right:auto;left:-8px;}
[dir="rtl"] .nm-cnav-prev{left:auto;right:-8px;}

/* ---------- USP STRIP ---------- */
.nm-home-usp{background:var(--nm-ink);color:#fff;}
.nm-home-usp .nm-home-inner{padding:72px 24px !important;}
.nm-head-light h2{color:#fff;}
.nm-head-light{border-color:rgba(255,255,255,.2);}
.nm-usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.nm-usp-item{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px;}
.nm-usp-ic{width:60px;height:60px;border-radius:50%;background:rgba(201,162,75,.15);display:flex;align-items:center;justify-content:center;color:var(--nm-gold);}
.nm-usp-icon-img{width:32px;height:32px;object-fit:contain;}
.nm-usp-ic > i{font-size:26px;line-height:1;color:var(--nm-gold);}
.nm-usp-item h4{font-family:var(--nm-disp);font-size:17px;font-weight:700;margin:0;}
.nm-usp-item p{font-family:var(--nm-body);font-size:12px;opacity:.7;line-height:1.45;margin:0;}

/* ---------- UGC VIDEO REVIEWS (reels-style) ---------- */
.nm-ugc-carousel-wrap{position:relative;min-width:0;}
.nm-ugc-carousel{display:flex;gap:18px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;}
.nm-ugc-carousel::-webkit-scrollbar{display:none;}
.nm-ugc-card{
  position:relative;
  flex:0 0 240px;
  width:240px;
  height:427px;            /* 9:16 fallback for browsers ignoring aspect-ratio */
  aspect-ratio:9/16;
  border-radius:18px;
  overflow:hidden;
  background:#000;
  box-shadow:var(--nm-shadow);
  cursor:pointer;
}
.nm-ugc-media{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;}
.nm-ugc-video,.nm-ugc-poster{
  position:absolute;inset:0;
  width:100%;height:100%;
  max-width:100%;max-height:100%;
  object-fit:cover;display:block;
}
.nm-ugc-poster-fallback{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(160deg,var(--nm-red-deep),var(--nm-red));}
.nm-ugc-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 45%);pointer-events:none;transition:opacity .3s;}
.nm-ugc-card.is-playing::after{opacity:0;}

/* Glassmorphism play button */
.nm-ugc-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border:none;background:none;cursor:pointer;padding:0;z-index:3;transition:transform .25s,opacity .25s;}
.nm-ugc-play-glass{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;color:#fff;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 32px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.4);
}
.nm-ugc-play svg{margin-inline-start:3px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));}
.nm-ugc-card:hover .nm-ugc-play{transform:translate(-50%,-50%) scale(1.08);}
.nm-ugc-card.is-playing .nm-ugc-play{opacity:0;pointer-events:none;}

.nm-ugc-handle{position:absolute;left:14px;bottom:14px;z-index:3;color:#fff;font-family:var(--nm-body);font-size:13px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5);}
[dir="rtl"] .nm-ugc-handle{left:auto;right:14px;}
.nm-ugc-card.is-playing .nm-ugc-handle{opacity:0;transition:opacity .3s;}

.nm-ugc-prev{left:-8px;} .nm-ugc-next{right:-8px;}
[dir="rtl"] .nm-ugc-next{right:auto;left:-8px;}
[dir="rtl"] .nm-ugc-prev{left:auto;right:-8px;}

/* ---------- FAQ ---------- */
.nm-faq-list{max-width:820px;margin:0 auto;}
.nm-faq-item{background:var(--nm-paper);border:1px solid var(--nm-line);border-radius:var(--nm-radius);margin-bottom:12px;overflow:hidden;}
.nm-faq-q{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;font-family:var(--nm-disp);font-size:18px;font-weight:700;cursor:pointer;color:var(--nm-ink);}
.nm-faq-ic{color:var(--nm-red);font-size:24px;font-weight:400;flex-shrink:0;}
.nm-faq-a{padding:0 22px 18px;font-family:var(--nm-body);color:var(--nm-muted);font-size:14px;line-height:1.6;}
.nm-faq-a p{margin:0 0 8px;}
.nm-faq-a p:last-child{margin:0;}
.nm-faq-item.closed .nm-faq-a{display:none;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:860px){
  .nm-home-inner{padding:48px 16px !important;}
  .nm-home-wrap{padding:0 16px;}

  /* ---- HERO as swipeable cards (mobile): slide, pause, repeat ---- */
  .nm-home-hero{background:transparent;padding:16px 0 8px;}
  .nm-hero-track{
    transition:transform .5s ease;
    width:max-content;
    will-change:transform;
    gap:12px;
    padding:0 16px;
  }
  .nm-hero-slide{
    flex:0 0 84vw;
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:16/10;
    border-radius:18px;
    overflow:hidden;
    box-shadow:var(--nm-shadow);
  }
  .nm-hero-slide img{height:100%;}
  .nm-hero-txt h1{font-size:24px;margin-bottom:6px;}
  .nm-hero-txt p{font-size:13px;margin-bottom:0;}
  .nm-hero-dots{display:none;}

  .nm-perks-inner{grid-template-columns:1fr;}
  .nm-perk{
    border-inline-end:none;
    border-bottom:1px solid rgba(255,255,255,.15);
    justify-content:flex-start;
    text-align:start;
    padding:14px 20px;
  }
  .nm-perk:last-child{border-bottom:none;}
  .nm-cats-grid{display:none;}
  .nm-stories{display:flex;}
  .nm-prow{grid-template-columns:1fr;}
  .nm-feature-img{height:180px;}
  .nm-usp-grid{grid-template-columns:1fr 1fr;gap:18px;}
  .nm-carousel > .box{flex:0 0 70%;}
  .nm-cnav{display:none;}
  .nm-ugc-card{flex:0 0 64vw;width:64vw;height:auto;}

  /* Extra breathing room on mobile before categories and FAQ. */
  .nm-home-cats .nm-home-inner{padding-top:48px !important;padding-bottom:52px !important;}
  .nm-home-faq .nm-home-inner{padding-top:52px !important;}
}
@media (max-width:480px){
  .nm-carousel > .box{flex:0 0 78%;}
}
