/* علِّمنا R19.15.1 — Discover City wide cards + corrected business classification */
.public-discover-business-grid{
    margin-top:18px;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:14px;
}
.public-discover-business-card{
    min-width:0;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(250px,310px) minmax(0,1fr);
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--surface);
    color:var(--text-primary);
    transform:none;
    transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);
}
/* البطاقة ثابتة تمامًا؛ التفاعل فقط على الإطار والظل. */
.public-discover-business-card:hover{
    transform:none;
    border-color:var(--primary);
    box-shadow:var(--shadow-xs);
}
.public-discover-business-card.is-sponsored{
    border-color:color-mix(in srgb,var(--secondary) 58%,var(--border));
    box-shadow:0 0 0 1px color-mix(in srgb,var(--secondary) 10%,transparent);
}
.public-discover-business-card.is-sponsored:hover{
    border-color:var(--secondary);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--secondary) 24%,transparent),var(--shadow-xs);
}
.public-discover-business-cover{
    position:relative;
    display:block;
    min-height:190px;
    overflow:hidden;
    background:var(--primary-light);
    color:var(--primary);
    text-decoration:none;
}
.public-discover-business-cover>img{
    display:block;
    width:100%;
    height:100%;
    min-height:190px;
    object-fit:cover;
}
.public-discover-business-cover>img.is-logo-fallback{
    object-fit:contain;
    padding:34px;
    background:var(--surface-soft);
}
.public-discover-business-cover>span{
    width:100%;
    height:100%;
    min-height:190px;
    display:grid;
    place-items:center;
}
.public-discover-business-cover>span svg{width:42px;height:42px;opacity:.65}
.public-discover-sponsor-badge,.public-discover-community-badge{
    position:absolute;
    inset-block-start:12px;
    inset-inline-start:12px;
    min-height:28px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:4px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:750;
    font-style:normal;
    backdrop-filter:blur(7px);
}
.public-discover-sponsor-badge{
    background:color-mix(in srgb,var(--secondary-light) 92%,transparent);
    color:var(--secondary-hover);
    border:1px solid color-mix(in srgb,var(--secondary) 45%,transparent);
}
.public-discover-community-badge{
    background:color-mix(in srgb,var(--surface) 92%,transparent);
    color:var(--primary);
    border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);
}
.public-discover-sponsor-badge svg,.public-discover-community-badge svg{width:13px;height:13px}
.public-discover-business-body{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:18px 20px 16px;
}
.public-discover-business-identity{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:11px;
    align-items:center;
}
.public-discover-business-logo{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:15px;
    background:var(--surface);
    color:var(--primary);
    box-shadow:var(--shadow-xs);
}
.public-discover-business-logo img{width:100%;height:100%;object-fit:cover}
.public-discover-business-logo svg{width:22px;height:22px}
.public-discover-business-copy{min-width:0}
.public-discover-business-title{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:var(--content-title);
    font-size:18px;
    font-weight:750;
    line-height:1.45;
    text-decoration:none;
    transition:color var(--transition-fast),text-decoration-color var(--transition-fast);
}
/* العنوان فقط له Hover مستقل، بدون تحريك البطاقة. */
.public-discover-business-title:hover{
    color:var(--primary);
    text-decoration:underline;
    text-underline-offset:4px;
    text-decoration-thickness:1px;
}
.public-discover-business-title .public-latest-verified{width:16px;height:16px;flex:0 0 auto}
.public-discover-business-category{
    display:block;
    margin-top:3px;
    color:var(--text-muted);
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.public-discover-business-description{
    margin:13px 0 0;
    color:var(--text-secondary);
    font-size:14px;
    line-height:1.8;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.public-discover-business-signals{
    min-height:31px;
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    margin-top:12px;
}
.public-discover-owner-badge,.public-discover-recommend,.public-business-loyalty-badge{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    font-style:normal;
}
.public-discover-owner-badge{
    background:var(--primary-light);
    color:var(--primary);
    border:1px solid var(--primary-light-hover);
}
.public-discover-recommend{background:var(--primary-light);color:var(--primary)}
.public-business-loyalty-badge{margin:0;background:var(--secondary-light);color:var(--secondary-hover)}
.public-discover-owner-badge svg,.public-discover-recommend svg,.public-business-loyalty-badge svg{width:12px;height:12px}
.public-discover-business-footer{
    min-height:47px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:13px;
    border-top:1px solid var(--border);
}
.public-discover-business-action{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 13px;
    border:1px solid var(--primary-light-hover);
    border-radius:10px;
    background:var(--primary-light);
    color:var(--primary);
    font-size:13px;
    font-weight:750;
    text-decoration:none;
}
.public-discover-business-action:hover{border-color:var(--primary);background:var(--primary);color:#fff}
.public-discover-business-action svg{width:15px;height:15px}
.public-discover-business-footer small{max-width:46%;color:var(--text-muted);font-size:12px;text-align:end;line-height:1.55}
@media(max-width:820px){
    .public-discover-business-card{grid-template-columns:minmax(200px,250px) minmax(0,1fr)}
    .public-discover-business-cover,.public-discover-business-cover>img,.public-discover-business-cover>span{min-height:205px}
}
@media(max-width:640px){
    .public-discover-business-grid{gap:12px}
    .public-discover-business-card{display:block}
    .public-discover-business-cover,.public-discover-business-cover>img,.public-discover-business-cover>span{min-height:180px;height:180px}
    .public-discover-business-body{padding:14px}
    .public-discover-business-title{font-size:16px}
    .public-discover-business-footer{align-items:flex-start;flex-direction:column}
    .public-discover-business-action{width:100%}
    .public-discover-business-footer small{max-width:100%;text-align:start}
}

/* علِّمنا R19.15.2 — verified discover sections + explorer-interest ranking */
.public-discover-choices-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.public-discover-choices-three a{min-height:132px;align-items:flex-start}
.public-discover-choices-three a>div{min-width:0}
.public-discover-choices-three span{line-height:1.7}
.public-discover-personalization-note{
    display:flex;
    align-items:center;
    gap:7px;
    margin:12px 2px 0;
    color:var(--text-muted);
    font-size:12px;
    line-height:1.65;
}
.public-discover-personalization-note svg{width:15px;height:15px;color:var(--primary);flex:0 0 auto}
.public-discover-community-warning{display:inline-flex!important;align-items:flex-start;gap:5px}
.public-discover-community-warning svg{width:13px;height:13px;flex:0 0 auto;margin-top:2px}
@media(max-width:900px){.public-discover-choices-three{grid-template-columns:1fr 1fr}.public-discover-choices-three a:last-child{grid-column:1/-1}}
@media(max-width:640px){.public-discover-choices-three{grid-template-columns:1fr}.public-discover-choices-three a:last-child{grid-column:auto}.public-discover-choices-three a{min-height:0}}

/* علِّمنا R19.15.3 — district chips + relaxed vertical discovery rhythm */
.public-discover-district-filter{
    margin-top:18px;
    padding-top:2px;
}
.public-discover-district-track{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 6px;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}
.public-discover-district-track::-webkit-scrollbar{display:none}
.public-discover-district-chip{
    flex:0 0 auto;
    min-height:34px;
    padding:6px 13px;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--surface);
    color:var(--text-secondary);
    font:inherit;
    font-size:13px;
    font-weight:650;
    line-height:1.2;
    cursor:pointer;
    transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);
}
.public-discover-district-chip:hover{
    border-color:color-mix(in srgb,var(--primary) 42%,var(--border));
    color:var(--primary);
}
.public-discover-district-chip.is-active,
.public-discover-district-chip[aria-pressed="true"]{
    border-color:var(--primary);
    background:var(--primary-light);
    color:var(--primary);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 8%,transparent);
}

