/* FollowerAbzar SMM 79.2.24 — standalone API/services resources.
 * Loaded on every public page because Elementor can keep shortcodes in widget
 * metadata that is not reliably discoverable during wp_enqueue_scripts.
 * All rules are component-scoped and do not own page/header/footer styles. */

:where(.fasmm-user-resource-shortcode,.fasmm-public-services,.fasmm-api-docs-shortcode){
  --frs-primary:var(--fasmm-primary,#5b4ff7);
  --frs-text:var(--fasmm-text,#182230);
  --frs-muted:var(--fasmm-text-3,#667085);
  --frs-border:var(--fasmm-border,#e2e8f0);
  --frs-surface:var(--fasmm-surface,#fff);
  --frs-soft:var(--fasmm-surface-soft,#f8fafc);
  width:100%;min-width:0;max-width:1440px;margin-inline:auto;box-sizing:border-box;
  direction:rtl;color:var(--frs-text);font:inherit;
}
:where(.fasmm-user-resource-shortcode,.fasmm-public-services,.fasmm-api-docs-shortcode),
:where(.fasmm-user-resource-shortcode,.fasmm-public-services,.fasmm-api-docs-shortcode) *{box-sizing:border-box}

/* Resource surface */
.fasmm-user-resource-shortcode>.fasmm-card,
.fasmm-user-resource-shortcode .fasmm-api-panel,
.fasmm-user-resource-shortcode .fasmm-public-services,
.fasmm-public-services.fasmm-public-services-v25{
  width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:22px!important;
  border:1px solid var(--frs-border)!important;border-radius:22px!important;background:var(--frs-surface)!important;
  color:var(--frs-text)!important;box-shadow:0 12px 36px rgba(15,23,42,.06)!important;overflow:hidden;
}
.fasmm-user-resource-shortcode :is(h1,h2,h3,h4),
.fasmm-public-services :is(h1,h2,h3,h4){color:inherit!important;font-family:inherit!important}
.fasmm-user-resource-shortcode h2,.fasmm-public-services h2{margin:0 0 8px!important;font-size:clamp(20px,2vw,28px)!important;line-height:1.55!important;font-weight:800!important}
.fasmm-user-resource-shortcode h3,.fasmm-public-services h3{margin:0!important;line-height:1.7!important;font-weight:750!important}
.fasmm-user-resource-shortcode .fasmm-muted,.fasmm-public-services .fasmm-muted{margin:0!important;color:var(--frs-muted)!important;line-height:1.9!important;font-size:14px!important}

/* Shared buttons: protects against raw browser/Elementor button appearance. */
:where(.fasmm-user-resource-shortcode,.fasmm-public-services) .fasmm-btn{
  appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  min-height:44px!important;padding:9px 14px!important;border:1px solid var(--frs-border)!important;border-radius:12px!important;
  background:var(--frs-surface)!important;color:var(--frs-text)!important;text-decoration:none!important;font:inherit!important;font-size:13px!important;font-weight:700!important;
  cursor:pointer!important;box-shadow:none!important;line-height:1.4!important;white-space:nowrap!important;
}
:where(.fasmm-user-resource-shortcode,.fasmm-public-services) .fasmm-btn-primary{background:var(--frs-primary)!important;border-color:var(--frs-primary)!important;color:#fff!important}
:where(.fasmm-user-resource-shortcode,.fasmm-public-services) .fasmm-btn-soft{background:#f1f3ff!important;border-color:#d8dcff!important;color:#4338ca!important}

/* Login required */
.fasmm-shortcode-auth-required{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex-wrap:wrap!important}
.fasmm-shortcode-auth-required>div{min-width:0;flex:1}.fasmm-shortcode-auth-required>div>i{font-size:28px;color:var(--frs-primary)}

/* API docs */
.fasmm-api-docs-shortcode .fasmm-api-panel{display:block!important}
.fasmm-api-docs-shortcode .fasmm-api-panel>h2{margin-bottom:6px!important}
.fasmm-api-docs-shortcode .fasmm-api-panel>h3{margin:22px 0 8px!important;font-size:15px!important}
.fasmm-api-docs-shortcode .fasmm-api-key-box{
  display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;
  margin:16px 0 20px!important;padding:14px!important;border:1px solid var(--frs-border)!important;border-radius:16px!important;background:var(--frs-soft)!important;
}
.fasmm-api-docs-shortcode .fasmm-api-key-box code{
  display:block!important;flex:1 1 280px!important;min-width:0!important;max-width:100%!important;padding:12px 14px!important;
  border:1px solid var(--frs-border)!important;border-radius:12px!important;background:var(--frs-surface)!important;color:var(--frs-text)!important;
  direction:ltr!important;text-align:left!important;overflow:auto!important;white-space:nowrap!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:13px!important;
}
.fasmm-api-docs-shortcode .fasmm-api-panel>code{
  display:block!important;width:100%!important;max-width:100%!important;padding:12px 14px!important;margin:8px 0 18px!important;
  border:1px solid var(--frs-border)!important;border-radius:12px!important;background:var(--frs-soft)!important;color:var(--frs-text)!important;
  direction:ltr!important;text-align:left!important;overflow:auto!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:13px!important;
}
.fasmm-api-docs-shortcode .fasmm-api-panel pre{
  display:block!important;width:100%!important;max-width:100%!important;margin:8px 0 20px!important;padding:16px 18px!important;
  border:0!important;border-radius:16px!important;background:#0f172a!important;color:#e2e8f0!important;direction:ltr!important;text-align:left!important;
  line-height:1.8!important;white-space:pre-wrap!important;overflow:auto!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:13px!important;
}
.fasmm-api-docs-shortcode .fasmm-ajax-message{margin-top:10px!important;line-height:1.8!important}
.fasmm-api-docs-shortcode .fasmm-ajax-message.success{color:#047857!important}.fasmm-api-docs-shortcode .fasmm-ajax-message.error{color:#b42318!important}

/* Service list header/filter */
.fasmm-public-services .fasmm-service-list-head{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;flex-wrap:wrap!important;margin:0 0 18px!important;
}
.fasmm-public-services .fasmm-service-list-head>div{min-width:240px!important;flex:1 1 360px!important}
.fasmm-public-services .fasmm-public-service-filter{
  display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) auto!important;gap:8px!important;
  width:min(100%,720px)!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;
}
.fasmm-public-services .fasmm-public-service-filter :is(input,select){
  appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:44px!important;margin:0!important;
  padding:8px 12px!important;border:1px solid var(--frs-border)!important;border-radius:12px!important;background:var(--frs-surface)!important;color:var(--frs-text)!important;
  box-shadow:none!important;outline:none!important;font:inherit!important;font-size:13px!important;line-height:1.5!important;
}
.fasmm-public-services .fasmm-public-service-filter input::placeholder{color:#98a2b3!important;opacity:1!important}
.fasmm-public-services .fasmm-public-service-filter :is(input,select):focus{border-color:var(--frs-primary)!important;box-shadow:0 0 0 3px rgba(91,79,247,.12)!important}

/* Category tabs */
.fasmm-public-services .fasmm-service-category-tabs{
  display:flex!important;align-items:stretch!important;gap:8px!important;width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;
  padding:2px 0 12px!important;margin:0 0 12px!important;scrollbar-width:none!important;-ms-overflow-style:none!important;
}
.fasmm-public-services .fasmm-service-category-tabs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.fasmm-public-services .fasmm-service-cat-tab{
  flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:44px!important;padding:7px 11px!important;
  border:1px solid var(--frs-border)!important;border-radius:12px!important;background:var(--frs-surface)!important;color:var(--frs-text)!important;
  text-decoration:none!important;font-size:13px!important;line-height:1.4!important;box-shadow:none!important;
}
.fasmm-public-services .fasmm-service-cat-tab.active{border-color:var(--frs-primary)!important;background:#f7f6ff!important;color:#4338ca!important}
.fasmm-public-services .fasmm-service-cat-tab>i{
  display:grid!important;place-items:center!important;flex:0 0 30px!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
  padding:4px!important;border-radius:9px!important;background:#f1f3ff!important;color:var(--frs-primary)!important;overflow:hidden!important;font-style:normal!important;
}
.fasmm-public-services .fasmm-service-cat-tab>i :is(img,svg),
.fasmm-public-services .fasmm-service-cat-tab>i>img,
.fasmm-public-services .fasmm-service-cat-tab>i>svg{
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:0!important;padding:0!important;
}
.fasmm-public-services .fasmm-service-cat-tab>span{font-weight:700!important}.fasmm-public-services .fasmm-service-cat-tab>b{font-size:11px!important;color:var(--frs-muted)!important}

/* Service cards */
.fasmm-public-services .fasmm-public-service-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important;min-width:0!important}
.fasmm-public-services .fasmm-public-service-card{
  min-width:0!important;display:flex!important;flex-direction:column!important;gap:12px!important;padding:16px!important;margin:0!important;
  border:1px solid var(--frs-border)!important;border-radius:16px!important;background:var(--frs-surface)!important;color:var(--frs-text)!important;box-shadow:none!important;overflow:hidden!important;
}
.fasmm-public-services .fasmm-public-service-top{display:flex!important;align-items:flex-start!important;gap:12px!important;min-width:0!important}
.fasmm-public-services .fasmm-public-service-icon{
  flex:0 0 46px!important;display:grid!important;place-items:center!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
  padding:7px!important;border-radius:13px!important;background:var(--frs-soft)!important;color:var(--frs-primary)!important;overflow:hidden!important;font-style:normal!important;
}
/* Hard guard against inherited Elementor/theme image widths. This is the rule
 * that prevents a category/brand icon from expanding to the viewport. */
.fasmm-public-services .fasmm-public-service-icon :is(img,svg),
.fasmm-public-services .fasmm-public-service-icon>img,
.fasmm-public-services .fasmm-public-service-icon>svg{
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:0!important;padding:0!important;
}
.fasmm-public-services .fasmm-public-service-title{min-width:0!important;flex:1 1 auto!important}
.fasmm-public-services .fasmm-public-service-title h3{margin:4px 0 0!important;font-size:15px!important;overflow-wrap:anywhere!important}
.fasmm-public-services .fasmm-public-service-eyebrow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;color:var(--frs-muted)!important;font-size:12px!important}
.fasmm-public-services .fasmm-public-service-desc{margin:0!important;color:var(--frs-muted)!important;font-size:13px!important;line-height:1.9!important;overflow-wrap:anywhere!important}
.fasmm-public-services .fasmm-public-service-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.fasmm-public-services .fasmm-public-service-stats>div{min-width:0!important;padding:10px!important;border:1px solid var(--frs-border)!important;border-radius:12px!important;background:var(--frs-soft)!important}
.fasmm-public-services .fasmm-public-service-stats span{display:block!important;font-size:11px!important;color:var(--frs-muted)!important}.fasmm-public-services .fasmm-public-service-stats b{display:block!important;margin-top:4px!important;font-size:13px!important;overflow-wrap:anywhere!important}
.fasmm-public-services .fasmm-public-service-features{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.fasmm-public-services .fasmm-public-service-features>span{padding:5px 8px!important;border-radius:999px!important;background:var(--frs-soft)!important;font-size:11px!important}
.fasmm-public-services .fasmm-public-service-foot{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:auto!important}.fasmm-public-services .fasmm-public-service-foot .fasmm-btn{width:100%!important}
.fasmm-public-services .fasmm-empty{grid-column:1/-1!important;padding:24px!important;border:1px dashed var(--frs-border)!important;border-radius:14px!important;text-align:center!important;color:var(--frs-muted)!important}

/* Pagination */
.fasmm-public-services .fasmm-public-pagination{display:flex!important;justify-content:center!important;gap:6px!important;flex-wrap:wrap!important;margin:18px 0 0!important}
.fasmm-public-services .fasmm-public-pagination :is(a,span){min-width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border:1px solid var(--frs-border)!important;border-radius:10px!important;text-decoration:none!important;color:var(--frs-text)!important;background:var(--frs-surface)!important}
.fasmm-public-services .fasmm-public-pagination a.active{background:var(--frs-primary)!important;border-color:var(--frs-primary)!important;color:#fff!important}

/* Global image safety inside service resources. Only known icon containers are
 * allowed to fill their box; any unexpected image is kept small. */
.fasmm-public-services img{max-width:56px!important;max-height:56px!important;object-fit:contain!important}
.fasmm-public-services .fasmm-service-cat-tab>i img{max-width:100%!important;max-height:100%!important}
.fasmm-public-services .fasmm-public-service-icon img{max-width:100%!important;max-height:100%!important}

@media(max-width:900px){
  .fasmm-public-services .fasmm-public-service-filter{grid-template-columns:1fr 180px auto!important;width:100%!important}
}
@media(max-width:767.98px){
  .fasmm-user-resource-shortcode>.fasmm-card,
  .fasmm-user-resource-shortcode .fasmm-api-panel,
  .fasmm-user-resource-shortcode .fasmm-public-services,
  .fasmm-public-services.fasmm-public-services-v25{padding:14px!important;border-radius:16px!important}
  .fasmm-api-docs-shortcode .fasmm-api-key-box{display:grid!important}.fasmm-api-docs-shortcode .fasmm-api-key-box code{width:100%!important}.fasmm-api-docs-shortcode .fasmm-api-key-box .fasmm-btn{width:100%!important}
  .fasmm-public-services .fasmm-service-list-head{align-items:stretch!important}.fasmm-public-services .fasmm-service-list-head>div{min-width:0!important;flex-basis:100%!important}
  .fasmm-public-services .fasmm-public-service-filter{grid-template-columns:1fr!important;width:100%!important}.fasmm-public-services .fasmm-public-service-filter .fasmm-btn{width:100%!important}
  .fasmm-public-services .fasmm-public-service-grid{grid-template-columns:1fr!important}.fasmm-public-services .fasmm-public-service-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fasmm-public-services .fasmm-public-service-price{grid-column:1/-1!important}
}
@media(max-width:420px){
  .fasmm-public-services .fasmm-public-service-card{padding:13px!important}.fasmm-public-services .fasmm-public-service-foot{grid-template-columns:1fr!important}
  .fasmm-public-services .fasmm-public-service-stats{grid-template-columns:1fr!important}.fasmm-public-services .fasmm-public-service-price{grid-column:auto!important}
}
