
/*
 * IranStores unified business card
 * Only card-specific rules.
 * Not yet loaded on public pages.
 */
:root {
    --home-purple:#6d28d9;
    --home-purple-dark:#4c1d95;
    --home-purple-soft:#f5f3ff;
    --home-ink:#172033;
    --home-muted:#667085;
    --home-line:#e8eaf0;
}
.unified-store-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.unified-store-card{min-width:0;overflow:hidden;background:#fff;border:1px solid var(--home-line);border-radius:19px;text-decoration:none;color:var(--home-ink);transition:.18s;scroll-snap-align:start;transform:translate3d(0,0,0)}
.unified-store-card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(26,32,44,.09);border-color:#ddd4ef;color:var(--home-ink)}
.unified-store-card.promoted{border-color:#ead9ad}
.unified-store-card .store-media{position:relative;aspect-ratio:16/10;background:#f1f3f6;overflow:hidden}
.unified-store-card .store-media > img.home-store-cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.unified-store-card:hover .store-media > img.home-store-cover {
    transform: scale(1.035);
}
.promoted-badge,.online-badge{position:absolute;top:11px;right:11px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:950;backdrop-filter:blur(8px)}
.promoted-badge{background:rgba(255,248,225,.93);color:#8a5a0a;border:1px solid rgba(183,121,31,.22)}
.online-badge{background:rgba(239,246,255,.94);color:#1d4ed8;border:1px solid rgba(37,99,235,.18)}
.unified-store-card .store-copy{padding:14px}.unified-store-card .store-copy>small{font-size:12px;color:var(--home-purple);font-weight:850}.unified-store-card .store-copy h3{font-size:17px;line-height:1.6;font-weight:950;margin:4px 0}.unified-store-card .store-copy p{min-height:24px;font-size:11px;line-height:1.8;color:var(--home-muted);margin:0 0 12px}
.unified-store-card .store-cta{display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px solid #f0f1f4;font-size:11px;font-weight:900;color:var(--home-purple)}

.unified-store-card{
    position:relative;
    border-radius:18px !important;
}

.unified-store-card .store-media{
    position:relative;
    aspect-ratio:16/7.4 !important;
}

.unified-store-card .store-media > img.home-store-cover{
    width:100%;
    height:100%;
    object-fit:cover;
}

.unified-store-card .home-store-logo{
    position:absolute;
    right:12px;
    bottom:10px;
    z-index:3;
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    overflow:visible;
    border:0 !important; padding:3px; outline:none !important; box-sizing:border-box;
    border-radius:15px;
    background:#fff !important;
    box-shadow:none !important;
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
}

.unified-store-card .home-store-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important; border:0 !important; outline:none !important; box-shadow:none !important;
    transform:none !important;
}

.unified-store-card .store-copy{
    display:flex;
    flex-direction:column;
    padding:10px 11px 11px !important;
}

.unified-store-card .store-copy>small:first-child{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:3px 7px;
    border-radius:7px;
    background:#f5f3ff;
    color:#6d28d9;
    font-size:12px !important;
    font-weight:900;
}

.unified-store-card .store-copy h3{
    margin:5px 0 2px !important;
    font-size:16px !important;
    line-height:1.65 !important;
}

.unified-store-card .store-copy>p:not(.home-store-excerpt){
    min-height:0 !important;
    margin:0 0 5px !important;
    color:#7b8494 !important;
    font-size:12px !important;
}

.unified-store-card .home-store-excerpt{
    display:-webkit-box;
    height:44px !important;
    overflow:hidden;
    margin:4px 0 7px !important;
    color:#526071 !important;
    font-size:12px !important;
    line-height:1.8 !important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.unified-store-card .home-store-meta-row{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:6px;
    margin:5px 0 7px;
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}

.unified-store-card .home-store-cta{
    min-height:28px;
    margin-top:auto;
    padding:6px 4px !important;
    border:0 !important;
    border-radius:10px;
    background:linear-gradient(135deg,#7c3aed,#5b21b6);
    color:#fff !important;
    font-size:11px !important;
    box-shadow:0 8px 18px rgba(109,40,217,.15);
}

.unified-store-card:hover .home-store-cta{
    box-shadow:0 11px 23px rgba(109,40,217,.23);
}

.unified-store-card .home-store-cta b{
    color:#fff;
    font-size:15px;
}

@media(max-width:640px){
    .unified-store-card .home-store-logo{
        width:48px;
        height:48px;
        border-radius:13px;
    }

    .unified-store-card .store-copy h3{
        font-size:15px !important;
    }

    .unified-store-card .home-store-excerpt{
        height:45px !important;
        font-size:12px !important;
    }
}

/* IranStores homepage store badges */
.unified-store-card .store-media {
    position: relative;
}

.unified-store-card .home-card-badges {
    position: absolute;
    top: 10px;
    right: 10px;
    left: 10px;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    pointer-events: none;
}


/* UNIFIED LISTING GRID V2 */

/* Desktop: 4 columns */
.local-store-grid:has(> .unified-store-card) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}

.local-store-grid > .unified-store-card {
    width: 100%;
    min-width: 0;
    height: 100%;
}

/* Tablet: 3 columns */
@media (max-width: 991px) {
    .local-store-grid:has(> .unified-store-card) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Mobile: 2 columns */
@media (max-width: 640px) {
    .local-store-grid:has(> .unified-store-card) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-flow: row;
        overflow: visible;
    }
}


/* UNIFIED_CARD_CTA_TEXT_FIX_V1 */
a.unified-store-card .home-store-cta,
a.unified-store-card .home-store-cta span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

a.unified-store-card:hover .home-store-cta,
a.unified-store-card:hover .home-store-cta span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* UNIFIED_MOBILE_LAYOUT_FINAL_V1 */
@media (max-width: 640px) {
    .home-store-card.unified-store-card .store-media {
        aspect-ratio: 16 / 9 !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .home-store-card.unified-store-card .home-card-badges {
        position: absolute !important;
        top: 8px !important;
        right: 7px !important;
        left: 7px !important;
        bottom: auto !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-content: flex-start !important;
        gap: 3px !important;
        z-index: 10 !important;
    }

    .home-store-card.unified-store-card .home-card-badges > span {
        min-height: 20px !important;
        padding: 2px 5px !important;
        font-size: 9px !important;
        line-height: 1.35 !important;
        box-sizing: border-box !important;
    }

    .home-store-card.unified-store-card .home-card-badges > .home-card-hours {
        position: absolute !important;
        top: 23px !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        max-width: calc(100% - 54px) !important;
        white-space: nowrap !important;
        font-size: 9px !important;
        z-index: 11 !important;
    }

    .home-store-card.unified-store-card .home-store-logo {
        right: 7px !important;
        bottom: 6px !important;
        width: 38px !important;
        height: 38px !important;
    }

    .home-store-card.unified-store-card .home-store-center-badge {
        right: 48px !important;
        left: auto !important;
        bottom: 6px !important;
        max-width: calc(100% - 56px) !important;
    }
}


/* UNIFIED_MOBILE_CENTER_BADGE_COMPACT_V1 */
@media (max-width: 640px) {
    .home-store-card.unified-store-card .home-store-center-badge {
        right: 48px !important;
        left: auto !important;
        bottom: 6px !important;
        width: max-content !important;
        max-width: calc(100% - 54px) !important;
        min-width: 0 !important;
    }

    .home-store-card.unified-store-card
    .home-store-center-badge .store-shopping-center-badge--card {
        display: inline-flex !important;
        align-items: center !important;
        width: max-content !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 2px 4px !important;
        font-size: 8px !important;
        line-height: 1.3 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }
}

/* CITY_PROVINCE_CARD_MEDIA_MATCH_V1 */
@media (max-width: 640px) {
    .city-province-unified-grid .unified-store-card .store-media {
        aspect-ratio: 16 / 9 !important;
    }
    .city-province-unified-grid .unified-store-card .home-store-logo {
        width: 38px !important;
        height: 38px !important;
        right: 7px !important;
        bottom: 6px !important;
    }
}

/* UNIFIED_MOBILE_EXCERPT_SPACE_V1 */
@media (max-width: 640px) {
    a.unified-store-card .home-store-excerpt {
        height: auto !important;
        min-height: 44px !important;
        max-height: none !important;
        -webkit-line-clamp: 2 !important;
        line-height: 1.8 !important;
    }

    a.unified-store-card .home-store-cta {
        min-height: 26px !important;
        padding: 4px 6px !important;
    }
}


/* HOMEPAGE_REFERENCE_CARD_UNIFIED */
/* COMPACT HOME STORE CARD V1 */
.home-store-card.unified-store-card .home-store-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}
.home-store-card.unified-store-card .home-store-title-row h3 {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}
.home-store-card.unified-store-card .home-store-views {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 11px;
    color: #64748b;
}
.home-store-card.unified-store-card .home-store-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    min-width: 0;
}
.home-store-card.unified-store-card .home-store-footer .home-store-meta-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    margin: 0;
    font-size: 10px;
}
.home-store-card.unified-store-card .home-store-footer .home-store-cta {
    display: inline-flex;
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    min-height: 28px;
    height: auto;
    padding: 6px 9px;
    margin: 0;
    font-size: 10px;
    line-height: 1.3;
    white-space: nowrap;
}
.home-store-card.unified-store-card .home-store-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.home-store-card.unified-store-card .home-store-center-badge {
    width: max-content;
    max-width: 58%;
    min-width: 0;
}
.home-store-card.unified-store-card .home-store-center-badge .store-shopping-center-badge--card {
    max-width: 100%;
    min-width: 0;
    padding: 3px 7px;
    font-size: 10px;
}
@media (max-width: 767px) {
    .home-store-card.unified-store-card .home-store-footer {
        gap: 4px;
    }
    .home-store-card.unified-store-card .home-store-footer .home-store-cta {
        font-size: 9px;
        padding: 5px 6px;
    }
    .home-store-card.unified-store-card .home-store-footer .home-store-meta-row {
        font-size: 9px;
    }
}

/* FINAL COMPACT CARD LAYOUT V2 */
.home-store-card.unified-store-card .store-copy .home-store-title-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: 100% !important;
}
.home-store-card.unified-store-card .home-store-title-row h3 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.home-store-card.unified-store-card .home-store-title-row .home-store-views {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    white-space: nowrap !important;
    font-size: 11px !important;
}
.home-store-card.unified-store-card .store-copy .home-store-footer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: 100% !important;
}
.home-store-card.unified-store-card .home-store-footer .home-store-meta-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.home-store-card.unified-store-card .home-store-footer .store-rating-badge {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: fit-content !important;
    min-width: 0 !important;
    padding: 3px 6px !important;
}
.home-store-card.unified-store-card .home-store-footer .home-store-cta {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 28px !important;
    padding: 6px 9px !important;
    margin: 0 !important;
    font-size: 10px !important;
    white-space: nowrap !important;
}
.home-store-card.unified-store-card .home-store-footer .home-store-cta b {
    display: none !important;
}
.home-store-card.unified-store-card .home-store-excerpt {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
}
@media (max-width: 767px) {
    .home-store-card.unified-store-card .home-store-footer .home-store-cta {
        font-size: 9px !important;
        padding: 5px 6px !important;
    }
}

@media (min-width: 768px) {
    .home-store-card.unified-store-card .home-store-center-badge {
        position: absolute;
        right: 72px;
        bottom: 10px;
        z-index: 4;
        width: max-content;
        max-width: 58%;
    }
}