/* كل نتيجة تبقى بطاقة مستقلة بعرض الصف وبمسافة مساوية لإيقاع أقسام الصفحة. */
.public-discover-business-grid{
    margin-top:22px;
    grid-template-columns:minmax(0,1fr);
    gap:20px;
}
.public-discover-business-card{
    width:100%;
    margin:0;
}
.public-discover-filter-empty{
    margin:22px 0 0;
    padding:18px;
    border:1px dashed var(--border);
    border-radius:14px;
    background:var(--surface-soft);
    color:var(--text-muted);
    text-align:center;
    font-size:13px;
}
@media(max-width:640px){
    .public-discover-district-filter{margin-top:14px}
    .public-discover-district-track{gap:7px;padding-bottom:5px}
    .public-discover-district-chip{min-height:32px;padding:5px 11px;font-size:12px}
    .public-discover-business-grid{margin-top:18px;gap:16px}
}

/* علِّمنا R19.15.4 — align discover results with section rhythm on mobile */
@media(max-width:760px){
    .public-discover-personalization-note,
    .public-discover-district-filter,
    .public-discover-business-grid,
    .public-discover-filter-empty{
        margin-inline:12px;
    }
    .public-discover-business-grid{
        width:auto;
    }
}

/* علِّمنا R19.15.9 — Discover City grid-first + optional horizontal cards */
.public-discover-view-toolbar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}
.public-discover-view-label{
    color:var(--text-muted);
    font-size:12px;
    font-weight:650;
}
.public-discover-view-switch{
    display:inline-flex;
    align-items:center;
    gap:3px;
    padding:3px;
    border:1px solid var(--border);
    border-radius:12px;
    background:var(--surface-soft);
}
.public-discover-view-button{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 11px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--text-muted);
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);
}
.public-discover-view-button svg{width:15px;height:15px}
.public-discover-view-button:hover{color:var(--primary)}
.public-discover-view-button.is-active,
.public-discover-view-button[aria-pressed="true"]{
    background:var(--surface);
    color:var(--primary);
    box-shadow:var(--shadow-xs);
}

