/* =====================================================
   MFY Who Is Clean v4.0
   Font: Poppins 700 — 48px desktop / 32px mobile
   Colors: #F47F04 accent · #0A0A0A black · #556172 text
   ===================================================== */

.mfywic-section {
    --mfywic-bg:     #FFF5EE;
    --mfywic-accent: #F47F04;
    --mfywic-hc:     #0A0A0A;
    --mfywic-tc:     #556172;
    --mfywic-cb:     #FFFFFF;
    --mfywic-cd:     #F47F04;
    background: var(--mfywic-bg);
    padding: 56px 32px 64px;
    box-sizing: border-box;
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--mfywic-tc);
}

/* No max-width — Elementor controls the container width */
.mfywic-inner {
    width: 100%;
    text-align: center;
    transition: opacity .2s ease;
}

/* ── Step dots ────────────────────────────────── */
.mfywic-steps { display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:28px; }
.mfywic-steps-track { display:flex; align-items:center; gap:8px; }
.mfywic-sdot { width:11px; height:11px; border-radius:50%; background:#D5CFC9; display:inline-block; transition:background .3s; }
.mfywic-sdot.on { background:var(--mfywic-accent); }
.mfywic-sline { width:56px; height:2px; background:#D5CFC9; display:inline-block; }
.mfywic-slabel { font-size:13px; color:#B0A89F; margin-left:6px; font-family:'Poppins',sans-serif; }

/* ── Headings ─────────────────────────────────── */
.mfywic-h2 {
    font-size: 48px;
    font-weight: 700;
    color: var(--mfywic-hc);
    margin: 0 0 10px;
    line-height: 1.15;
    font-family: 'Poppins', sans-serif;
}
.mfywic-hl  { color: var(--mfywic-accent); }
.mfywic-sub { font-size:15px; color:var(--mfywic-tc); margin:0 0 28px; font-family:'Poppins',sans-serif; }
.mfywic-sec-label {
    font-size: 16px; font-weight: 700;
    color: var(--mfywic-hc); margin: 28px 0 14px;
    font-family: 'Poppins', sans-serif;
}

/* ── Icon images / placeholders ───────────────── */
.mfywic-icon-img {
    width: 52px; height: 52px;
    object-fit: contain; display: block;
    margin: 0 auto;
}
.mfywic-icon-img.sm { width: 40px; height: 40px; }

.mfywic-icon-ph {
    width: 52px; height: 52px; border-radius: 50%;
    background: color-mix(in srgb, var(--mfywic-accent) 12%, transparent);
    display: inline-block;
}
.mfywic-icon-ph.sm { width: 40px; height: 40px; }

/* ── Cards (step 1 & 2) ───────────────────────── */
/* auto-fit: if only 1 or 2 cards exist they centre instead of left-aligning */
.mfywic-cards3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,320px)); gap:18px; margin:32px 0 0; justify-content:center; }
.mfywic-cards4 { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,240px)); gap:14px; margin:24px 0 0; justify-content:center; }
.mfywic-cards6 { display:grid; grid-template-columns:repeat(auto-fit,minmax(115px,194px)); gap:10px; margin:24px 0 0; justify-content:center; }
.mfywic-cards6 > *, .mfywic-cards4 > *, .mfywic-cards3 > *{
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mfywic-card {
    background: var(--mfywic-cb);
    border: 2px solid transparent;
    border-radius: 16px;
    padding: 32px 18px 26px;
    display: flex; flex-direction: column; align-items: center;
    text-align: center; cursor: pointer;
    transition: border-color .2s, transform .15s;
    font-family: 'Poppins', sans-serif;
	  box-shadow: 0px 4px 6px -1px #0000001A;
}
.mfywic-card:hover  { border-color: #F0C080; transform: translateY(-2px); }
.mfywic-card.sel    { border-color: var(--mfywic-cd); }
.mfywic-card-sm     { padding: 22px 14px 18px; border-radius: 12px; }
.mfywic-card-sm:hover { transform: translateY(-1px); }

.mfywic-card-ico { margin-bottom:16px; display:flex; align-items:center; justify-content:center; }
.mfywic-card-sm .mfywic-card-ico { margin-bottom:12px; }

.mfywic-card-h {
    font-size: 16px!important;
    font-weight: 600;
    color: var(--mfywic-hc);
    margin: 15px 0 5px;
    display: block;
    font-family: 'Poppins', sans-serif;
}
.mfywic-card-sm .mfywic-card-h { font-size: 14px; }
.mfywic-card-sub {
    font-size: 14px;
    color: #878FA0;
    display: block;
}
.mfywic-card-sm .mfywic-card-sub { font-size: 12px; }

/* ── Tags / pills ─────────────────────────────── */
.mfywic-tags { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.mfywic-tag {
    background: var(--mfywic-cb);
    border: 1.5px solid #E5E7EB;
    border-radius: 16px;
    padding: 10px 24px;
    font-size: 14px;
    color: var(--mfywic-tc);
    cursor: pointer;
    transition: all .2s;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
}
.mfywic-tag:hover { border-color: var(--mfywic-accent); color: var(--mfywic-accent); }
.mfywic-tag.sel {
    background: #fff;
    border-color: var(--mfywic-accent);
    color: var(--mfywic-accent);
    font-weight: 600;
    padding-right: 12px;
}
.mfywic-tag.sel::after {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px; height: 20px;
    background: var(--mfywic-accent);
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 700;
    margin-left: 8px;
    vertical-align: middle;
    flex-shrink: 0;
}

/* ── Note box ─────────────────────────────────── */
.mfywic-note {
    background: #F5F0EB; border-radius: 10px;
    padding: 13px 20px; margin: 20px 0 0;
    font-size: 13px; color: #888; line-height: 1.6;
    font-family: 'Poppins', sans-serif;
    text-align: left;
}

/* ── Nav buttons ──────────────────────────────── */
.mfywic-btns { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:36px; flex-wrap:wrap; }
.mfywic-btn-back {
    background: #fff; border: 2px solid var(--mfywic-accent);
    color: var(--mfywic-accent); border-radius: 50px;
    padding: 13px 34px; font-size: 15px; font-weight: 600;
    cursor: pointer; transition: background .15s;
    font-family: 'Poppins', sans-serif; text-decoration: none; display: inline-block;
}
.mfywic-btn-back:hover { background: #FFF0E0; }
.mfywic-btn-next {
    background: var(--mfywic-accent); border: none; color: #fff;
    border-radius: 50px; padding: 14px 36px;
    font-size: 15px; font-weight: 600; cursor: pointer;
    transition: background .15s;
    font-family: 'Poppins', sans-serif; text-decoration: none; display: inline-block;
}
.mfywic-btn-next:hover { background: #D96E00; color: #fff; }

/* ── Carousel dots ────────────────────────────── */
.mfywic-cdots {
    display: none !important; /* hidden on desktop — overridden to flex in mobile query */
    justify-content: center;
    gap: 8px; margin-top: 16px;
}
.mfywic-cdot {
    width: 9px; height: 9px; border-radius: 50%;
    background: #D5CFC9; border: none; padding: 0;
    cursor: pointer; transition: background .25s, transform .2s;
}
.mfywic-cdot.on { background: var(--mfywic-accent); transform: scale(1.3); }

/* ── Package grid (step 3) ────────────────────── */
.mfywic-pkg-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; margin:28px 0 0; justify-content:center; }

.mfywic-pkg {
    background: var(--mfywic-cb);
    border: 2px solid transparent;
    border-radius: 16px; overflow: hidden;
    text-align: left; cursor: pointer;
    transition: border-color .2s;
    display: flex; flex-direction: column;
}
.mfywic-pkg:hover  { border-color: #F47F04; }
.mfywic-pkg-sel    { border-color: var(--mfywic-cd); }

.mfywic-pkg-img {
    height: 229px;
    background: #E8DDD4;
    position: relative; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.mfywic-pkg-photo { width:100%; height:100%!important; object-fit:cover; display:block; }
.mfywic-pkg-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #fff;
    color: var(--mfywic-accent);
    font-size: 11px;
    font-weight: 400;
    padding: 4px 14px;
    border-radius: 20px;
    font-family: 'Poppins', sans-serif;
}

.mfywic-pkg-body { padding: 16px 18px 20px; flex: 1; display: flex; flex-direction: column; }
.mfywic-pkg-cat   { font-size: 12px; font-weight: 600; letter-spacing: .9px; color: #878FA0; text-transform: uppercase; margin-bottom: 4px; font-family: 'Poppins', sans-serif; }
.mfywic-pkg-title {
    font-size: 20px;
    font-weight: 600;
    color: #0A0A0A;
    margin-bottom: 4px;
    font-family: 'Poppins', sans-serif;
}
.mfywic-pkg-dur   { font-size: 13px; color: var(--mfywic-tc); margin-bottom: 10px; font-family: 'Poppins', sans-serif; }
.mfywic-pkg-desc {
    font-size: 14px;
    color: #878FA0;
    line-height: 1.5;
    margin-bottom: 12px;
    font-family: 'Poppins', sans-serif;
}
/* ── Checklist — white tick in orange circle ──── */
.mfywic-checklist { list-style: none; padding: 0; margin: 0 0 8px; }
.mfywic-checklist li {
    font-size: 16px;
    color: #556172;
    padding: 3px 0 3px 26px;
    position: relative;
    line-height: 1.6;
    font-family: 'Poppins', sans-serif;
}
.mfywic-checklist li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 9px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    color: var(--mfywic-accent);
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    line-height: 1;
}

.mfywic-cl-hidden  { display: none; }
.mfywic-cl-visible { display: list-item; }

.mfywic-see-more {
    background: none; border: none; padding: 0;
    font-size: 13px; color: var(--mfywic-accent);
    cursor: pointer; display: inline-flex; align-items: center; gap: 4px;
    margin-bottom: 10px; font-family: 'Poppins', sans-serif; font-weight: 500;
}
.mfywic-chev { font-size: 14px; }

/* Price */
.mfywic-price-row  { display:flex; align-items:baseline; gap:6px; margin-top:auto; padding-top:12px; }
.mfywic-price-from {
    font-size: 16px;
    color: #556172;
    font-family: 'Poppins',sans-serif;
}
.mfywic-price-val  { font-size:30px; font-weight:700; color:var(--mfywic-accent); font-family:'Poppins',sans-serif; }

/* Per-package button */
.mfywic-pkg-btn {
    display: block; margin-top: 14px;
    background: var(--mfywic-accent); color: #fff;
    border-radius: 50px; padding: 11px 20px;
    font-size: 13px; font-weight: 600;
    text-align: center; text-decoration: none;
    transition: background .15s; font-family: 'Poppins', sans-serif;
}
.mfywic-pkg-btn:hover { background: #D96E00; color: #fff; }

/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 767px) {

    .mfywic-section {
        padding: 40px 0 48px;
    }

    .mfywic-h2 {
        font-size: 32px;
    }

    /* Cards - Single column */
    .mfywic-cards3,
    .mfywic-cards4,
    .mfywic-cards6 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        margin: 16px 0 0;
        padding: 0;
        justify-content: stretch;
    }

    .mfywic-card,
    .mfywic-card-sm {
        width: 100%;
        max-width: none;
        min-width: 0;
        flex: unset;
        transform: none !important;
    }

    /* Packages - Single column */
    .mfywic-pkg-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 16px 0 0;
        padding: 0;
    }

    .mfywic-pkg {
        width: 100%;
        max-width: none;
        flex: unset;
    }

    /* Hide carousel dots */
    .mfywic-cdots {
        display: none !important;
    }

    .mfywic-sline {
        width: 32px;
    }

    .mfywic-btns {
        flex-direction: column-reverse;
        gap: 10px;
    }

    .mfywic-btn-back,
    .mfywic-btn-next {
        width: 100%;
        max-width: 340px;
        text-align: center;
        box-sizing: border-box;
    }

    .mfywic-inner {
        padding: 0 24px;
    }
}