/* =====================================================
   Maarez Bundle Builder — Frontend CSS v4
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@300;400;700;900&family=Noto+Serif+Hebrew:wght@300;400;700&family=Heebo:wght@300;400;700;800;900&family=Alef:wght@400;700&display=swap');

/* ── Reset ── */
.maz, .maz * { box-sizing: border-box; }
.maz button, .maz a {
    font-family: 'Heebo', -apple-system, sans-serif;
    cursor: pointer;
    text-decoration: none;
}
.maz button:focus-visible, .maz a:focus-visible {
    outline: 2px solid #111;
    outline-offset: 2px;
}

.maz {
    direction: rtl;
    font-family: 'Heebo', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #111;
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    padding-bottom: 120px;
    -webkit-font-smoothing: antialiased;
}

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.maz-hero {
    background: #fff;
    color: #111;
    border-radius: 20px;
    border: 2.5px solid #111;
    padding: 52px 44px 48px;
    text-align: center;
    animation: mazFadeUp .5s ease both;
    box-shadow: 0 8px 40px rgba(0,0,0,.10);
}

.maz-hero__disc {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
    background: #111;
    border: 2px solid #111;
    border-radius: 16px;
    padding: 12px 22px 10px;
    margin-bottom: 28px;
    line-height: 1;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 2px;
    row-gap: 0;
}
.maz-hero__disc-num  { font-size: 52px; font-weight: 900; color: #fff; font-family: 'Heebo', sans-serif; line-height: 1; }
.maz-hero__disc-pct  { font-size: 30px; font-weight: 900; color: #fff; align-self: flex-start; padding-top: 6px; }
.maz-hero__disc-lbl  { width: 100%; font-size: 13px; font-weight: 400; color: rgba(255,255,255,.7); text-align: center; margin-top: 4px; letter-spacing: .3px; }

.maz-hero__title {
    font-family: 'Frank Ruhl Libre', serif;
    font-size: 34px;
    font-weight: 700;
    color: #111;
    margin-bottom: 12px;
    line-height: 1.25;
}
.maz-hero__sub {
    font-size: 16px;
    color: #666;
    margin-bottom: 36px;
    font-weight: 400;
    line-height: 1.5;
}

.maz-hero__steps {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;       /* force single row */
    gap: 6px;
    margin-bottom: 40px;
    overflow: visible;
}
.maz-hero__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: #f5f5f5;
    border: 1.5px solid #e0e0e0;
    border-radius: 12px;
    padding: 12px 14px;
    flex: 1;                 /* equal width, all in one row */
    min-width: 0;            /* allow shrinking */
}
.maz-hero__step-n { font-size: 22px; font-weight: 900; color: #bbb; line-height: 1; }
.maz-hero__step-l { font-size: 12px; font-weight: 700; color: #333; white-space: nowrap; }
.maz-hero__arr    { font-size: 16px; color: #ccc; padding: 0; flex-shrink: 0; }

.maz-start-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #111 !important;
    color: #fff !important;
    border: 2.5px solid #111 !important;
    padding: 17px 40px !important;
    border-radius: 60px !important;
    font-family: 'Heebo', sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: transform .18s, box-shadow .18s, background .18s !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.18) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    text-decoration: none !important;
    position: relative !important;
    z-index: 2 !important;
}
.maz-start-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.22) !important;
    background: #333 !important;
    color: #fff !important;
}

/* ══════════════════════════════════════
   TABS
══════════════════════════════════════ */
.maz-tabs {
    display: flex;
    border-radius: 14px;
    overflow: hidden;
    border: 2px solid #e5e5e5;
    margin-bottom: 26px;
    background: #f5f5f5;
}
.maz-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 15px 8px;
    border-left: 2px solid #e5e5e5;
    min-height: 58px;
}
.maz-tab:last-child { border-left: none; }

