/*
Theme Name: ManicureFX
Theme URI: https://manicurefx.com
Description: Editorial child theme for ManicureFX — a custom, hand-designed homepage and brand styling layered on top of Kadence. Articles, archives, header and footer continue to render through Kadence.
Author: ManicureFX
Template: kadence
Version: 1.0.1
*/

/* ============================================================
   BRAND TOKENS
   ============================================================ */
:root{
  --plum:#6D2E46;
  --plum-deep:#551f36;
  --mauve:#B5838D;
  --mauve-soft:#d9b9c1;
  --cream:#FFF8F5;
  --tint:#F5ECEF;
  --border:#E7D8DC;
  --ink:#2B2B2B;
  --muted:#7a6c71;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

/* ============================================================
   SITE-WIDE TYPE (also styles published articles)
   ============================================================ */
body{ color:var(--ink); background:var(--cream); }
h1,h2,h3,h4,h5,h6{ font-family:'Fraunces',Georgia,serif; letter-spacing:-.02em; font-weight:600; }
body,p,li,a,input,button,textarea{ font-family:'Inter',system-ui,-apple-system,sans-serif; }

/* ============================================================
   HOMEPAGE
   ============================================================ */
#mfx-home{ overflow-x:hidden; }
#mfx-home *{ box-sizing:border-box; }

.mfx-sec{ position:relative; width:100%; padding:clamp(64px,9vw,148px) clamp(20px,5vw,64px); }
.mfx-wrap{ max-width:1180px; margin-inline:auto; }

.mfx-eyebrow{
  display:inline-block; margin:0 0 1.1rem;
  font-family:'Inter',sans-serif; font-weight:600; font-size:.72rem;
  letter-spacing:.3em; text-transform:uppercase; color:var(--mauve);
}
.mfx-sec-head{ margin-bottom:clamp(2.5rem,5vw,4rem); }
.mfx-sec-title{ font-size:clamp(2rem,4.5vw,3.2rem); line-height:1.04; margin:0; color:var(--plum); }
.mfx-sec-title em{ font-style:italic; color:var(--mauve); }

/* ---- Buttons & links ---- */
.mfx-btn{
  display:inline-block; background:var(--plum); color:#fff !important;
  padding:15px 30px; border-radius:4px; font-weight:600; font-size:.98rem;
  text-decoration:none; transition:background .25s ease, transform .2s ease;
}
.mfx-btn:hover{ background:var(--plum-deep); transform:translateY(-2px); }
.mfx-link{ color:var(--plum); font-weight:600; text-decoration:none; }
.mfx-link span{ display:inline-block; transition:transform .2s ease; }
.mfx-link:hover span{ transform:translateX(5px); }

/* ---- HERO ---- */
.mfx-hero{
  background:
    radial-gradient(120% 80% at 80% -10%, var(--tint) 0%, transparent 55%),
    linear-gradient(180deg, var(--cream) 0%, #fffdfb 100%);
  text-align:center; overflow:hidden;
}
.mfx-hero::before{ content:""; position:absolute; inset:0; background-image:var(--grain); opacity:.5; mix-blend-mode:multiply; pointer-events:none; }
.mfx-hero .mfx-wrap{ position:relative; max-width:920px; }
.mfx-hero-title{
  font-size:clamp(2.6rem,7vw,5.2rem); line-height:1.02; margin:0 0 1.6rem; color:var(--ink);
}
.mfx-hero-title em{ font-style:italic; color:var(--plum); }
.mfx-hero-lead{ font-size:clamp(1.05rem,1.7vw,1.28rem); line-height:1.7; color:var(--muted); max-width:60ch; margin:0 auto 2.2rem; }
.mfx-hero-cta{ display:flex; gap:1.6rem; align-items:center; justify-content:center; flex-wrap:wrap; }
.mfx-hero-note{ margin:2.4rem 0 0; font-size:.9rem; letter-spacing:.02em; color:var(--mauve); }
.mfx-hero-deco{ position:absolute; top:14%; left:8%; font-family:'Fraunces',serif; font-size:clamp(3rem,8vw,6rem); color:var(--mauve); opacity:.22; user-select:none; }

/* ---- PILLARS (numbered index) ---- */
.mfx-pillars{ background:var(--cream); border-top:1px solid var(--border); }
.mfx-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.6vw,22px); }
.mfx-card{
  display:flex; flex-direction:column; gap:.6rem; min-height:280px;
  padding:30px 26px; background:#fff; border:1px solid var(--border); border-radius:10px;
  text-decoration:none; color:var(--ink);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mfx-card:hover{ transform:translateY(-6px); box-shadow:0 24px 50px -18px rgba(109,46,70,.28); border-color:var(--mauve); }
.mfx-num{ font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600; color:var(--mauve); letter-spacing:.1em; }
.mfx-card h3{ font-size:1.4rem; line-height:1.12; margin:.3rem 0 .2rem; color:var(--plum); }
.mfx-card p{ font-size:.96rem; line-height:1.6; color:var(--muted); margin:0; flex:1; }
.mfx-arrow{ font-weight:600; color:var(--plum); font-size:.92rem; }
.mfx-card:hover .mfx-arrow{ color:var(--mauve); }

/* ---- MANIFESTO (dark block) ---- */
.mfx-manifesto{ background:var(--plum); color:var(--cream); overflow:hidden; }
.mfx-manifesto::before{ content:""; position:absolute; inset:0; background-image:var(--grain); opacity:.35; mix-blend-mode:overlay; pointer-events:none; }
.mfx-manifesto .mfx-wrap{ position:relative; }
.mfx-manifesto .mfx-eyebrow{ color:var(--mauve-soft); }
.mfx-manifesto-title{ font-size:clamp(1.9rem,4.2vw,3.1rem); line-height:1.08; color:#fff; margin:0 0 clamp(2.5rem,5vw,3.8rem); max-width:18ch; }
.mfx-pillars3{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.mfx-pillars3 > div{ padding:0 clamp(1rem,2.4vw,2.4rem); }
.mfx-pillars3 > div + div{ border-left:1px solid rgba(255,248,245,.18); }
.mfx-pillars3 h3{ font-size:1.3rem; color:#fff; margin:0 0 .6rem; }
.mfx-pillars3 p{ font-size:.96rem; line-height:1.65; color:rgba(255,248,245,.78); margin:0; }
.mfx-manifesto-cta{ display:flex; gap:2rem; flex-wrap:wrap; margin-top:clamp(2.5rem,5vw,3.6rem); }
.mfx-link-light{ color:var(--cream); font-weight:600; text-decoration:none; border-bottom:1px solid var(--mauve); padding-bottom:3px; transition:border-color .2s, color .2s; }
.mfx-link-light:hover{ color:#fff; border-color:#fff; }

/* ---- LATEST GUIDES ---- */
.mfx-latest{ background:var(--cream); border-top:1px solid var(--border); }
.mfx-grid-3{ grid-template-columns:repeat(3,1fr); }
.mfx-post{ display:flex; flex-direction:column; gap:.55rem; text-decoration:none; color:var(--ink); }
.mfx-post-img{ overflow:hidden; border-radius:10px; margin-bottom:.4rem; aspect-ratio:3/2; }
.mfx-post-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.mfx-post:hover .mfx-post-img img{ transform:scale(1.05); }
.mfx-post-cat{ font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--mauve); font-weight:600; }
.mfx-post h3{ font-size:1.32rem; line-height:1.18; color:var(--plum); margin:0; }
.mfx-empty{ font-size:1.15rem; color:var(--muted); font-style:italic; font-family:'Fraunces',serif; }

/* ---- NEWSLETTER ---- */
.mfx-news{ background:linear-gradient(180deg, var(--tint), var(--cream)); text-align:center; border-top:1px solid var(--border); overflow:hidden; }
.mfx-news::before{ content:""; position:absolute; inset:0; background-image:var(--grain); opacity:.4; mix-blend-mode:multiply; pointer-events:none; }
.mfx-news-inner{ position:relative; max-width:660px; }
.mfx-news-lead{ font-size:1.1rem; line-height:1.65; color:var(--muted); margin:1rem auto 2rem; }
.mfx-form{ display:flex; gap:.6rem; max-width:460px; margin:0 auto; flex-wrap:wrap; }
.mfx-form input{ flex:1; min-width:200px; padding:15px 18px; border:1px solid var(--border); border-radius:4px; background:#fff; font-size:1rem; }
.mfx-form input:focus{ outline:none; border-color:var(--plum); }
.mfx-news-note{ margin-top:1rem; font-size:.84rem; color:var(--mauve); }
.mfx-follow{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:.4rem; }
.mfx-btn-ghost{ background:transparent; color:var(--plum) !important; border:1.5px solid var(--plum); }
.mfx-btn-ghost:hover{ background:var(--plum); color:#fff !important; }

/* ---- LOAD MOTION ---- */
.mfx-fade{ opacity:0; transform:translateY(22px); animation:mfxUp .8s cubic-bezier(.2,.7,.2,1) forwards; animation-delay:calc(var(--d,0) * .12s); }
@keyframes mfxUp{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .mfx-fade{ animation:none; opacity:1; transform:none; } }

/* ---- RESPONSIVE ---- */
@media (max-width:980px){
  .mfx-grid{ grid-template-columns:repeat(2,1fr); }
  .mfx-pillars3{ grid-template-columns:1fr; gap:1.8rem; }
  .mfx-pillars3 > div + div{ border-left:0; border-top:1px solid rgba(255,248,245,.18); padding-top:1.8rem; }
  .mfx-grid-3{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .mfx-grid{ grid-template-columns:1fr; }
  .mfx-hero-deco{ display:none; }
}

/* ============================================================
   PUBLISHED ARTICLES (Kadence .entry-content) — brand polish
   ============================================================ */
.article-tldr{ background:var(--tint); border-left:4px solid var(--plum); padding:18px 22px; border-radius:10px; font-size:1.05rem; margin:1.6rem 0; }
.article-tldr strong{ color:var(--plum); }
.entry-content table{ border-collapse:collapse; width:100%; margin:1.6rem 0; font-size:.97rem; }
.entry-content th{ background:var(--plum); color:#fff; text-align:left; }
.entry-content th,.entry-content td{ padding:12px 16px; border:1px solid var(--border); }
.entry-content tbody tr:nth-child(even) td{ background:var(--cream); }
.entry-content blockquote{ border-left:3px solid var(--mauve); padding-left:20px; font-style:italic; color:var(--muted); }
.entry-content img{ border-radius:12px; }
.entry-content h2{ scroll-margin-top:100px; margin-top:2em; }
