/* Hasteh v6.41 — only requested fixes: business-card image, reviews, 12h hours, admin ads/businesses, popup ad */

/* Business card image: fill the full media frame and remove every decorative overlay/circle. */
.business-card__cover{padding:0!important}
.business-card__cover::before,.business-card__cover::after{content:none!important;display:none!important}
.business-card__cover-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;display:block!important;margin:0!important;border-radius:0!important;transform:none!important}
.business-card__cover .save-button{z-index:3}

/* Review validation must stay inside the card and never trigger a native invalid-radio jump. */
.star-rating-field.has-error{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.08)}
.review-char-count{display:block;text-align:left;color:var(--color-muted);font-size:.72rem;margin-top:5px}
.review-form .form-message{min-height:1.4em;overflow-wrap:anywhere}

/* 12-hour opening/closing time editor. */
.business-hours-editor{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg)}
.business-hours-part{display:grid;gap:6px;min-width:220px;flex:1}
.business-hours-part>small{color:var(--color-muted);font-weight:700}
.business-hours-controls{display:grid;grid-template-columns:minmax(62px,.7fr) auto minmax(62px,.7fr) minmax(112px,1.1fr);align-items:center;gap:6px;direction:ltr}
.business-hours-controls select{min-height:42px;padding:7px;direction:rtl}
.business-hours-separator{font-weight:900;padding-bottom:11px}
.field-help{display:block;color:var(--color-muted);font-size:.72rem;margin-top:5px}

/* Admin-only additions. */
.admin-subfieldset{border:1px solid var(--color-border);border-radius:14px;padding:14px;margin:4px 0 12px;display:grid;gap:12px}
.admin-subfieldset legend{padding:0 8px;font-weight:900;color:var(--color-heading)}
.admin-check-row{display:flex!important;align-items:flex-start!important;gap:9px!important;min-height:auto!important;border:0!important;background:transparent!important;padding:4px 0!important}
.admin-check-row input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 auto;margin-top:3px}
.admin-check-row span{display:grid;gap:2px}.admin-check-row small{color:var(--color-muted);font-size:.72rem}
.admin-number-with-unit{display:flex;align-items:center;gap:8px}.admin-number-with-unit input{flex:1}.admin-number-with-unit span{white-space:nowrap;color:var(--color-muted)}
.admin-upload-preview{min-height:84px;border:1px dashed var(--color-border);border-radius:12px;padding:8px;display:flex;align-items:center;gap:10px;color:var(--color-muted);font-size:.76rem}
.admin-upload-preview img,.admin-upload-preview video{width:96px;height:70px;object-fit:cover;border-radius:9px;border:1px solid var(--color-border);background:#000}
.admin-business-cell{display:flex;align-items:center;gap:10px;min-width:190px}.admin-business-cell>img,.admin-business-cell>span{width:52px;height:42px;object-fit:cover;border-radius:8px;background:var(--color-bg);border:1px solid var(--color-border);flex:0 0 auto}.admin-business-cell>div{display:grid;gap:2px}.admin-business-cell small{color:var(--color-muted);font-size:.68rem;max-width:210px;overflow:hidden;text-overflow:ellipsis}

/* Periodic site advertisement popup. */
.hasteh-ad-popup{position:fixed;inset:0;z-index:99990;display:grid;place-items:center;padding:18px;background:rgba(3,12,27,.56);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.hasteh-ad-popup[hidden]{display:none!important}
.hasteh-ad-popup__card{position:relative;width:min(440px,100%);max-height:min(680px,calc(100vh - 36px));overflow:auto;background:var(--color-surface,#fff);color:var(--color-text,#111827);border:1px solid var(--color-border,#e5e7eb);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.28);direction:rtl}
.hasteh-ad-popup__close{position:absolute;z-index:2;top:10px;left:10px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#111827;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.16)}
.hasteh-ad-popup__media-link{display:block;text-decoration:none;background:#000;cursor:pointer}.hasteh-ad-popup__media{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;background:#000}.hasteh-ad-popup__image{background:var(--color-bg,#f3f4f6)}.hasteh-ad-popup__video{background:#000}
.hasteh-ad-popup__body{padding:18px}.hasteh-ad-popup__badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:rgba(23,105,255,.1);color:#1769ff;font-size:.72rem;font-weight:800;margin-bottom:8px}.hasteh-ad-popup__body h2{margin:0 0 7px;font-size:1.15rem}.hasteh-ad-popup__body p{margin:0 0 15px;color:var(--color-muted,#6b7280);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.hasteh-ad-popup__cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:11px;background:#1769ff;color:#fff!important;text-decoration:none;font-weight:900}.hasteh-ad-popup__progress{height:3px;background:rgba(23,105,255,.12);overflow:hidden}.hasteh-ad-popup__progress i{display:block;height:100%;width:100%;background:#1769ff;transform-origin:right;animation:hasteh-ad-countdown var(--ad-seconds,8s) linear forwards}
@keyframes hasteh-ad-countdown{to{transform:scaleX(0)}}

@media(max-width:640px){
  .business-hours-controls{grid-template-columns:minmax(54px,.65fr) auto minmax(54px,.65fr) minmax(100px,1fr)}
  .business-hours-part{min-width:100%}.business-hours-separator{padding:0;width:100%;text-align:center}
  .hasteh-ad-popup{padding:12px}.hasteh-ad-popup__card{border-radius:17px;max-height:calc(100vh - 24px)}.hasteh-ad-popup__body{padding:15px}
}

/* v6.42 advertisement separation */
.admin-ad-section-head{margin-top:18px;margin-bottom:12px}.admin-ad-section-head:first-child{margin-top:0}.star-rating-hint{display:block;color:var(--color-muted);font-size:.74rem;margin-top:5px}
/* Hide website footer on mobile */
@media (max-width: 820px) {
    footer,
    .site-footer,
    [data-component="footer"] {
        display: none !important;
    }
}
