/* Cross-Mall Store Search v1.5 — Tan Strip Bar */

.cms-wrap {
    /* ── Site-matched palette ── */
    --cms-contrast: #2F2E2E;
    --cms-contrast2: #555;
    --cms-base: #F8F6F4;
    --cms-base2: #ffffff;
    --cms-accent: #9B454D;
    --cms-accent2: #C97872;
    --cms-accent3: #E5C8B2;

    /* ── Functional tokens ── */
    --cms-text: var(--cms-contrast);
    --cms-muted: var(--cms-contrast2);
    --cms-mall: #6366f1;
    --cms-mall-bg: #eef2ff;
    --cms-store: #b45309;
    --cms-store-bg: #fef3c7;
    --cms-link: var(--cms-contrast2);
    --cms-link-h: var(--cms-accent);
    --cms-border: var(--cms-accent3);
    --cms-radius: 4px;

    font-family: inherit;
    position: relative;
    z-index: 9999;
    margin: 0;
    max-width: none;
}

/* Strip is the positioning anchor for dropdown */
.cms-strip {
    position: relative;
}

/* Global SVG reset — prevent GP theme overrides */
.cms-wrap svg {
    box-sizing: content-box !important;
    vertical-align: middle !important;
    overflow: visible !important;
}
.cms-wrap .cms-row-icon svg {
    width: 16px !important; height: 16px !important;
    max-width: 16px !important; max-height: 16px !important;
    color: inherit !important;
}
.cms-wrap .cms-sub-icon svg {
    width: 13px !important; height: 13px !important;
    max-width: 13px !important; max-height: 13px !important;
}
.cms-wrap .cms-sub-chev svg {
    width: 14px !important; height: 14px !important;
    max-width: 14px !important; max-height: 14px !important;
}


/* ═══════════════════════════════════════════════════
   TAN STRIP — warm cream bar spanning full width
   ═══════════════════════════════════════════════════ */
.cms-strip {
    background: var(--cms-base);
    padding: 10px 40px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-top: 1px solid var(--cms-accent3);
    border-bottom: 1px solid var(--cms-accent3);
}


/* ═══════════════════════════════════════════════════
   SEARCH BAR — white input inside the strip
   ═══════════════════════════════════════════════════ */
.cms-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    background: var(--cms-base2) !important;
    border: 1px solid var(--cms-accent3) !important;
    border-radius: var(--cms-radius) !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: border-color .2s;
    overflow: hidden;
}
.cms-bar:focus-within {
    border-color: var(--cms-accent2) !important;
}