/* العرض الأساسي: شبكة بطاقات. */
.public-discover-business-grid.is-grid-view{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.public-discover-business-grid.is-grid-view .public-discover-business-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border-color:var(--border);
}
.public-discover-business-grid.is-grid-view .public-discover-business-card:hover{
    border-color:var(--border-strong,var(--border));
}
.public-discover-business-grid.is-grid-view .public-discover-business-card.is-sponsored,
.public-discover-business-grid.is-grid-view .public-discover-business-card.is-sponsored:hover{
    border-color:color-mix(in srgb,var(--secondary) 72%,var(--border));
}
.public-discover-business-grid.is-grid-view .public-discover-business-cover{
    width:100%;
    min-height:0;
    aspect-ratio:4 / 1;
    flex:0 0 auto;
    background:var(--surface-soft);
}
.public-discover-business-grid.is-grid-view .public-discover-business-cover>img,
.public-discover-business-grid.is-grid-view .public-discover-business-cover>span{
    width:100%;
    height:100%;
    min-height:0;
}
.public-discover-business-grid.is-grid-view .public-discover-business-cover>img{
    object-fit:cover;
    object-position:center center;
}
.public-discover-business-grid.is-grid-view .public-discover-business-cover>img.is-logo-fallback{
    object-fit:contain;
    padding:18px;
}
.public-discover-business-grid.is-grid-view .public-discover-business-body{
    flex:1 1 auto;
    padding:15px 17px 14px;
}
.public-discover-business-grid.is-grid-view .public-discover-business-identity{
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
}
.public-discover-business-grid.is-grid-view .public-discover-business-logo{
    width:52px;
    height:52px;
    border-radius:14px;
}
.public-discover-business-grid.is-grid-view .public-discover-business-title{font-size:17px}
.public-discover-business-grid.is-grid-view .public-discover-business-description{
    margin-top:12px;
    -webkit-line-clamp:2;
}
.public-discover-business-grid.is-grid-view .public-discover-business-signals{margin-top:10px}
.public-discover-business-grid.is-grid-view .public-discover-business-footer{
    min-height:45px;
    gap:10px;
    padding-top:12px;
}

/* العرض الاختياري: بطاقة أفقية بعرض الصف. */
.public-discover-business-grid.is-cards-view{
    grid-template-columns:minmax(0,1fr);
    gap:18px;
}
.public-discover-business-grid.is-cards-view .public-discover-business-card{
    display:grid;
    grid-template-columns:minmax(320px,40%) minmax(0,1fr);
    border-color:var(--border);
}
.public-discover-business-grid.is-cards-view .public-discover-business-card:hover{
    border-color:var(--border-strong,var(--border));
}
.public-discover-business-grid.is-cards-view .public-discover-business-card.is-sponsored,
.public-discover-business-grid.is-cards-view .public-discover-business-card.is-sponsored:hover{
    border-color:color-mix(in srgb,var(--secondary) 72%,var(--border));
}
.public-discover-business-grid.is-cards-view .public-discover-business-cover{
    min-height:0;
    height:100%;
    aspect-ratio:auto;
    background:var(--surface-soft);
}
.public-discover-business-grid.is-cards-view .public-discover-business-cover>img,
.public-discover-business-grid.is-cards-view .public-discover-business-cover>span{
    width:100%;
    height:100%;
    min-height:0;
}
.public-discover-business-grid.is-cards-view .public-discover-business-cover>img{
    object-fit:cover;
    object-position:center center;
}
.public-discover-business-grid.is-cards-view .public-discover-business-cover>img.is-logo-fallback{
    object-fit:contain;
    padding:30px;
}

