/* ============================================================
   MORIFA Home Featured Products (morifa/home-featured)
   ============================================================ */
.morifa-featured-custom { padding: 96px 0; background: #fafaf7; }
.morifa-featured-custom .morifa-section-eyebrow {
  letter-spacing: 3px; font-size: 13px; font-weight: 600;
  color: #708238; text-transform: uppercase; margin-bottom: 12px;
}
.morifa-featured-custom .morifa-section-heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 48px; font-weight: 500; color: #1f140a;
  margin-bottom: 16px; line-height: 1.1;
}
.morifa-featured-custom .morifa-section-sub {
  max-width: 720px; margin: 0 auto 48px; font-size: 17px;
  color: #4a3e30; line-height: 1.55; text-align: center;
}

/* Tab buttons */
.morifa-fp-tabs {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 8px; margin-bottom: 36px;
}
.morifa-fp-tab {
  border: 1px solid #d7d2c5; background: #fff;
  padding: 12px 22px; font-size: 13px; font-weight: 600;
  letter-spacing: 1.4px; color: #4a3e30; cursor: pointer;
  border-radius: 999px; transition: all .2s ease;
  text-transform: uppercase;
}
.morifa-fp-tab:hover { border-color: #708238; color: #708238; }
.morifa-fp-tab.is-active {
  background: #708238; border-color: #708238; color: #fff;
}

/* Grid */
.morifa-fp-panel[hidden] { display: none; }
.morifa-featured-custom .morifa-fp-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 100% !important;
}
@media (max-width: 1024px) { .morifa-featured-custom .morifa-fp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px)  { .morifa-featured-custom .morifa-fp-grid { grid-template-columns: 1fr !important; } }

/* Card */
.morifa-featured-custom .morifa-fp-card {
  display: block !important; background: #fff !important;
  border: 1px solid #ebe7dc !important; border-radius: 14px !important;
  overflow: hidden !important; text-decoration: none !important;
  width: auto !important; min-width: 0 !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.morifa-fp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(31,20,10,0.10);
  border-color: #708238;
}
.morifa-fp-card-imgwrap {
  position: relative; aspect-ratio: 1 / 1;
  background: #f3efe5; overflow: hidden;
}
.morifa-fp-card-img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .35s ease;
}
.morifa-fp-card:hover .morifa-fp-card-img { transform: scale(1.04); }

/* Badge */
.morifa-fp-card-badge {
  position: absolute; top: 12px; left: 12px;
  background: #708238; color: #fff;
  font-size: 10.5px; font-weight: 700; letter-spacing: 1.2px;
  text-transform: uppercase; padding: 5px 10px; border-radius: 4px;
}

/* Body */
.morifa-fp-card-body { padding: 20px 18px 22px; }
.morifa-fp-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px; font-weight: 600; color: #1f140a;
  margin: 0 0 8px; line-height: 1.25;
}
.morifa-fp-card-desc {
  font-size: 14px; line-height: 1.5; color: #5a4e3f;
  margin: 0 0 14px;
}
.morifa-fp-card-link {
  display: inline-block; font-size: 13px; font-weight: 600;
  letter-spacing: .5px; color: #708238;
}

/* Bottom CTA */
.morifa-fp-cta-wrap { margin-top: 56px; }
.morifa-fp-cta-wrap .btn-large {
  padding: 16px 36px; font-size: 14px; letter-spacing: 1.5px;
}

@media (max-width: 768px) {
  .morifa-featured-custom { padding: 64px 0; }
  .morifa-featured-custom .morifa-section-heading { font-size: 36px; }
}


