
body.ffom-on-map-page .entry-title,
body.ffom-on-map-page .post-title,
body.ffom-on-map-page .page-title,
body.ffom-on-map-page .penci-page-header,
body.ffom-on-map-page .penci-entry-title {
  display:none !important;
}
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .page-content {
  margin-top:0 !important;
}

.ffom-wrap{
  --ffom-bg:#fff;--ffom-soft:#f6f7f8;--ffom-text:#18181b;--ffom-muted:#6b7280;--ffom-border:rgba(24,24,27,.10);
  --ffom-shadow:0 12px 34px rgba(0,0,0,.06);--ffom-radius:20px;
  max-width:1320px;margin:28px auto;color:var(--ffom-text);font-family:inherit;direction:rtl;text-align:right;
}
.ffom-wrap,.ffom-wrap *{box-sizing:border-box;font-family:inherit !important;letter-spacing:0 !important;word-spacing:normal !important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.ffom-wrap input,.ffom-wrap select,.ffom-wrap button,.ffom-wrap textarea,.ffom-wrap option,.ffom-wrap .leaflet-container,.ffom-wrap .leaflet-container *{font-family:inherit !important;letter-spacing:0 !important}

.ffom-hero{
  position:relative;min-height:350px;margin:0 0 22px;border-radius:24px;overflow:hidden;
  background-image:var(--ffom-hero);background-size:cover;background-position:center 48%;
  display:flex;align-items:center;justify-content:flex-start;isolation:isolate;
  box-shadow:var(--ffom-shadow);
}
.ffom-hero-overlay{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(15,23,42,.10) 0%,rgba(15,23,42,.38) 50%,rgba(15,23,42,.78) 100%);
}
.ffom-hero-content{width:min(560px,52%);padding:42px 46px;color:#fff;text-align:right;margin-right:0;margin-left:auto;direction:rtl}
.ffom-hero-kicker{display:block;font-size:13px;font-weight:800;margin-bottom:10px;color:#dbeafe}
.ffom-hero h1{margin:0 0 12px;color:#fff;font-size:clamp(40px,5vw,66px);line-height:1.1}
.ffom-hero p{margin:0;color:#fff;font-size:17px;line-height:2;font-weight:600}

.ffom-preview{padding:10px 14px;border-radius:12px;background:#fff3cd;color:#664d03;margin-bottom:14px;font-size:13px}
.ffom-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.ffom-head h1{margin:0 0 6px;font-size:clamp(28px,4vw,42px);line-height:1.2;color:inherit}
.ffom-head p{margin:0;color:var(--ffom-muted);line-height:1.9}
.ffom-count{display:flex;align-items:center;gap:8px;padding:9px 13px;background:var(--ffom-bg);border:1px solid var(--ffom-border);border-radius:14px}
.ffom-count strong{font-size:22px}.ffom-count span{font-size:13px;color:var(--ffom-muted)}
.ffom-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"map sidebar";gap:16px;align-items:stretch;direction:ltr}
.ffom-sidebar{grid-area:sidebar;direction:rtl;text-align:right}
.ffom-map{grid-area:map;direction:ltr}
.ffom-sidebar{background:var(--ffom-bg);border:1px solid var(--ffom-border);border-radius:var(--ffom-radius);padding:16px;min-height:620px;box-shadow:var(--ffom-shadow)}
.ffom-panel+.ffom-panel{margin-top:18px}.ffom-label{display:block;font-size:13px;font-weight:800;margin-bottom:8px;color:inherit}
.ffom-search-wrap{position:relative}.ffom-search-wrap input,.ffom-panel select{
  width:100%;height:44px;border:1px solid var(--ffom-border);border-radius:12px;background:var(--ffom-soft);color:inherit;padding:0 13px;outline:none;font:inherit
}
.ffom-search-wrap input{padding-right:40px}.ffom-search-wrap input:focus,.ffom-panel select:focus{border-color:rgba(37,99,235,.45);box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.ffom-search-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);display:flex;color:var(--ffom-muted);pointer-events:none}
.ffom-categories{display:flex;flex-direction:column;gap:5px;max-height:365px;overflow:auto;padding-left:3px}
.ffom-cat{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:inherit;border-radius:11px;padding:8px 9px;cursor:pointer;text-align:right;font:inherit;transition:background .18s ease,transform .18s ease}
.ffom-cat:hover{background:var(--ffom-soft);transform:translateX(-1px)}.ffom-cat.is-active{background:var(--ffom-soft);font-weight:800}
.ffom-cat-icon{width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--pin) 13%,transparent);color:var(--pin);flex:0 0 28px}
.ffom-cat-dot{width:28px;height:28px;border-radius:9px;background:var(--ffom-soft);position:relative;flex:0 0 28px}.ffom-cat-dot:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:currentColor;top:10px;right:10px;opacity:.6}
.ffom-reset{width:100%;margin-top:14px;height:40px;border:1px solid var(--ffom-border);border-radius:11px;background:transparent;color:inherit;cursor:pointer;font:inherit}
.ffom-map{min-height:620px;border-radius:var(--ffom-radius);overflow:hidden;border:1px solid var(--ffom-border);box-shadow:var(--ffom-shadow);background:var(--ffom-soft)}
.ffom-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 13px}.ffom-results-head h2{margin:0;font-size:24px;color:inherit}.ffom-results-head span{font-size:13px;color:var(--ffom-muted)}
.ffom-cards{display:flex;flex-wrap:wrap;gap:14px;direction:rtl;justify-content:flex-start;align-items:stretch}
.ffom-card{position:relative;border:1px solid var(--ffom-border);border-radius:22px;background:var(--ffom-bg);box-shadow:var(--ffom-shadow);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer;min-height:190px;overflow:hidden;width:calc(33.333% - 9.4px);display:flex;flex-direction:column}
.ffom-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(0,0,0,.09)}.ffom-card.is-featured:before{content:"ویژه";position:absolute;left:13px;top:13px;font-size:10px;font-weight:800;padding:4px 8px;border-radius:999px;background:var(--ffom-text);color:var(--ffom-bg);z-index:3}
.ffom-card-cover{position:relative;display:block;width:100%;aspect-ratio:16/9;background:var(--ffom-soft);overflow:hidden}
.ffom-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ffom-card-cover--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf3ff 0%,#f4f8ff 100%)}
.ffom-card-cover-icon{--pin:#1877F2;width:68px;height:68px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:rgba(24,119,242,.12);color:var(--pin)}
.ffom-card-cover-icon svg{width:30px;height:30px}
.ffom-card-body{padding:18px;display:flex;flex-direction:column;flex:1}
.ffom-card-kicker{font-size:12px;line-height:1.9;color:var(--ffom-muted);margin-bottom:8px}
.ffom-card h3{margin:0;font-size:30px;line-height:1.55;color:inherit;font-weight:800}
.ffom-card-accent{display:block;width:76px;height:4px;border-radius:999px;background:#1877F2;margin:10px 0 14px auto}
.ffom-meta{font-size:13px;color:var(--ffom-muted);margin:0 0 12px;line-height:1.8}
.ffom-card p{margin:0 0 18px;color:var(--ffom-text);font-size:14px;line-height:2.1;flex:1}
.ffom-card-footer{margin-top:auto;border-top:1px solid var(--ffom-border);padding-top:14px}
.ffom-card-more{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;color:var(--ffom-text);margin-bottom:14px}
.ffom-card-more-plus{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--ffom-soft);font-size:18px;line-height:1}
.ffom-card-cta{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;text-align:center;text-decoration:none;font-weight:800;color:var(--ffom-text);font-size:14px;border:1px solid rgba(24,119,242,.18);border-radius:16px;background:#f8fcff;transition:all .2s ease}
.ffom-card-cta:hover{border-color:#1877F2;color:#1877F2;background:#eef6ff}
.ffom-empty{width:100%;border:1px dashed var(--ffom-border);border-radius:16px;padding:30px;text-align:center;color:var(--ffom-muted)}
.ffom-popup{min-width:240px;direction:rtl;text-align:right;font-family:inherit}
.ffom-popup-cover{display:block;width:100%;height:110px;border-radius:12px;overflow:hidden;margin-bottom:10px;background:var(--ffom-soft)}
.ffom-popup-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ffom-popup-top{display:flex;align-items:flex-start;gap:8px;margin-bottom:7px}.ffom-popup-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--pin) 13%,transparent);color:var(--pin)}.ffom-popup-kicker{color:var(--ffom-muted)!important;margin-bottom:2px}.ffom-popup strong{font-size:14px;display:block;line-height:1.7}.ffom-popup small{display:block;color:#777;margin-bottom:6px;line-height:1.8}.ffom-popup a{display:inline-flex;margin-top:6px;font-weight:800;text-decoration:none}
.ffom-marker{--pin:#1877F2;position:relative;width:38px;height:46px;filter:drop-shadow(0 5px 5px rgba(0,0,0,.24));transform-origin:50% 100%;transition:transform .2s ease}.ffom-marker:hover{transform:translateY(-2px) scale(1.04)}
.ffom-marker svg.pin-shape{position:absolute;inset:0;width:38px;height:46px;color:var(--pin)}.ffom-marker .ffom-marker-icon{position:absolute;top:7px;right:9px;width:20px;height:20px;color:#fff;display:flex;align-items:center;justify-content:center}.ffom-marker.is-featured{transform:scale(1.12)}.ffom-marker.is-featured:hover{transform:translateY(-2px) scale(1.16)}
/* Dark mode: Soledad/Penci common classes + generic theme switches + OS fallback */
body.dark-mode .ffom-wrap,body.penci_dark_layout .ffom-wrap,html[data-theme="dark"] .ffom-wrap,body[data-theme="dark"] .ffom-wrap,.dark-mode .ffom-wrap{
 --ffom-bg:#17181a;--ffom-soft:#222428;--ffom-text:#f3f4f6;--ffom-muted:#a7abb3;--ffom-border:rgba(255,255,255,.10);--ffom-shadow:0 12px 34px rgba(0,0,0,.18)
}
body.dark-mode .ffom-map,body.penci_dark_layout .ffom-map,html[data-theme="dark"] .ffom-map,body[data-theme="dark"] .ffom-map,.dark-mode .ffom-map{filter:brightness(.86) contrast(1.05)}
@media (prefers-color-scheme:dark){
  body:not(.light-mode):not([data-theme="light"]) .ffom-wrap{--ffom-bg:#17181a;--ffom-soft:#222428;--ffom-text:#f3f4f6;--ffom-muted:#a7abb3;--ffom-border:rgba(255,255,255,.10);--ffom-shadow:0 12px 34px rgba(0,0,0,.18)}
}
@media(max-width:1000px){.ffom-main{grid-template-columns:minmax(0,1fr) 255px;grid-template-areas:"map sidebar"}.ffom-card{width:calc(50% - 7px)}.ffom-card h3{font-size:26px}}
@media(max-width:780px){
 .ffom-main{grid-template-columns:1fr;grid-template-areas:"sidebar" "map";direction:rtl}.ffom-sidebar{min-height:auto;order:1}.ffom-map{min-height:500px;order:2}.ffom-categories{display:flex;flex-direction:row;overflow-x:auto;max-height:none;padding-bottom:3px}.ffom-cat{width:auto;min-width:max-content}.ffom-card{width:100%}.ffom-card h3{font-size:24px}.ffom-head{align-items:flex-start}.ffom-count{display:none}
}
@media(max-width:520px){.ffom-wrap{margin:14px auto}.ffom-map{min-height:430px;border-radius:16px}.ffom-sidebar{border-radius:16px;padding:13px}.ffom-head h1{font-size:30px}.ffom-results-head{margin-top:22px}}

.ffom-head,.ffom-count,.ffom-preview{display:none!important}
.ffom-results-head{direction:rtl;text-align:right}
.ffom-results-head h2{margin-left:auto}
@media(max-width:780px){
  .ffom-hero{min-height:290px;border-radius:18px;background-position:center}
  .ffom-hero-content{width:100%;padding:28px 24px;margin:0;align-self:flex-end}
  .ffom-hero-overlay{background:linear-gradient(0deg,rgba(15,23,42,.80) 0%,rgba(15,23,42,.40) 55%,rgba(15,23,42,.10) 100%)}
  .ffom-hero h1{font-size:42px}
  .ffom-hero p{font-size:15px;line-height:1.9;max-width:90%}
}
@media(max-width:520px){
  .ffom-hero{min-height:245px;margin-bottom:16px}
  .ffom-hero-content{padding:22px 18px}
  .ffom-hero h1{font-size:34px;margin-bottom:8px}
  .ffom-hero p{font-size:14px}
}

.ffom-wrap,.ffom-wrap section,.ffom-wrap header,.ffom-wrap aside,
.ffom-results-head,.ffom-cards,.ffom-card,.ffom-card-body,
.ffom-panel,.ffom-categories{
  direction:rtl;
  text-align:right;
}
.ffom-results-head{
  justify-content:flex-start;
}
.ffom-results-head h2{
  margin:0;
  margin-left:auto;
  text-align:right;
}
.ffom-cards{
  justify-content:flex-start !important;
  align-content:flex-start;
}
.ffom-card{
  text-align:right;
}
@media(min-width:781px){
  .ffom-hero-content{
    margin-right:0 !important;
    margin-left:auto !important;
    align-self:center;
  }
}


/* 0.3.1 — page spacing / theme chrome cleanup */
body.ffom-on-map-page .site-content,
body.ffom-on-map-page #content,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .container-single,
body.ffom-on-map-page .container-single-page,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .page-content,
body.ffom-on-map-page .penci-entry-content {
  padding-top:0 !important;
  margin-top:0 !important;
}
body.ffom-on-map-page .ffom-wrap{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Hide theme-only sharing/separator chrome on this utility page */
body.ffom-on-map-page .post-share,
body.ffom-on-map-page .post-share-box,
body.ffom-on-map-page .penci-post-share,
body.ffom-on-map-page .penci-social-share,
body.ffom-on-map-page .penci-entry-share,
body.ffom-on-map-page .penci-post-box-meta,
body.ffom-on-map-page .post-tags,
body.ffom-on-map-page .penci-tags-links,
body.ffom-on-map-page .penci-post-pagination,
body.ffom-on-map-page .post-pagination,
body.ffom-on-map-page .post-box-meta-single,
body.ffom-on-map-page .tags-share-box,
body.ffom-on-map-page .post-share-plike {
  display:none !important;
}
body.ffom-on-map-page .post-entry:after,
body.ffom-on-map-page .entry-content:after,
body.ffom-on-map-page .penci-entry-content:after {
  display:none !important;
  content:none !important;
}

/* Explicit dark skin, also applied dynamically by JS */
.ffom-wrap.ffom-dark{
  --ffom-bg:#17181a;
  --ffom-soft:#232529;
  --ffom-text:#f5f7fa;
  --ffom-muted:#aeb4bd;
  --ffom-border:rgba(255,255,255,.12);
  --ffom-shadow:0 12px 34px rgba(0,0,0,.30);
}
.ffom-wrap.ffom-dark .ffom-sidebar,
.ffom-wrap.ffom-dark .ffom-card{
  background:#17181a !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#f5f7fa !important;
}
.ffom-wrap.ffom-dark .ffom-search-wrap input,
.ffom-wrap.ffom-dark .ffom-panel select,
.ffom-wrap.ffom-dark .ffom-reset,
.ffom-wrap.ffom-dark .ffom-cat.is-active,
.ffom-wrap.ffom-dark .ffom-cat:hover,
.ffom-wrap.ffom-dark .ffom-card-more-plus{
  background:#232529 !important;
  color:#f5f7fa !important;
  border-color:rgba(255,255,255,.12) !important;
}
.ffom-wrap.ffom-dark .ffom-card p,
.ffom-wrap.ffom-dark .ffom-card h3,
.ffom-wrap.ffom-dark .ffom-card-more,
.ffom-wrap.ffom-dark .ffom-results-head h2{
  color:#f5f7fa !important;
}
.ffom-wrap.ffom-dark .ffom-card-kicker,
.ffom-wrap.ffom-dark .ffom-meta,
.ffom-wrap.ffom-dark .ffom-results-head span,
.ffom-wrap.ffom-dark .ffom-label{
  color:#aeb4bd !important;
}
.ffom-wrap.ffom-dark .ffom-card-cta{
  background:#1c2530 !important;
  color:#7db5ff !important;
  border-color:rgba(24,119,242,.45) !important;
}
.ffom-wrap.ffom-dark .ffom-card-cta:hover{
  background:#22344a !important;
  color:#9ac6ff !important;
  border-color:#1877F2 !important;
}
.ffom-wrap.ffom-dark .ffom-card-footer{
  border-color:rgba(255,255,255,.10) !important;
}
.ffom-wrap.ffom-dark .ffom-card-cover--placeholder{
  background:linear-gradient(135deg,#172235 0%,#202734 100%) !important;
}
.ffom-wrap.ffom-dark .leaflet-popup-content-wrapper,
.ffom-wrap.ffom-dark .leaflet-popup-tip{
  background:#17181a !important;
  color:#f5f7fa !important;
}
.ffom-wrap.ffom-dark .leaflet-popup-content,
.ffom-wrap.ffom-dark .leaflet-popup-content strong,
.ffom-wrap.ffom-dark .leaflet-popup-content a{
  color:#f5f7fa !important;
}
.ffom-wrap.ffom-dark .ffom-popup small,
.ffom-wrap.ffom-dark .ffom-popup-kicker{
  color:#aeb4bd !important;
}
.ffom-wrap.ffom-dark .ffom-map{
  filter:brightness(.78) contrast(1.08) saturate(.85);
}

/* A few additional Soledad/Penci dark-mode class variants */
body.penci-dark-layout .ffom-wrap,
body.penci-dark-mode .ffom-wrap,
html.penci-dark-mode .ffom-wrap,
body.dark-layout .ffom-wrap,
html.dark .ffom-wrap{
  --ffom-bg:#17181a;
  --ffom-soft:#232529;
  --ffom-text:#f5f7fa;
  --ffom-muted:#aeb4bd;
  --ffom-border:rgba(255,255,255,.12);
  --ffom-shadow:0 12px 34px rgba(0,0,0,.30);
}


/* 0.3.2 — keep functional UI light even when Footofan itself is dark */
.ffom-wrap,
body.dark-mode .ffom-wrap,
body.penci_dark_layout .ffom-wrap,
body.penci-dark-layout .ffom-wrap,
body.penci-dark-mode .ffom-wrap,
html.penci-dark-mode .ffom-wrap,
html[data-theme="dark"] .ffom-wrap,
body[data-theme="dark"] .ffom-wrap,
.dark-mode .ffom-wrap,
body.dark-layout .ffom-wrap,
html.dark .ffom-wrap,
.ffom-wrap.ffom-dark {
  --ffom-bg:#ffffff !important;
  --ffom-soft:#f6f7f8 !important;
  --ffom-text:#18181b !important;
  --ffom-muted:#6b7280 !important;
  --ffom-border:rgba(24,24,27,.10) !important;
  --ffom-shadow:0 12px 34px rgba(0,0,0,.09) !important;
}

/* Sidebar/filter stays light */
.ffom-wrap.ffom-dark .ffom-sidebar,
.ffom-wrap.ffom-dark .ffom-card,
body.dark-mode .ffom-sidebar,
body.dark-mode .ffom-card,
body.penci_dark_layout .ffom-sidebar,
body.penci_dark_layout .ffom-card {
  background:#fff !important;
  color:#18181b !important;
  border-color:rgba(24,24,27,.10) !important;
}
.ffom-wrap.ffom-dark .ffom-search-wrap input,
.ffom-wrap.ffom-dark .ffom-panel select,
.ffom-wrap.ffom-dark .ffom-reset,
.ffom-wrap.ffom-dark .ffom-cat.is-active,
.ffom-wrap.ffom-dark .ffom-cat:hover,
.ffom-wrap.ffom-dark .ffom-card-more-plus {
  background:#f6f7f8 !important;
  color:#18181b !important;
  border-color:rgba(24,24,27,.10) !important;
}
.ffom-wrap.ffom-dark .ffom-card h3,
.ffom-wrap.ffom-dark .ffom-card p,
.ffom-wrap.ffom-dark .ffom-card-more,
.ffom-wrap.ffom-dark .ffom-results-head h2,
.ffom-wrap.ffom-dark .ffom-label {
  color:#18181b !important;
}
.ffom-wrap.ffom-dark .ffom-card-kicker,
.ffom-wrap.ffom-dark .ffom-meta,
.ffom-wrap.ffom-dark .ffom-results-head span {
  color:#6b7280 !important;
}
.ffom-wrap.ffom-dark .ffom-card-cta {
  background:#f8fcff !important;
  color:#1877F2 !important;
  border-color:rgba(24,119,242,.25) !important;
}
.ffom-wrap.ffom-dark .ffom-card-cta:hover {
  background:#eef6ff !important;
  color:#1877F2 !important;
  border-color:#1877F2 !important;
}
.ffom-wrap.ffom-dark .ffom-card-footer {
  border-color:rgba(24,24,27,.10) !important;
}
.ffom-wrap.ffom-dark .ffom-card-cover--placeholder {
  background:linear-gradient(135deg,#eaf3ff 0%,#f4f8ff 100%) !important;
}
.ffom-wrap.ffom-dark .ffom-map,
body.dark-mode .ffom-map,
body.penci_dark_layout .ffom-map,
body.penci-dark-layout .ffom-map,
body.penci-dark-mode .ffom-map,
html[data-theme="dark"] .ffom-map,
body[data-theme="dark"] .ffom-map,
.dark-mode .ffom-map {
  filter:none !important;
}

/* Popup also remains light for readability */
.ffom-wrap.ffom-dark .leaflet-popup-content-wrapper,
.ffom-wrap.ffom-dark .leaflet-popup-tip {
  background:#fff !important;
  color:#18181b !important;
}
.ffom-wrap.ffom-dark .leaflet-popup-content,
.ffom-wrap.ffom-dark .leaflet-popup-content strong,
.ffom-wrap.ffom-dark .leaflet-popup-content a {
  color:#18181b !important;
}
.ffom-wrap.ffom-dark .ffom-popup small,
.ffom-wrap.ffom-dark .ffom-popup-kicker {
  color:#6b7280 !important;
}

/* Put vertical scrollbar on the right while content remains RTL */
.ffom-categories {
  direction:ltr !important;
  padding-left:0 !important;
  padding-right:3px !important;
  scrollbar-gutter:stable;
}
.ffom-categories .ffom-cat {
  direction:rtl !important;
  text-align:right !important;
}

/* Remove the unused theme spacing around this utility page */
body.ffom-on-map-page .site-content,
body.ffom-on-map-page #content,
body.ffom-on-map-page #main,
body.ffom-on-map-page .site-main,
body.ffom-on-map-page .main-content,
body.ffom-on-map-page .penci-main-content,
body.ffom-on-map-page .penci-content-wrap,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .container,
body.ffom-on-map-page .container-single,
body.ffom-on-map-page .container-single-page,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .page-content,
body.ffom-on-map-page .penci-entry-content,
body.ffom-on-map-page .penci-single-wrapper {
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  min-height:0 !important;
}
body.ffom-on-map-page .ffom-wrap {
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* cancel the desktop top gap left by Soledad's page-title area */
@media(min-width:781px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-72px !important;
  }
}
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:0 !important;
  }
}

/* remove residual separators/chrome after the custom page */
body.ffom-on-map-page .ffom-wrap ~ hr,
body.ffom-on-map-page .ffom-wrap ~ .post-share,
body.ffom-on-map-page .ffom-wrap ~ .penci-post-share,
body.ffom-on-map-page .ffom-wrap ~ .penci-social-share,
body.ffom-on-map-page .ffom-wrap ~ .post-tags,
body.ffom-on-map-page .ffom-wrap ~ .penci-tags-links {
  display:none !important;
}


/* 0.3.3 — requested dark mode: dark cards/filter, natural map */
.ffom-wrap.ffom-dark{
  --ffom-bg:#111214 !important;
  --ffom-soft:#1d1f23 !important;
  --ffom-text:#f5f7fa !important;
  --ffom-muted:#aeb4bd !important;
  --ffom-border:rgba(255,255,255,.12) !important;
  --ffom-shadow:0 12px 34px rgba(0,0,0,.28) !important;
}
.ffom-wrap.ffom-dark .ffom-sidebar,
.ffom-wrap.ffom-dark .ffom-card{
  background:#111214 !important;
  color:#f5f7fa !important;
  border-color:rgba(255,255,255,.12) !important;
}
.ffom-wrap.ffom-dark .ffom-search-wrap input,
.ffom-wrap.ffom-dark .ffom-panel select,
.ffom-wrap.ffom-dark .ffom-reset,
.ffom-wrap.ffom-dark .ffom-cat.is-active,
.ffom-wrap.ffom-dark .ffom-cat:hover,
.ffom-wrap.ffom-dark .ffom-card-more-plus{
  background:#1d1f23 !important;
  color:#f5f7fa !important;
  border-color:rgba(255,255,255,.12) !important;
}
.ffom-wrap.ffom-dark .ffom-card h3,
.ffom-wrap.ffom-dark .ffom-card p,
.ffom-wrap.ffom-dark .ffom-card-more,
.ffom-wrap.ffom-dark .ffom-results-head h2,
.ffom-wrap.ffom-dark .ffom-label{
  color:#f5f7fa !important;
}
.ffom-wrap.ffom-dark .ffom-card-kicker,
.ffom-wrap.ffom-dark .ffom-meta,
.ffom-wrap.ffom-dark .ffom-results-head span{
  color:#aeb4bd !important;
}
.ffom-wrap.ffom-dark .ffom-card-footer{
  border-color:rgba(255,255,255,.10) !important;
}
.ffom-wrap.ffom-dark .ffom-card-cta{
  background:#182231 !important;
  color:#78b1ff !important;
  border-color:rgba(24,119,242,.45) !important;
}
.ffom-wrap.ffom-dark .ffom-card-cta:hover{
  background:#1d2d43 !important;
  color:#9bc7ff !important;
  border-color:#1877F2 !important;
}
.ffom-wrap.ffom-dark .ffom-card-cover--placeholder{
  background:linear-gradient(135deg,#172235 0%,#202734 100%) !important;
}

/* Map itself must never be darkened */
.ffom-wrap.ffom-dark .ffom-map,
body.dark-mode .ffom-map,
body.penci_dark_layout .ffom-map,
body.penci-dark-layout .ffom-map,
body.penci-dark-mode .ffom-map,
html[data-theme="dark"] .ffom-map,
body[data-theme="dark"] .ffom-map,
.dark-mode .ffom-map{
  filter:none !important;
}

/* Popup follows dark panel style */
.ffom-wrap.ffom-dark .leaflet-popup-content-wrapper,
.ffom-wrap.ffom-dark .leaflet-popup-tip{
  background:#111214 !important;
  color:#f5f7fa !important;
}
.ffom-wrap.ffom-dark .leaflet-popup-content,
.ffom-wrap.ffom-dark .leaflet-popup-content strong,
.ffom-wrap.ffom-dark .leaflet-popup-content a{
  color:#f5f7fa !important;
}
.ffom-wrap.ffom-dark .ffom-popup small,
.ffom-wrap.ffom-dark .ffom-popup-kicker{
  color:#aeb4bd !important;
}

/* remove stray theme separator/pseudo lines visible only on the utility page */
body.ffom-on-map-page .site-content,
body.ffom-on-map-page #content,
body.ffom-on-map-page #main,
body.ffom-on-map-page .site-main,
body.ffom-on-map-page .main-content,
body.ffom-on-map-page .penci-main-content,
body.ffom-on-map-page .penci-content-wrap,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .container,
body.ffom-on-map-page .container-single,
body.ffom-on-map-page .container-single-page,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .page-content,
body.ffom-on-map-page .penci-entry-content{
  border-left:0 !important;
  border-right:0 !important;
}
body.ffom-on-map-page .site-content::before,
body.ffom-on-map-page .site-content::after,
body.ffom-on-map-page #content::before,
body.ffom-on-map-page #content::after,
body.ffom-on-map-page #main::before,
body.ffom-on-map-page #main::after,
body.ffom-on-map-page .site-main::before,
body.ffom-on-map-page .site-main::after,
body.ffom-on-map-page .main-content::before,
body.ffom-on-map-page .main-content::after,
body.ffom-on-map-page .penci-main-content::before,
body.ffom-on-map-page .penci-main-content::after,
body.ffom-on-map-page .penci-content-wrap::before,
body.ffom-on-map-page .penci-content-wrap::after,
body.ffom-on-map-page .penci-container::before,
body.ffom-on-map-page .penci-container::after,
body.ffom-on-map-page .container::before,
body.ffom-on-map-page .container::after,
body.ffom-on-map-page .post-entry::before,
body.ffom-on-map-page .post-entry::after,
body.ffom-on-map-page .entry-content::before,
body.ffom-on-map-page .entry-content::after,
body.ffom-on-map-page .penci-entry-content::before,
body.ffom-on-map-page .penci-entry-content::after{
  content:none !important;
  display:none !important;
  border:0 !important;
}

/* scroll bar remains at the right edge of the filter list */
.ffom-categories{
  direction:ltr !important;
  overflow-y:auto !important;
}
.ffom-categories .ffom-cat{
  direction:rtl !important;
  text-align:right !important;
}


/* 0.3.4 — strict light/day state; dark only when Footofan dark mode is explicitly active */
.ffom-wrap:not(.ffom-dark){
  --ffom-bg:#fff !important;
  --ffom-soft:#f6f7f8 !important;
  --ffom-text:#18181b !important;
  --ffom-muted:#6b7280 !important;
  --ffom-border:rgba(24,24,27,.10) !important;
  --ffom-shadow:0 12px 34px rgba(0,0,0,.09) !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-sidebar,
.ffom-wrap:not(.ffom-dark) .ffom-card{
  background:#fff !important;
  color:#18181b !important;
  border-color:rgba(24,24,27,.10) !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-search-wrap input,
.ffom-wrap:not(.ffom-dark) .ffom-panel select,
.ffom-wrap:not(.ffom-dark) .ffom-reset,
.ffom-wrap:not(.ffom-dark) .ffom-cat.is-active,
.ffom-wrap:not(.ffom-dark) .ffom-cat:hover,
.ffom-wrap:not(.ffom-dark) .ffom-card-more-plus{
  background:#f6f7f8 !important;
  color:#18181b !important;
  border-color:rgba(24,24,27,.10) !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-card h3,
.ffom-wrap:not(.ffom-dark) .ffom-card p,
.ffom-wrap:not(.ffom-dark) .ffom-card-more,
.ffom-wrap:not(.ffom-dark) .ffom-results-head h2,
.ffom-wrap:not(.ffom-dark) .ffom-label{
  color:#18181b !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-card-kicker,
.ffom-wrap:not(.ffom-dark) .ffom-meta,
.ffom-wrap:not(.ffom-dark) .ffom-results-head span{
  color:#6b7280 !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-card-cta{
  background:#f8fcff !important;
  color:#1877F2 !important;
  border-color:rgba(24,119,242,.25) !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-map{filter:none !important;}

/* More-info row: label at right, plus at left */
.ffom-card-more{
  direction:rtl !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100%;
}
.ffom-card-more > span:first-child{order:1;text-align:right;}
.ffom-card-more .ffom-card-more-plus{order:2;margin-right:auto;margin-left:0;}


/* 0.3.5 — exact day/dark behavior */
.ffom-wrap:not(.ffom-dark) .ffom-sidebar,
.ffom-wrap:not(.ffom-dark) .ffom-card{
  background:#fff !important;
  color:#18181b !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-results-head h2,
.ffom-wrap:not(.ffom-dark) .ffom-results-head span{
  color:#18181b !important;
}

.ffom-wrap.ffom-dark .ffom-sidebar,
.ffom-wrap.ffom-dark .ffom-card{
  background:#111214 !important;
  color:#f7f7f8 !important;
  border-color:rgba(255,255,255,.12) !important;
}
.ffom-wrap.ffom-dark .ffom-search-wrap input,
.ffom-wrap.ffom-dark .ffom-panel select,
.ffom-wrap.ffom-dark .ffom-reset,
.ffom-wrap.ffom-dark .ffom-cat.is-active,
.ffom-wrap.ffom-dark .ffom-cat:hover,
.ffom-wrap.ffom-dark .ffom-card-more-plus{
  background:#1d1f23 !important;
  color:#f7f7f8 !important;
  border-color:rgba(255,255,255,.12) !important;
}
.ffom-wrap.ffom-dark .ffom-label,
.ffom-wrap.ffom-dark .ffom-cat,
.ffom-wrap.ffom-dark .ffom-card h3,
.ffom-wrap.ffom-dark .ffom-card p,
.ffom-wrap.ffom-dark .ffom-card-more{
  color:#f7f7f8 !important;
}
.ffom-wrap.ffom-dark .ffom-card-kicker,
.ffom-wrap.ffom-dark .ffom-meta{
  color:#aeb4bd !important;
}

/* Section heading and result count must remain visible in dark mode */
.ffom-wrap.ffom-dark .ffom-results-head,
.ffom-wrap.ffom-dark .ffom-results-head h2{
  color:#fff !important;
}
.ffom-wrap.ffom-dark .ffom-results-head span,
.ffom-wrap.ffom-dark #ffom-result-text{
  color:#c7cbd1 !important;
  opacity:1 !important;
}

/* Map stays natural in both modes */
.ffom-wrap .ffom-map{
  filter:none !important;
}

/* Keep Soledad's native back-to-top control. Only suppress stray sidebar helper remnants. */
body.ffom-on-map-page .penci-sticky-scroll,
body.ffom-on-map-page .penci-sidebar-content.pcalign-center:before,
body.ffom-on-map-page .penci-sidebar-content.pcalign-center:after{
  display:none !important;
}

/* No stray pseudo separators at right side of our custom area */
body.ffom-on-map-page .ffom-wrap::before,
body.ffom-on-map-page .ffom-wrap::after,
body.ffom-on-map-page .ffom-main::before,
body.ffom-on-map-page .ffom-main::after,
body.ffom-on-map-page .ffom-cards::before,
body.ffom-on-map-page .ffom-cards::after,
body.ffom-on-map-page .ffom-results-head::before,
body.ffom-on-map-page .ffom-results-head::after{
  content:none !important;
  display:none !important;
}

/* Keep only the intended category scrollbar */
.ffom-categories{
  scrollbar-width:thin;
}


/* 0.3.7 — runtime-detected orphan edge lines from theme chrome */
body.ffom-on-map-page [data-ffom-hidden-edge-line="1"]{
  display:none !important;
  visibility:hidden !important;
}


/* ===== 0.4.3 minimal stabilization — keep 0.3.8 typography/colors ===== */

/* Remove only layout gaps from the page template */
body.ffom-on-map-page .site-content,
body.ffom-on-map-page #content,
body.ffom-on-map-page #main,
body.ffom-on-map-page .site-main,
body.ffom-on-map-page .main-content,
body.ffom-on-map-page .penci-main-content,
body.ffom-on-map-page .penci-content-wrap,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .container-single,
body.ffom-on-map-page .container-single-page,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .page-content,
body.ffom-on-map-page .penci-entry-content,
body.ffom-on-map-page .penci-single-wrapper{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
}

/* Do not create nested page scrollbars/stray scrollbar marks */
body.ffom-on-map-page .site-content,
body.ffom-on-map-page #content,
body.ffom-on-map-page #main,
body.ffom-on-map-page .site-main,
body.ffom-on-map-page .main-content,
body.ffom-on-map-page .penci-main-content,
body.ffom-on-map-page .penci-content-wrap,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .container-single,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .penci-entry-content{
  overflow:visible!important;
}
body.ffom-on-map-page .ffom-wrap,
body.ffom-on-map-page .ffom-cards{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body.ffom-on-map-page .ffom-card:last-child{margin-bottom:0!important}

/* Mobile activity toggle: plain +, no blue box */
.ffom-mobile-activity-toggle{
  display:none;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:24px!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer;
}

/* Province select: preserve native Android radio UI and Footofan font */
#ffom-province,.ffom-panel select{
  direction:rtl!important;
  text-align:right!important;
  font-family:inherit!important;
}

/* Mobile only: preserve existing visual design, fix width/order */
@media(max-width:780px){
  body.ffom-on-map-page{overflow-x:hidden!important}
  body.ffom-on-map-page .ffom-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
  }
  .ffom-hero,.ffom-sidebar,.ffom-map,.ffom-results-head,.ffom-cards,.ffom-card{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  .ffom-main{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    width:100%!important;
  }
  .ffom-sidebar{
    order:1!important;
    min-height:0!important;
  }
  .ffom-map{
    order:2!important;
    height:340px!important;
    min-height:340px!important;
  }
  .ffom-mobile-activity-toggle{display:inline-block!important}

  /* Activity is closed by default, opens only on request */
  .ffom-categories{display:none!important}
  .ffom-sidebar.ffom-activity-open .ffom-categories{
    display:flex!important;
    max-height:245px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .ffom-results-head{
    margin:18px 0 10px!important;
  }
  .ffom-cards{display:block!important}
  .ffom-card{
    margin:0!important;
  }

  /* Keep popup compact on phones */
  .leaflet-popup{
    max-width:calc(100vw - 52px)!important;
  }
  .leaflet-popup-content-wrapper{
    max-width:calc(100vw - 52px)!important;
  }
  .ffom-popup{
    min-width:0!important;
    max-width:220px!important;
  }
  .ffom-popup .ffom-popup-cover,
  .ffom-popup p{
    display:none!important;
  }
}
@media(max-width:430px){
  body.ffom-on-map-page .ffom-wrap{padding:0 10px!important}
  .ffom-map{height:315px!important;min-height:315px!important}
}


/* ===== 0.4.4 TARGETED FIXES ONLY ===== */

/* Mobile breaks out of Soledad's narrow content container */
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    width:calc(100vw - 16px)!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw + 8px)!important;
    margin-right:calc(50% - 50vw + 8px)!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .ffom-hero,.ffom-sidebar,.ffom-map,.ffom-results-head,.ffom-cards,.ffom-card{
    width:100%!important;
    max-width:none!important;
  }
}

/* Province custom dropdown */
.ffom-province-native-hidden{
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;
}
.ffom-province-custom{position:relative;width:100%}
.ffom-province-trigger{
  width:100%;height:44px;border:1px solid var(--ffom-border);
  border-radius:12px;background:var(--ffom-soft);color:var(--ffom-text);
  padding:0 13px;display:flex;align-items:center;justify-content:space-between;
  gap:10px;cursor:pointer;direction:rtl;text-align:right;font:inherit;
}
.ffom-province-trigger svg{width:16px;height:16px;flex:0 0 16px;transition:transform .18s ease}
.ffom-province-custom.is-open .ffom-province-trigger svg{transform:rotate(180deg)}
.ffom-province-menu{
  display:none;position:absolute;z-index:9999;top:calc(100% + 7px);right:0;left:0;
  border:1px solid var(--ffom-border);border-radius:14px;background:var(--ffom-bg);
  box-shadow:0 14px 34px rgba(0,0,0,.16);overflow:hidden;
}
.ffom-province-custom.is-open .ffom-province-menu{display:block}
.ffom-province-scroll{
  max-height:310px;overflow-y:auto;overflow-x:hidden;
  direction:ltr; /* scrollbar at the right */
  scrollbar-gutter:stable;
}
.ffom-province-option{
  direction:rtl;width:100%;border:0;border-bottom:1px solid var(--ffom-border);
  background:transparent;color:var(--ffom-text);font:inherit;
  min-height:46px;padding:9px 12px;display:flex;align-items:center;
  justify-content:space-between;gap:12px;cursor:pointer;text-align:right;
}
.ffom-province-option:last-child{border-bottom:0}
.ffom-province-option:hover,.ffom-province-option.is-selected{background:var(--ffom-soft)}
.ffom-province-radio{
  width:18px;height:18px;border:2px solid var(--ffom-muted);border-radius:50%;
  flex:0 0 18px;position:relative;
}
.ffom-province-option.is-selected .ffom-province-radio{border-color:#1877F2}
.ffom-province-option.is-selected .ffom-province-radio:after{
  content:"";position:absolute;width:8px;height:8px;border-radius:50%;
  background:#1877F2;top:3px;right:3px;
}

/* Activity disclosure: international filter/funnel + chevron pattern */
.ffom-activity-disclosure{
  display:none;align-items:center;gap:7px;border:0;background:transparent;
  color:inherit;padding:2px 0;cursor:pointer;font:inherit;
}
.ffom-activity-disclosure .ffom-filter-icon{width:18px;height:18px;display:flex}
.ffom-activity-disclosure .ffom-chevron{width:15px;height:15px;display:flex;transition:transform .18s ease}
.ffom-sidebar.ffom-activity-open .ffom-activity-disclosure .ffom-chevron{transform:rotate(180deg)}

@media(max-width:780px){
  .ffom-mobile-activity-toggle{display:none!important}
  .ffom-activity-disclosure{display:inline-flex}
  .ffom-categories{
    display:none!important;
    max-height:250px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    direction:ltr!important;
    padding-right:3px!important;
  }
  .ffom-sidebar.ffom-activity-open .ffom-categories{display:flex!important}
  .ffom-sidebar.ffom-activity-open .ffom-categories .ffom-cat{
    direction:rtl!important;text-align:right!important;
    pointer-events:auto!important;position:relative!important;z-index:2!important;
  }
}

/* Popup tighter on mobile */
@media(max-width:780px){
  .leaflet-popup{max-width:calc(100vw - 44px)!important}
  .leaflet-popup-content-wrapper{max-width:calc(100vw - 44px)!important}
  .leaflet-popup-content{margin:12px 14px!important}
  .ffom-popup{min-width:0!important;max-width:230px!important}
  .ffom-popup-cover{display:none!important}
  .ffom-popup small{line-height:1.65!important;margin-bottom:4px!important}
}

/* Cleanup markers added by runtime */
body.ffom-on-map-page [data-ffom-runtime-clean="1"]{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  overflow:visible!important;
}
body.ffom-on-map-page [data-ffom-hidden-edge-line="1"]{display:none!important}


/* ===== 0.4.5 MOBILE FILTER ROWS + GAP CLEANUP ===== */
@media(max-width:780px){

  /* more breathing room like Kجا بریم, while still full width */
  body.ffom-on-map-page .ffom-wrap{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw + 14px)!important;
    margin-right:calc(50% - 50vw + 14px)!important;
    padding:0!important;
  }

  /* remove blank space before hero */
  body.ffom-on-map-page .site-content,
  body.ffom-on-map-page #content,
  body.ffom-on-map-page #main,
  body.ffom-on-map-page .site-main,
  body.ffom-on-map-page .main-content,
  body.ffom-on-map-page .penci-main-content,
  body.ffom-on-map-page .penci-content-wrap,
  body.ffom-on-map-page .penci-container,
  body.ffom-on-map-page .container,
  body.ffom-on-map-page .container-single,
  body.ffom-on-map-page .container-single-page,
  body.ffom-on-map-page .post-entry,
  body.ffom-on-map-page .entry-content,
  body.ffom-on-map-page .page-content,
  body.ffom-on-map-page .penci-entry-content,
  body.ffom-on-map-page .penci-single-wrapper{
    margin-top:0!important;
    padding-top:0!important;
  }
  body.ffom-on-map-page .ffom-hero{
    margin-top:0!important;
  }

  /* compact mobile filter panel */
  .ffom-sidebar{
    padding:14px 16px!important;
  }
  .ffom-panel{
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    margin:0!important;
  }
  .ffom-panel + .ffom-panel{
    margin-top:12px!important;
  }
  .ffom-panel .ffom-label{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin:0!important;
    min-height:44px!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  .ffom-search-wrap,
  .ffom-province-custom{
    width:100%!important;
  }
  .ffom-search-wrap input,
  .ffom-province-trigger{
    height:44px!important;
    width:100%!important;
  }

  /* activity behaves like province: one closed field */
  .ffom-activity-mobile-field{
    width:100%;
    height:44px;
    border:1px solid var(--ffom-border);
    border-radius:12px;
    background:var(--ffom-soft);
    color:var(--ffom-text);
    padding:0 13px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    cursor:pointer;
    direction:rtl;
    text-align:right;
    font:inherit;
  }
  .ffom-activity-mobile-field svg{
    width:16px;height:16px;flex:0 0 16px;transition:transform .18s ease;
  }
  .ffom-sidebar.ffom-activity-open .ffom-activity-mobile-field svg{
    transform:rotate(180deg);
  }

  /* hide separate filter disclosure label/button on mobile */
  .ffom-activity-disclosure,
  .ffom-mobile-activity-toggle{
    display:none!important;
  }

  /* activity list opens below as dropdown panel */
  .ffom-categories{
    grid-column:1 / -1!important;
    display:none!important;
    margin-top:8px!important;
    max-height:250px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    direction:ltr!important;
    border:1px solid var(--ffom-border)!important;
    border-radius:12px!important;
    background:var(--ffom-bg)!important;
    padding:6px!important;
  }
  .ffom-sidebar.ffom-activity-open .ffom-categories{
    display:flex!important;
  }
  .ffom-sidebar.ffom-activity-open .ffom-categories .ffom-cat{
    direction:rtl!important;
    text-align:right!important;
  }

  /* reset button spans entire panel */
  .ffom-reset{
    margin-top:14px!important;
    width:100%!important;
  }

  /* remove bottom blank region after last card */
  body.ffom-on-map-page .ffom-wrap,
  body.ffom-on-map-page .ffom-cards,
  body.ffom-on-map-page .ffom-card:last-child,
  body.ffom-on-map-page .entry-content,
  body.ffom-on-map-page .post-entry,
  body.ffom-on-map-page .penci-entry-content{
    margin-bottom:0!important;
    padding-bottom:0!important;
    min-height:0!important;
  }
  body.ffom-on-map-page footer,
  body.ffom-on-map-page .site-footer,
  body.ffom-on-map-page #footer-section{
    margin-top:0!important;
  }
}

@media(max-width:430px){
  body.ffom-on-map-page .ffom-wrap{
    width:calc(100vw - 24px)!important;
    margin-left:calc(50% - 50vw + 12px)!important;
    margin-right:calc(50% - 50vw + 12px)!important;
  }
  .ffom-panel{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
  }
}


/* ===== 0.4.7 — targeted fixes on stable 0.4.5 ===== */

/* 1) less top gap */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-26px!important;
  margin-bottom:0!important;
}

/* 4) cards/footer must stay in normal document flow */
body.ffom-on-map-page .ffom-results-head,
body.ffom-on-map-page .ffom-cards,
body.ffom-on-map-page .ffom-card{
  position:relative!important;
  z-index:auto!important;
}
body.ffom-on-map-page .ffom-cards{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

/* 6) remove forced empty area below content in desktop and mobile */
body.ffom-on-map-page .site-content,
body.ffom-on-map-page #content,
body.ffom-on-map-page #main,
body.ffom-on-map-page .site-main,
body.ffom-on-map-page .main-content,
body.ffom-on-map-page .penci-main-content,
body.ffom-on-map-page .penci-content-wrap,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .container,
body.ffom-on-map-page .container-single,
body.ffom-on-map-page .container-single-page,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .page-content,
body.ffom-on-map-page .penci-entry-content,
body.ffom-on-map-page .penci-single-wrapper{
  min-height:0!important;
  height:auto!important;
  padding-bottom:0!important;
  margin-bottom:0!important;
}
body.ffom-on-map-page footer,
body.ffom-on-map-page .site-footer,
body.ffom-on-map-page #footer-section{
  margin-top:0!important;
}

/* 3) reset perfectly centered */
.ffom-reset{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding-left:12px!important;
  padding-right:12px!important;
}

/* 5) pin stays Footofan blue, icon gets category color */
.ffom-marker .ffom-marker-icon{
  color:var(--icon,#fff)!important;
}
.ffom-marker .ffom-marker-icon svg{
  color:inherit!important;
}

/* 2) one mobile category selector, same interaction model as province */
.ffom-category-mobile{
  display:none;
  position:relative;
  width:100%;
}
.ffom-category-mobile-trigger{
  width:100%;
  height:44px;
  border:1px solid var(--ffom-border);
  border-radius:12px;
  background:var(--ffom-soft);
  color:var(--ffom-text);
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  direction:rtl;
  text-align:right;
  font:inherit;
  cursor:pointer;
}
.ffom-category-mobile-current{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  overflow:hidden;
}
.ffom-category-mobile-current .ffom-category-current-text{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ffom-category-mobile-trigger > svg{
  width:16px;height:16px;flex:0 0 16px;transition:transform .18s ease;
}
.ffom-category-mobile.is-open .ffom-category-mobile-trigger > svg{transform:rotate(180deg)}
.ffom-category-mobile-menu{
  display:none;
  position:absolute;
  z-index:10000;
  top:calc(100% + 7px);
  right:0;
  left:0;
  border:1px solid var(--ffom-border);
  border-radius:14px;
  background:var(--ffom-bg);
  color:var(--ffom-text);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  overflow:hidden;
}
.ffom-category-mobile.is-open .ffom-category-mobile-menu{display:block}
.ffom-category-mobile-scroll{
  max-height:300px;
  overflow-y:auto;
  overflow-x:hidden;
  direction:ltr;
  scrollbar-gutter:stable;
}
.ffom-category-mobile-option{
  width:100%;
  min-height:48px;
  padding:9px 12px;
  border:0;
  border-bottom:1px solid var(--ffom-border);
  background:transparent;
  color:var(--ffom-text);
  font:inherit;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  direction:rtl;
  text-align:right;
}
.ffom-category-mobile-option:last-child{border-bottom:0}
.ffom-category-mobile-option:hover,
.ffom-category-mobile-option.is-selected{background:var(--ffom-soft)}
.ffom-category-option-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
}
.ffom-category-option-main .ffom-cat-icon,
.ffom-category-option-main .ffom-cat-dot{
  flex:0 0 28px;
}
.ffom-category-radio{
  width:18px;height:18px;
  border:2px solid var(--ffom-muted);
  border-radius:50%;
  flex:0 0 18px;
  position:relative;
}
.ffom-category-mobile-option.is-selected .ffom-category-radio{border-color:#1877F2}
.ffom-category-mobile-option.is-selected .ffom-category-radio:after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  background:#1877F2;
}

@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-34px!important;
  }

  /* hide all legacy category UI; show only the single new selector */
  .ffom-category-select,
  #ffom-categories,
  .ffom-activity-disclosure,
  .ffom-mobile-activity-toggle,
  .ffom-activity-mobile-field{
    display:none!important;
  }
  .ffom-category-mobile{display:block!important}

  /* preserve row layout from 0.4.5 */
  .ffom-panel{
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
  }
  .ffom-panel .ffom-label{
    margin:0!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
  }
}
@media(max-width:430px){
  .ffom-panel{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
  }
}


/* ===== 0.4.8 — exact blank-node cleanup support ===== */
body.ffom-on-map-page .inner-post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .penci-entry-content{
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  min-height:0!important;
}
body.ffom-on-map-page .inner-post-entry > p:empty,
body.ffom-on-map-page .entry-content > p:empty,
body.ffom-on-map-page .post-entry > p:empty,
body.ffom-on-map-page .penci-entry-content > p:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
}


/* 0.4.9 — only requested marker icon background fix */
.ffom-marker .ffom-marker-icon{
  color:#fff!important;
}
.ffom-marker .ffom-marker-icon svg{
  color:#fff!important;
  fill:currentColor;
}


/* ===== 0.5.0 — requested alignment/icons/gap refinements only ===== */

/* 1) slightly less space above the hero */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-42px!important;
}

/* 2) slightly less space below the final card */
body.ffom-on-map-page .ffom-cards{
  margin-bottom:-10px!important;
}
body.ffom-on-map-page .ffom-card:last-child{
  margin-bottom:0!important;
}

/* 3+4) search / province / category: same alignment and same icon-tile treatment */
.ffom-search-wrap,
.ffom-province-custom,
.ffom-category-mobile{
  position:relative;
}

/* all three visible controls use the same internal alignment */
.ffom-search-wrap input,
.ffom-province-trigger,
.ffom-category-mobile-trigger{
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  padding-right:48px!important;
  padding-left:36px!important;
  direction:rtl!important;
  text-align:right!important;
  font-family:inherit!important;
  line-height:44px!important;
}

/* keep their text on exactly the same baseline */
.ffom-search-wrap input::placeholder{
  line-height:normal!important;
}
.ffom-province-trigger-text,
.ffom-category-current-text{
  display:flex!important;
  align-items:center!important;
  min-height:44px!important;
  line-height:1.4!important;
}

/* shared icon tile */
.ffom-filter-leading-icon{
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3;
  pointer-events:none;
  color:#1877F2;
  background:color-mix(in srgb,#1877F2 12%,transparent);
}
.ffom-filter-leading-icon svg{
  width:17px;
  height:17px;
  display:block;
}

/* old plain search icon is hidden; the unified icon tile replaces it */
.ffom-search-icon{
  display:none!important;
}

/* dropdown chevrons remain at the left */
.ffom-province-trigger > svg,
.ffom-category-mobile-trigger > svg{
  margin-right:auto!important;
  margin-left:0!important;
  flex:0 0 16px!important;
}

/* Dark mode keeps the same visual language */
.ffom-wrap.ffom-dark .ffom-filter-leading-icon{
  color:#7db5ff;
  background:rgba(24,119,242,.18);
}

@media(max-width:780px){
  /* a little more reduction on mobile */
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-50px!important;
  }
  body.ffom-on-map-page .ffom-cards{
    margin-bottom:-8px!important;
  }

  /* keep labels + controls in one clean line */
  .ffom-panel{
    grid-template-columns:82px minmax(0,1fr)!important;
    align-items:center!important;
  }
  .ffom-panel .ffom-label{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
  }
}


/* ===== 0.5.1 fixes ===== */
/* Remove decorative dot/icon from the generic “all categories” option */
.ffom-cat[data-category=""] .ffom-cat-dot,
.ffom-cat[data-category=""] .ffom-cat-icon,
.ffom-category-mobile-option[data-value=""] .ffom-cat-dot,
.ffom-category-mobile-option[data-value=""] .ffom-cat-icon,
.ffom-category-mobile-current > .ffom-cat-dot,
.ffom-category-mobile-current > .ffom-cat-icon{
  display:none!important;
}

/* Marker style: white center, category-colored icon */
.ffom-marker .ffom-marker-icon{
  color:var(--cat)!important;
  background:#fff!important;
  border-radius:50%!important;
  width:22px!important;
  height:22px!important;
  top:7px!important;
  right:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.ffom-marker .ffom-marker-icon svg{
  width:14px!important;
  height:14px!important;
  color:inherit!important;
}


/* ===== 0.5.2 tweaks ===== */
/* Match homepage-like top spacing and keep bottom tight */
body.ffom-on-map-page .ffom-wrap{
  margin-top:8px !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:6px !important;
  }
}

/* Category icon before kicker/category line on cards */
.ffom-card-kicker{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
}
.ffom-card-kicker-icon{
  width:22px;
  height:22px;
  border-radius:8px;
  flex:0 0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:color-mix(in srgb, var(--pin) 14%, transparent);
  color:var(--pin);
}
.ffom-card-kicker-icon svg{
  width:13px;
  height:13px;
  color:inherit;
}

/* ensure hidden spacer paragraphs/codes cannot create visible gaps */
body.ffom-on-map-page .post-entry > p:empty,
body.ffom-on-map-page .entry-content > p:empty,
body.ffom-on-map-page .penci-entry-content > p:empty,
body.ffom-on-map-page .post-entry > code:empty,
body.ffom-on-map-page .entry-content > code:empty,
body.ffom-on-map-page .penci-entry-content > code:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
}




/* ===== 0.5.4 tweaks ===== */
/* spacing closer to homepage and no extra empty lines around shortcode */
.ffom-wrap{
  margin:16px auto 0 !important;
}
body.ffom-on-map-page .ffom-wrap,
body.ffom-on-map-page .ffom-wrap > *:first-child,
body.ffom-on-map-page .ffom-hero{
  margin-top:0 !important;
}
body.ffom-on-map-page .ffom-wrap{
  margin-top:16px !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
body.ffom-on-map-page .inner-post-entry,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .post-entry.blockquote-style-4,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .penci-entry-content,
body.ffom-on-map-page .page-content,
body.ffom-on-map-page article,
body.ffom-on-map-page .container,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .penci-single-wrapper{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
body.ffom-on-map-page .inner-post-entry > p,
body.ffom-on-map-page .inner-post-entry > code[dir="ltr"],
body.ffom-on-map-page .entry-content > p,
body.ffom-on-map-page .entry-content > code[dir="ltr"],
body.ffom-on-map-page .post-entry > p,
body.ffom-on-map-page .post-entry > code[dir="ltr"],
body.ffom-on-map-page .page-content > p,
body.ffom-on-map-page .page-content > code[dir="ltr"]{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}
@media(max-width:768px){
  .ffom-wrap{margin:12px auto 0 !important;}
  body.ffom-on-map-page .ffom-wrap{margin-top:12px !important;}
}

/* marker chip like activity badges: white circle + tinted icon chip */
.ffom-marker svg.pin-shape circle{
  fill:#fff !important;
}
.ffom-marker .ffom-marker-icon{
  color:var(--cat,#334155) !important;
  width:17px !important;
  height:17px !important;
  border-radius:999px !important;
  background:var(--catbg, rgba(24,119,242,.16)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.75) inset !important;
}
.ffom-marker .ffom-marker-icon svg{
  color:inherit !important;
  width:13px !important;
  height:13px !important;
}


/* ===== 0.5.5 tweaks ===== */
body.ffom-on-map-page .ffom-wrap{
  margin-top:10px !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
body.ffom-on-map-page .ffom-hero{
  margin-top:0 !important;
  margin-bottom:18px !important;
}
@media(max-width:768px){
  body.ffom-on-map-page .ffom-wrap{margin-top:8px !important;}
  body.ffom-on-map-page .ffom-hero{margin-bottom:14px !important;}
}
/* kill stray empty block elements before/after shortcode */
body.ffom-on-map-page .inner-post-entry > p:empty,
body.ffom-on-map-page .inner-post-entry > code:empty,
body.ffom-on-map-page .post-entry > p:empty,
body.ffom-on-map-page .post-entry > code:empty,
body.ffom-on-map-page .entry-content > p:empty,
body.ffom-on-map-page .entry-content > code:empty,
body.ffom-on-map-page .page-content > p:empty,
body.ffom-on-map-page .page-content > code:empty{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
}
body.ffom-on-map-page .inner-post-entry > p:has(> br:only-child),
body.ffom-on-map-page .post-entry > p:has(> br:only-child),
body.ffom-on-map-page .entry-content > p:has(> br:only-child),
body.ffom-on-map-page .page-content > p:has(> br:only-child){
  display:none !important;
}
/* marker body uses category soft background, not blue */
.ffom-marker svg.pin-shape path{
  fill:var(--pin) !important;
}
.ffom-marker svg.pin-shape circle{
  fill:#ffffff !important;
}
.ffom-marker .ffom-marker-icon{
  background:var(--catbg, rgba(24,119,242,.16)) !important;
  color:var(--cat,#334155) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.92) inset !important;
}


/* ===== 0.5.6 exact fixes ===== */
/* Pull the hero up so menu→hero gap roughly matches hero→map gap */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-54px !important;
  margin-bottom:0 !important;
}
body.ffom-on-map-page .ffom-hero{
  margin-top:0 !important;
  margin-bottom:18px !important;
}
@media(max-width:768px){
  body.ffom-on-map-page .ffom-wrap{margin-top:-34px !important;}
  body.ffom-on-map-page .ffom-hero{margin-bottom:14px !important;}
}

/* Pin is now fully opaque: pastel category body + white center + category icon */
.ffom-marker svg.pin-shape path{
  fill:var(--pin) !important;
  opacity:1 !important;
}
.ffom-marker svg.pin-shape circle{
  fill:#fff !important;
  opacity:1 !important;
}
.ffom-marker .ffom-marker-icon{
  background:#fff !important;
  color:var(--cat,#334155) !important;
  box-shadow:none !important;
}
.ffom-marker .ffom-marker-icon svg{
  color:inherit !important;
}

/* ===== 0.5.7 micro-tuning ===== */
/* Bring mobile/desktop hero slightly closer to the top nav */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-64px !important;
}
@media(max-width:768px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-42px !important;
  }
}

/* Slightly larger map pins so the category icon reads closer to filter icon size */
.ffom-marker{
  width:42px !important;
  height:50px !important;
}
.ffom-marker svg.pin-shape{
  width:42px !important;
  height:50px !important;
}
.ffom-marker .ffom-marker-icon{
  top:8px !important;
  right:10px !important;
  width:22px !important;
  height:22px !important;
}
.ffom-marker .ffom-marker-icon svg{
  width:16px !important;
  height:16px !important;
}

/* Give mobile business cards a little more breathing room */
@media(max-width:780px){
  #ffom-cards .ffom-card{
    margin:0 0 20px !important;
  }
}

/* ===== 0.5.8 marker icon cleanup ===== */
.ffom-marker .ffom-marker-icon{
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  width:24px !important;
  height:24px !important;
  top:7px !important;
  right:9px !important;
}
.ffom-marker .ffom-marker-icon svg{
  width:18px !important;
  height:18px !important;
}
.ffom-marker svg.pin-shape circle{
  display:none !important;
}

/* ===== 0.5.9 final marker clarity + hero spacing ===== */
/* Move the hero ~15px closer to the site navigation than 0.5.8 */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-79px !important;
}
@media(max-width:768px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-57px !important;
  }
}

/* Sharper category marker: pastel fill + 1px category-colored outline */
.ffom-marker svg.pin-shape{
  overflow:visible !important;
  shape-rendering:geometricPrecision;
}
.ffom-marker svg.pin-shape path{
  fill:var(--pin) !important;
  stroke:var(--cat) !important;
  stroke-width:1px !important;
  vector-effect:non-scaling-stroke;
  stroke-linejoin:round;
}

/* Render the original SVG icon larger and sharper, directly on the pin */
.ffom-marker .ffom-marker-icon{
  top:6px !important;
  right:8px !important;
  width:26px !important;
  height:26px !important;
  background:transparent !important;
  color:var(--cat,#334155) !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.ffom-marker .ffom-marker-icon svg{
  width:17px !important;
  height:17px !important;
  display:block !important;
  color:inherit !important;
  shape-rendering:geometricPrecision;
  transform:none !important;
}

/* ===== 0.6.0 — sharper pin SVG + tighter hero spacing ===== */
/* Reduce menu → hero gap another ~22px on both desktop and mobile */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-101px !important;
}
@media(max-width:768px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-79px !important;
  }
}

/* Render category symbol inside the same SVG as the pin: no HTML overlay scaling */
.ffom-marker .pin-shape{
  width:42px !important;
  height:50px !important;
  overflow:visible !important;
}
.ffom-marker .pin-shape .ffom-pin-body{
  fill:var(--pin) !important;
  stroke:var(--cat) !important;
  stroke-width:1px !important;
  vector-effect:non-scaling-stroke;
  stroke-linejoin:round;
}
.ffom-marker .pin-shape .ffom-pin-symbol{
  color:var(--cat) !important;
  shape-rendering:geometricPrecision;
}
/* Old overlay is no longer used */
.ffom-marker .ffom-marker-icon{
  display:none !important;
}


/* ===== 0.6.2 — exact activity icon asset + top gap matched to side gutter ===== */
/* Final top offset is calibrated by JS after Soledad finishes laying out the header. */
body.ffom-on-map-page .ffom-wrap{margin-top:0!important;}

/* Exact same activity icon treatment as the “نوع فعالیت” list. */
.ffom-marker .ffom-pin-symbol,
.ffom-marker .ffom-marker-icon{display:none!important;}
.ffom-marker-activity-icon{
  position:absolute;
  top:5px;
  right:5px;
  width:28px;
  height:28px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  background:color-mix(in srgb,var(--cat) 13%,transparent);
  color:var(--cat);
  z-index:2;
}
.ffom-marker-activity-icon svg{
  width:17px!important;
  height:17px!important;
  display:block!important;
  color:inherit!important;
  fill:currentColor!important;
  shape-rendering:geometricPrecision;
}
.ffom-marker .pin-shape .ffom-pin-body{
  fill:var(--pin)!important;
  stroke:var(--cat)!important;
  stroke-width:1px!important;
  vector-effect:non-scaling-stroke;
  stroke-linejoin:round;
}


/* ===== 0.6.7 — pin icon visibility fix only ===== */
.ffom-marker-activity-icon{display:none!important;}
.ffom-marker .pin-shape .ffom-pin-exact-icon{
  display:block!important;
  opacity:1!important;
  color:var(--cat)!important;
  shape-rendering:geometricPrecision;
  pointer-events:none;
}
.ffom-marker .pin-shape .ffom-pin-exact-icon path,
.ffom-marker .pin-shape .ffom-pin-exact-icon rect,
.ffom-marker .pin-shape .ffom-pin-exact-icon circle,
.ffom-marker .pin-shape .ffom-pin-exact-icon polygon{
  fill:var(--cat)!important;
  opacity:1!important;
}


/* ===== 0.6.8 mobile scroll stability + exact card category icons ===== */
/* Card category icon mirrors the activity-filter icon exactly. */
.ffom-card-kicker-icon{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  border-radius:9px !important;
  background:color-mix(in srgb,var(--pin) 13%,transparent) !important;
  color:var(--pin) !important;
}
.ffom-card-kicker-icon svg{
  width:17px !important;
  height:17px !important;
  display:block !important;
  color:inherit !important;
}
.ffom-card-cover-icon svg,
.ffom-popup-icon svg{
  shape-rendering:geometricPrecision;
  text-rendering:geometricPrecision;
}




/* ===== 0.7.0 — native theme back-to-top + map loading state ===== */
.ffom-map{position:relative;background:#eef3f6!important}
.ffom-map-loader{position:absolute;inset:0;z-index:450;display:flex;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(110deg,#eef3f6 8%,#f8fafb 18%,#eef3f6 33%);background-size:200% 100%;animation:ffomMapShimmer 1.25s linear infinite;opacity:1;transition:opacity .22s ease,visibility .22s ease}
.ffom-map-loader.is-hidden{opacity:0;visibility:hidden}
.ffom-map-loader span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(0,0,0,.08);font-size:13px;color:#6b7280;direction:rtl}
.ffom-map-loader i{width:15px;height:15px;border:2px solid #cbd5e1;border-top-color:#1877F2;border-radius:50%;animation:ffomMapSpin .8s linear infinite}
.ffom-wrap.ffom-dark .ffom-map{background:#17191d!important}
.ffom-wrap.ffom-dark .ffom-map-loader{background:linear-gradient(110deg,#17191d 8%,#20242a 18%,#17191d 33%);background-size:200% 100%}
.ffom-wrap.ffom-dark .ffom-map-loader span{background:rgba(17,18,20,.94);color:#c7cbd1}
@keyframes ffomMapShimmer{to{background-position-x:-200%}}
@keyframes ffomMapSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ffom-map-loader{animation:none}.ffom-map-loader i{animation:none}}


/* ===== 0.7.5 — pin icon reduced to 17px for clearer visual balance ===== */
.ffom-marker.ffom-marker-flat{
  position:relative !important;
  width:44px !important;
  height:58px !important;
  display:block !important;
  overflow:visible !important;
  transform:none !important;
  filter:drop-shadow(0 7px 8px rgba(15,23,42,.18)) !important;
}
.ffom-marker.ffom-marker-flat:hover,
.ffom-marker.ffom-marker-flat.is-featured,
.ffom-marker.ffom-marker-flat.is-featured:hover{
  transform:none !important;
}
.ffom-marker-flat .pin-shape,
.ffom-marker-flat .ffom-pin-exact-icon,
.ffom-marker-flat .ffom-marker-activity-icon,
.ffom-marker-flat .ffom-marker-icon{
  display:none !important;
}
.ffom-flat-pin-shape{
  position:absolute;
  inset:0;
  width:44px;
  height:58px;
  background:var(--cat,#334155);
  -webkit-mask-image:var(--ffom-pin-url);
  mask-image:var(--ffom-pin-url);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
.ffom-flat-pin-icon{
  position:absolute !important;
  top:11px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:17px !important;
  height:17px !important;
  object-fit:contain !important;
  display:block !important;
  filter:brightness(0) invert(1) !important;
  opacity:1 !important;
  z-index:2 !important;
  pointer-events:none !important;
}


/* ===== 0.7.4 — stable fixed hero spacing, no JS repositioning ===== */
body.ffom-on-map-page .site-content,
body.ffom-on-map-page #content,
body.ffom-on-map-page #main,
body.ffom-on-map-page .site-main,
body.ffom-on-map-page .main-content,
body.ffom-on-map-page .penci-main-content,
body.ffom-on-map-page .penci-content-wrap,
body.ffom-on-map-page .penci-container,
body.ffom-on-map-page .container,
body.ffom-on-map-page .container-single,
body.ffom-on-map-page .container-single-page,
body.ffom-on-map-page .post-entry,
body.ffom-on-map-page .inner-post-entry,
body.ffom-on-map-page .entry-content,
body.ffom-on-map-page .page-content,
body.ffom-on-map-page .penci-entry-content,
body.ffom-on-map-page .penci-single-wrapper{
  padding-top:0 !important;
  margin-top:0 !important;
  min-height:0 !important;
}
body.ffom-on-map-page .ffom-wrap{
  margin-top:-54px !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  transform:none !important;
}
body.ffom-on-map-page .ffom-hero{
  margin-top:0 !important;
}
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-34px !important;
  }
}


/* ===== 0.7.8 — authoritative fixed hero offset; no JS repositioning ===== */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-54px !important;
}
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-34px !important;
  }
}
.ffom-flat-pin-icon{
  width:17px !important;
  height:17px !important;
  top:11px !important;
}


/* ===== 0.7.9 — tighter menu-to-hero gap only ===== */
body.ffom-on-map-page .ffom-wrap{
  margin-top:-70px !important;
}
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-50px !important;
  }
}


/* ===== 0.8.0 — tighter mobile hero gap + lower pin icon ===== */
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-62px !important;
  }
}
.ffom-flat-pin-icon{
  top:13px !important;
}


/* ===== 0.8.1 — mobile menu-to-hero gap matched closer to hero-to-filters gap ===== */
@media(max-width:780px){
  body.ffom-on-map-page .ffom-wrap{
    margin-top:-72px !important;
  }
}

/* ===== 0.8.2 — keep map UI below Soledad header + contact action on cards ===== */
body.ffom-on-map-page .ffom-map,
body.ffom-on-map-page .leaflet-container{
  position:relative !important;
  z-index:0 !important;
  isolation:isolate;
}
body.ffom-on-map-page .penci-header-wrap,
body.ffom-on-map-page .penci-header,
body.ffom-on-map-page .penci-top-bar,
body.ffom-on-map-page .penci-main-nav,
body.ffom-on-map-page #navigation,
body.ffom-on-map-page .penci-sticky-header,
body.ffom-on-map-page .penci-header-mobile{
  position:relative;
  z-index:10050 !important;
}
body.ffom-on-map-page .leaflet-control-container,
body.ffom-on-map-page .leaflet-pane,
body.ffom-on-map-page .leaflet-top,
body.ffom-on-map-page .leaflet-bottom{
  z-index:600 !important;
}
.ffom-card-action-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.ffom-card-action-row .ffom-card-more{
  flex:1 1 auto;
  margin-bottom:0 !important;
  min-width:0;
}
.ffom-card-contact{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--ffom-soft);
  color:#1877F2;
  border:1px solid var(--ffom-border);
  text-decoration:none !important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.ffom-card-contact:hover{
  transform:translateY(-1px);
  background:#eef6ff;
  border-color:rgba(24,119,242,.35);
}
.ffom-card-contact svg{
  width:17px;
  height:17px;
  fill:currentColor;
  display:block;
}
.ffom-wrap.ffom-dark .ffom-card-contact{
  background:#202226;
  border-color:#34373d;
  color:#6fb0ff;
}
@media(max-width:780px){
  .ffom-card-contact{width:34px;height:34px;flex-basis:34px}
  .ffom-card-contact svg{width:18px;height:18px}
}

/* ===== 0.8.3 — multiple contact actions + larger WhatsApp glyph ===== */
.ffom-card-contacts{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.ffom-card-contact.is-whatsapp svg{
  width:18px !important;
  height:18px !important;
}
@media(max-width:780px){
  .ffom-card-contacts{gap:8px}
  .ffom-card-contact.is-whatsapp svg{width:19px !important;height:19px !important}
}


/* ===== 0.8.4 — blue location icon instead of card plus ===== */
.ffom-card-more-map{
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(24,119,242,.10) !important;
  color:#1877F2 !important;
  font-size:0 !important;
  line-height:1 !important;
}
.ffom-card-more-map svg{
  width:15px !important;
  height:15px !important;
  display:block !important;
}
.ffom-wrap.ffom-dark .ffom-card-more-map{
  background:rgba(24,119,242,.16) !important;
  color:#5aa2ff !important;
}


/* ===== 0.8.5 — location action color alignment ===== */
/* Light mode: location/map action is Footofan blue, including the SVG path. */
.ffom-card-more-map{
  color:#1877F2 !important;
  background:rgba(24,119,242,.10) !important;
  border-color:rgba(24,119,242,.18) !important;
}
.ffom-card-more-map svg,
.ffom-card-more-map svg path{
  fill:currentColor !important;
  color:inherit !important;
}

/* Dark mode: make the location action visually match the contact actions. */
.ffom-wrap.ffom-dark .ffom-card-more-map,
body.dark-mode .ffom-card-more-map,
body.penci_dark_layout .ffom-card-more-map,
body.penci-dark-layout .ffom-card-more-map,
body.penci-dark-mode .ffom-card-more-map,
html[data-theme="dark"] .ffom-card-more-map,
body[data-theme="dark"] .ffom-card-more-map,
.dark-mode .ffom-card-more-map{
  background:#202226 !important;
  border-color:#34373d !important;
  color:#9ca3af !important;
}

/* ===== 0.8.6 — location action circle matches contact buttons ===== */
.ffom-card-more-map{
  width:32px !important;
  height:32px !important;
  flex:0 0 32px !important;
  min-width:32px !important;
  min-height:32px !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
}
.ffom-card-more-map svg{
  width:17px !important;
  height:17px !important;
}
@media(max-width:780px){
  .ffom-card-more-map{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
  .ffom-card-more-map svg{
    width:18px !important;
    height:18px !important;
  }
}


/* ===== 0.8.7 — force Footofan blue for location action in Light Mode ===== */
.ffom-wrap:not(.ffom-dark) .ffom-card-more-map{
  background:rgba(24,119,242,.10) !important;
  border:1px solid rgba(24,119,242,.18) !important;
  color:#1877F2 !important;
}
.ffom-wrap:not(.ffom-dark) .ffom-card-more-map svg,
.ffom-wrap:not(.ffom-dark) .ffom-card-more-map svg path{
  fill:#1877F2 !important;
  color:#1877F2 !important;
}

/* ===== 0.8.25 — user ratings & moderated reviews ===== */
.ffom-card-review{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 14px;flex-wrap:wrap}
.ffom-review-summary{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ffom-muted);line-height:1.6}
.ffom-review-summary strong{font-size:14px;color:var(--ffom-text)}
.ffom-review-summary.is-empty{font-size:11px}
.ffom-review-star{color:#f59e0b;font-size:18px;line-height:1}
.ffom-review-count{white-space:nowrap}
.ffom-review-open{appearance:none;border:1px solid rgba(24,119,242,.18);background:rgba(24,119,242,.07);color:#1877F2;border-radius:999px;padding:7px 11px;font-family:inherit;font-size:11px;font-weight:800;line-height:1.2;cursor:pointer;transition:.18s ease}
.ffom-review-open:hover{background:#1877F2;color:#fff;border-color:#1877F2}
.ffom-popup-review{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:9px 0 3px;padding-top:8px;border-top:1px solid rgba(148,163,184,.22)}
.ffom-popup-review .ffom-review-summary{font-size:10px;gap:3px}.ffom-popup-review .ffom-review-summary strong{font-size:11px}.ffom-popup-review .ffom-review-star{font-size:15px}.ffom-popup-review .ffom-review-open{font-size:10px;padding:6px 9px}
body.ffom-review-modal-open{overflow:hidden}
.ffom-review-modal[hidden]{display:none!important}
.ffom-review-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px;direction:rtl}
.ffom-review-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.56);backdrop-filter:blur(3px)}
.ffom-review-dialog{position:relative;width:min(520px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:#fff;color:#172033;border-radius:22px;box-shadow:0 28px 80px rgba(15,23,42,.25);padding:24px}
.ffom-review-close{position:absolute;left:15px;top:13px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f5f9;color:#475569;font-size:25px;line-height:1;cursor:pointer}
.ffom-review-head{display:flex;align-items:center;gap:12px;padding-left:42px;margin-bottom:16px}.ffom-review-head small{display:block;color:#64748b;font-size:11px;margin-bottom:2px}.ffom-review-head h3{margin:0!important;font-size:21px!important;line-height:1.55!important;color:#172033!important}.ffom-review-badge{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#fff7df;color:#f59e0b;font-size:24px}
.ffom-review-stars{display:flex;direction:ltr;justify-content:center;gap:5px;margin:8px 0 4px}.ffom-review-stars button{appearance:none;border:0;background:transparent;color:#cbd5e1;font-size:38px;line-height:1;padding:2px;cursor:pointer;transition:transform .12s ease,color .12s ease}.ffom-review-stars button:hover{transform:scale(1.08)}.ffom-review-stars button.is-selected{color:#f59e0b}
.ffom-review-rating-hint{text-align:center;color:#64748b;font-size:12px;margin-bottom:16px}
.ffom-review-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ffom-review-dialog label{display:block;font-size:12px;font-weight:800;color:#334155}.ffom-review-dialog input,.ffom-review-dialog textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #dbe3ee;border-radius:12px;background:#fff;color:#172033;font:inherit;font-size:13px;padding:11px 12px;outline:none;box-shadow:none}.ffom-review-dialog input:focus,.ffom-review-dialog textarea:focus{border-color:#1877F2;box-shadow:0 0 0 3px rgba(24,119,242,.09)}.ffom-review-dialog textarea{resize:vertical;min-height:96px;line-height:1.9}.ffom-review-comment-label{margin-top:13px}.ffom-review-comment-label span{font-weight:500;color:#64748b}
.ffom-review-low-note{margin:8px 0 0;padding:9px 11px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:11px;font-weight:700}.ffom-review-privacy{margin:9px 0 0;color:#64748b;font-size:10px;line-height:1.8}.ffom-review-message{min-height:20px;margin-top:8px;font-size:11px;font-weight:700}.ffom-review-message.is-error{color:#b91c1c}.ffom-review-message.is-success{color:#047857}
.ffom-review-submit{width:100%;border:0;border-radius:13px;background:#1877F2;color:#fff;font-family:inherit;font-size:13px;font-weight:900;padding:12px 16px;margin-top:5px;cursor:pointer}.ffom-review-submit:disabled{opacity:.6;cursor:wait}
.ffom-wrap.ffom-dark .ffom-review-open{background:#202226;border-color:#34373d;color:#9fc5ff}.ffom-wrap.ffom-dark .ffom-review-summary strong{color:#f3f4f6}
@media(max-width:600px){.ffom-review-modal{padding:10px;align-items:flex-end}.ffom-review-dialog{border-radius:20px 20px 12px 12px;padding:20px 16px;max-height:88vh}.ffom-review-fields{grid-template-columns:1fr}.ffom-review-stars button{font-size:35px}.ffom-card-review{margin-top:6px}.ffom-review-open{padding:7px 10px}}
.ffom-review-existing{margin-top:18px;padding-top:15px;border-top:1px solid #e5e7eb}.ffom-review-existing h4{margin:0 0 10px!important;font-size:13px!important;color:#334155!important}.ffom-review-entry{padding:10px 0;border-bottom:1px solid #eef2f7}.ffom-review-entry:last-child{border-bottom:0}.ffom-review-entry>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ffom-review-entry strong{font-size:11px;color:#334155}.ffom-review-entry-stars{direction:ltr;color:#f59e0b;font-size:13px;letter-spacing:1px}.ffom-review-entry p{margin:5px 0 0!important;font-size:11px!important;line-height:1.9!important;color:#475569!important}

/* ===== 0.8.26 — review dialog polish, replies & progressive history ===== */
/* Keep the scrollbar on the physical right while preserving Persian RTL content. */
.ffom-review-dialog{direction:ltr;scrollbar-gutter:stable}
.ffom-review-dialog>*{direction:rtl}
.ffom-review-close{display:grid;place-items:center;padding:0!important;line-height:1!important;text-align:center;font-size:22px!important;font-family:Arial,sans-serif}
.ffom-review-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ffom-review-reply-open{appearance:none;border:0;background:transparent;color:#1877F2;font:inherit;font-size:10px;font-weight:800;padding:5px 0;margin-top:4px;cursor:pointer}
.ffom-review-replies{margin:8px 12px 2px 0;padding-right:10px;border-right:2px solid #e2e8f0}
.ffom-review-reply{padding:8px 10px;margin:0 0 7px;border-radius:10px;background:#f8fafc}
.ffom-review-reply-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ffom-review-reply-head strong{font-size:10px;color:#334155}.ffom-review-reply-head span{font-size:9px;color:#64748b;background:#eef2f7;border-radius:999px;padding:2px 7px}
.ffom-review-reply p{margin:4px 0 0!important;font-size:10px!important;line-height:1.9!important;color:#475569!important}
.ffom-review-reply-form{margin:8px 0 2px;padding:11px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
.ffom-review-reply-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ffom-review-reply-form label{font-size:10px}.ffom-review-reply-form input,.ffom-review-reply-form textarea{margin-top:4px!important;padding:8px 9px!important;border-radius:9px!important;font-size:11px!important}.ffom-review-reply-form textarea{min-height:68px!important}
.ffom-review-reply-form>p{font-size:9px!important;color:#64748b!important;margin:5px 0!important}.ffom-review-reply-form>button{border:0;border-radius:9px;background:#1877F2;color:#fff;font:inherit;font-size:10px;font-weight:900;padding:8px 14px;cursor:pointer}.ffom-review-reply-form>button:disabled{opacity:.6;cursor:wait}
.ffom-review-reply-message{display:inline-block;margin-right:8px;font-size:9px;font-weight:700}.ffom-review-reply-message.is-error{color:#b91c1c}.ffom-review-reply-message.is-success{color:#047857}
.ffom-review-more{display:block;width:100%;margin:11px 0 0;border:1px solid #dbe3ee;border-radius:10px;background:#fff;color:#1877F2;font:inherit;font-size:10px;font-weight:900;padding:9px 12px;cursor:pointer;transition:.18s ease}.ffom-review-more:hover{background:#f8fbff;border-color:#b8d5fb}.ffom-review-more:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.ffom-review-dialog{scrollbar-gutter:auto}.ffom-review-reply-fields{grid-template-columns:1fr}.ffom-review-replies{margin-right:7px;padding-right:8px}}

/* 0.8.28 — Instagram uses the exact same contact-action palette,
   hover state, and dark-mode styling as the other card contact icons.
   No Instagram-specific color overrides are needed. */

/* 0.8.36.3: incremental card DOM, no marker or popup changes */
.ffom-more-cards{display:block;margin:20px auto 10px;padding:10px 24px;border:1px solid #d0d8dc;border-radius:24px;color:inherit;background:transparent;font:inherit;cursor:pointer;max-width:95%}
.ffom-more-cards:hover,.ffom-more-cards:focus-visible{background:rgba(90,115,132,.09);outline-offset:2px}

/* 0.8.36.40: mobile hand toggle anchored to the lower-left of the map, no desktop change */
.ffom-map{position:relative}
.ffom-hand-control{position:absolute;z-index:800;bottom:16px;left:16px;right:auto;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #cfdae5;border-radius:12px;color:#1d6de5;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(0,0,0,.12);cursor:pointer;display:none;padding:0;touch-action:manipulation}
.ffom-hand-control.is-active{background:#1677eb;color:#fff;border-color:#1677eb}
.ffom-dark .ffom-hand-control,body.dark-mode .ffom-hand-control{background:#202938;border-color:#435064;color:#8db7ff}
.ffom-dark .ffom-hand-control.is-active,body.dark-mode .ffom-hand-control.is-active{background:#1677eb;color:#fff}
@media(pointer:coarse){.ffom-hand-control{display:flex}}

/* 0.8.36.43: The review dialog is mounted under <body> to escape footer stacking contexts. */
body > .ffom-review-modal{z-index:2147483000; font-family:inherit;}

/* Opt-in cluster badges, isolated to the map. */
.ffom-cluster-wrapper{background:none;border:0;}
.ffom-cluster-count{width:46px;height:46px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#176fe3;color:#fff;border:3px solid #fff;box-shadow:0 2px 12px #0f376866;font:700 15px/1 Tahoma,Arial,sans-serif;direction:ltr;cursor:pointer;}
.ffom-cluster-wrapper:hover .ffom-cluster-count{background:#1259b7;transform:scale(1.06);}
.ffom-dark .ffom-cluster-count{border-color:#202733;background:#2579e6;}

/* 0.8.36.51 — dark mobile filters and compact review modal, isolated overrides */
body.ffom-standalone-trial.dark-mode .ffom-province-trigger,
body.ffom-standalone-trial.ffom-page-dark .ffom-province-trigger,
body.ffom-standalone-trial.dark-mode .ffom-category-mobile-trigger,
body.ffom-standalone-trial.ffom-page-dark .ffom-category-mobile-trigger,
.ffom-wrap.ffom-dark .ffom-province-trigger,
.ffom-wrap.ffom-dark .ffom-category-mobile-trigger{background:#242b34!important;border-color:#404854!important;color:#f2f5fa!important;}
body.ffom-standalone-trial.dark-mode .ffom-province-trigger *,
body.ffom-standalone-trial.dark-mode .ffom-category-mobile-trigger *,
body.ffom-standalone-trial.ffom-page-dark .ffom-province-trigger *,
body.ffom-standalone-trial.ffom-page-dark .ffom-category-mobile-trigger *,
.ffom-wrap.ffom-dark .ffom-province-trigger *,
.ffom-wrap.ffom-dark .ffom-category-mobile-trigger *{color:#f2f5fa;}
body.ffom-standalone-trial.dark-mode .ffom-province-menu,
body.ffom-standalone-trial.ffom-page-dark .ffom-province-menu,
.ffom-wrap.ffom-dark .ffom-province-menu{background:#242b34!important;border-color:#404854!important;color:#f2f5fa!important;}
body.ffom-standalone-trial.dark-mode .ffom-province-option,
body.ffom-standalone-trial.ffom-page-dark .ffom-province-option,
.ffom-wrap.ffom-dark .ffom-province-option{color:#f2f5fa!important;border-color:#39414c!important;}
body.ffom-standalone-trial.dark-mode .ffom-province-option:hover,
body.ffom-standalone-trial.ffom-page-dark .ffom-province-option:hover,
.ffom-wrap.ffom-dark .ffom-province-option:hover{background:#344457!important;}
@media(max-width:600px){
 .ffom-review-dialog{padding:16px 16px!important;max-height:94dvh!important;}
 .ffom-review-head{margin-bottom:8px!important;}
 .ffom-review-stars{margin:3px 0 2px!important;}
 .ffom-review-rating-hint{margin-bottom:9px!important;}
 .ffom-review-fields{gap:7px!important;}
 .ffom-review-fields>label{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;}
 .ffom-review-fields>label input{margin-top:0!important;min-width:0!important;padding:9px 10px!important;}
 .ffom-review-comment-label{margin-top:9px!important;}
 .ffom-review-dialog textarea{min-height:76px!important;}
 .ffom-review-privacy{margin-top:4px!important;line-height:1.55!important;}
 .ffom-review-message{min-height:0!important;margin-top:4px!important;}
 .ffom-review-dialog .ffom-turnstile-slot{margin:7px 0!important;min-height:0!important;}
 .ffom-review-existing{margin-top:12px!important;padding-top:10px!important;}
 .ffom-review-submit{margin-top:3px!important;}
}

/* User location: mobile, aligned with the hand toggle at 16px from the bottom. */
.ffom-locate-control{position:absolute;z-index:800;right:16px;bottom:16px;left:auto;width:42px;height:42px;display:none;align-items:center;justify-content:center;border:1px solid #cfdae5;border-radius:12px;background:rgba(255,255,255,.94);color:#1677eb;box-shadow:0 2px 10px rgba(0,0,0,.12);padding:0;cursor:pointer;touch-action:manipulation}
.ffom-locate-control.is-active{color:#fff;background:#1677eb;border-color:#1677eb}
.ffom-locate-control.is-loading{opacity:.65;cursor:wait}
.ffom-dark .ffom-locate-control,body.dark-mode .ffom-locate-control{background:#202938;border-color:#435064;color:#8db7ff}
.ffom-dark .ffom-locate-control.is-active,body.dark-mode .ffom-locate-control.is-active{background:#1677eb;color:#fff;border-color:#1677eb}
@media(pointer:coarse){.ffom-locate-control{display:flex}}

/* FFOM 0.8.36.54: nonblocking geolocation notice, mobile only. */
.ffom-location-notice{position:absolute;z-index:1003;left:64px;right:64px;bottom:20px;max-width:400px;margin:auto;padding:9px 12px;border-radius:9px;background:rgba(24,35,50,.92);color:#fff;text-align:center;direction:rtl;font-size:12px;line-height:1.7;pointer-events:none;box-shadow:0 3px 10px #0002}
.ffom-location-notice[hidden]{display:none!important}

/* 0.8.36.55 — mobile map controls: match Leaflet +/- buttons.
   Hand: lower left aligned with zoom's left edge.
   Locate: upper right aligned with zoom's top edge. */
@media (pointer:coarse){
 .ffom-map .ffom-hand-control,
 .ffom-map .ffom-locate-control,
 .ffom-map-inner .ffom-hand-control,
 .ffom-map-inner .ffom-locate-control,
 .ffom-hand-control,.ffom-locate-control{
  width:34px!important;height:34px!important;
  border-radius:4px!important;border:2px solid rgba(0,0,0,.2)!important;
  background-clip:padding-box!important;background-color:#fff;
  box-shadow:0 1px 5px rgba(0,0,0,.45)!important;
 }
 .ffom-hand-control{left:10px!important;right:auto!important;bottom:10px!important;top:auto!important;}
 .ffom-locate-control{right:10px!important;left:auto!important;top:10px!important;bottom:auto!important;}
 .ffom-hand-control svg,.ffom-locate-control svg{width:21px;height:21px;}
 .ffom-hand-control.is-active,.ffom-locate-control.is-active{background-color:#1677eb!important;color:#fff!important;}
 body.dark-mode .ffom-hand-control:not(.is-active),body.dark-mode .ffom-locate-control:not(.is-active),
 .ffom-dark .ffom-hand-control:not(.is-active),.ffom-dark .ffom-locate-control:not(.is-active){background-color:#202938!important;color:#8db7ff!important;}
}


/* Stage: review form layout and rating-only entries */
.ffom-review-dialog .ffom-review-fields {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  width: 100%;
}
.ffom-review-dialog .ffom-review-fields > label {
  display: block !important;
  width: 100% !important;
  min-width: 0;
  text-align: right;
}
.ffom-review-dialog .ffom-review-fields input {
  display: block !important;
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 7px !important;
}
.ffom-review-dialog .ffom-turnstile-slot {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  margin: 14px 0 !important;
  direction: ltr;
}
.ffom-review-dialog .ffom-review-rating-only {
  color: #64748b !important;
  font-style: normal;
}
@media (max-width: 600px) {
  .ffom-review-dialog .ffom-review-fields {
    grid-template-columns: minmax(0,1fr) !important;
  }
}


/* STAGE popup photo and scrollbar sync */
.ffom-wrap .leaflet-popup-content-wrapper {
  box-sizing: border-box;
}
.ffom-wrap .leaflet-popup-content {
  overflow-x: hidden;
  scrollbar-width: none !important;
  -ms-overflow-style: none;
}
.ffom-wrap .leaflet-popup-content::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.ffom-wrap .ffom-popup {
  overflow-wrap: anywhere;
}
.ffom-wrap .ffom-popup-cover {
  display: block !important;
  width: 100%;
  height: 86px !important;
  margin-bottom: 7px !important;
}
.ffom-wrap .ffom-popup-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width:780px) {
  .ffom-wrap .ffom-popup-cover {
    display: block !important;
    height: 64px !important;
  }
}


/* FFOM SCROLL HINT */
.ffom-wrap .leaflet-popup-content-wrapper {
  position: relative;
}
.ffom-wrap .ffom-scroll-hint {
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  white-space: nowrap;
  border-radius: 999px;
  padding: 6px 11px;
  background: rgba(20, 27, 38, .88);
  color: #fff;
  font-size: 10px;
  pointer-events: none;
  opacity: 1;
  transition: opacity .25s ease;
}
.ffom-wrap .ffom-scroll-hint.is-hiding {
  opacity: 0;
}
.ffom-wrap .ffom-scroll-hint span {
  font-weight: bold;
  font-size: 13px;
  margin-left: 4px;
}


/* FFOM SCROLL HINT V2 — full width */
.ffom-wrap .leaflet-popup-content-wrapper {
  position:relative;
}
.ffom-wrap .ffom-scroll-hint {
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:100% !important;
  box-sizing:border-box !important;
  transform:none !important;
  margin:0 !important;
  padding:9px 10px !important;
  border-radius:0 0 12px 12px !important;
  background:rgba(15,23,42,.93) !important;
  color:#fff !important;
  display:flex !important;
  justify-content:center;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  pointer-events:none;
  font-size:11px;
  opacity:1;
  z-index:10;
  transition:opacity .3s ease;
}
.ffom-wrap .ffom-scroll-hint.is-hiding {
  opacity:0 !important;
}
.ffom-wrap .ffom-scroll-hint svg {
  display:block;
  flex-shrink:0;
}


/* FFOM FULL POPUP V3 */
.ffom-wrap .leaflet-popup-content {
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
}
.ffom-wrap .leaflet-popup-content-wrapper {
  overflow:visible !important;
}
.ffom-wrap .ffom-scroll-hint {
  display:none !important;
}

/* FFOM MOBILE MAP HEIGHT FIX */
@media (max-width:780px) {
  .ffom-wrap .ffom-map {
    height:580px !important;
    min-height:580px !important;
  }
}


/* FFOM MOBILE MAP 440 CHECKPOINT */
@media (max-width:780px) {
  .ffom-wrap .ffom-map,
  .ffom-wrap #ffom-map {
    height:440px !important;
    min-height:440px !important;
  }
}

/* FFOM ANCHORED POPUP V9 NATIVE AUTOPAN */
/* Allow Leaflet to measure the real popup; no translation or edge offset. */
.ffom-wrap #ffom-map .leaflet-popup{box-sizing:border-box;}
.ffom-wrap #ffom-map .leaflet-popup-content-wrapper{box-sizing:border-box;}
@media(max-width:780px){
  .ffom-wrap #ffom-map .leaflet-popup{
    max-width:calc(100% - 24px)!important;
  }
  .ffom-wrap #ffom-map .leaflet-popup-content-wrapper{
    max-width:calc(100vw - 58px)!important;
  }
  .ffom-wrap #ffom-map .ffom-popup{
    box-sizing:border-box!important;
    width:min(250px,calc(100vw - 98px))!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .ffom-wrap #ffom-map .leaflet-popup-content{
    margin:9px 12px!important;
    max-height:330px!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(100,116,139,.38) transparent;
  }
  .ffom-wrap #ffom-map .leaflet-popup-content::-webkit-scrollbar{width:4px!important;}
  .ffom-wrap #ffom-map .leaflet-popup-content::-webkit-scrollbar-thumb{
    background:rgba(100,116,139,.38)!important;border-radius:8px;
  }
  .ffom-wrap #ffom-map .ffom-popup-cover{height:64px!important;}
  .ffom-wrap #ffom-map .ffom-popup small{line-height:1.4!important;margin-bottom:3px!important;}
  .ffom-wrap #ffom-map .ffom-popup-top{margin-bottom:4px!important;}
  .ffom-wrap #ffom-map .ffom-popup-review{margin:5px 0 2px!important;padding-top:5px!important;}
}
@media(min-width:781px){
  .ffom-wrap #ffom-map .leaflet-popup-content{
    max-height:min(500px,calc(100vh - 120px))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
}

/* FFOM MOBILE POPUP GEOMETRY V1 — mobile only; no desktop overrides */
@media (max-width:780px) {
  .ffom-wrap #ffom-map .leaflet-popup {
    box-sizing: border-box !important;
    width: auto !important;
    max-width: calc(100vw - 48px) !important;
  }
  .ffom-wrap #ffom-map .leaflet-popup-content-wrapper {
    box-sizing: border-box !important;
    width: 246px !important;
    max-width: calc(100vw - 54px) !important;
    background: #fff !important;
    color: #202838 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }
  .ffom-wrap #ffom-map .leaflet-popup-content {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 10px 11px !important;
    max-height: 235px !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin !important;
    scrollbar-color: #b8c1cd transparent !important;
  }
  .ffom-wrap #ffom-map .leaflet-popup-content::-webkit-scrollbar { width: 4px !important; }
  .ffom-wrap #ffom-map .leaflet-popup-content::-webkit-scrollbar-thumb {
    background: #b8c1cd !important;
    border-radius: 5px !important;
  }
  .ffom-wrap #ffom-map .ffom-popup {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    direction: rtl !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
  }
  .ffom-wrap #ffom-map .leaflet-popup-tip { background: #fff !important; }
}

/* FFOM MOBILE POPUP NO INNER SCROLL V1 — only on mobile */
@media (max-width:780px) {
  .ffom-wrap #ffom-map .leaflet-popup-content,
  .ffom-wrap #ffom-map .leaflet-popup-content-wrapper {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .ffom-wrap #ffom-map .leaflet-popup-content::-webkit-scrollbar { display:none !important; }
  .ffom-wrap #ffom-map .leaflet-popup-content { scrollbar-width:none !important; }
  .ffom-wrap #ffom-map .leaflet-popup-content-wrapper { background:#fff !important; border-radius:14px !important; }
}


/* FFOM V17 REVIEW MODAL MOBILE FIT AND NO SCROLL ARROWS */
/* Keep the review dialog inside the viewport, even when parent layouts are RTL. */
body .ffom-review-modal {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
  overflow: hidden !important;
}
body .ffom-review-modal .ffom-review-dialog {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
}
/* Remove the up/down buttons on Chromium/WebKit scrollbar while retaining scrolling. */
body .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button,
body .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:single-button,
body .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:vertical:start:decrement,
body .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:vertical:end:increment {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}
@media (max-width: 780px) {
  body .ffom-review-modal {
    padding: 10px !important;
    padding-left: max(10px, env(safe-area-inset-left)) !important;
    padding-right: max(10px, env(safe-area-inset-right)) !important;
  }
  body .ffom-review-modal .ffom-review-dialog {
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    min-width: 0 !important;
    transform: none !important;
    overflow-wrap: anywhere;
  }
  body .ffom-review-modal .ffom-review-dialog input,
  body .ffom-review-modal .ffom-review-dialog textarea,
  body .ffom-review-modal .ffom-review-dialog .ffom-review-fields,
  body .ffom-review-modal .ffom-review-dialog .ffom-turnstile-slot {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}


/* FFOM V19 REVIEW SCROLL INSET MOBILE CENTER */
/* Overlay belongs to the viewport, not the RTL parent. */
body > .ffom-review-modal:not([hidden]) {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: hidden !important;
  padding: 16px !important;
}
body > .ffom-review-modal .ffom-review-dialog {
  position: relative !important;
  box-sizing: border-box !important;
  flex: 0 1 520px !important;
  width: min(520px, 100%) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #a8b6c6 transparent !important;
  scrollbar-gutter: auto !important;
  -webkit-overflow-scrolling: touch;
  border-radius: 20px !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar { width: 5px !important; }
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-track { background: transparent !important; margin: 15px 0 !important; }
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-thumb { background: #a8b6c6 !important; border-radius: 10px !important; }
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:single-button { display: none !important; width: 0 !important; height: 0 !important; }
@media (max-width: 780px) {
  body > .ffom-review-modal:not([hidden]) {
    padding: 12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left)) !important;
    align-items: center !important;
  }
  body > .ffom-review-modal .ffom-review-dialog {
    flex: 0 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 18px 16px 18px 20px !important;
  }
}


/* FFOM V20 REVIEW SCROLLBAR INNER BORDER
 * A same-color border provides an inset scrollbar without moving modal or content.
 * Keep the native scroll behavior and narrow thumb. */
body > .ffom-review-modal .ffom-review-dialog {
  box-sizing:border-box !important;
  border-right:7px solid #fff !important;
  border-top:5px solid #fff !important;
  border-bottom:7px solid #fff !important;
  background-clip:padding-box !important;
  scrollbar-width:thin !important;
  scrollbar-color:#a8b6c6 transparent !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar { width:5px !important; }
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-track {
  background:transparent !important;
  margin:8px 0 !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-thumb {
  background:#a8b6c6 !important;
  border-radius:12px !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:single-button,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:vertical:start,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:vertical:end {
  display:none !important;
  width:0 !important;
  height:0 !important;
}
@media (max-width:780px) {
 body > .ffom-review-modal .ffom-review-dialog {
   border-right-width:7px !important;
   border-top-width:5px !important;
   border-bottom-width:7px !important;
 }
}
/* Match dialog's dark surface where dark styles are enabled. */
body.dark-mode > .ffom-review-modal .ffom-review-dialog,
body.ffom-page-dark > .ffom-review-modal .ffom-review-dialog {
  border-right-color:#222936 !important;
  border-top-color:#222936 !important;
  border-bottom-color:#222936 !important;
}


/* FFOM V21 REVIEW CLEAN RIGHT EDGE: cosmetic only, native scroll retained. */
body > .ffom-review-modal .ffom-review-dialog {
  border-right: 0 !important;   /* remove V20 artificial white edge */
  border-top: 0 !important;
  border-bottom: 0 !important;
  scrollbar-gutter: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: #a9b6c8 transparent !important;
  background-clip: border-box !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.13) !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar {
  width: 4px !important;
  height: 4px !important;
  background: transparent !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-track,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-track-piece {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 12px 0 !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-thumb {
  background: #a9b6c8 !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:single-button,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:vertical:decrement,
body > .ffom-review-modal .ffom-review-dialog::-webkit-scrollbar-button:vertical:increment {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
}

/* FFOM V30 MOBILE DROPDOWN CONTRAST: STAGE visual-only patch.
   Do not alter is-open, filter handlers, selections, or desktop UI. */
@media (max-width: 780px) {
  /* Ensure light-mode selected province text is legible, even when highlighted. */
  body.ffom-on-map-page.ffom-standalone-trial:not(.dark-mode):not(.ffom-page-dark)
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected {
    background: #eaf3ff !important;
    color: #15477d !important;
  }
  body.ffom-on-map-page.ffom-standalone-trial:not(.dark-mode):not(.ffom-page-dark)
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected > span:first-child {
    color: #15477d !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* Both actual dark-mode body classes are used by this project. */
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-category-mobile .ffom-category-mobile-menu,
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-category-mobile .ffom-category-mobile-scroll,
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-province-custom .ffom-province-menu,
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-province-custom .ffom-province-scroll {
    background: #252c36 !important;
    color: #f2f5fa !important;
    border-color: #424c5a !important;
  }
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-category-mobile .ffom-category-mobile-option,
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-province-custom .ffom-province-option {
    background: #252c36 !important;
    color: #f2f5fa !important;
    border-color: #424c5a !important;
  }
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-category-mobile .ffom-category-mobile-option.is-selected,
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-province-custom .ffom-province-option.is-selected {
    background: #183e61 !important;
    color: #e8f4ff !important;
  }
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-province-custom .ffom-province-option > span:first-child,
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-category-mobile .ffom-category-mobile-option .ffom-category-option-main,
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-category-mobile .ffom-category-mobile-option .ffom-category-option-main > span {
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* A white row with white text must never occur for selected provinces. */
  body.ffom-on-map-page.ffom-standalone-trial:is(.dark-mode,.ffom-page-dark)
  .ffom-province-custom .ffom-province-option.is-selected > span:first-child {
    color: #e8f4ff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* FFOM V31 DESKTOP DARK SELECTED PROVINCE
   V30 was mobile-scoped; apply the legible selected state on desktop. */
@media (min-width: 781px) {
  body.ffom-on-map-page.ffom-standalone-trial.dark-mode
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected,
  body.ffom-on-map-page.ffom-standalone-trial.ffom-page-dark
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected,
  .ffom-wrap.ffom-dark .ffom-province-custom
  .ffom-province-menu .ffom-province-option.is-selected {
    background: #183e61 !important;
    color: #e8f4ff !important;
    border-color: #424c5a !important;
  }
  body.ffom-on-map-page.ffom-standalone-trial.dark-mode
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected > span:first-child,
  body.ffom-on-map-page.ffom-standalone-trial.ffom-page-dark
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected > span:first-child,
  .ffom-wrap.ffom-dark .ffom-province-custom
  .ffom-province-menu .ffom-province-option.is-selected > span:first-child {
    color: #e8f4ff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body.ffom-on-map-page.ffom-standalone-trial.dark-mode
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected .ffom-province-radio,
  body.ffom-on-map-page.ffom-standalone-trial.ffom-page-dark
  .ffom-province-custom .ffom-province-menu .ffom-province-option.is-selected .ffom-province-radio,
  .ffom-wrap.ffom-dark .ffom-province-custom
  .ffom-province-menu .ffom-province-option.is-selected .ffom-province-radio {
    border-color: #5ca7ff !important;
  }
}