.maz-tab__n    { font-size: 22px; font-weight: 900; color: #ccc; line-height: 1; flex-shrink: 0; }
.maz-tab__l    { font-size: 13px; font-weight: 700; color: #aaa; }
.maz-tab__done {
    display: none;
    width: 20px; height: 20px;
    background: #22c55e;
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 900;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
}

.maz-tab.active             { background: #111; }
.maz-tab.active .maz-tab__n { color: rgba(255,255,255,.22); }
.maz-tab.active .maz-tab__l { color: #fff; }
.maz-tab.done               { background: #f0fdf4; }
.maz-tab.done   .maz-tab__n { color: #86efac; }
.maz-tab.done   .maz-tab__l { color: #15803d; }
.maz-tab.done   .maz-tab__done { display: flex; }

/* ══════════════════════════════════════
   PANELS
══════════════════════════════════════ */
.maz-panel        { display: none; }
.maz-panel.active { display: block; animation: mazFadeUp .28s ease both; }

.maz-panel__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}
.maz-panel__n     { font-size: 56px; font-weight: 900; color: #ebebeb; line-height: 1; flex-shrink: 0; font-family: 'Heebo', sans-serif; }
.maz-panel__title { font-family: 'Frank Ruhl Libre', serif; font-size: 24px; font-weight: 700; margin-bottom: 4px; }
.maz-panel__sub   { font-size: 13px; color: #999; font-weight: 400; }

/* ══════════════════════════════════════
   LOADING / ERROR
══════════════════════════════════════ */
.maz-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 52px 20px;
    color: #bbb;
    font-size: 14px;
}
.maz-grid-error {
    padding: 44px 24px;
    text-align: center;
    color: #ccc;
    font-size: 14px;
    line-height: 1.65;
    border: 2px dashed #e5e5e5;
    border-radius: 14px;
}

/* ══════════════════════════════════════
   PRODUCT GRID
══════════════════════════════════════ */
.maz-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 14px;
    margin-bottom: 6px;
}
.maz-pcard {
    border: 2px solid #e5e5e5;
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
    transition: border-color .18s, box-shadow .18s, transform .15s;
    animation: mazCardIn .3s ease both;
    animation-delay: calc(var(--i, 0) * 0.045s);
    /* equal height: flex column so body stretches */
    display: flex;
    flex-direction: column;
}
.maz-pcard:hover    { border-color: #bbb; box-shadow: 0 5px 18px rgba(0,0,0,.09); transform: translateY(-2px); }
.maz-pcard.selected { border-color: #111; box-shadow: 0 0 0 3px rgba(0,0,0,.09); transform: translateY(-2px); }

.maz-pcard__img  { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: #f5f5f5; flex-shrink: 0; }

/* body grows to fill card height */
.maz-pcard__body {
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.maz-pcard__name {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1.35;
    color: #111;
}

/* ── Product card description + expand ── */
.maz-pcard__desc-wrap {
    position: relative;
    margin-bottom: 8px;
}
.maz-pcard__desc {
    font-size: 11px;
    color: #999;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: max-height .32s cubic-bezier(.4,0,.2,1);
    max-height: 3.2em;
    margin-bottom: 0;
}
.maz-pcard__desc.expanded {
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: vertical;
    overflow: visible;
    max-height: 300px;
}

/* Fade overlay — sits over the clamped text */
.maz-pcard__fade {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2.2em;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,.95) 70%);
    pointer-events: none;
    transition: opacity .22s ease;
}
.maz-pcard__desc-wrap.expanded .maz-pcard__fade { opacity: 0; }

/* "קרא עוד" pill button */
.maz-pcard__expand {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 5px;
    padding: 3px 10px 3px 8px;
    border: 1.5px solid #e8e8e8;
    border-radius: 20px;
    background: #fff;
    cursor: pointer;
    font-family: 'Heebo', sans-serif;
    font-size: 10px;
    font-weight: 700;
    color: #aaa;
    letter-spacing: .02em;
    transition: border-color .15s, color .15s, background .15s;
    white-space: nowrap;
}
.maz-pcard__expand:hover {
    border-color: #bbb;
    color: #555;
    background: #f8f8f8;
}
.maz-pcard__expand .maz-expand-arrow {
    font-size: 8px;
    transition: transform .25s cubic-bezier(.4,0,.2,1);
    display: inline-block;
    margin-right: 1px;
}
.maz-pcard__expand.open .maz-expand-arrow {
    transform: rotate(180deg);
}
.maz-pcard__expand.open {
    border-color: #e0e0e0;
    color: #aaa;
}

.maz-pcard__prices { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: auto; padding-top: 4px; }

.maz-price-orig  { font-size: 12px; color: #ccc; text-decoration: line-through; }
.maz-price-new   { font-size: 16px; font-weight: 900; color: #111; }
.maz-price-badge { font-size: 10px; font-weight: 800; background: #111; color: #fff; padding: 2px 8px; border-radius: 20px; }

/* ══════════════════════════════════════
   PICKED BAR
══════════════════════════════════════ */
.maz-picked {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #f8f8f8;
    border: 2px solid #e5e5e5;
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 22px;
    cursor: pointer;
    transition: border-color .16s;
}
.maz-picked:hover { border-color: #ccc; }
.maz-picked__img  { width: 58px; height: 58px; border-radius: 10px; object-fit: cover; flex-shrink: 0; background: #eee; display: block; }
.maz-picked__info { flex: 1; min-width: 0; }
.maz-picked__name { font-size: 14px; font-weight: 700; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.maz-picked__price { font-size: 13px; color: #888; }
.maz-picked__change {
    font-size: 12px; font-weight: 700; color: #666;
    background: #e8e8e8; padding: 7px 16px;
    border-radius: 20px; white-space: nowrap; flex-shrink: 0;
    transition: background .16s, color .16s;
    border: none; line-height: 1;
}
.maz-picked:hover .maz-picked__change { background: #111; color: #fff; }

/* ══════════════════════════════════════
   FIELDS GRID
══════════════════════════════════════ */
.maz-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.maz-fgroup      { display: flex; flex-direction: column; gap: 10px; }
.maz-fgroup.full { grid-column: 1 / -1; }

.maz-flabel {
    display: block;
    font-size: 11px;
    font-weight: 800;
    color: #666;
    text-transform: uppercase;
    letter-spacing: .7px;
}
.maz-required { color: #e53e3e; }

.maz-input {
    display: block;
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    font-family: 'Heebo', sans-serif;
    font-size: 14px;
    direction: rtl;
    background: #fff;
    color: #111;
    transition: border-color .18s, box-shadow .18s;
    outline: none;
    line-height: 1.4;
    font-feature-settings: "locl" 0, "kern" 1;
    quotes: none;
}
.maz-input:focus { border-color: #111; box-shadow: 0 0 0 3px rgba(0,0,0,.06); }
.maz-input.err   { border-color: #e53e3e; box-shadow: 0 0 0 3px rgba(229,62,62,.1); }

.maz-word-cnt      { font-size: 11px; color: #bbb; text-align: left; }
.maz-word-cnt.warn { color: #e53e3e; }

/* ──────────────────────────────────────
   COLOR SWATCHES
   label sits below the colored box
────────────────────────────────────── */
.maz-swatches { display: flex; flex-wrap: wrap; gap: 12px; padding: 2px 0; }

.maz-swatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font-family: inherit;
    transition: transform .15s;
    outline: none;
}
.maz-swatch:hover  { transform: translateY(-3px); }
.maz-swatch.active { transform: translateY(-3px); }

.maz-swatch__box {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    position: relative;
    flex-shrink: 0;
    transition: box-shadow .18s;
}
.maz-swatch.active .maz-swatch__box {
    box-shadow: 0 0 0 3px #111, 0 0 0 6px rgba(0,0,0,.1);
}
.maz-swatch-tick {
    display: none;
    position: absolute;
    top: -8px; right: -8px;
    width: 20px; height: 20px;
    background: #111;
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 900;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    z-index: 2;
    line-height: 1;
}
.maz-swatch.active .maz-swatch-tick { display: flex; }

.maz-swatch-name {
    font-size: 11px;
    font-weight: 600;
    color: #777;
    text-align: center;
    max-width: 60px;
    line-height: 1.2;
    word-break: break-word;
}
.maz-swatch.active .maz-swatch-name { color: #111; font-weight: 800; }

/* ──────────────────────────────────────
   FONT CARDS
   supports image preview or text preview
────────────────────────────────────── */
.maz-font-cards { display: flex; flex-wrap: wrap; gap: 12px; }

.maz-font-card {
    flex: 1;
    min-width: 140px;
    max-width: 240px;
    border: 2px solid #e5e5e5;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    font-family: inherit;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
    padding: 0;
    transition: border-color .16s, box-shadow .16s, transform .14s;
    outline: none;
    text-align: right;
}
.maz-font-card:hover  { border-color: #bbb; transform: translateY(-2px); box-shadow: 0 5px 16px rgba(0,0,0,.08); }
.maz-font-card.active { border-color: #111; transform: translateY(-2px); box-shadow: 0 0 0 3px rgba(0,0,0,.08); }

/* If the card has an image */
.maz-font-card__img {
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: contain;   /* show full image, no crop */
    object-position: center;
    display: block;
    background: #f8f8f8;
    padding: 6px;
    box-sizing: border-box;
}
/* If the card uses text preview */
.maz-font-card__text {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 74px;
    padding: 10px 14px;
    font-size: 24px;
    color: #222;
    direction: rtl;
    background: #f8f8f8;
    text-align: center;
    line-height: 1.4;
}
/* Footer: name + checkmark */
.maz-font-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-top: 1.5px solid #f0f0f0;
    background: #fff;
    gap: 8px;
}
.maz-font-label { font-size: 12px; font-weight: 700; color: #555; flex: 1; text-align: right; }
.maz-font-card__check {
    display: none;
    width: 22px; height: 22px;
    background: #111;
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 900;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
}
.maz-font-card.active .maz-font-card__check { display: flex; }

/* ──────────────────────────────────────
   CHIPS (sizes / symbol text)
────────────────────────────────────── */
.maz-chips { display: flex; flex-wrap: wrap; gap: 8px; }

.maz-chip {
    padding: 10px 20px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    font-family: 'Heebo', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #555;
    line-height: 1;
    transition: border-color .15s, background .15s, color .15s, box-shadow .15s;
    outline: none;
}
.maz-chip:hover  { border-color: #aaa; color: #111; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.maz-chip.active { border-color: #111; background: #111; color: #fff; box-shadow: 0 0 0 3px rgba(0,0,0,.07); }

.maz-chip-size {
    width: 64px; height: 64px;
    padding: 0;
    font-size: 17px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

/* ──────────────────────────────────────
   IMAGE GRID (atara / symbols with images)
────────────────────────────────────── */
.maz-img-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; }

.maz-img-option {
    border: 2px solid #e5e5e5;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
    transition: border-color .16s, box-shadow .15s, transform .14s;
    outline: none;
}
.maz-img-option:hover  { border-color: #bbb; transform: translateY(-2px); }
.maz-img-option.active { border-color: #111; box-shadow: 0 0 0 3px rgba(0,0,0,.08); transform: translateY(-2px); }
.maz-img-option img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.maz-img-option-label { font-size: 11px; font-weight: 700; text-align: center; padding: 7px 6px; color: #555; line-height: 1.3; }
.maz-img-option.text-only .maz-img-option-label { padding: 14px 8px; font-size: 13px; }

/* ──────────────────────────────────────
   ATARA LIST
────────────────────────────────────── */
.maz-atara-list { display: flex; flex-direction: column; gap: 8px; }

.maz-atara-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 14px 18px !important;
    border: 2px solid #e5e5e5 !important;
    border-radius: 12px !important;
    background: #fff !important;
    font-family: 'Heebo', sans-serif !important;
    font-size: 14px !important;
    text-align: right;
    color: #555 !important;
    line-height: 1.4;
    cursor: pointer !important;
    transition: border-color .16s, background .16s, box-shadow .16s;
    outline: none !important;
    box-sizing: border-box !important;
    appearance: none;
    -webkit-appearance: none;
    gap: 12px;
}
.maz-atara-item:hover {
    border-color: #bbb !important;
    background: #fafafa !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.maz-atara-item.active {
    border-color: #111 !important;
    background: #111 !important;
    font-weight: 700;
    color: #fff !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.14);
}

.maz-atara-item__text {
    flex: 1;
    text-align: right;
    pointer-events: none;
}

/* ✓ check circle */
.maz-atara-item__check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid #ddd;
    font-size: 12px;
    font-weight: 900;
    color: transparent;
    flex-shrink: 0;
    transition: background .16s, border-color .16s, color .16s;
    pointer-events: none;
}
.maz-atara-item:hover .maz-atara-item__check {
    border-color: #aaa;
}
.maz-atara-item.active .maz-atara-item__check {
    background: #fff;
    border-color: #fff;
    color: #111;
}

/* ══════════════════════════════════════
   SUMMARY
══════════════════════════════════════ */
.maz-summary        { animation: mazFadeUp .28s ease both; }
.maz-summary__title { font-family: 'Frank Ruhl Libre', serif; font-size: 22px; font-weight: 700; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 2px solid #f0f0f0; }

.maz-sum-item    { display: flex; align-items: flex-start; gap: 16px; padding: 18px 0; border-bottom: 1.5px solid #f3f3f3; }
.maz-sum-img     { width: 68px; height: 68px; border-radius: 10px; object-fit: cover; flex-shrink: 0; background: #f0f0f0; display: block; }
.maz-sum-body    { flex: 1; min-width: 0; }
.maz-sum-step    { font-size: 10px; font-weight: 800; color: #bbb; text-transform: uppercase; letter-spacing: .6px; margin-bottom: 4px; }
.maz-sum-name    { font-size: 15px; font-weight: 700; margin-bottom: 6px; }
.maz-sum-details { font-size: 12px; color: #777; line-height: 1.65; }
.maz-sum-prices  { flex-shrink: 0; text-align: left; }
.maz-sum-orig    { font-size: 12px; color: #ccc; text-decoration: line-through; text-align: center; margin-bottom: 2px; }
.maz-sum-new     { font-size: 18px; font-weight: 900; color: #111; }

.maz-sum-totals { background: #f8f8f8; border-radius: 14px; padding: 18px 22px; margin-top: 22px; display: flex; flex-direction: column; gap: 10px; }
.maz-tot-row    { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: #666; }
.maz-tot-row.disc  { color: #16a34a; font-weight: 700; }
.maz-tot-row.total { font-size: 20px; font-weight: 900; color: #111; border-top: 2px solid #e5e5e5; padding-top: 12px; margin-top: 4px; }

/* ══════════════════════════════════════
   SUCCESS
══════════════════════════════════════ */
/* ── Big cart button in summary ── */
.maz-sum-cart-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 28px !important;
    padding: 20px 32px !important;
    background: #111 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    font-family: 'Heebo', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background .16s, transform .14s, box-shadow .16s !important;
    box-shadow: 0 6px 28px rgba(0,0,0,.18) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.maz-sum-cart-btn:hover { background: #222 !important; transform: translateY(-2px) !important; box-shadow: 0 10px 34px rgba(0,0,0,.22) !important; }

/* ── Success screen ── */
.maz-success { text-align: center; padding: 52px 24px 40px; animation: mazFadeUp .35s ease both; }
.maz-success__ring { width: 80px; height: 80px; background: #111; color: #fff; border-radius: 50%; font-size: 32px; font-weight: 900; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; animation: mazBounce .5s ease both .1s; }
.maz-success h2 { font-family: 'Frank Ruhl Libre', serif; font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.maz-success p  { color: #888; margin-bottom: 32px; font-size: 15px; }

.maz-success__btns {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 360px;
    margin: 0 auto 48px;
}
.maz-success__btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 18px 28px !important;
    border-radius: 14px !important;
    font-family: 'Heebo', sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: transform .15s, box-shadow .15s, background .15s !important;
    text-decoration: none !important;
    border: 2.5px solid #111 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.maz-success__btn--primary  { background: #111 !important; color: #fff !important; box-shadow: 0 4px 20px rgba(0,0,0,.18) !important; }
.maz-success__btn--primary:hover  { background: #333 !important; color: #fff !important; transform: translateY(-2px) !important; }
.maz-success__btn--secondary { background: #fff !important; color: #111 !important; }
.maz-success__btn--secondary:hover { background: #f5f5f5 !important; transform: translateY(-2px) !important; }

/* ── Upsell "אולי תרצו גם" ── */
.maz-upsell { text-align: right; margin-top: 8px; padding-top: 32px; border-top: 2px solid #f0f0f0; }
.maz-upsell__title { font-family: 'Frank Ruhl Libre', serif; font-size: 20px; font-weight: 700; margin-bottom: 16px; color: #111; }
.maz-upsell__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; } /* cols overridden by JS */
.maz-ucard {
    display: flex; flex-direction: column;
    border: 1.5px solid #eee; border-radius: 14px; overflow: hidden;
    text-decoration: none; color: #111; background: #fff;
    transition: border-color .16s, transform .15s, box-shadow .15s;
    animation: mazCardIn .3s ease both;
    animation-delay: calc(var(--i,0) * 0.07s);
}
.maz-ucard:hover { border-color: #bbb; transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,.09); }
.maz-ucard__img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; background: #f5f5f5; }
.maz-ucard__img--empty { display: flex; align-items: center; justify-content: center; font-size: 30px; }
.maz-ucard__body  { padding: 10px 12px; }
.maz-ucard__name  { font-size: 12px; font-weight: 700; line-height: 1.35; margin-bottom: 5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.maz-ucard__price { font-size: 15px; font-weight: 900; }

/* ══════════════════════════════════════
   FLOATING NAV BAR
══════════════════════════════════════ */
/* ══════════════════════════════════════
   FLOATING NAV BAR
══════════════════════════════════════ */
.maz-fbar {
    position: fixed;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(17,17,17,.97);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 999px !important;
    padding: 7px;
    box-shadow:
        0 1px 0 rgba(255,255,255,.1) inset,
        0 14px 44px rgba(0,0,0,.42),
        0 2px 10px rgba(0,0,0,.26);
    animation: mazSlideUp .38s cubic-bezier(.22,1,.36,1) both;
    white-space: nowrap;
    border: 1.5px solid rgba(255,255,255,.1);
    overflow: visible;
}

/* ── Shared button base — !important overrides WP theme resets ── */
.maz-fbar .maz-fbar__btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px;
    border: none !important;
    border-radius: 999px !important;
    padding: 11px 22px !important;
    margin: 0 !important;
    font-family: 'Heebo', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transition: background .18s, color .18s, transform .15s, box-shadow .2s;
    outline: none !important;
    white-space: nowrap;
    appearance: none;
    -webkit-appearance: none;
    text-decoration: none !important;
    box-shadow: none;
    box-sizing: border-box !important;
}

/* ── Prev ── */
.maz-fbar .maz-fbar__prev {
    background: rgba(255,255,255,.1) !important;
    color: rgba(255,255,255,.7) !important;
}
.maz-fbar .maz-fbar__prev:hover {
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    transform: translateX(2px);
}

/* ── Next default (dimmed, step not complete) ── */
.maz-fbar .maz-fbar__next {
    background: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.3) !important;
}
.maz-fbar .maz-fbar__next:hover {
    background: rgba(255,255,255,.12) !important;
    color: rgba(255,255,255,.65) !important;
}

/* ── Next READY — white pill, glowing pulse ── */
.maz-fbar .maz-fbar__next.ready {
    background: #ffffff !important;
    color: #111111 !important;
    animation: mazPulseWhite 2s ease-in-out infinite;
}
.maz-fbar .maz-fbar__next.ready:hover {
    animation: none;
    background: #efefef !important;
    color: #111 !important;
    transform: translateX(-2px) scale(1.03);
}

/* ── Next ADD (last step, not ready yet) ── */
.maz-fbar .maz-fbar__next.add {
    background: rgba(22,163,74,.18) !important;
    color: #4ade80 !important;
}
.maz-fbar .maz-fbar__next.add:hover {
    background: rgba(22,163,74,.28) !important;
    color: #86efac !important;
}

/* ── Next ADD + READY — green glow pulse ── */
.maz-fbar .maz-fbar__next.add.ready {
    background: #16a34a !important;
    color: #fff !important;
    animation: mazPulseGreen 2s ease-in-out infinite;
}
.maz-fbar .maz-fbar__next.add.ready:hover {
    animation: none;
    background: #15803d !important;
    color: #fff !important;
    transform: translateX(-2px) scale(1.03);
}

/* ── Step label ── */
.maz-fbar__lbl {
    color: rgba(255,255,255,.38);
    font-family: 'Heebo', sans-serif;
    font-size: 12px;
    font-weight: 600;
    padding: 0 6px;
    min-width: 88px;
    text-align: center;
    line-height: 1;
    letter-spacing: .2px;
    pointer-events: none;
    user-select: none;
}

/* ══════════════════════════════════════
   OVERLAY + SPINNER
══════════════════════════════════════ */
.maz-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 99999; display: flex; align-items: center; justify-content: center; }

.maz-spinner {
    display: inline-block;
    width: 22px; height: 22px;
    border: 2.5px solid rgba(0,0,0,.12);
    border-top-color: #888;
    border-radius: 50%;
    animation: mazSpin .65s linear infinite;
    flex-shrink: 0;
}
.maz-spinner--lg { width: 52px; height: 52px; border-width: 4px; border-color: rgba(255,255,255,.2); border-top-color: #fff; }

/* ══════════════════════════════════════
   FLASH
══════════════════════════════════════ */
#maz-flash {
    position: fixed;
    bottom: 96px;
    left: 50%;
    transform: translateX(-50%);
    background: #111;
    color: #fff;
    padding: 13px 28px;
    border-radius: 50px;
    font-family: 'Heebo', sans-serif;
    font-size: 14px;
    font-weight: 700;
    z-index: 999999;
    box-shadow: 0 5px 22px rgba(0,0,0,.28);
    white-space: nowrap;
    pointer-events: none;
}

/* ══════════════════════════════════════
   KEYFRAMES
══════════════════════════════════════ */
@keyframes mazFadeUp   { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes mazCardIn   { from { opacity:0; transform:translateY(8px);  } to { opacity:1; transform:translateY(0); } }
@keyframes mazBounce   { 0%{transform:scale(.4)} 70%{transform:scale(1.1)} 100%{transform:scale(1)} }
@keyframes mazSlideUp  { from { opacity:0; transform:translateX(-50%) translateY(18px); } to { opacity:1; transform:translateX(-50%) translateY(0); } }
@keyframes mazSpin     { to { transform:rotate(360deg); } }
@keyframes mazPulseWhite {
    0%   { box-shadow: 0 0 0 0   rgba(255,255,255,.55); }
    60%  { box-shadow: 0 0 0 10px rgba(255,255,255,0);  }
    100% { box-shadow: 0 0 0 0   rgba(255,255,255,0);   }
}
@keyframes mazPulseGreen {
    0%   { box-shadow: 0 0 0 0   rgba(22,163,74,.7);  }
    60%  { box-shadow: 0 0 0 12px rgba(22,163,74,0);  }
    100% { box-shadow: 0 0 0 0   rgba(22,163,74,0);   }
}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 600px) {
    .maz-hero               { padding: 28px 16px 28px; border-radius: 14px; }
    .maz-hero__title        { font-size: 24px; }
    .maz-hero__disc-num     { font-size: 38px; }
    .maz-hero__disc-pct     { font-size: 22px; }
    .maz-hero__steps        { gap: 4px; margin-bottom: 28px; }
    .maz-hero__step         { padding: 10px 8px; border-radius: 10px; }
    .maz-hero__step-n       { font-size: 18px; }
    .maz-hero__step-l       { font-size: 11px; }
    .maz-hero__arr          { font-size: 12px; }
    .maz-start-btn          { padding: 15px 24px !important; font-size: 15px !important; width: 100%; justify-content: center; }
    .maz-fields-grid        { grid-template-columns: 1fr; }
    .maz-tab__l             { display: none; }
    .maz-products           { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
    .maz-fbar               { bottom: 14px; }
    .maz-fbar .maz-fbar__btn { padding: 9px 14px !important; font-size: 13px !important; }
    .maz-fbar__lbl          { min-width: 78px; font-size: 12px; padding: 0 8px; }
    .maz-font-card          { min-width: 110px; }
    .maz-upsell__grid       { grid-template-columns: repeat(2,1fr); gap: 10px; }
    .maz-success__btns      { max-width: 100%; }
    .maz-sum-cart-btn       { font-size: 16px !important; padding: 17px 20px !important; }
}

/* ── Attribution ── */
.maz-attribution {
    text-align: center;
    font-size: 11px;
    color: #ccc;
    margin-top: 48px;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
    font-family: 'Heebo', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.maz-attribution a {
    color: #bbb;
    text-decoration: none;
    font-weight: 600;
    transition: color .15s;
}
.maz-attribution a:hover { color: #111; }

/* ══════════════════════════════════════════════════════
   SIZE CHART BUTTON + MODAL
══════════════════════════════════════════════════════ */
.maz-sizechart-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 13px;
    border: 1.5px solid #e0e0e0;
    border-radius: 20px;
    background: #fff;
    font-size: 11px;
    font-weight: 700;
    color: #666;
    cursor: pointer;
    margin-bottom: 10px;
    margin-right: 2px;
    transition: border-color .14s, color .14s, background .14s;
    font-family: 'Heebo', sans-serif;
}
.maz-sizechart-btn:hover {
    border-color: #111;
    color: #111;
    background: #f8f8f8;
}

/* Overlay */
.maz-scmodal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity .22s ease;
}
.maz-scmodal-overlay.visible { opacity: 1; }
.maz-scmodal-overlay.visible .maz-scmodal {
    transform: translateY(0) scale(1);
    opacity: 1;
}

/* Modal box */
.maz-scmodal {
    background: #fff;
    border-radius: 18px;
    width: 100%;
    max-width: 560px;
    max-height: 80vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,.22);
    transform: translateY(18px) scale(.97);
    opacity: 0;
    transition: transform .26s cubic-bezier(.34,1.56,.64,1), opacity .22s ease;
    direction: rtl;
}
.maz-scmodal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1.5px solid #f0f0f0;
}
.maz-scmodal__title {
    font-size: 16px;
    font-weight: 800;
    color: #111;
    margin: 0;
}
.maz-scmodal__close {
    width: 32px; height: 32px;
    border-radius: 50%;
    border: 1.5px solid #e8e8e8;
    background: #fff;
    color: #888;
    font-size: 14px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .12s, color .12s;
}
.maz-scmodal__close:hover { background: #f5f5f5; color: #111; }
.maz-scmodal__body { overflow-y: auto; padding: 16px 20px 20px; }

/* Table */
.maz-sctable {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    font-family: 'Heebo', sans-serif;
    direction: rtl;
    text-align: right;
}
.maz-sctable thead tr {
    background: #f5f5f5;
}
.maz-sctable th {
    padding: 10px 14px;
    font-weight: 700;
    color: #444;
    font-size: 12px;
    letter-spacing: .02em;
    border-bottom: 1.5px solid #e8e8e8;
}
.maz-sctable td {
    padding: 11px 14px;
    color: #333;
    border-bottom: 1px solid #f2f2f2;
    vertical-align: middle;
}
.maz-sctable tbody tr:last-child td { border-bottom: none; }
.maz-sctable tbody tr:hover td { background: #fafafa; }
.maz-sctable td:first-child { font-weight: 700; color: #111; }