/* Search icon — CSS background to avoid GP SVG conflicts */
.cms-bar-icon {
    display: flex !important; align-items: center !important; justify-content: center !important;
    flex-shrink: 0 !important;
    width: 38px !important; min-width: 38px !important; max-width: 38px !important;
    height: auto !important;
    padding: 0 0 0 12px !important;
    overflow: hidden !important;
}
.cms-search-icon {
    width: 15px !important; height: 15px !important;
    min-width: 15px !important; min-height: 15px !important;
    max-width: 15px !important; max-height: 15px !important;
    display: block !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C97872' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Input */
.cms-input {
    flex: 1 !important; min-width: 0 !important;
    border: none !important; outline: none !important;
    background: transparent !important;
    font-size: 13px !important; font-family: inherit !important;
    padding: 9px 8px !important;
    color: var(--cms-text) !important;
    box-shadow: none !important;
    line-height: 1.4 !important;
    letter-spacing: 0.02em !important;
}
.cms-input::placeholder {
    color: var(--cms-muted) !important;
    opacity: 0.7 !important;
}

/* Clear button */
.cms-clear {
    flex-shrink: 0; background: none; border: none;
    color: var(--cms-muted); font-size: 18px; cursor: pointer;
    padding: 6px 10px; line-height: 1;
}
.cms-clear:hover { color: var(--cms-text); }


/* ═══════════════════════════════════════════════════
   STATS — right side of strip (desktop) / below (mobile)
   ═══════════════════════════════════════════════════ */
.cms-stats {
    display: flex;
    gap: 10px;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
    font-size: 11px;
    font-family: inherit;
    color: var(--cms-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0;
    text-align: left;
}
.cms-stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.cms-stat-sep {
    color: var(--cms-accent3);
    font-weight: 300;
}

/* Map pin icon via CSS */
.cms-stat-pin {
    display: inline-block;
    width: 12px; height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239B454D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════
   DROPDOWN — results panel
   ═══════════════════════════════════════════════════ */
.cms-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--cms-base2);
    border: 1px solid var(--cms-accent3);
    border-top: none;
    border-radius: 0 0 var(--cms-radius) var(--cms-radius);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    max-height: 520px;
    overflow-y: auto;
    z-index: 99999;
}
.cms-dropdown-head {
    padding: 8px 14px;
    border-bottom: 1px solid #f0ebe6;
    font-size: 12px; color: var(--cms-muted); font-weight: 600;
    position: sticky; top: 0;
    background: var(--cms-base2); z-index: 2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.cms-dropdown-body { padding: 4px 6px; }


/* ═══════════════════════════════════════════════════
   ROW BASE
   ═══════════════════════════════════════════════════ */
.cms-row {
    display: block;
    margin: 4px 0;
    border-radius: 0 6px 6px 0;
    padding: 10px 12px;
    background: var(--cms-base2);
    transition: background .15s;
    text-decoration: none !important;
    color: inherit !important;
}
.cms-row:hover { background: var(--cms-base); }
.cms-row-store { border-left: 3px solid var(--cms-accent2); }
.cms-row-mall  { border-left: 3px solid var(--cms-mall); display: flex; align-items: center; gap: 10px; }


/* ═══ ROW HEAD ═══ */
.cms-row-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Icon box */
.cms-row-icon {
    width: 30px; height: 30px;
    border-radius: 5px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.cms-icon-store { background: #fef3c7; color: var(--cms-store); }
.cms-icon-mall  { background: var(--cms-mall-bg); color: var(--cms-mall); }

/* Name */
.cms-row-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--cms-text);
    line-height: 1.4;
}

/* Type tag */
.cms-row-type {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    flex-shrink: 0;
    white-space: nowrap;
}
.cms-type-store { color: var(--cms-accent2); }
.cms-type-mall  { color: var(--cms-mall); }

/* Mall name line */
.cms-row-nameline {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Info block */
.cms-row-info { flex: 1; min-width: 0; }
.cms-row-meta { font-size: 11px; color: #94a3b8; margin-top: 1px; }

/* Badge */
.cms-row-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 6px;
    flex-shrink: 0;
    white-space: nowrap;
    color: var(--cms-store);
    background: var(--cms-store-bg);
    margin-left: auto;
}

/* View Map */
.cms-row-view {
    font-size: 12px;
    font-weight: 600;
    color: var(--cms-mall);
    flex-shrink: 0;
    white-space: nowrap;
}


/* ═══════════════════════════════════════════════════
   SUB-LINKS (mall list under a store)
   ═══════════════════════════════════════════════════ */
.cms-row-links {
    margin-top: 6px;
    padding-left: 40px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.cms-sub-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--cms-link);
    text-decoration: none !important;
    padding: 3px 0;
    transition: color .15s;
}
.cms-sub-link:hover { color: var(--cms-link-h) !important; }
.cms-sub-link:hover .cms-sub-name { color: var(--cms-link-h) !important; }

.cms-sub-icon {
    display: flex; flex-shrink: 0;
    width: 13px; height: 13px;
    color: inherit; opacity: .45;
}
.cms-sub-name {
    font-weight: 500;
    transition: color .15s;
}
.cms-sub-floor {
    font-size: 10px;
    color: #94a3b8;
    background: var(--cms-base);
    padding: 1px 5px;
    border-radius: 3px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}
.cms-sub-chev {
    margin-left: auto;
    display: flex; flex-shrink: 0;
    width: 14px; height: 14px;
    color: #d1d5db;
}


/* ═══════════════════════════════════════════════════
   HIGHLIGHT
   ═══════════════════════════════════════════════════ */
.cms-hl,
mark.cms-hl {
    background: #fef3c7;
    color: #92400e;
    padding: 0 1px;
    border-radius: 2px;
}


/* ═══════════════════════════════════════════════════
   NO RESULTS
   ═══════════════════════════════════════════════════ */
.cms-nope { text-align: center; padding: 28px 16px; color: var(--cms-muted); }
.cms-nope-icon { font-size: 28px; margin-bottom: 6px; }
.cms-nope p { margin: 4px 0; font-size: 13px; }


/* ═══════════════════════════════════════════════════
   LOADING
   ═══════════════════════════════════════════════════ */
.cms-loading {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    text-align: center; padding: 20px; color: var(--cms-muted); font-size: 13px;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    background: var(--cms-base2);
    border: 1px solid var(--cms-accent3);
    border-top: none;
    border-radius: 0 0 var(--cms-radius) var(--cms-radius);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    z-index: 99999;
}
.cms-spinner {
    width: 16px; height: 16px;
    border: 2px solid var(--cms-accent3);
    border-top-color: var(--cms-accent);
    border-radius: 50%;
    animation: cmsSpin .6s linear infinite;
}
@keyframes cmsSpin { to { transform: rotate(360deg); } }


/* ═══════════════════════════════════════════════════
   NEARBY MALLS — tag row below strip
   ═══════════════════════════════════════════════════ */
.cms-nearby {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 40px;
    background: var(--cms-base2);
    border-bottom: 1px solid #f0ebe6;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.cms-nearby::-webkit-scrollbar { display: none; }
.cms-nearby-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--cms-muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    flex-shrink: 0;
    white-space: nowrap;
}
.cms-nearby-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.cms-nearby-tag {
    display: inline-block;
    font-size: 11px;
    font-family: inherit;
    color: var(--cms-contrast) !important;
    background: var(--cms-base);
    border: 1px solid var(--cms-accent3);
    border-radius: 3px;
    padding: 3px 10px;
    white-space: nowrap;
    text-decoration: none !important;
    transition: background .15s, border-color .15s, color .15s;
    letter-spacing: 0.02em;
    line-height: 1.4;
}
.cms-nearby-tag:hover {
    background: var(--cms-accent3) !important;
    border-color: var(--cms-accent2) !important;
    color: var(--cms-contrast) !important;
}


/* ═══════════════════════════════════════════════════
   SCROLLBAR
   ═══════════════════════════════════════════════════ */
.cms-dropdown::-webkit-scrollbar { width: 5px; }
.cms-dropdown::-webkit-scrollbar-track { background: transparent; }
.cms-dropdown::-webkit-scrollbar-thumb { background: var(--cms-accent3); border-radius: 3px; }


/* ═══════════════════════════════════════════════════
   MOBILE — stacked stats below search
   ═══════════════════════════════════════════════════ */
@media (max-width: 600px) {
    .cms-strip {
        flex-direction: column;
        padding: 10px 16px;
        gap: 6px;
    }
    .cms-bar {
        width: 100%;
    }
    .cms-stats {
        justify-content: center;
        font-size: 10px;
        gap: 8px;
    }
    .cms-stat-sep {
        display: none;
    }
    .cms-stats .cms-stat + .cms-stat::before {
        content: "\00B7";
        margin-right: 8px;
        color: var(--cms-accent3);
    }
    .cms-stat-pin {
        width: 10px; height: 10px;
    }
    .cms-nearby {
        padding: 7px 16px;
        gap: 8px;
    }
    .cms-nearby-tags {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .cms-nearby-tags::-webkit-scrollbar { display: none; }
    .cms-nearby-label {
        font-size: 10px;
    }
    .cms-nearby-tag {
        font-size: 10px;
        padding: 2px 8px;
    }
    .cms-dropdown {
        left: 0;
        right: 0;
        max-height: 420px;
    }
    .cms-loading {
        left: 0;
        right: 0;
    }
    .cms-input {
        font-size: 13px !important;
    }
    .cms-bar-icon {
        width: 34px !important; min-width: 34px !important;
        padding-left: 10px !important;
    }
    .cms-row-links { padding-left: 0; }
    .cms-row-icon { width: 26px; height: 26px; }
    .cms-row-icon svg { width: 14px !important; height: 14px !important; }
    .cms-row-name { font-size: 13px; }
    .cms-sub-floor { display: none; }
}

/* ═══════════════════════════════════════════════
   HOMEPAGE SHORTCODE STYLES
   ═══════════════════════════════════════════════ */

/* ── Mall Grid [nmp_popular_malls] ── */
.nmp-mall-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.nmp-mall-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e8e0d8;
    transition: all .25s;
    position: relative;
    text-decoration: none;
    color: inherit;
    display: block;
}
.nmp-mall-card:hover {
    border-color: #9B454D;
    box-shadow: 0 8px 32px rgba(155,69,77,.08);
    transform: translateY(-2px);
}
.nmp-mall-thumb {
    height: 180px;
    background: #ede7df;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nmp-mall-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.nmp-mall-thumb::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 30%, rgba(42,35,32,.55));
    pointer-events: none;
}
.nmp-mall-label {
    position: absolute;
    bottom: 12px;
    left: 14px;
    right: 14px;
    z-index: 1;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 16px;
    color: #fff;
    font-weight: 600;
    text-shadow: 0 1px 4px rgba(0,0,0,.3);
    line-height: 1.25;
}
.nmp-mall-state {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    background: rgba(255,255,255,.9);
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    color: #9B454D;
    font-family: 'Mulish', -apple-system, sans-serif;
}
.nmp-mall-body {
    padding: 14px 16px;
}
.nmp-mall-meta {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: #8a7d74;
    font-family: 'Mulish', -apple-system, sans-serif;
}

/* ── Magazine Grid [nmp_latest_malls] ── */
.nmp-mag-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}
.nmp-mag-feature {
    grid-row: 1 / -1 !important;
    background: #fff !important;
    border-radius: 10px !important;
    border: 1px solid #e0d5cc !important;
    padding: 32px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: all .2s;
}
.nmp-mag-feature:hover {
    border-color: #9B454D !important;
    box-shadow: 0 6px 24px rgba(155,69,77,.08) !important;
}
.nmp-mag-feature-cat {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: #9B454D !important;
    margin-bottom: 12px !important;
    font-family: 'Mulish', -apple-system, sans-serif !important;
}
.nmp-mag-feature-name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 26px !important;
    color: #2a2320 !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
}
.nmp-mag-feature-desc {
    font-size: 13px !important;
    color: #8a7d74 !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
}
.nmp-mag-feature-link {
    font-size: 13px !important;
    color: #9B454D !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.nmp-mag-feature-link span {
    font-size: 15px !important;
}
.nmp-mag-card {
    background: #FDFBF9 !important;
    border-radius: 10px !important;
    border: 1px solid #e0d5cc !important;
    padding: 18px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: all .2s;
}
.nmp-mag-card:hover {
    border-color: #9B454D !important;
    background: #fff !important;
    box-shadow: 0 4px 16px rgba(155,69,77,.06) !important;
}
.nmp-mag-card-cat {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: #9B454D !important;
    font-family: 'Mulish', -apple-system, sans-serif !important;
}
.nmp-mag-card-name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 16px !important;
    color: #2a2320 !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
}
.nmp-mag-card-arrow {
    color: #d4c4b8 !important;
    font-size: 16px !important;
    transition: color .2s;
    flex-shrink: 0 !important;
    margin-left: 12px !important;
}
.nmp-mag-card:hover .nmp-mag-card-arrow {
    color: #9B454D !important;
}

/* ── Region Pills [nmp_regions] ── */
.nmp-regions {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0 !important;
}
.nmp-region {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 24px !important;
    background: #fff !important;
    border: 1px solid #e8e0d8 !important;
    border-radius: 6px !important;
    cursor: pointer;
    transition: all .2s;
    min-width: 160px !important;
    text-decoration: none !important;
    color: inherit !important;
    margin: 0 !important;
}
.nmp-region:hover {
    border-color: #9B454D !important;
    box-shadow: 0 4px 16px rgba(155,69,77,.08) !important;
}
.nmp-region-name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 16px !important;
    color: #2a2320 !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.nmp-region-count {
    font-size: 12px !important;
    color: #8a7d74 !important;
    font-family: 'Mulish', -apple-system, sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Mobile ── */
@media (max-width: 768px) {
    .nmp-mall-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px;
    }
    .nmp-mall-thumb { height: 120px; }
    .nmp-mall-label { font-size: 13px; bottom: 8px; left: 10px; right: 10px; }
    .nmp-mall-body { padding: 10px; }
    .nmp-mall-meta { font-size: 10px; gap: 8px; }
    .nmp-mall-state { font-size: 9px; top: 8px; right: 8px; }

    .nmp-mag-grid {
        grid-template-columns: 1fr;
    }
    .nmp-mag-feature {
        grid-row: auto;
        padding: 20px;
    }
    .nmp-mag-feature-name { font-size: 20px; }
    .nmp-mag-card { padding: 12px 14px; }
    .nmp-mag-card-name { font-size: 14px; }

    .nmp-regions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .nmp-region { min-width: 0; padding: 10px 14px; }
    .nmp-region-name { font-size: 14px; }
}