/* Container override — the theme's .container may be cap'd; for our section we want full container */
.morifa-featured-custom > .container {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
.morifa-featured-custom .morifa-fp-panels { width: 100%; }
.morifa-featured-custom .morifa-fp-panel  { width: 100%; }
/* ============================================================
   MORIFA Home About
   ============================================================ */
.morifa-home-about { padding: 96px 0; background: #fafaf7; }
.morifa-home-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.morifa-home-about-imgwrap { position: relative; }
.morifa-home-about-img { width: 100%; height: auto; border-radius: 12px; display: block; }
.morifa-home-about-badge { position: absolute; bottom: 24px; left: 24px; background: #fff; padding: 20px 24px; border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.12); text-align: left; }
.morifa-home-about-badge-1 { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:16px; color:#5a4e3f; }
.morifa-home-about-badge-2 { display:block; font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:600; color:#1f140a; line-height:1; margin:4px 0; }
.morifa-home-about-badge-3 { display:block; font-size:11px; letter-spacing:2px; font-weight:600; color:#708238; text-transform:uppercase; }
.morifa-home-about .morifa-section-eyebrow { font-size:13px; font-weight:600; letter-spacing:3px; color:#708238; margin-bottom:12px; }
.morifa-home-about-h { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:500; color:#1f140a; margin-bottom:24px; line-height:1.15; }
.morifa-home-about-p { font-size:16px; line-height:1.65; color:#4a3e30; margin-bottom:14px; }
.morifa-home-about-cta { margin: 24px 0 32px; }
.morifa-home-about-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-top: 24px; border-top: 1px solid #e3ddd0; }
.morifa-home-about-stat { text-align: center; }
.morifa-home-about-stat-num { display:block; font-family:'Cormorant Garamond',serif; font-size:32px; font-weight:600; color:#708238; line-height:1; }
.morifa-home-about-stat-label { display:block; font-size:11px; letter-spacing:1px; color:#5a4e3f; text-transform:uppercase; margin-top:6px; }
@media (max-width:900px){ .morifa-home-about-grid{grid-template-columns:1fr;} .morifa-home-about-stats{grid-template-columns:repeat(2,1fr);} }

/* ============================================================
   MORIFA Home Certifications
   ============================================================ */
.morifa-home-certs { padding: 80px 0; background: #fff; }
.morifa-home-certs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 48px; }
.morifa-home-cert-card { text-align: center; padding: 24px; background:#fafaf7; border-radius:12px; }
.morifa-home-cert-imgwrap { height: 120px; display:flex; align-items:center; justify-content:center; margin-bottom: 16px; }
.morifa-home-cert-img { max-height: 110px; max-width: 100%; width: auto; object-fit: contain; }
.morifa-home-cert-name { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:600; color:#1f140a; margin:0 0 8px; }
.morifa-home-cert-desc { font-size:13px; color:#5a4e3f; line-height:1.4; margin:0; }
.morifa-home-certs-footnote { margin-top: 36px; font-size: 13px; color:#7a6e5f; text-align:center; font-style:italic; max-width:760px; margin-left:auto; margin-right:auto; }
@media (max-width:900px){ .morifa-home-certs-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .morifa-home-certs-grid{grid-template-columns:1fr;} }

/* ============================================================
   MORIFA Home Quality Distinction
   ============================================================ */
.morifa-home-quality { padding: 96px 0; background: #fafaf7; }
.morifa-home-quality-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 28px; margin: 48px 0 80px; }
.morifa-home-quality-card { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid #ebe7dc; }
.morifa-home-quality-imgwrap { aspect-ratio: 5/4; background: #f3efe5; overflow: hidden; }
.morifa-home-quality-img { width:100%; height:100%; object-fit: cover; display:block; }
.morifa-home-quality-card { padding: 0; }
.morifa-home-quality-card .morifa-home-quality-title { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:600; color:#1f140a; margin:18px 18px 6px; }
.morifa-home-quality-card .morifa-home-quality-desc { font-size:13.5px; line-height:1.5; color:#5a4e3f; margin: 0 18px 18px; }
.morifa-home-quality-subheading { margin: 64px 0 32px !important; }
.morifa-home-quality-diff { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.morifa-home-quality-diff-card { background:#fff; border-radius:12px; overflow:hidden; border:1px solid #ebe7dc; display:flex; flex-direction:column; }
.morifa-home-quality-diff-imgwrap { aspect-ratio: 580/384; background:#f3efe5; overflow:hidden; }
.morifa-home-quality-diff-img { width:100%; height:100%; object-fit:cover; display:block; }
.morifa-home-quality-diff-body { padding: 28px; }
.morifa-home-quality-diff-title { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:600; color:#1f140a; margin:0 0 16px; }
.morifa-home-quality-diff-list { list-style:none; padding:0; margin:0; }
.morifa-home-quality-diff-list li { position:relative; padding-left:20px; font-size:14.5px; line-height:1.55; color:#4a3e30; margin-bottom:10px; }
.morifa-home-quality-diff-list li:before { content:"•"; color:#708238; position:absolute; left:6px; font-weight:700; }
@media (max-width:1024px){ .morifa-home-quality-grid{grid-template-columns:repeat(2,1fr);} .morifa-home-quality-diff{grid-template-columns:1fr;} }
@media (max-width:520px){ .morifa-home-quality-grid{grid-template-columns:1fr;} }

/* ============================================================
   MORIFA Home OEM Process
   ============================================================ */
.morifa-home-oem { padding: 96px 0; background: #f0e9da; }
.morifa-home-oem-top { display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:center; margin-bottom: 64px; }
.morifa-home-oem .morifa-section-eyebrow { font-size:13px; font-weight:600; letter-spacing:3px; color:#708238; margin-bottom:12px; }
.morifa-home-oem .morifa-section-heading { font-family:'Cormorant Garamond',serif; font-size:42px; font-weight:500; color:#1f140a; margin-bottom:20px; line-height:1.15; }
.morifa-home-oem-p { font-size:16px; line-height:1.65; color:#4a3e30; margin-bottom:14px; }
.morifa-home-oem-p-italic { font-style:italic; color:#5a4e3f; }
.morifa-home-oem-imgwrap { aspect-ratio: 4/3; border-radius: 12px; overflow:hidden; }
.morifa-home-oem-img { width:100%; height:100%; object-fit:cover; display:block; }
.morifa-home-oem-steps { display:grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin-bottom: 48px; }
.morifa-home-oem-step { text-align:center; padding: 28px 20px; background:#fff; border-radius: 12px; }
.morifa-home-oem-step-num { display:inline-block; width:48px; height:48px; line-height:48px; border-radius:50%; background:#708238; color:#fff; font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:600; margin-bottom:16px; }
.morifa-home-oem-step-title { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:600; color:#1f140a; margin:0 0 8px; }
.morifa-home-oem-step-desc { font-size:13.5px; line-height:1.5; color:#5a4e3f; margin:0; }
.morifa-home-oem-cta-wrap { margin-top: 32px; }
@media (max-width:900px){ .morifa-home-oem-top{grid-template-columns:1fr;} .morifa-home-oem-steps{grid-template-columns:repeat(2,1fr);} }

/* ============================================================
   MORIFA Home FAQ
   ============================================================ */
.morifa-home-faq { padding: 96px 0; background: #fafaf7; }
.morifa-home-faq-inner { max-width: 900px; }
.morifa-home-faq-list { margin-top: 48px; }
.morifa-home-faq-item { background:#fff; border:1px solid #ebe7dc; border-radius:10px; margin-bottom: 14px; overflow:hidden; }
.morifa-home-faq-trigger { display:flex; justify-content:space-between; align-items:center; width:100%; padding: 22px 28px; background:none; border:0; cursor:pointer; text-align:left; }
.morifa-home-faq-q { font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:600; color:#1f140a; }
.morifa-home-faq-icon { font-size: 24px; color:#708238; font-weight:300; width:24px; flex-shrink:0; }
.morifa-home-faq-answer { padding: 0 28px 22px; }
.morifa-home-faq-answer p { font-size:15px; line-height:1.65; color:#4a3e30; margin:0; }
.morifa-home-faq-item[hidden], .morifa-home-faq-answer[hidden]{ display:none !important; }