@media(max-width:980px){
    .public-discover-business-grid.is-grid-view{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .public-discover-business-grid.is-cards-view .public-discover-business-card{grid-template-columns:minmax(240px,38%) minmax(0,1fr)}
}
@media(max-width:760px){
    .public-discover-view-toolbar{margin:16px 12px 0}
    .public-discover-business-grid.is-grid-view{grid-template-columns:1fr;gap:14px}
    .public-discover-business-grid.is-cards-view .public-discover-business-card{display:block}
    .public-discover-business-grid.is-cards-view .public-discover-business-cover{
        height:auto;
        aspect-ratio:4 / 1;
    }
    .public-discover-business-grid.is-cards-view .public-discover-business-cover>img,
    .public-discover-business-grid.is-cards-view .public-discover-business-cover>span{height:100%}
}
@media(max-width:480px){
    .public-discover-view-toolbar{justify-content:space-between}
    .public-discover-view-label{font-size:11px}
    .public-discover-view-button{padding-inline:9px}
    .public-discover-business-grid.is-grid-view .public-discover-business-cover,
    .public-discover-business-grid.is-cards-view .public-discover-business-cover{aspect-ratio:3 / 1}
}

/* علِّمنا R19.15.10 — unified card heights + logo/title alignment + reference icon treatment */
.public-discover-business-grid.is-grid-view,
.public-discover-business-grid.is-cards-view{
    grid-auto-rows:1fr;
    align-items:stretch;
}
.public-discover-business-grid.is-grid-view .public-discover-business-card,
.public-discover-business-grid.is-cards-view .public-discover-business-card{
    height:100%;
    align-self:stretch;
}

/* الشعار يبدأ مع سطر اسم النشاط، بدل أن يبدو منفصلًا عن الهوية. */
.public-discover-business-identity{
    align-items:flex-start;
}
.public-discover-business-copy{
    min-width:0;
    padding-top:1px;
}
.public-discover-business-title-line{
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.public-discover-business-title{
    min-width:0;
}
.public-discover-owner-inline{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:var(--primary);
    font-size:12px;
    font-weight:750;
    line-height:1.35;
    white-space:nowrap;
}
.public-discover-owner-inline svg{
    width:17px;
    height:17px;
    flex:0 0 auto;
    stroke-width:2.25;
}

/* الأيقونات داخل الإشارات والإجراءات بنفس القياس البصري للمرجع. */
.public-discover-sponsor-badge svg,
.public-discover-community-badge svg,
.public-discover-recommend svg,
.public-business-loyalty-badge svg,
.public-discover-business-action svg{
    flex:0 0 auto;
    stroke-width:2;
}
.public-discover-sponsor-badge svg,
.public-discover-community-badge svg{width:14px;height:14px}
.public-discover-recommend svg,
.public-business-loyalty-badge svg{width:13px;height:13px}
.public-discover-business-action svg{width:15px;height:15px}

/* لا يظهر لون إطار مميز إلا للراعي. الأنشطة العادية تبقى بإطار محايد حتى Hover. */
.public-discover-business-grid.is-grid-view .public-discover-business-card:not(.is-sponsored):hover,
.public-discover-business-grid.is-cards-view .public-discover-business-card:not(.is-sponsored):hover{
    border-color:var(--border);
}

/* صورة العرض تملأ مكانها من المنتصف بلا مساحات بيضاء. */
.public-discover-business-grid.is-grid-view .public-discover-business-cover>img:not(.is-logo-fallback),
.public-discover-business-grid.is-cards-view .public-discover-business-cover>img:not(.is-logo-fallback){
    object-fit:cover;
    object-position:50% 50%;
}

/* تثبيت بنية جسم البطاقة حتى تبقى الأزرار على خط واحد في البطاقات المتجاورة. */
.public-discover-business-body{
    height:100%;
}
.public-discover-business-signals{
    align-content:flex-start;
}
.public-discover-business-footer{
    flex:0 0 auto;
}

@media(max-width:640px){
    .public-discover-business-title-line{gap:6px}
    .public-discover-owner-inline{font-size:11px}
    .public-discover-owner-inline svg{width:15px;height:15px}
}

/* علِّمنا R19.15.11 — taxonomy + working status + target footer layout for all discover groups */
.public-discover-business-category{
    display:flex;
    align-items:center;
    gap:0;
    min-width:0;
}
.public-discover-business-category strong{
    color:var(--text-muted);
    font-weight:500;
}
.public-discover-category-separator{
    padding-inline:2px;
    color:var(--text-muted);
}

/* إنزال الشعار بصريًا ليجلس بجانب اسم النشاط بدل أن يبدو مرفوعًا فوقه. */
.public-discover-business-logo{
    margin-top:8px;
}
.public-discover-business-copy{
    padding-top:0;
}

/* أسفل البطاقة: معلومات/ولاء يمين، الحالة في الوسط، الإجراء يسار مثل المرجع. */
.public-discover-business-footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:10px;
}
.public-discover-footer-side{
    min-width:0;
    display:flex;
    align-items:center;
}
.public-discover-footer-side.is-meta{justify-content:flex-start}
.public-discover-footer-side.is-action{justify-content:flex-end}
.public-discover-footer-status{
    min-width:74px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.public-discover-open-status{
    min-width:72px;
    min-height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:4px 12px;
    border-radius:10px;
    font-size:13px;
    font-weight:750;
    line-height:1.2;
    white-space:nowrap;
}
.public-discover-open-status.is-open{
    background:var(--primary-light);
    color:var(--primary);
}
.public-discover-open-status.is-closed{
    background:color-mix(in srgb,var(--danger-light,#fee2e2) 92%,transparent);
    color:var(--danger,#dc2626);
}
.public-discover-community-warning{
    max-width:100%!important;
    padding:4px 8px;
    border-radius:999px;
    background:var(--surface-soft);
    color:var(--text-muted)!important;
    font-size:11px!important;
    font-weight:650;
    white-space:nowrap;
}
.public-discover-community-warning svg{width:12px;height:12px;margin:0}

/* الولاء يبقى مرة واحدة فقط في صف الإجراءات السفلي. */
.public-discover-business-footer .public-business-loyalty-badge{
    min-height:30px;
    padding:4px 9px;
    border:1px solid color-mix(in srgb,var(--secondary) 35%,transparent);
    border-radius:10px;
}

@media(max-width:640px){
    .public-discover-business-logo{margin-top:6px}
    .public-discover-business-footer{
        grid-template-columns:1fr auto 1fr;
        gap:7px;
    }
    .public-discover-footer-status{min-width:62px}
    .public-discover-open-status{min-width:60px;padding-inline:8px;font-size:12px}
    .public-discover-business-footer .public-business-loyalty-badge{font-size:11px;padding-inline:7px}
    .public-discover-business-action{width:auto;min-width:0;padding-inline:10px}
    .public-discover-business-action span{white-space:nowrap}
    .public-discover-community-warning{max-width:110px!important;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:420px){
    .public-discover-business-footer{
        grid-template-columns:1fr 1fr;
    }
    .public-discover-footer-side.is-meta{grid-column:1/-1;justify-content:flex-start}
    .public-discover-footer-status{grid-column:1;grid-row:2}
    .public-discover-footer-side.is-action{grid-column:2;grid-row:2}
}


/* علِّمنا R19.15.12 — discover footer control parity + grid media height tuning */
/* توزيع العناصر يمتد بعرض البطاقة، بينما كل شارة/زر يبقى بعرض نصه وأيقونته فقط. */
.public-discover-business-footer{
    width:100%;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
}
.public-discover-footer-side.is-meta{justify-content:flex-start}
.public-discover-footer-status{justify-content:center;min-width:0}
.public-discover-footer-side.is-action{justify-content:flex-end}

/* ولاء العملاء وحالة الدوام بنفس قياس زر «اطلب الآن». */
.public-discover-business-footer .public-business-loyalty-badge,
.public-discover-open-status,
.public-discover-business-action{
    width:max-content;
    max-width:100%;
    min-width:0;
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 13px;
    border-radius:10px;
    border-width:1px;
    border-style:solid;
    font-size:13px;
    font-weight:750;
    line-height:1.2;
    white-space:nowrap;
    box-sizing:border-box;
}
.public-discover-business-footer .public-business-loyalty-badge{
    margin:0;
    background:var(--secondary-light);
    color:var(--secondary-hover);
    border-color:color-mix(in srgb,var(--secondary) 35%,transparent);
}
.public-discover-open-status.is-open{
    background:var(--primary-light);
    color:var(--primary);
    border-color:var(--primary-light-hover);
}
.public-discover-open-status.is-closed{
    background:var(--danger-light,#fee2e2);
    color:var(--danger,#dc2626);
    border-color:color-mix(in srgb,var(--danger,#dc2626) 32%,transparent);
}
.public-discover-business-footer .public-business-loyalty-badge svg,
.public-discover-business-action svg{
    width:15px;
    height:15px;
}

/* رفع شعار النشاط قرابة 5px عن موضع R19.15.11. */
.public-discover-business-logo{margin-top:3px}

/* زيادة ارتفاع صورة العرض في الشبكة 50px فوق ارتفاع 4:1 السابق، مع بقاء القص من المنتصف. */
.public-discover-business-grid.is-grid-view .public-discover-business-card{
    container-type:inline-size;
}
.public-discover-business-grid.is-grid-view .public-discover-business-cover{
    aspect-ratio:auto;
    height:calc(25cqw + 50px);
    min-height:0;
}
.public-discover-business-grid.is-grid-view .public-discover-business-cover>img,
.public-discover-business-grid.is-grid-view .public-discover-business-cover>span{
    height:100%;
    min-height:0;
}

@media(max-width:640px){
    .public-discover-business-logo{margin-top:1px}
    .public-discover-business-footer .public-business-loyalty-badge,
    .public-discover-open-status,
    .public-discover-business-action{
        min-height:36px;
        padding-inline:11px;
        font-size:12px;
    }
}
@media(max-width:480px){
    /* عند أصغر الشاشات كان الأساس 3:1؛ نضيف له 50px كذلك في عرض الشبكة فقط. */
    .public-discover-business-grid.is-grid-view .public-discover-business-cover{
        aspect-ratio:auto;
        height:calc(33.333cqw + 50px);
    }
}

/* علِّمنا R19.15.13 — tighter discover card body + two-line description + centered media zoom */
/* تكبير خفيف لصورة الغلاف داخل إطارها مع إبقاء القص من المنتصف. */
.public-discover-business-grid.is-grid-view .public-discover-business-cover>img:not(.is-logo-fallback),
.public-discover-business-grid.is-cards-view .public-discover-business-cover>img:not(.is-logo-fallback){
    object-fit:cover;
    object-position:50% 50%;
    transform:scale(1.035);
    transform-origin:center center;
}

/* الوصف داخل بطاقة الاكتشاف مقتصر على سطرين فقط؛ التفاصيل الكاملة في صفحة النشاط. */
.public-discover-business-description{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    line-height:1.65;
    max-height:3.3em;
    margin-top:10px;
}

/* لا نحجز مساحة لإشارات غير موجودة، وهذا يزيل الفراغ الزائد أسفل الوصف. */
.public-discover-business-signals:empty{
    display:none;
    min-height:0;
    margin:0;
}

/* الجسم يأخذ المساحة الطبيعية المتبقية بدل height:100% الذي كان يضاعف الفراغ بصريًا. */
.public-discover-business-body{
    height:auto;
    min-height:0;
}
.public-discover-business-grid.is-grid-view .public-discover-business-body{
    flex:1 1 auto;
}

/* تقليل الفراغ بين المحتوى وصف الإجراءات مع إبقاء ارتفاع البطاقات موحدًا داخل الصف. */
.public-discover-business-footer{
    margin-top:12px;
}
.public-discover-business-grid.is-grid-view .public-discover-business-footer{
    margin-top:auto;
}

/* علِّمنا R19.15.14 — loyalty hover details + clearer operating status */
.public-discover-business-footer .public-business-loyalty-badge{
    position:relative;
    text-decoration:none;
    cursor:pointer;
    transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);
}
.public-discover-business-footer .public-business-loyalty-badge:hover{
    background:color-mix(in srgb,var(--secondary-light) 78%,var(--surface));
    border-color:color-mix(in srgb,var(--secondary) 55%,transparent);
    color:var(--secondary-hover);
}
.public-discover-open-status svg{
    width:15px;
    height:15px;
    flex:0 0 auto;
}
.public-discover-open-status.is-open svg{stroke-width:2.25}
.public-discover-open-status.is-closed svg{stroke-width:2.25}

@media (hover:hover) and (pointer:fine){
    .public-discover-business-footer .public-business-loyalty-badge::after{
        content:attr(data-loyalty-description);
        position:absolute;
        z-index:12;
        inset-inline-start:0;
        bottom:calc(100% + 9px);
        width:260px;
        max-width:min(260px,calc(100vw - 48px));
        padding:10px 12px;
        border:1px solid var(--border);
        border-radius:11px;
        background:var(--surface);
        color:var(--text-primary);
        box-shadow:var(--shadow-md);
        font-size:12px;
        font-weight:500;
        line-height:1.7;
        white-space:normal;
        text-align:start;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(4px);
        transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);
    }
    .public-discover-business-footer .public-business-loyalty-badge::before{
        content:"";
        position:absolute;
        z-index:13;
        inset-inline-start:18px;
        bottom:calc(100% + 4px);
        width:9px;
        height:9px;
        background:var(--surface);
        border-inline-end:1px solid var(--border);
        border-block-end:1px solid var(--border);
        transform:rotate(45deg);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity var(--transition-fast),visibility var(--transition-fast);
    }
    .public-discover-business-footer .public-business-loyalty-badge:hover::after,
    .public-discover-business-footer .public-business-loyalty-badge:focus-visible::after,
    .public-discover-business-footer .public-business-loyalty-badge:hover::before,
    .public-discover-business-footer .public-business-loyalty-badge:focus-visible::before{
        opacity:1;
        visibility:visible;
    }
    .public-discover-business-footer .public-business-loyalty-badge:hover::after,
    .public-discover-business-footer .public-business-loyalty-badge:focus-visible::after{
        transform:translateY(0);
    }
}

/* علِّمنا R19.15.15 — center view switcher + 5px cover focal lift */
/* مجموعة طريقة العرض كاملة في منتصف الصفحة: العنوان + زري الشبكة والبطاقات وأيقوناتهما. */
.public-discover-view-toolbar{
    width:100%;
    justify-content:center;
    margin-inline:auto;
}

/* رفع نقطة تركيز صورة النشاط 5px بصريًا بدون تغيير ارتفاع البطاقة أو الغلاف. */
.public-discover-business-grid.is-grid-view .public-discover-business-cover>img:not(.is-logo-fallback),
.public-discover-business-grid.is-cards-view .public-discover-business-cover>img:not(.is-logo-fallback){
    transform:translateY(-5px) scale(1.035);
    transform-origin:center center;
}

@media(max-width:480px){
    .public-discover-view-toolbar{
        justify-content:center;
    }
}

/* علِّمنا R19.15.16 — branch-aware status hover + larger discovery media + unified explorer recommendation cards */
/* تكبير مساحة صورة النشاط 20px إضافية في الشبكة فوق R19.15.15. */
.public-discover-business-grid.is-grid-view .public-discover-business-cover{
    height:calc(25cqw + 70px);
}

/* في عرض البطاقات الأفقية نمنح الغلاف 20px إضافية من عرض البطاقة. */
.public-discover-business-grid.is-cards-view .public-discover-business-card{
    grid-template-columns:minmax(340px,calc(40% + 20px)) minmax(0,1fr);
}

/* ترشيحات المستكشفين تستخدم نفس هندسة البطاقة تمامًا مثل المتاجر ومقدمي الخدمات. */
.public-discover-business-card.is-community{
    height:100%;
    align-self:stretch;
    border-color:var(--border);
}
.public-discover-business-card.is-community:hover{
    border-color:var(--border-strong,var(--border));
}
.public-discover-business-grid.is-grid-view .public-discover-business-card.is-community .public-discover-business-body,
.public-discover-business-grid.is-cards-view .public-discover-business-card.is-community .public-discover-business-body{
    min-height:0;
    flex:1 1 auto;
}

/* حالة الدوام مرتبطة بالفرع الذي حُسبت عليه النتيجة، ويظهر اسمه/عنوانه في الهوفر. */
.public-discover-open-status{
    position:relative;
    cursor:help;
}
@media (hover:hover) and (pointer:fine){
    .public-discover-open-status::after{
        content:attr(data-status-description);
        position:absolute;
        z-index:14;
        inset-inline-start:50%;
        bottom:calc(100% + 9px);
        width:max-content;
        max-width:min(330px,calc(100vw - 48px));
        padding:9px 11px;
        border:1px solid var(--border);
        border-radius:10px;
        background:var(--surface);
        color:var(--text-primary);
        box-shadow:var(--shadow-md);
        font-size:12px;
        font-weight:550;
        line-height:1.65;
        white-space:normal;
        text-align:start;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translate(-50%,4px);
        transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);
    }
    [dir="rtl"] .public-discover-open-status::after{
        transform:translate(50%,4px);
    }
    .public-discover-open-status:hover::after,
    .public-discover-open-status:focus-visible::after{
        opacity:1;
        visibility:visible;
        transform:translate(-50%,0);
    }
    [dir="rtl"] .public-discover-open-status:hover::after,
    [dir="rtl"] .public-discover-open-status:focus-visible::after{
        transform:translate(50%,0);
    }
}

@media(max-width:980px){
    .public-discover-business-grid.is-cards-view .public-discover-business-card{
        grid-template-columns:minmax(260px,calc(38% + 20px)) minmax(0,1fr);
    }
}
@media(max-width:760px){
    .public-discover-business-grid.is-cards-view .public-discover-business-card{
        display:block;
    }
    .public-discover-business-grid.is-cards-view .public-discover-business-cover{
        height:auto;
        aspect-ratio:calc(4 / 1);
    }
}
@media(max-width:480px){
    .public-discover-business-grid.is-grid-view .public-discover-business-cover{
        height:calc(33.333cqw + 70px);
    }
}

/* علِّمنا R19.15.17 — one card geometry for stores, providers, and explorer recommendations */
/*
 * صورة أي بطاقة لا تشارك بحجمها الطبيعي في حساب ارتفاع الصف.
 * هذا مهم خصوصًا لترشيحات المستكشفين التي قد تستخدم صورة عمودية كبيرة.
 */
.public-discover-business-grid .public-discover-business-cover > img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
}

/* عرض البطاقات: نفس الارتفاع حرفيًا للمتاجر ومقدمي الخدمات وترشيحات المستكشفين. */
.public-discover-business-grid.is-cards-view{
    --discover-horizontal-card-height:275px;
    grid-auto-rows:var(--discover-horizontal-card-height);
}
.public-discover-business-grid.is-cards-view .public-discover-business-card,
.public-discover-business-grid.is-cards-view .public-discover-business-card.is-community{
    height:var(--discover-horizontal-card-height);
    min-height:var(--discover-horizontal-card-height);
    max-height:var(--discover-horizontal-card-height);
    align-self:stretch;
}
.public-discover-business-grid.is-cards-view .public-discover-business-cover,
.public-discover-business-grid.is-cards-view .public-discover-business-card.is-community .public-discover-business-cover{
    height:var(--discover-horizontal-card-height);
    min-height:var(--discover-horizontal-card-height);
    max-height:var(--discover-horizontal-card-height);
    aspect-ratio:auto;
}
.public-discover-business-grid.is-cards-view .public-discover-business-body,
.public-discover-business-grid.is-cards-view .public-discover-business-card.is-community .public-discover-business-body{
    height:var(--discover-horizontal-card-height);
    min-height:0;
}

/* في الشبكة أيضًا لا توجد هندسة خاصة بترشيح المستكشف؛ يأخذ نفس هيدر المتجر تمامًا. */
.public-discover-business-grid.is-grid-view .public-discover-business-card.is-community .public-discover-business-cover{
    height:calc(25cqw + 70px);
    min-height:0;
    max-height:none;
}

@media (min-width:761px) and (max-width:980px){
    .public-discover-business-grid.is-cards-view{
        --discover-horizontal-card-height:250px;
    }
}

@media(max-width:760px){
    .public-discover-business-grid.is-cards-view{
        grid-auto-rows:auto;
    }
    .public-discover-business-grid.is-cards-view .public-discover-business-card,
    .public-discover-business-grid.is-cards-view .public-discover-business-card.is-community{
        height:auto;
        min-height:0;
        max-height:none;
    }
    .public-discover-business-grid.is-cards-view .public-discover-business-cover,
    .public-discover-business-grid.is-cards-view .public-discover-business-card.is-community .public-discover-business-cover{
        height:auto;
        min-height:0;
        max-height:none;
        aspect-ratio:4 / 1;
    }
    .public-discover-business-grid.is-cards-view .public-discover-business-body,
    .public-discover-business-grid.is-cards-view .public-discover-business-card.is-community .public-discover-business-body{
        height:auto;
        min-height:0;
    }
}

@media(max-width:480px){
    .public-discover-business-grid.is-cards-view .public-discover-business-cover,
    .public-discover-business-grid.is-cards-view .public-discover-business-card.is-community .public-discover-business-cover{
        aspect-ratio:3 / 1;
    }
}

/* R19.16.39 — keep the full second description line in horizontal card view */
.public-discover-business-grid.is-cards-view .public-discover-business-description{
    flex:0 0 auto;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    max-height:none;
}


/* R19.17.49 — Compact discovery navigation and functioning district filters. */
/* The card layouts explicitly set display:flex/grid; [hidden] must win over them. */
.public-discover-page [data-discover-card][hidden],
.public-discover-page [data-discover-filter-empty][hidden] {
    display: none !important;
}

.public-discover-page > .public-page-heading {
    padding-bottom: 10px;
}
.public-discover-page > .public-page-heading p {
    margin-bottom: 0;
}
.public-discover-choices.public-discover-choices-three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 8px;
}
.public-discover-choices.public-discover-choices-three > a {
    box-sizing: border-box;
    min-width: 0;
    min-height: 52px;
    padding: 10px 12px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none;
    text-align: center;
}
.public-discover-choices.public-discover-choices-three > a > svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}
.public-discover-choices.public-discover-choices-three > a > strong {
    min-width: 0;
    font-size: 14px;
    line-height: 1.35;
    color: inherit;
    font-weight: 750;
}
.public-discover-choices.public-discover-choices-three > a.is-active {
    border-color: var(--primary);
    background: var(--primary-light);
    color: var(--primary);
}
.public-discover-recommendation-note {
    margin: 3px 0 10px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-muted);
}
.public-discover-page .public-discover-district-filter {
    margin-top: 8px;
}
.public-discover-page .public-discover-view-toolbar {
    margin-top: 8px;
}
.public-discover-page .public-discover-business-grid {
    margin-top: 12px;
}

@media (max-width: 640px) {
    .public-discover-page > .public-page-heading {
        padding: 12px 0 8px;
    }
    .public-discover-page > .public-page-heading h1 {
        font-size: 20px;
        margin-bottom: 0;
    }
    .public-discover-page > .public-page-heading p {
        display: none;
    }
    .public-discover-choices.public-discover-choices-three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        margin-block: 0 7px;
    }
    .public-discover-choices.public-discover-choices-three > a {
        min-height: 44px;
        padding: 7px 5px;
        gap: 4px;
        border-radius: 10px;
    }
    .public-discover-choices.public-discover-choices-three > a > svg {
        width: 14px;
        height: 14px;
        flex-basis: 14px;
    }
    .public-discover-choices.public-discover-choices-three > a > strong {
        font-size: 12px;
        line-height: 1.25;
    }
    .public-discover-page .public-discover-district-filter {
        margin-top: 5px;
    }
    .public-discover-page .public-discover-view-toolbar {
        margin-top: 6px;
    }
    .public-discover-page .public-discover-business-grid {
        margin-top: 9px;
    }
}