/* ═══════════════════════════════════════════
   DIRECTORY MAP POST LAYOUT
   Only applies when plugin wraps the_content
   ═══════════════════════════════════════════ */

/* Badges */
.nmp-dmp-badges-above { display: flex; gap: 6px; margin-bottom: 10px; flex-wrap: wrap; }
.nmp-dmp-badge { font-size: 10px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; padding: 4px 12px !important; border-radius: 4px !important; display: inline-block !important; line-height: 1.4 !important; }
.nmp-dmp-badge-primary { background: #9B454D !important; color: #fff !important; }
.nmp-dmp-badge-state { background: #F2DDD1 !important; color: #9B454D !important; }

/* Meta stats */
.nmp-dmp-meta { display: flex; gap: 16px; font-size: 13px; color: #8a7d74; margin-bottom: 20px; }
.nmp-dmp-meta strong { color: #2a2320; }

/* Map wrapper - full width above the two-column layout */
.nmp-dmp-map-wrap { margin-bottom: 28px; }

/* Two-column layout */
.nmp-dmp-layout { display: grid !important; grid-template-columns: 1fr 280px !important; gap: 32px !important; margin-top: 8px !important; }

/* Main content column */
.nmp-dmp-main { min-width: 0; }

/* Bookmark banner */
.nmp-dmp-bookmark { background: #2a2320 !important; border-radius: 10px !important; padding: 16px 20px !important; margin-bottom: 20px !important; display: flex !important; align-items: center !important; gap: 12px !important; }
.nmp-dmp-bookmark-icon { font-size: 24px; flex-shrink: 0; }
.nmp-dmp-bookmark-title { font-family: 'Playfair Display', serif; font-size: 16px; color: #fff !important; margin-bottom: 2px; }
.nmp-dmp-bookmark p { font-size: 12px !important; color: #b5a89e !important; line-height: 1.4 !important; margin: 0 !important; }

/* How to use tip */
.nmp-dmp-howto { background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 10px !important; padding: 14px 18px !important; margin-bottom: 24px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.nmp-dmp-howto p { font-size: 13px !important; color: #6b5e54 !important; line-height: 1.5 !important; margin: 0 !important; }
.nmp-dmp-howto strong { color: #2a2320 !important; }

/* Article content styles */
.nmp-dmp-content { }
.nmp-dmp-content p { font-size: 15px; color: #4a3f38; line-height: 1.8; }
.nmp-dmp-content h2 { font-family: 'Playfair Display', serif !important; font-size: 22px !important; color: #2a2320 !important; margin: 32px 0 12px !important; font-weight: 400 !important; }
.nmp-dmp-content strong { color: #2a2320; }
.nmp-dmp-content a { color: #9B454D; text-decoration: underline; text-decoration-color: #E5C8B2; text-underline-offset: 2px; }
.nmp-dmp-content a:hover { text-decoration-color: #9B454D; }

/* Update notice */
.nmp-dmp-updated { background: #F8F6F4 !important; border-radius: 8px !important; padding: 12px 16px !important; margin-top: 16px !important; border-left: 3px solid #E5C8B2 !important; font-size: 12px !important; color: #8a7d74 !important; line-height: 1.5 !important; }
.nmp-dmp-updated strong { color: #6b5e54 !important; }

/* ─── Sidebar ─── */
.nmp-dmp-sidebar { }

/* Sidebar block */
.nmp-dmp-sidebar-block { background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 12px !important; padding: 18px !important; margin-bottom: 16px !important; }
.nmp-dmp-sidebar-title { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #9B454D !important; margin-bottom: 12px !important; }

/* Nearby items */
.nmp-nearby-item { display: block !important; padding: 10px !important; background: #FDFBF9 !important; border-radius: 8px !important; border: 1px solid #f0ebe5 !important; margin-bottom: 6px !important; text-decoration: none !important; transition: all .15s !important; }
.nmp-nearby-item:last-child { margin-bottom: 0 !important; }
.nmp-nearby-item:hover { border-color: #9B454D !important; background: #fff !important; }
.nmp-nearby-state { font-size: 9px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; background: #f5f0eb !important; color: #6b5e54 !important; padding: 2px 7px !important; border-radius: 3px !important; display: inline-block !important; }
.nmp-nearby-name { font-family: 'Playfair Display', serif !important; font-size: 14px !important; color: #2a2320 !important; line-height: 1.25 !important; margin: 5px 0 3px !important; }
.nmp-nearby-meta { font-size: 11px !important; color: #9B454D !important; font-weight: 600 !important; }

/* Store tags */
.nmp-store-tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.nmp-store-tag { font-size: 11px !important; padding: 4px 10px !important; border: 1px solid #e0d5cc !important; border-radius: 4px !important; color: #6b5e54 !important; background: #FDFBF9 !important; text-decoration: none !important; transition: all .15s !important; display: inline-block !important; }
.nmp-store-tag:hover { border-color: #9B454D !important; color: #9B454D !important; }

/* Browse states */
.nmp-browse-state-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 7px 0 !important; border-bottom: 1px solid #f0ebe5 !important; text-decoration: none !important; font-size: 13px !important; }
.nmp-browse-state-row:last-child { border-bottom: none !important; }
.nmp-browse-state-name { color: #2a2320 !important; font-weight: 500 !important; }
.nmp-browse-state-count { font-size: 11px !important; color: #b5a89e !important; }
.nmp-browse-state-row:hover .nmp-browse-state-name { color: #9B454D !important; }

/* Search CTA */
.nmp-dmp-cta { background: #2a2320 !important; border-radius: 12px !important; padding: 20px !important; text-align: center !important; margin-bottom: 16px !important; }
.nmp-dmp-cta-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #E5C8B2 !important; margin-bottom: 6px !important; }
.nmp-dmp-cta-heading { font-family: 'Playfair Display', serif !important; font-size: 16px !important; color: #fff !important; margin-bottom: 8px !important; line-height: 1.3 !important; }
.nmp-dmp-cta p { font-size: 12px !important; color: #b5a89e !important; margin-bottom: 12px !important; line-height: 1.5 !important; }
.nmp-dmp-cta-btn { display: block !important; background: #9B454D !important; color: #fff !important; padding: 10px 20px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none !important; text-align: center !important; transition: background .15s !important; }
.nmp-dmp-cta-btn:hover { background: #854048 !important; color: #fff !important; }

/* Prev / Next */
.nmp-dmp-prevnext { padding: 8px 0; }
.nmp-dmp-pn-border { border-top: 1px solid #f0ebe5 !important; }
.nmp-dmp-pn-label { font-size: 10px !important; color: #b5a89e !important; margin-bottom: 2px !important; }
.nmp-dmp-pn-link { font-family: 'Playfair Display', serif !important; font-size: 13px !important; color: #2a2320 !important; text-decoration: none !important; }
.nmp-dmp-pn-link:hover { color: #9B454D !important; }

/* Explore More Directory Maps */
.nmp-dmp-explore { margin-top: 40px; margin-bottom: 40px; }
.nmp-dmp-explore-line { width: 48px; height: 2px; background: #E5C8B2; margin-bottom: 20px; }
.nmp-dmp-explore-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.nmp-dmp-explore-title { font-family: 'Playfair Display', serif !important; font-size: 24px !important; color: #2a2320 !important; font-weight: 400 !important; }
.nmp-dmp-explore-sub { font-size: 13px; color: #8a7d74; margin-top: 3px; }
.nmp-dmp-explore-all { font-size: 13px !important; font-weight: 600 !important; color: #9B454D !important; text-decoration: none !important; }
.nmp-dmp-explore-grid { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; gap: 16px !important; }
.nmp-dmp-explore-card { display: block !important; background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 12px !important; overflow: hidden !important; text-decoration: none !important; transition: all .2s !important; }
.nmp-dmp-explore-card:hover { border-color: #9B454D !important; transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(155,69,77,.08) !important; }
.nmp-dmp-explore-thumb { height: 180px; background: linear-gradient(135deg, #F3EDE7, #E5C8B2); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.nmp-dmp-explore-thumb img { width: 100%; height: 100%; object-fit: cover; }
.nmp-dmp-explore-placeholder { font-size: 28px; opacity: .3; }
.nmp-dmp-explore-info { padding: 16px 18px 20px; }
.nmp-dmp-explore-name { font-family: 'Playfair Display', serif !important; font-size: 15px !important; color: #2a2320 !important; line-height: 1.3 !important; }

/* ─── Mobile ─── */
@media (max-width: 768px) {
    .nmp-dmp-layout { display: block !important; }
    .nmp-dmp-sidebar { margin-top: 24px !important; }
    .nmp-dmp-bookmark { padding: 14px 16px !important; gap: 10px !important; }
    .nmp-dmp-bookmark-icon { font-size: 20px; }
    .nmp-dmp-bookmark-title { font-size: 14px; }
    .nmp-dmp-howto { padding: 12px 14px !important; }
    .nmp-dmp-content h2 { font-size: 19px !important; margin: 24px 0 10px !important; }
    .nmp-dmp-content p { font-size: 14px; }
    .nmp-dmp-meta { gap: 12px; }
    .nmp-dmp-explore-grid { grid-template-columns: 1fr !important; }
    .nmp-dmp-explore-thumb { height: 120px; }
    .nmp-dmp-explore-title { font-size: 20px !important; }
}

/* ── Mini Cross-Mall Search (Sidebar) ── */
.nmp-sidebar-xsearch { border: 1px solid #e8e0d8 !important; }
.nmp-xsearch-desc { font-size: 12px !important; color: #8a7d74 !important; margin: 0 0 12px !important; line-height: 1.5 !important; padding: 0 !important; }
.nmp-xsearch-input-wrap { display: flex !important; gap: 6px !important; margin-bottom: 12px !important; }
.nmp-xsearch-input { flex: 1 !important; padding: 8px 12px !important; border: 1px solid #e8e0d8 !important; border-radius: 5px !important; font-size: 13px !important; font-family: inherit !important; color: #2a2320 !important; outline: none !important; background: #fff !important; transition: border-color .2s !important; }
.nmp-xsearch-input:focus { border-color: #9B454D !important; }
.nmp-xsearch-btn { padding: 8px 14px !important; background: #9B454D !important; color: #fff !important; border: none !important; border-radius: 5px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; font-family: inherit !important; transition: background .2s !important; }
.nmp-xsearch-btn:hover { background: #834049 !important; }
.nmp-xsearch-results { display: none; }
.nmp-xsearch-results.active { display: block !important; border-top: 1px solid #f0ebe5 !important; padding-top: 10px !important; }
.nmp-xsearch-result-label { font-size: 11px !important; color: #8a7d74 !important; font-weight: 600 !important; margin-bottom: 6px !important; }
.nmp-xsearch-result-item { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 7px 0 !important; border-bottom: 1px solid #f5f0eb !important; text-decoration: none !important; color: inherit !important; }
.nmp-xsearch-result-item:last-child { border-bottom: none !important; }
.nmp-xsearch-result-mall { font-size: 13px !important; color: #2a2320 !important; font-weight: 600 !important; }
.nmp-xsearch-result-floor { font-size: 11px !important; color: #8a7d74 !important; margin-top: 1px !important; }
.nmp-xsearch-result-arrow { font-size: 12px !important; color: #9B454D !important; font-weight: 700 !important; }
.nmp-xsearch-hints { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.nmp-xsearch-hint { font-size: 11px !important; color: #9B454D !important; background: #faf5f5 !important; border: 1px solid #f0dde0 !important; padding: 3px 10px !important; border-radius: 20px !important; cursor: pointer !important; transition: all .15s !important; }
.nmp-xsearch-hint:hover { background: #9B454D !important; color: #fff !important; }
.nmp-xsearch-noresult { font-size: 12px !important; color: #8a7d74 !important; padding: 4px 0 !important; }

/* ═══════════════════════════════════════════════════
   STORE LIST TEMPLATE (.nmp-sl-*)
   ═══════════════════════════════════════════════════ */

/* Hide theme right sidebar and go full-width */
.nmp-store-list .is-right-sidebar { display: none !important; }
.nmp-store-list .site-content .content-area { width: 100% !important; float: none !important; margin-right: 0 !important; }

/* Badges */
.nmp-sl-badges { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.nmp-sl-badge { font-size: 10px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; padding: 4px 12px !important; border-radius: 4px !important; display: inline-block !important; line-height: 1.4 !important; }
.nmp-sl-badge-primary { background: #9B454D !important; color: #fff !important; }
.nmp-sl-badge-state { background: #F2DDD1 !important; color: #9B454D !important; }

/* Summary bar */
.nmp-sl-summary { display: flex !important; align-items: center !important; gap: 10px !important; background: linear-gradient(135deg, #2a2320 0%, #3d3530 100%) !important; border-radius: 10px !important; padding: 14px 20px !important; margin-bottom: 24px !important; color: #E5C8B2 !important; font-size: 14px !important; }
.nmp-sl-summary-icon { font-size: 20px; }
.nmp-sl-summary strong { color: #fff !important; font-size: 18px !important; }

/* Two-column layout */
.nmp-sl-layout { display: grid !important; grid-template-columns: 1fr 260px !important; gap: 32px !important; margin-top: 8px !important; align-items: start !important; }

/* Main content */
.nmp-sl-main { min-width: 0; }
.nmp-sl-main > .wp-block-columns { margin-bottom: 0 !important; }
.nmp-sl-main p { font-size: 15px !important; color: #4a3f38 !important; line-height: 1.8 !important; }
.nmp-sl-main h2 { font-family: 'Playfair Display', serif !important; font-size: 22px !important; color: #2a2320 !important; margin: 32px 0 16px !important; font-weight: 400 !important; padding-bottom: 8px !important; border-bottom: 2px solid #E5C8B2 !important; }
.nmp-sl-main strong { color: #2a2320 !important; }
.nmp-sl-main a { color: #9B454D !important; text-decoration: underline !important; text-decoration-color: #E5C8B2 !important; text-underline-offset: 2px !important; }
.nmp-sl-main a:hover { text-decoration-color: #9B454D !important; }

/* H2 section headings */
.nmp-sl-section-heading { font-family: 'Playfair Display', serif !important; font-size: 20px !important; color: #2a2320 !important; font-weight: 500 !important; margin: 28px 0 14px !important; padding: 10px 0 8px !important; border-bottom: 2px solid #E5C8B2 !important; }
.nmp-sl-section-heading:first-child { margin-top: 0 !important; }

/* Store cards */
.nmp-sl-card { position: relative !important; background: #fff !important; border: 1px solid #e8e0d8 !important; border-left: 4px solid #c8a0a4 !important; border-radius: 0 10px 10px 0 !important; padding: 20px 20px 20px 54px !important; margin-bottom: 24px !important; transition: all .3s ease !important; }
.nmp-sl-card:hover { border-left-color: #E5C8B2 !important; box-shadow: 0 4px 16px rgba(42,35,32,.08) !important; transform: translateY(-1px) !important; }
/* Active card: currently in viewport */
.nmp-sl-card-active { border-left-color: #9B454D !important; border-left-width: 5px !important; background: linear-gradient(135deg, #fef8f6 0%, #fdf2ee 100%) !important; box-shadow: 0 6px 24px rgba(155,69,77,.15), 0 0 0 1px rgba(155,69,77,.1) !important; }
.nmp-sl-card-active .nmp-sl-card-num { background: #9B454D !important; box-shadow: 0 2px 8px rgba(155,69,77,.4) !important; transform: scale(1.1) !important; }
.nmp-sl-card-active h3 { color: #9B454D !important; }
.nmp-sl-card-active .nmp-sl-card-maplink { color: #9B454D !important; font-weight: 700 !important; }
.nmp-sl-card-num { position: absolute !important; left: 14px !important; top: 20px !important; width: 28px !important; height: 28px !important; background: #9B454D !important; color: #fff !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1 !important; }
.nmp-sl-card h3 { font-family: 'Playfair Display', serif !important; font-size: 18px !important; color: #2a2320 !important; margin: 0 0 8px 0 !important; font-weight: 600 !important; }
.nmp-sl-store-link { color: #2a2320 !important; text-decoration: none !important; transition: color .15s !important; }
.nmp-sl-store-link:hover { color: #9B454D !important; }
.nmp-sl-store-link::after { content: ' →' !important; font-size: 14px !important; opacity: 0 !important; transition: opacity .15s !important; }
.nmp-sl-card:hover .nmp-sl-store-link::after { opacity: .5 !important; }
/* Logo: directly under the video, fixed to video position */
.nmp-sl-card.has-video .nmp-sl-card-logo { position: static !important; width: 100% !important; height: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 8px !important; right: auto !important; bottom: auto !important; }
.nmp-sl-card:not(.has-video) .nmp-sl-card-logo { position: absolute !important; right: 14px !important; bottom: 14px !important; width: auto !important; height: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 12px !important; background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 8px !important; }
.nmp-sl-card-logo img { max-width: 110px !important; max-height: 26px !important; object-fit: contain !important; }
.nmp-sl-card-logo .nmp-sl-logo { width: auto !important; max-width: 110px !important; height: 22px !important; background: none !important; border: none !important; padding: 0 !important; border-radius: 0 !important; }
.nmp-sl-logo path:not([fill]), .nmp-sl-logo polygon:not([fill]), .nmp-sl-logo rect:not([fill]) { fill: #2a2320; }


@media (max-width: 768px) {
    .nmp-sl-card.has-video { padding-bottom: 20px !important; }
    .nmp-sl-card-logo { position: static !important; width: auto !important; height: auto !important; display: inline-flex !important; margin-top: 8px !important; padding: 6px 12px !important; }
}
.nmp-sl-card p { font-size: 14px !important; color: #5a5048 !important; line-height: 1.7 !important; margin-bottom: 8px !important; }
.nmp-sl-card .wp-block-list { margin: 8px 0 4px !important; padding-left: 0 !important; list-style: none !important; }
.nmp-sl-card .wp-block-list li { font-size: 13px !important; color: #6b5e54 !important; padding: 3px 0 !important; padding-left: 0 !important; }
.nmp-sl-card .wp-block-list li strong { color: #2a2320 !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: .05em !important; }
.nmp-sl-card-meta { display: flex !important; gap: 12px !important; margin-top: 6px !important; flex-wrap: wrap !important; }
.nmp-sl-card-floor { font-size: 12px !important; color: #6b5e54 !important; }
.nmp-sl-card-cat { font-size: 11px !important; color: #9B454D !important; background: #faf5f5 !important; border: 1px solid #f0dde0 !important; padding: 1px 8px !important; border-radius: 10px !important; }
.nmp-sl-card-maplink { display: inline-block !important; margin-top: 8px !important; font-size: 12px !important; font-weight: 600 !important; color: #9B454D !important; text-decoration: none !important; }
.nmp-sl-card-maplink:hover { text-decoration: underline !important; }
.nmp-sl-card-website { font-size: 12px !important; color: #9B454D !important; text-decoration: none !important; font-weight: 600 !important; }
.nmp-sl-card-website:hover { text-decoration: underline !important; }
.nmp-sl-card-phone { font-size: 12px !important; color: #6b5e54 !important; text-decoration: none !important; }
.nmp-sl-card-phone:hover { color: #9B454D !important; }
.nmp-sl-card-gmaps { font-size: 12px !important; color: #2a8520 !important; text-decoration: none !important; font-weight: 600 !important; }
.nmp-sl-card-gmaps:hover { text-decoration: underline !important; }
.nmp-sl-card-hours { font-size: 12px !important; color: #6b5e54 !important; margin-top: 4px !important; margin-bottom: 4px !important; }
.nmp-sl-card-store-img { width: 100% !important; border-radius: 8px !important; overflow: hidden !important; margin-top: 10px !important; }
.nmp-sl-card-store-img img { width: 100% !important; display: block !important; border-radius: 8px !important; }
.nmp-sl-cat-count { font-size: 13px !important; font-weight: 400 !important; color: #8a7d74 !important; }
.nmp-sl-card-desc { margin-top: 8px !important; }
.nmp-sl-card-desc p { font-size: 14px !important; color: #5a5048 !important; line-height: 1.7 !important; margin-bottom: 6px !important; }

/* Card inner wrapper */
.nmp-sl-card-inner { min-width: 0 !important; }

/* Card with video: video floats right, fixed size */
.nmp-sl-card.has-video { position: relative !important; padding-right: 210px !important; min-height: 220px !important; }
/* Right column: video + logo stacked vertically, centered */
.nmp-sl-card-right { position: absolute !important; right: 14px !important; top: 14px !important; transform: none !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 15px !important; width: 176px !important; }
.nmp-sl-card.has-video .nmp-sl-video { position: static !important; width: 100% !important; height: 140px !important; border-radius: 10px !important; border: 2px solid #e8e0d8 !important; box-shadow: 0 2px 8px rgba(42,35,32,.06) !important; transform: none !important; right: auto !important; top: auto !important; }

/* Lazy video embed */
.nmp-sl-video { overflow: hidden !important; background: #1a1714 !important; cursor: pointer !important; position: relative !important; }
.nmp-sl-video-play { position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; overflow: hidden !important; }
.nmp-sl-video-thumb { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .3s ease, filter .3s ease !important; }
.nmp-sl-video:hover .nmp-sl-video-thumb { transform: scale(1.05) !important; filter: brightness(0.7) !important; }
.nmp-sl-video-icon { position: relative !important; z-index: 2 !important; width: 40px !important; height: 40px !important; background: rgba(155,69,77,.9) !important; color: #fff !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 14px !important; flex-shrink: 0 !important; box-shadow: 0 2px 8px rgba(0,0,0,.3) !important; transition: transform .2s ease !important; }
.nmp-sl-video:hover .nmp-sl-video-icon { transform: scale(1.15) !important; background: #9B454D !important; }
.nmp-sl-card.has-video .nmp-sl-video:hover { border-color: #9B454D !important; box-shadow: 0 3px 12px rgba(155,69,77,.12) !important; }
.nmp-sl-video-label { font-size: 11px !important; color: #fff !important; font-weight: 600 !important; text-align: center !important; position: relative !important; z-index: 2 !important; text-shadow: 0 1px 3px rgba(0,0,0,.3) !important; }
/* Platform-specific backgrounds for videos without thumbnails */
.nmp-sl-video[data-platform="Instagram"] .nmp-sl-video-play:not(:has(.nmp-sl-video-thumb)) { background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045) !important; }
.nmp-sl-video[data-platform="TikTok"] .nmp-sl-video-play:not(:has(.nmp-sl-video-thumb)) { background: linear-gradient(135deg, #010101, #25f4ee, #fe2c55) !important; }
.nmp-sl-video[data-platform="YouTube"] .nmp-sl-video-play:not(:has(.nmp-sl-video-thumb)) { background: linear-gradient(135deg, #282828, #ff0000) !important; }
/* Video modal popup */
.nmp-sl-modal { display: none !important; position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 99999 !important; align-items: center !important; justify-content: center !important; }
.nmp-sl-modal.active { display: flex !important; }
.nmp-sl-modal-backdrop { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background: rgba(0,0,0,.8) !important; cursor: pointer !important; }
.nmp-sl-modal-content { position: relative !important; z-index: 1 !important; width: 90% !important; max-width: 420px !important; }
.nmp-sl-modal-close { position: absolute !important; top: -40px !important; right: 0 !important; background: none !important; border: none !important; color: #fff !important; font-size: 32px !important; cursor: pointer !important; line-height: 1 !important; padding: 4px 8px !important; }
.nmp-sl-modal-close:hover { color: #E5C8B2 !important; }
.nmp-sl-modal-iframe { background: #000 !important; border-radius: 12px !important; overflow: hidden !important; }
.nmp-sl-modal-iframe iframe { width: 100% !important; height: 80vh !important; max-height: 700px !important; border: none !important; display: block !important; }

/* Responsive: stack video below on mobile */
@media (max-width: 768px) {
    .nmp-sl-card.has-video { padding-right: 16px !important; min-height: auto !important; padding-bottom: 20px !important; }
    .nmp-sl-card-right { position: static !important; transform: none !important; width: 100% !important; margin-top: 10px !important; }
    .nmp-sl-card.has-video .nmp-sl-video { width: 100% !important; height: 160px !important; border-radius: 10px !important; }
    .nmp-sl-card.has-video .nmp-sl-card-logo { width: auto !important; display: inline-flex !important; }
}

/* TOC sidebar */
.nmp-sl-sidebar { position: sticky !important; top: 40px !important; }
.nmp-sl-toc { background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 12px !important; padding: 18px !important; margin-bottom: 16px !important; }
.nmp-sl-toc-title { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #9B454D !important; margin-bottom: 12px !important; padding-bottom: 8px !important; border-bottom: 1px solid #f0ebe5 !important; }
.nmp-sl-toc-list { list-style: none !important; margin: 0 !important; padding: 0 !important; counter-reset: toc-counter !important; }
.nmp-sl-toc-list li { counter-increment: toc-counter !important; margin-bottom: 2px !important; }
.nmp-sl-toc-link { display: flex !important; align-items: center !important; gap: 8px !important; padding: 6px 8px !important; border-radius: 6px !important; font-size: 13px !important; color: #6b5e54 !important; text-decoration: none !important; transition: all .15s !important; line-height: 1.3 !important; }
.nmp-sl-toc-link::before { content: counter(toc-counter) !important; flex-shrink: 0 !important; width: 20px !important; height: 20px !important; background: #F8F6F4 !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 10px !important; font-weight: 700 !important; color: #8a7d74 !important; }
.nmp-sl-toc-link:hover { background: #F8F6F4 !important; color: #2a2320 !important; }
.nmp-sl-toc-link.active { background: #faf5f5 !important; color: #9B454D !important; font-weight: 600 !important; }
.nmp-sl-toc-link.active::before { background: #9B454D !important; color: #fff !important; }
.nmp-sl-toc-link-cat { display: block !important; font-size: 12px !important; font-weight: 700 !important; color: #2a2320 !important; text-transform: uppercase !important; letter-spacing: .05em !important; padding: 8px 8px 4px !important; margin-top: 6px !important; border-bottom: 1px solid #f0ebe5 !important; text-decoration: none !important; border-radius: 0 !important; }
.nmp-sl-toc-link-cat:hover { color: #9B454D !important; }
.nmp-sl-toc-link-cat.active { color: #9B454D !important; }
.nmp-sl-toc-link-store { display: block !important; font-size: 12px !important; padding: 3px 8px 3px 16px !important; color: #6b5e54 !important; text-decoration: none !important; border-radius: 4px !important; transition: all .15s !important; }
.nmp-sl-toc-link-store:hover { background: #F8F6F4 !important; color: #2a2320 !important; }
.nmp-sl-toc-link-store.active { background: #faf5f5 !important; color: #9B454D !important; font-weight: 600 !important; }
.nmp-sl-toc-cat { margin-bottom: 2px !important; }
.nmp-sl-sidebar-maplink { text-align: center !important; }
.nmp-sl-intro { margin-bottom: 24px !important; }
.nmp-sl-map-wrap { margin-bottom: 32px !important; background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 12px !important; padding: 20px !important; overflow: hidden !important; }
.nmp-sl-map-header { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; margin-bottom: 16px !important; flex-wrap: wrap !important; }
.nmp-sl-map-title { font-family: 'Playfair Display', serif !important; font-size: 22px !important; color: #2a2320 !important; font-weight: 400 !important; margin: 0 !important; }
.nmp-sl-map-open-btn { display: inline-flex !important; align-items: center !important; gap: 6px !important; background: #9B454D !important; color: #fff !important; padding: 8px 16px !important; border-radius: 6px !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none !important; white-space: nowrap !important; transition: background .15s !important; }
.nmp-sl-map-open-btn:hover { background: #854048 !important; color: #fff !important; }

@media (max-width: 768px) {
    .nmp-sl-map-header { flex-direction: column !important; align-items: flex-start !important; }
    .nmp-sl-map-title { font-size: 18px !important; }
    .nmp-sl-map-open-btn { width: 100% !important; justify-content: center !important; padding: 10px 16px !important; font-size: 14px !important; border-radius: 8px !important; }
}
.nmp-sl-intro p { font-size: 15px !important; color: #4a3f38 !important; line-height: 1.8 !important; }
.nmp-sl-toc-section { margin-top: 8px !important; }
.nmp-sl-toc-link-section { display: block !important; font-size: 12px !important; font-weight: 700 !important; color: #2a2320 !important; text-transform: uppercase !important; letter-spacing: .04em !important; padding: 6px 8px !important; margin-bottom: 2px !important; border-left: 2px solid #E5C8B2 !important; text-decoration: none !important; border-radius: 0 !important; }
.nmp-sl-toc-link-section:hover { color: #9B454D !important; border-left-color: #9B454D !important; }
.nmp-sl-toc-link-section.active { color: #9B454D !important; border-left-color: #9B454D !important; }
.nmp-sl-back-top { display: block !important; text-align: center !important; margin-top: 12px !important; padding-top: 10px !important; border-top: 1px solid #f0ebe5 !important; font-size: 12px !important; color: #9B454D !important; text-decoration: none !important; font-weight: 600 !important; }
.nmp-sl-back-top:hover { color: #854048 !important; }

/* Sidebar blocks */
.nmp-sl-sidebar-block { background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 12px !important; padding: 18px !important; margin-bottom: 16px !important; }
.nmp-sl-sidebar-title { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #9B454D !important; margin-bottom: 10px !important; }
.nmp-sl-related { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.nmp-sl-related li { padding: 6px 0 !important; border-bottom: 1px solid #f5f0ec !important; }
.nmp-sl-related li:last-child { border-bottom: none !important; }
.nmp-sl-related a { font-size: 13px !important; color: #2a2320 !important; text-decoration: none !important; transition: color .15s !important; }
.nmp-sl-related a:hover { color: #9B454D !important; }

/* Sidebar CTA */
.nmp-sl-cta { background: #2a2320 !important; border-radius: 12px !important; padding: 20px !important; text-align: center !important; margin-bottom: 16px !important; }
.nmp-sl-cta-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #E5C8B2 !important; margin-bottom: 6px !important; }
.nmp-sl-cta-heading { font-family: 'Playfair Display', serif !important; font-size: 16px !important; color: #fff !important; margin-bottom: 12px !important; line-height: 1.3 !important; }
.nmp-sl-cta-btn { display: block !important; background: #9B454D !important; color: #fff !important; padding: 10px 20px !important; border-radius: 8px !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none !important; transition: background .15s !important; }
.nmp-sl-cta-btn:hover { background: #854048 !important; color: #fff !important; }

/* Featured image after H2 */
.nmp-sl-featured-img { margin: 20px 0 28px; }
.nmp-sl-featured-img img { width: 100%; height: auto; display: block; border-radius: 10px; }

/* Updated notice */
.nmp-sl-updated { background: #F8F6F4 !important; border-radius: 8px !important; padding: 12px 16px !important; margin-top: 24px !important; margin-bottom: 32px !important; border-left: 3px solid #E5C8B2 !important; font-size: 12px !important; color: #8a7d74 !important; line-height: 1.5 !important; }
.nmp-sl-updated strong { color: #6b5e54 !important; }

/* Explore More — Pinterest-style vertical cards */
.nmp-sl-explore { margin-top: 40px; margin-bottom: 40px; }
.nmp-sl-explore-line { width: 48px; height: 2px; background: #E5C8B2; margin-bottom: 20px; }
.nmp-sl-explore-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.nmp-sl-explore-title { font-family: 'Playfair Display', serif !important; font-size: 24px !important; color: #2a2320 !important; font-weight: 400 !important; }
.nmp-sl-explore-sub { font-size: 13px; color: #8a7d74; margin-top: 3px; }
.nmp-sl-explore-grid { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; gap: 18px !important; }
.nmp-sl-explore-card { display: flex !important; flex-direction: column !important; background: #fff !important; border: 1px solid #e0d5cc !important; border-radius: 12px !important; overflow: hidden !important; text-decoration: none !important; transition: all .2s !important; }
.nmp-sl-explore-card:hover { border-color: #9B454D !important; transform: translateY(-3px) !important; box-shadow: 0 8px 24px rgba(155,69,77,.1) !important; }
.nmp-sl-explore-thumb { background: linear-gradient(135deg, #F3EDE7, #E5C8B2); display: flex; align-items: center; justify-content: center; overflow: hidden; aspect-ratio: 2/3; }
.nmp-sl-explore-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nmp-sl-explore-placeholder { font-size: 36px; opacity: .3; }
.nmp-sl-explore-info { padding: 12px 14px 14px; }
.nmp-sl-explore-name { font-family: 'Playfair Display', serif !important; font-size: 14px !important; color: #2a2320 !important; line-height: 1.3 !important; font-weight: 600 !important; }
.nmp-sl-explore-count { font-size: 11px !important; color: #9B454D !important; font-weight: 600 !important; margin-top: 4px !important; display: block !important; }

/* ── Store List Responsive ── */
@media (max-width: 768px) {
    .nmp-sl-layout { display: block !important; }
    .nmp-sl-sidebar { position: static !important; margin-top: 24px !important; }
    .nmp-sl-card { padding: 16px 16px 16px 48px !important; }
    .nmp-sl-card-num { left: 12px !important; top: 16px !important; }
    .nmp-sl-card h3 { font-size: 16px !important; }
    .nmp-sl-main h2 { font-size: 19px !important; margin: 24px 0 12px !important; }
    .nmp-sl-explore-grid { grid-template-columns: 1fr 1fr !important; }
    .nmp-sl-explore-thumb { aspect-ratio: 2/3; }
    .nmp-sl-summary { padding: 12px 16px !important; }
    .nmp-sl-toc-link { font-size: 12px !important; padding: 5px 6px !important; }
}

/* ═══════════════════════════════════════════════════
   INDIVIDUAL STORE PAGE (.nmp-isp-*)
   ═══════════════════════════════════════════════════ */

/* Hide theme sidebar */
.nmp-individual-store .is-right-sidebar { display: none !important; }
.nmp-individual-store .site-content .content-area { width: 100% !important; float: none !important; }

/* Post title with badges inline */
.nmp-isp-title-wrap { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }

/* Header: Image left (60%) + Info right (40%) */
.nmp-isp-header { display: grid !important; grid-template-columns: 6fr 4fr !important; gap: 0 !important; margin-bottom: 28px !important; border-radius: 12px !important; overflow: hidden !important; border: 1px solid #e0d5cc !important; background: #fff !important; }
.nmp-isp-header-img { overflow: hidden; }
.nmp-isp-header-img img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; display: block; }
.nmp-isp-header-info { padding: 28px; display: flex; flex-direction: column; gap: 0; justify-content: flex-start; background: linear-gradient(160deg, #faf9f7 0%, #f3ede7 100%); }

/* Badges next to title */
.nmp-isp-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.nmp-isp-badge { font-size: 9px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; background: #9B454D; color: #fff; white-space: nowrap; }
.nmp-isp-badge-state { background: #6b5e54; }

/* Title wrap: title + badges inline */
.nmp-isp-title-wrap { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; margin-bottom: 6px !important; }

/* Details list in header */
.nmp-isp-details-list { display: flex; flex-direction: column; gap: 0; background: #fff; border-radius: 10px; border: 1px solid #e8e0d8; overflow: hidden; margin-bottom: 14px; }
.nmp-isp-detail-row { font-size: 13px; color: #4a3f38; line-height: 1.5; padding: 10px 14px; border-bottom: 1px solid #f0ebe5; }
.nmp-isp-detail-row:last-child { border-bottom: none; }
.nmp-isp-detail-row a { color: #9B454D; text-decoration: none; font-weight: 600; }
.nmp-isp-detail-row a:hover { text-decoration: underline; }

/* Social links in header */
.nmp-isp-header-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.nmp-isp-social { display: inline-flex !important; align-items: center !important; gap: 5px !important; font-size: 12px !important; font-weight: 600 !important; padding: 6px 14px !important; border-radius: 8px !important; text-decoration: none !important; transition: all .2s !important; border: 1px solid transparent !important; }
.nmp-isp-social[href*="instagram"] { background: linear-gradient(135deg, #f9ce34, #ee2a7b, #6228d7) !important; color: #fff !important; }
.nmp-isp-social[href*="instagram"]:hover { box-shadow: 0 3px 10px rgba(238,42,123,.3) !important; transform: translateY(-1px) !important; }
.nmp-isp-social[href*="facebook"] { background: #1877F2 !important; color: #fff !important; }
.nmp-isp-social[href*="facebook"]:hover { box-shadow: 0 3px 10px rgba(24,119,242,.3) !important; transform: translateY(-1px) !important; }
.nmp-isp-social[href*="tiktok"] { background: #010101 !important; color: #fff !important; }
.nmp-isp-social[href*="tiktok"]:hover { box-shadow: 0 3px 10px rgba(0,0,0,.3) !important; transform: translateY(-1px) !important; }
.nmp-isp-social[href*="x.com"], .nmp-isp-social[href*="twitter"] { background: #000 !important; color: #fff !important; }
.nmp-isp-social[href*="x.com"]:hover, .nmp-isp-social[href*="twitter"]:hover { box-shadow: 0 3px 10px rgba(0,0,0,.3) !important; transform: translateY(-1px) !important; }
.nmp-isp-social[href*="youtube"] { background: #FF0000 !important; color: #fff !important; }
.nmp-isp-social[href*="youtube"]:hover { box-shadow: 0 3px 10px rgba(255,0,0,.3) !important; transform: translateY(-1px) !important; }

/* Map button in header */
.nmp-isp-map-btn { display: block; background: #9B454D; color: #fff !important; padding: 12px 20px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none !important; text-align: center; transition: all .2s; margin-top: auto; box-shadow: 0 2px 8px rgba(155,69,77,.2); }
.nmp-isp-map-btn:hover { background: #854048; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(155,69,77,.3); }

/* Section titles */
.nmp-isp-section-title { font-family: 'Playfair Display', serif !important; font-size: 22px !important; color: #2a2320 !important; font-weight: 400 !important; margin: 0 0 16px !important; padding-bottom: 8px !important; border-bottom: 2px solid #E5C8B2 !important; }

/* Maps section — side by side */
.nmp-isp-maps-section { margin-bottom: 28px; }
.nmp-isp-maps-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nmp-isp-map-indoor, .nmp-isp-map-outdoor { background: #fff; border: 1px solid #e0d5cc; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.nmp-isp-map-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; flex-shrink: 0; }
.nmp-isp-map-label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9B454D; }
.nmp-isp-map-open-btn { font-size: 12px; font-weight: 600; color: #fff; background: #9B454D; padding: 6px 14px; border-radius: 6px; text-decoration: none; transition: background .15s; }
.nmp-isp-map-open-btn:hover { background: #854048; color: #fff; }
.nmp-isp-gmap { width: 100%; flex: 1; min-height: 300px; border: none; display: block; }

@media (max-width: 768px) {
    .nmp-isp-maps-grid { grid-template-columns: 1fr; }
    .nmp-isp-gmap { height: 300px; }
}

/* Videos section */
.nmp-isp-videos-section { margin-bottom: 28px; }
.nmp-isp-videos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; max-width: 900px; }
.nmp-isp-video-card { position: relative; border-radius: 10px; overflow: hidden; border: 2px solid #e0d5cc; transition: all .2s; }
.nmp-isp-video-card:hover { border-color: #9B454D; box-shadow: 0 4px 16px rgba(155,69,77,.1); transform: translateY(-2px); }
.nmp-isp-video-card .nmp-sl-video { border-radius: 0 !important; height: 260px !important; border: none !important; }
.nmp-isp-video-platform { position: absolute; top: 8px; right: 8px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: rgba(0,0,0,.6); color: #fff; padding: 3px 8px; border-radius: 4px; z-index: 3; }

/* Social Wall */
.nmp-isp-social-wall { margin-bottom: 32px; }
.nmp-isp-social-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; align-items: stretch; }
.nmp-isp-social-grid > * { height: 520px; overflow: hidden; }
.nmp-isp-social-embed { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 12px rgba(42,35,32,.06); transition: box-shadow .2s, transform .2s; }
.nmp-isp-social-embed:hover { box-shadow: 0 6px 24px rgba(42,35,32,.1); transform: translateY(-2px); }

/* Platform header bar */
.nmp-isp-social-embed::before { content: ''; display: block; height: 4px; }
.nmp-isp-social-instagram::before { background: linear-gradient(90deg, #f9ce34, #ee2a7b, #6228d7); }
.nmp-isp-social-facebook::before { background: #1877F2; }
.nmp-isp-social-youtube::before { background: #FF0000; }
.nmp-isp-social-tiktok::before { background: linear-gradient(90deg, #25f4ee, #010101, #fe2c55); }

/* Embeds */
.nmp-isp-social-embed iframe { width: 100% !important; min-height: 480px; border: none !important; display: block; }
.nmp-isp-social-instagram iframe { min-height: 480px; }
.nmp-isp-social-facebook iframe { min-height: 500px; }
.nmp-isp-tiktok-card { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; text-decoration: none !important; background: linear-gradient(160deg, #010101 0%, #161823 100%); padding: 40px 20px; box-sizing: border-box; transition: all .2s; }
.nmp-isp-tiktok-card:hover { background: linear-gradient(160deg, #1a1a2e 0%, #25283d 100%); }
.nmp-isp-tiktok-icon { font-size: 48px; color: #25f4ee; margin-bottom: 16px; text-shadow: 2px 2px 0 #fe2c55; }
.nmp-isp-tiktok-handle { font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.nmp-isp-tiktok-label { font-size: 13px; color: #8a8a8a; margin-bottom: 24px; }
.nmp-isp-tiktok-btn { background: linear-gradient(90deg, #25f4ee, #fe2c55); color: #fff; font-size: 14px; font-weight: 700; padding: 10px 28px; border-radius: 4px; transition: transform .15s; }
.nmp-isp-tiktok-card:hover .nmp-isp-tiktok-btn { transform: scale(1.05); }
.nmp-isp-social-youtube { display: flex; flex-direction: column; }
.nmp-isp-social-youtube iframe { flex: 1; min-height: 300px; }
.nmp-isp-social-yt-link { display: block; text-align: center; padding: 12px; font-size: 13px; font-weight: 600; color: #FF0000; text-decoration: none; border-top: 1px solid #f0ebe5; transition: background .15s; }
.nmp-isp-social-yt-link:hover { background: #fff5f5; }
.nmp-isp-yt-card { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; text-decoration: none !important; background: #181818; padding: 40px 20px; box-sizing: border-box; transition: all .2s; }
.nmp-isp-yt-card:hover { background: #282828; }
.nmp-isp-yt-icon { font-size: 48px; color: #FF0000; margin-bottom: 16px; }
.nmp-isp-yt-handle { font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.nmp-isp-yt-label { font-size: 13px; color: #8a8a8a; margin-bottom: 24px; }
.nmp-isp-yt-btn { background: #FF0000; color: #fff; font-size: 14px; font-weight: 700; padding: 10px 28px; border-radius: 4px; transition: transform .15s; }
.nmp-isp-yt-card:hover .nmp-isp-yt-btn { transform: scale(1.05); }

@media (max-width: 768px) {
    .nmp-isp-social-grid { grid-template-columns: 1fr; }
}

/* Logo (no-image fallback) */
.nmp-isp-logo { margin-bottom: 12px; }
.nmp-isp-logo img { max-width: 140px; max-height: 50px; object-fit: contain; }

/* Two-column layout */
.nmp-isp-layout { display: grid; grid-template-columns: 1fr 300px; gap: 32px; margin-top: 8px; }

/* Main content */
.nmp-isp-main { min-width: 0; }
.nmp-isp-content p { font-size: 15px; color: #4a3f38; line-height: 1.8; }
.nmp-isp-content h2 { font-family: 'Playfair Display', serif; font-size: 22px; color: #2a2320; margin: 28px 0 12px; font-weight: 400; }
.nmp-isp-content strong { color: #2a2320; }
.nmp-isp-content a { color: #9B454D; text-decoration: underline; text-decoration-color: #E5C8B2; text-underline-offset: 2px; }

/* Video */
.nmp-isp-video { margin-top: 24px; }
.nmp-isp-video .nmp-sl-video { border-radius: 12px; height: 400px; }

/* Sidebar */
.nmp-isp-sidebar { position: sticky; top: 40px; }
.nmp-isp-sidebar-card { background: #fff; border: 1px solid #e0d5cc; border-radius: 12px; padding: 18px; margin-bottom: 16px; }
.nmp-isp-sidebar-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9B454D; margin-bottom: 12px; }
.nmp-isp-info-row { font-size: 13px; color: #4a3f38; padding: 6px 0; border-bottom: 1px solid #f5f0ec; line-height: 1.5; }
.nmp-isp-info-row:last-child { border-bottom: none; }
.nmp-isp-info-row a { color: #9B454D; text-decoration: none; }
.nmp-isp-info-row a:hover { text-decoration: underline; }

/* Socials */
.nmp-isp-socials { display: flex; flex-wrap: wrap; gap: 6px; }
.nmp-isp-social { display: inline-block; font-size: 12px; font-weight: 600; color: #9B454D; background: #faf5f5; border: 1px solid #f0dde0; padding: 4px 12px; border-radius: 20px; text-decoration: none; transition: all .15s; }
.nmp-isp-social:hover { background: #9B454D; color: #fff; }

/* Map button */
.nmp-isp-sidebar-map { text-align: center; }
.nmp-isp-map-btn { display: block; background: #9B454D; color: #fff; padding: 12px 20px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; text-align: center; transition: background .15s; }
.nmp-isp-map-btn:hover { background: #854048; color: #fff; }

/* Related stores */
.nmp-isp-related { list-style: none; margin: 0; padding: 0; }
.nmp-isp-related li { margin-bottom: 4px; }
.nmp-isp-related a { display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: #2a2320; text-decoration: none; padding: 10px 14px; background: #fff; border: 1px solid #ede8e3; border-radius: 8px; transition: all .2s; }
.nmp-isp-related a::after { content: '→'; color: #c8a0a4; font-size: 14px; transition: all .2s; }
.nmp-isp-related a:hover { background: linear-gradient(135deg, #fef8f6, #fdf2ee); border-color: #d4b5b8; }
.nmp-isp-related a:hover::after { color: #9B454D; transform: translateX(3px); }
.nmp-isp-sidebar-desc { font-size: 12px !important; color: #8a7d74 !important; margin: 0 0 10px !important; line-height: 1.4 !important; }

/* Similar Stores grid */
.nmp-isp-similar { margin-top: 40px; margin-bottom: 28px; }
.nmp-isp-similar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.nmp-isp-similar-card { display: block; background: #fff; border-radius: 12px; overflow: hidden; text-decoration: none !important; transition: all .25s; box-shadow: 0 1px 4px rgba(42,35,32,.06); border: 1px solid #ede8e3; }
.nmp-isp-similar-card:hover { box-shadow: 0 8px 28px rgba(155,69,77,.1); border-color: #d4b5b8; transform: translateY(-3px); }
.nmp-isp-similar-img { height: 170px; background: #f3ede7; position: relative; overflow: hidden; }
.nmp-isp-similar-img > img:first-child { width: 100%; height: 100%; object-fit: cover; filter: brightness(.97); transition: transform .4s, filter .3s; }
.nmp-isp-similar-card:hover .nmp-isp-similar-img > img:first-child { transform: scale(1.05); filter: brightness(1); }
.nmp-isp-similar-placeholder { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font-size: 32px; opacity: .15; }
.nmp-isp-similar-logo { position: absolute !important; top: 10px; right: 10px; width: 32px !important; height: 32px !important; object-fit: contain !important; background: rgba(255,255,255,.95); border-radius: 6px; padding: 4px; box-shadow: 0 1px 6px rgba(0,0,0,.08); z-index: 2; }
.nmp-isp-similar-info { padding: 14px 16px; background: #fff; position: relative; }
.nmp-isp-similar-info::before { content: ''; position: absolute; top: 0; left: 16px; right: 16px; height: 2px; background: linear-gradient(90deg, #9B454D, #E5C8B2); border-radius: 2px; opacity: 0; transition: opacity .25s; }
.nmp-isp-similar-card:hover .nmp-isp-similar-info::before { opacity: 1; }
.nmp-isp-similar-name { font-family: 'Playfair Display', serif; font-size: 15px; color: #2a2320; font-weight: 600; line-height: 1.3; }

/* Search CTA */
.nmp-isp-cta { background: #2a2320; border-radius: 12px; padding: 20px; text-align: center; margin-bottom: 16px; }
.nmp-isp-cta-label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #E5C8B2; margin-bottom: 6px; }
.nmp-isp-cta-heading { font-family: 'Playfair Display', serif; font-size: 16px; color: #fff; margin-bottom: 12px; line-height: 1.3; }
.nmp-isp-cta-btn { display: block; background: #9B454D; color: #fff !important; padding: 10px 20px; border-radius: 8px; font-size: 13px; font-weight: 600; text-decoration: none !important; transition: background .15s; }
.nmp-isp-cta-btn:hover { background: #854048; }

/* Updated notice */
.nmp-isp-updated { background: #F8F6F4; border-radius: 8px; padding: 12px 16px; margin-top: 24px; border-left: 3px solid #E5C8B2; font-size: 12px; color: #8a7d74; }
.nmp-isp-updated strong { color: #6b5e54; }

@media (max-width: 768px) {
    .nmp-isp-similar-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .nmp-isp-similar-img { height: 120px; }
}
@media (max-width: 480px) {
    .nmp-isp-similar-grid { grid-template-columns: 1fr; }
}

/* Responsive */
@media (max-width: 768px) {
    .nmp-isp-header { grid-template-columns: 1fr !important; }
    .nmp-isp-header-img img { min-height: 200px !important; height: 200px !important; }
    .nmp-isp-header-info { padding: 16px !important; }
    .nmp-isp-videos-grid { grid-template-columns: 1fr !important; }
    .nmp-isp-layout { display: block; }
    .nmp-isp-sidebar { position: static; margin-top: 24px; }
}
