:root{--map-dark:#071323;--map-line:#e5e7eb;--map-muted:#667085;--map-bg:#f8fafc;--map-card:#fff;--map-blue:#0f2a44}
html{scroll-behavior:smooth}body.mapolitik-clean-page{margin:0;background:var(--map-bg);color:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.map-container{max-width:1120px;margin:0 auto;padding:0 24px}.map-site-header{background:#fff;border-bottom:1px solid var(--map-line);position:sticky;top:0;z-index:20}body.admin-bar .map-site-header{top:32px}.map-header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.map-logo{font-weight:900;letter-spacing:.09em;text-decoration:none;color:var(--map-dark);font-size:22px}.map-nav{display:flex;gap:20px;flex-wrap:wrap}.map-nav a{text-decoration:none;color:#263243;font-weight:650;font-size:14px}.map-nav a:hover{color:#000}.map-main{padding:56px 0 64px}.map-profile-wrap{display:grid;gap:28px}.map-card{background:var(--map-card);border:1px solid var(--map-line);border-radius:24px;padding:32px;box-shadow:0 10px 30px rgba(15,23,42,.045)}.map-profile-card{display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:center}.map-avatar{width:150px;height:150px;border-radius:22px;background:var(--map-dark);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;font-weight:850;letter-spacing:.035em}.map-avatar img{width:100%;height:100%;object-fit:cover}.map-badge{display:inline-block;background:var(--map-dark);color:#fff;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:8px 14px;margin-bottom:16px}.map-card h1{font-size:46px;line-height:1.05;margin:0 0 16px}.map-card h2{font-size:28px;margin:0 0 22px}.map-card h3{font-size:22px;margin:12px 0}.map-muted{color:var(--map-muted);margin:4px 0}.map-main-meta{font-weight:650;color:#344054}.map-content-card{font-size:18px;line-height:1.7}.map-info-row{display:grid;grid-template-columns:260px 1fr;gap:20px;border-bottom:1px solid var(--map-line);padding:15px 0}.map-info-row:last-child{border-bottom:0}.map-info-row strong{color:#111827}.map-info-row span{color:#1f2937}.map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.map-list-card{text-decoration:none;color:inherit;transition:.2s transform,.2s box-shadow}.map-list-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.08)}.map-link{display:inline-block;margin-top:8px;font-weight:750;color:var(--map-blue)}.map-btn{display:inline-block;background:var(--map-dark);color:#fff!important;padding:11px 18px;border-radius:13px;text-decoration:none;font-weight:750;border:0;cursor:pointer}.map-btn-light{background:#eef2f7!important;color:#0f172a!important}.map-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--map-line);border-radius:20px;padding:20px;margin:22px 0}.map-filter label{display:block;font-weight:750;margin-bottom:6px}.map-filter select{width:100%;padding:11px 12px;border:1px solid var(--map-line);border-radius:12px;background:#fff}.map-home-hero{background:#fff;border-bottom:1px solid var(--map-line);padding:70px 0}.map-home-hero h1{font-size:54px;line-height:1.05;max-width:820px;margin:18px 0}.map-home-hero p{font-size:20px;color:var(--map-muted);max-width:760px}.map-home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.map-home-section{padding-top:42px}.map-archive-head h1{font-size:44px}.map-site-footer{background:#fff;border-top:1px solid var(--map-line);padding:36px 0;color:#475467}.map-footer-grid{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.map-site-footer strong{color:var(--map-dark);letter-spacing:.06em}.map-footer-links{display:flex;gap:14px;flex-wrap:wrap}.map-footer-links a{color:#475467;text-decoration:none;font-weight:650}@media(max-width:760px){.map-header-inner{min-height:auto;padding-top:18px;padding-bottom:18px;align-items:flex-start;flex-direction:column}.map-profile-card{grid-template-columns:1fr}.map-card h1{font-size:34px}.map-info-row{grid-template-columns:1fr;gap:6px}.map-filter{grid-template-columns:1fr}.map-home-hero h1{font-size:38px}.map-footer-grid{flex-direction:column}body.admin-bar .map-site-header{top:46px}}

/* MAPOLITIK v0.7 — shared geographic filter */
.map-filter-title {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 4px;
}
.map-filter-title strong {
    font-size: 16px;
}
.map-filter-title span {
    color: #667085;
    font-size: 13px;
}
.map-filter-actions {
    display: flex;
    gap: 10px;
    align-items: end;
    flex-wrap: wrap;
}

/* MAPOLITIK v1.5 — professional homepage and citizen navigation */
.map-home-hero-v15{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.map-kicker{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#344054;margin-bottom:8px}.map-home-search{margin-top:-36px;position:relative;z-index:3}.map-citizen-search{display:grid;grid-template-columns:1fr 1.35fr;gap:28px;align-items:end}.map-citizen-search-form label{display:block;font-weight:800;margin-bottom:8px}.map-citizen-search-form select{width:100%;padding:12px 14px;border:1px solid var(--map-line);border-radius:14px;background:#fff}.map-home-dynamic-actions{margin-top:16px}.map-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.map-stats div{background:#fff;border:1px solid var(--map-line);border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.035)}.map-stats strong{display:block;font-size:36px;line-height:1;color:var(--map-dark)}.map-stats span{color:var(--map-muted);font-weight:650}.map-section-head{margin-bottom:20px}.map-section-head h2{font-size:34px;margin:0}.map-step{width:40px;height:40px;border-radius:999px;background:var(--map-dark);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:850;margin-bottom:8px}.map-trust-card{border-left:5px solid var(--map-dark)}
@media(max-width:760px){.map-citizen-search{grid-template-columns:1fr}.map-stats{grid-template-columns:1fr}.map-section-head h2{font-size:28px}.map-home-search{margin-top:0}}


/* MAPOLITIK v2.3 — professional archive card readability
   Limit public archive cards to readable widths: 3 columns desktop, 2 tablet, 1 mobile. */
.map-grid{align-items:stretch}
.map-list-card{min-width:0}
.map-list-card h3{overflow-wrap:break-word;word-break:normal}
@media(min-width:980px){
  .map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:640px) and (max-width:979px){
  .map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:639px){
  .map-grid{grid-template-columns:1fr}
}

/* MAPOLITIK v2.4 — archive summary consistency
   Archive cards are previews. Full details stay inside profile pages. */
.map-list-card{display:flex;flex-direction:column;min-height:320px}
.map-list-card .map-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;max-height:4.35em}
.map-list-card .map-link{margin-top:auto}
.map-list-card .map-muted{line-height:1.35}


/* MAPOLITIK v2.5 — public navigation and card badge consistency
   Keep homepage theme navigation visually aligned with MAPOLITIK archive headers. */
.map-list-card .map-badge{align-self:flex-start;white-space:nowrap;width:auto;max-width:max-content}
.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation__container a{
  font-weight:650;
  color:#263243;
  text-decoration:none;
}
.wp-block-navigation a:hover,
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation__container a:hover{color:#000}

/* MAPOLITIK v2.6 — neutral submission request form */
.map-submission-wrap{padding:48px 24px 64px}
.map-submission-intro{margin-bottom:20px}
.map-submission-intro h1{font-size:42px}
.map-submission-form label{display:block;font-weight:750;color:#111827}
.map-submission-form input,.map-submission-form select,.map-submission-form textarea{width:100%;box-sizing:border-box;margin-top:7px;padding:12px 14px;border:1px solid var(--map-line);border-radius:13px;background:#fff;color:#111827;font:inherit;font-weight:500}
.map-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.map-full-field{margin:18px 0}.map-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:600!important;color:#475467!important;line-height:1.45}.map-consent input{width:auto!important;margin-top:4px!important}.map-form-actions{margin-top:22px}.map-hp-field{position:absolute;left:-9999px;height:0;overflow:hidden}.map-alert{border-radius:16px;padding:16px 18px;margin:18px 0;border:1px solid var(--map-line);background:#fff}.map-alert-success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.map-alert-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}
@media(max-width:760px){.map-form-grid{grid-template-columns:1fr}.map-submission-intro h1{font-size:34px}}


/* MAPOLITIK v2.7 — homepage positioning and shortcode page creation support */
.mapolitik-home-root{width:100%;max-width:none;margin:0;padding:0}
.mapolitik-home-root .map-home-hero{padding-top:56px;padding-bottom:82px}
.mapolitik-home-root .map-home-search{margin-top:-48px}
body:has(.mapolitik-home-root) .entry-title,
body:has(.mapolitik-home-root) .wp-block-post-title,
body:has(.mapolitik-home-root) main > h1,
body:has(.mapolitik-home-root) .page-title{display:none!important}
body:has(.mapolitik-home-root) .entry-content,
body:has(.mapolitik-home-root) .wp-block-post-content{margin-top:0!important;padding-top:0!important}
body:has(.mapolitik-home-root) .wp-site-blocks main{padding-top:0!important;margin-top:0!important}
@media(min-width:1200px){.mapolitik-home-root .map-container{max-width:1120px}}
@media(max-width:760px){.mapolitik-home-root .map-home-hero{padding-top:34px;padding-bottom:42px}.mapolitik-home-root .map-home-search{margin-top:0}}


/* MAPOLITIK v2.8 — homepage block separation
   The search block must read as a distinct section, not interfere with the hero block. */
.mapolitik-home-root .map-home-hero{padding-top:56px;padding-bottom:42px}
.mapolitik-home-root .map-home-search{margin-top:28px;position:relative;z-index:2}
.mapolitik-home-root .map-citizen-search{align-items:center}
@media(max-width:760px){
  .mapolitik-home-root .map-home-hero{padding-top:34px;padding-bottom:28px}
  .mapolitik-home-root .map-home-search{margin-top:22px}
}

/* MAPOLITIK v3.0 — controlled submission gate */
.map-clean-list{margin:0;padding-left:20px;color:#344054;line-height:1.65;font-weight:550}
.map-clean-list li{margin:6px 0}
.map-submission-wrap .map-steps-grid article{background:#fff;border:1px solid var(--map-line);border-radius:18px;padding:18px;box-shadow:0 10px 22px rgba(16,24,40,.04)}
.map-submission-wrap .map-steps-grid article h3{margin:10px 0 6px;color:#111827}
.map-submission-wrap .map-steps-grid article p{margin:0;color:#475467;line-height:1.5}


/* MAPOLITIK v5.2 candidate model additions */
.map-avatar svg{width:100%;height:100%;display:block}.map-avatar img{width:100%;height:100%;object-fit:cover}.map-party-logo{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;margin-right:8px;border-radius:10px;background:#f2f4f7;font-weight:800;color:#344054;vertical-align:middle;overflow:hidden}.map-party-logo img{max-width:42px;max-height:42px;object-fit:contain}.map-independent-badge{padding:8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.map-priority-list{margin:0;padding-left:22px}.map-priority-list li{margin:8px 0}.map-profile-section h2{margin-top:0}.map-link-list .map-info-row a.map-btn{display:inline-block}.map-list-card .map-avatar{margin-bottom:14px}


/* MAPOLITIK v5.2.3 — compact equal candidate cards and safe profile links */
.map-candidate-list-card{min-height:360px;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.map-candidate-list-card .map-badge{margin-bottom:14px}
.map-candidate-list-card .map-avatar{width:150px;height:150px;margin:0 0 16px}
.map-candidate-list-card h3{font-size:24px;line-height:1.12;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:54px}
.map-candidate-list-card .map-card-locality{font-size:17px;line-height:1.25;margin:0 0 12px;color:#667085;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.map-candidate-list-card .map-card-affiliation{font-weight:750;color:#1f2937;margin:0 0 14px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.map-candidate-list-card .map-link{margin-top:auto}
@media(max-width:639px){.map-candidate-list-card{min-height:auto}.map-candidate-list-card h3,.map-candidate-list-card .map-card-locality,.map-candidate-list-card .map-card-affiliation{min-height:0}}


/* MAPOLITIK v5.2.3 — compact equal candidate cards
   Candidate cards are neutral previews: no profession, no biography, no long mandate text. */
.map-candidate-list-card{
  min-height:300px;
  padding:26px;
  justify-content:flex-start;
}
.map-candidate-list-card .map-badge{
  margin-bottom:12px;
}
.map-candidate-list-card .map-avatar{
  order:2;
  width:112px;
  height:112px;
  border-radius:18px;
  margin:0 0 14px;
}
.map-candidate-list-card h3{
  order:1;
  font-size:23px;
  line-height:1.08;
  margin:0 0 12px;
  min-height:50px;
}
.map-candidate-list-card .map-card-locality{
  order:3;
  font-size:16px;
  line-height:1.22;
  min-height:40px;
  margin:0 0 10px;
}
.map-candidate-list-card .map-card-affiliation{
  order:4;
  font-size:17px;
  line-height:1.2;
  min-height:24px;
  margin:0 0 14px;
  -webkit-line-clamp:1;
  max-width:100%;
}
.map-candidate-list-card .map-link{
  order:5;
  margin-top:auto;
}
@media(max-width:639px){
  .map-candidate-list-card{min-height:auto;padding:24px}
  .map-candidate-list-card .map-avatar{width:110px;height:110px}
}

/* MAPOLITIK v5.2.4 — final compact candidate card equality and French page spacing */
body:has(.mapolitik-directory-root) .entry-title,
body:has(.mapolitik-directory-root) .wp-block-post-title,
body:has(.mapolitik-directory-root) main > h1,
body:has(.mapolitik-directory-root) .page-title{display:none!important}
body:has(.mapolitik-directory-root) .entry-content,
body:has(.mapolitik-directory-root) .wp-block-post-content{max-width:none!important;width:100%!important;margin-top:0!important;padding-top:0!important}
body:has(.mapolitik-directory-root) .wp-site-blocks main{padding-top:0!important;margin-top:0!important}
.mapolitik-directory-root{max-width:1120px;margin:0 auto;padding:0 24px}
.mapolitik-candidates-directory .map-archive-head{margin-bottom:24px}
.mapolitik-candidates-directory .map-filter{width:100%;box-sizing:border-box;margin:0 0 24px}
.map-candidate-list-card{min-height:292px;padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.map-candidate-list-card .map-badge{order:1;margin:0 0 14px}
.map-candidate-list-card h3{order:2;font-size:23px;line-height:1.1;margin:0 0 14px;min-height:50px;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.map-candidate-list-card .map-avatar{order:3;width:112px;height:112px;border-radius:18px;margin:0 0 14px;flex:0 0 auto}
.map-candidate-list-card .map-card-locality{order:4;font-size:16px;line-height:1.2;min-height:38px;margin:0 0 10px;color:#667085;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.map-candidate-list-card .map-card-affiliation{order:5;font-size:17px;line-height:1.2;font-weight:800;min-height:22px;margin:0 0 14px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1f2937}
.map-candidate-list-card .map-link{order:6;margin-top:auto}
@media(min-width:980px){.mapolitik-candidates-directory .map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.map-candidate-list-card{min-height:292px}}
@media(max-width:639px){.mapolitik-directory-root{padding:0 18px}.map-candidate-list-card{min-height:auto}.map-candidate-list-card h3,.map-candidate-list-card .map-card-locality,.map-candidate-list-card .map-card-affiliation{min-height:0}}


/* MAPOLITIK v5.2.8 — party cards/profile space management */
.map-party-list-card{
  min-height:292px;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.map-party-list-card .map-badge{order:1;margin:0 0 14px;white-space:nowrap}
.map-party-logo-box{
  width:112px;
  height:112px;
  border-radius:18px;
  background:#f2f4f7;
  border:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
  text-align:center;
}
.map-party-logo-box img{width:100%;height:100%;object-fit:contain;background:#fff}
.map-party-logo-placeholder{
  color:#071323;
  font-size:13px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.055em;
}
.map-party-list-card .map-party-logo-box{order:2;margin:0 0 14px}
.map-party-acronym-space{
  display:inline-flex;
  min-height:36px;
  min-width:78px;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:12px;
  background:#eef2f7;
  color:#071323;
  font-size:16px;
  line-height:1;
  font-weight:900;
  letter-spacing:.035em;
  margin:0 0 12px;
}
.map-party-list-card .map-party-acronym-space{order:3}
.map-party-list-card h3{
  order:4;
  font-size:22px;
  line-height:1.12;
  margin:0 0 12px;
  min-height:74px;
  max-width:100%;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  overflow-wrap:anywhere;
}
.map-party-list-card .map-card-locality{order:5;font-size:15px;line-height:1.2;min-height:20px;margin:0 0 12px;color:#667085}
.map-party-list-card .map-link{order:6;margin-top:auto}
.map-party-identity .map-party-logo-box{width:150px;height:150px;border-radius:22px}
.map-party-identity .map-party-acronym-space{margin:0 0 14px;min-width:96px;min-height:40px;font-size:18px}
.map-party-profile .map-profile-section p{font-size:18px;line-height:1.65;margin:0;color:#1f2937}
.map-party-profile .map-link-list .map-info-row{align-items:center}
@media(max-width:639px){
  .map-party-list-card{min-height:auto}
  .map-party-list-card h3{min-height:0}
  .map-party-identity .map-party-logo-box{width:130px;height:130px}
}


/* MAPOLITIK v5.2.9 — party subject layout correction */
.mapolitik-parties-directory{max-width:1040px;margin:0 auto;padding:0 24px}
.mapolitik-parties-directory .map-filter{width:100%;box-sizing:border-box;margin:0 0 24px}
.mapolitik-parties-directory .map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.map-politik-parties-directory .map-list-card{min-width:0}
.map-party-list-card{min-height:330px;padding:24px;display:flex!important;flex-direction:column;align-items:flex-start;overflow:hidden}
.map-party-list-card .map-party-logo-box{order:2;width:96px;height:96px;border-radius:16px;margin:0 0 12px}
.map-party-list-card .map-party-acronym-space{order:3;margin:0 0 12px;max-width:100%}
.map-party-list-card h3{order:4;font-size:20px;line-height:1.12;margin:0 0 14px;min-height:68px;max-width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;word-break:normal;hyphens:auto}
.map-party-list-card .map-summary,.map-party-list-card .map-muted{display:none!important}
.map-party-list-card .map-link{order:5;margin-top:auto}
.map-party-profile .map-profile-card{align-items:center}
.map-party-identity{grid-template-columns:150px 1fr!important}
.map-party-identity-text{min-width:0}
.map-party-identity .map-badge{margin:0 10px 12px 0;vertical-align:middle}
.map-party-identity .map-party-acronym-space{display:inline-flex;margin:0 0 12px;vertical-align:middle}
.map-party-identity h1{clear:both;font-size:44px;line-height:1.08;margin-top:4px;overflow-wrap:normal;word-break:normal}
.map-party-profile .map-profile-section p{max-width:100%;line-height:1.62}
@media(max-width:979px){.mapolitik-parties-directory .map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.mapolitik-parties-directory{padding:0 18px}.mapolitik-parties-directory .map-grid{grid-template-columns:1fr}.map-party-list-card{min-height:auto}.map-party-list-card h3{min-height:0}.map-party-identity{grid-template-columns:1fr!important}.map-party-identity h1{font-size:34px}}


/* MAPOLITIK v5.2.12 — filter action alignment for public directories */
.map-filter{
  align-items:end!important;
}
.map-filter-actions{
  align-self:end!important;
  display:flex!important;
  align-items:stretch!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  margin:0!important;
}
.map-filter-actions .map-btn,
.map-filter-actions button.map-btn,
.map-filter-actions a.map-btn{
  min-height:44px!important;
  height:44px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
  white-space:nowrap!important;
  padding:0 18px!important;
  vertical-align:top!important;
}
.map-filter select{
  min-height:44px!important;
  height:44px!important;
  box-sizing:border-box!important;
}
.map-filter label{
  line-height:1.2!important;
}
@media(min-width:761px){
  .mapolitik-parties-directory .map-filter{
    grid-template-columns:minmax(360px,1fr) auto!important;
  }
  .mapolitik-candidates-directory .map-filter{
    grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto!important;
  }
}
@media(max-width:760px){
  .map-filter-actions{
    flex-wrap:wrap!important;
    align-items:stretch!important;
  }
}


/* MAPOLITIK v5.2.15 — Fixed party text volume */
.map-party-profile .map-fixed-text-block {
    min-height: 8.5rem;
    max-height: 10.5rem;
    overflow: hidden;
}
.map-party-profile .map-fixed-text-block p {
    margin: 0;
}


/* MAPOLITIK v5.2.17 — Event filter label/layout correction */
.map-filter-card.map-filter-map_political_event .map-filter-row,
.map-filter-card.map-filter-map_candidate .map-filter-row,
.map-filter-card.map-filter-map_party .map-filter-row {
    align-items: flex-end;
}
.map-filter-card.map-filter-map_political_event label,
.map-filter-card.map-filter-map_political_event .map-filter-label,
.map-filter-card.map-filter-map_political_event h3 {
    font-size: 1.05rem;
    line-height: 1.2;
    margin-bottom: 0.45rem;
}
.map-filter-card.map-filter-map_political_event select,
.map-filter-card.map-filter-map_political_event .map-btn,
.map-filter-card.map-filter-map_political_event button,
.map-filter-card.map-filter-map_political_event a.map-btn {
    min-height: 48px;
}
.map-filter-card.map-filter-map_political_event .map-filter-field {
    min-width: 0;
}
.map-filter-card.map-filter-map_political_event .map-filter-field label {
    white-space: normal;
}
@media (min-width: 900px) {
    .map-filter-card.map-filter-map_political_event .map-filter-field {
        flex: 1 1 260px;
    }
    .map-filter-card.map-filter-map_political_event .map-filter-actions {
        flex: 0 0 auto;
    }
}


/* MAPOLITIK v5.2.18 — Robust event filter form layout */
.map-filter.map-filter-map_political_event{
  grid-template-columns:minmax(250px,1fr) minmax(250px,1fr) auto!important;
  align-items:end!important;
}
.map-filter.map-filter-map_political_event .map-filter-field label{
  font-size:1rem!important;
  line-height:1.15!important;
  margin:0 0 8px!important;
  display:block!important;
  white-space:nowrap!important;
}
.map-filter.map-filter-map_political_event .map-filter-field select{
  width:100%!important;
}
.map-filter.map-filter-map_political_event .map-filter-actions{
  align-self:end!important;
}
@media(max-width:900px){
  .map-filter.map-filter-map_political_event{
    grid-template-columns:1fr!important;
  }
  .map-filter.map-filter-map_political_event .map-filter-field label{
    white-space:normal!important;
  }
}


/* MAPOLITIK v5.2.19 — Event filter container sizing */
.mapolitik-events-directory .map-filter.map-filter-map_political_event{
  width:100%!important;
  max-width:900px!important;
  box-sizing:border-box!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:visible!important;
  grid-template-columns:minmax(230px,1fr) minmax(230px,1fr) auto!important;
  column-gap:16px!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
  min-width:max-content!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event select{
  min-width:0!important;
}
@media(max-width:980px){
  .mapolitik-events-directory .map-filter.map-filter-map_political_event{
    max-width:100%!important;
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
    min-width:0!important;
    flex-wrap:wrap!important;
  }
}


/* MAPOLITIK v5.2.20 — Event filter actions inside card */
.mapolitik-events-directory .map-filter.map-filter-map_political_event{
  max-width:900px!important;
  overflow:hidden!important;
  grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)!important;
  gap:16px!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-title{
  grid-column:1 / -1!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
  grid-column:1 / -1!important;
  justify-content:flex-end!important;
  min-width:0!important;
  margin-top:2px!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions .map-btn{
  height:44px!important;
  min-height:44px!important;
}
@media(max-width:760px){
  .mapolitik-events-directory .map-filter.map-filter-map_political_event{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
    justify-content:flex-start!important;
  }
}


/* MAPOLITIK v5.2.21 — Event cards cleanup */
.mapolitik-events-directory .map-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-events-directory .map-list-card{
  min-height:300px!important;
}
.mapolitik-events-directory .map-list-card h3{
  font-size:1.38rem!important;
  line-height:1.14!important;
  min-height:4.2rem!important;
  overflow-wrap:break-word!important;
}
.mapolitik-events-directory .map-card-locality{
  margin-top:12px!important;
}
.mapolitik-events-directory .map-event-card-type,
.mapolitik-events-directory .map-event-card-date{
  margin-top:10px!important;
}
.mapolitik-events-directory .map-summary{
  display:none!important;
}
.mapolitik-events-directory .map-link{
  margin-top:auto!important;
}
@media(max-width:760px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-list-card h3{
    min-height:0!important;
  }
}

/* MAPOLITIK v5.2.22 — Compact event cards final pass */
.mapolitik-events-directory .map-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  gap:24px!important;
}
.mapolitik-events-directory .map-list-card{
  min-height:260px!important;
  padding:24px!important;
}
.mapolitik-events-directory .map-event-card-title{
  font-size:1.42rem!important;
  line-height:1.14!important;
  min-height:3.3rem!important;
  margin-bottom:14px!important;
  overflow-wrap:break-word!important;
}
.mapolitik-events-directory .map-card-locality,
.mapolitik-events-directory .map-event-card-type,
.mapolitik-events-directory .map-event-card-date,
.mapolitik-events-directory .map-event-card-actor{
  font-size:1rem!important;
  line-height:1.35!important;
  margin:6px 0!important;
}
.mapolitik-events-directory .map-event-card-actor{
  font-weight:700!important;
  color:#071323!important;
}
.mapolitik-events-directory .map-summary{
  display:none!important;
}
.mapolitik-events-directory .map-link{
  margin-top:auto!important;
}
@media(max-width:760px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-event-card-title{
    min-height:0!important;
  }
}


/* MAPOLITIK v5.2.23 — Event card space optimization */
.mapolitik-events-directory .map-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:1120px!important;
  gap:20px!important;
}
.mapolitik-events-directory .map-list-card{
  min-height:245px!important;
  padding:22px!important;
}
.mapolitik-events-directory .map-event-card-title{
  font-size:1.34rem!important;
  line-height:1.13!important;
  min-height:3rem!important;
  margin-bottom:12px!important;
}
.mapolitik-events-directory .map-card-locality,
.mapolitik-events-directory .map-event-card-type,
.mapolitik-events-directory .map-event-card-date,
.mapolitik-events-directory .map-event-card-actor{
  font-size:.96rem!important;
  line-height:1.32!important;
  margin:5px 0!important;
}
.mapolitik-events-directory .map-link{
  margin-top:auto!important;
}
.map-event-profile-nav .map-btn{
  display:inline-flex!important;
  width:auto!important;
}
@media(max-width:980px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-event-card-title{
    min-height:0!important;
  }
}


/* MAPOLITIK v5.2.24 — Event card visitor-first hierarchy */
.mapolitik-events-directory .map-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:960px!important;
  gap:20px!important;
}
.mapolitik-events-directory .map-list-card{
  min-height:245px!important;
  padding:22px!important;
}
.mapolitik-events-directory .map-event-card-title{
  font-size:1.35rem!important;
  line-height:1.12!important;
  min-height:3rem!important;
  margin:18px 0 10px!important;
}
.mapolitik-events-directory .map-event-card-purpose{
  font-size:1rem!important;
  line-height:1.3!important;
  font-weight:700!important;
  color:#071323!important;
  margin:0 0 10px!important;
}
.mapolitik-events-directory .map-card-locality,
.mapolitik-events-directory .map-event-card-date{
  font-size:.95rem!important;
  line-height:1.35!important;
  margin:6px 0!important;
}
.mapolitik-events-directory .map-link{
  font-size:1.08rem!important;
  line-height:1.2!important;
  margin-top:auto!important;
}
@media(max-width:980px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-event-card-title{
    min-height:0!important;
  }
}


/* MAPOLITIK v5.2.25 — Event cards space optimization inspired by party cards */
.mapolitik-events-directory .map-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  gap:22px!important;
  align-items:stretch!important;
}
.mapolitik-events-directory .map-list-card{
  min-height:250px!important;
  padding:22px 24px!important;
  display:flex!important;
  flex-direction:column!important;
}
.mapolitik-events-directory .map-badge{
  align-self:flex-start!important;
  margin-bottom:22px!important;
}
.mapolitik-events-directory .map-event-card-title{
  font-size:1.5rem!important;
  line-height:1.12!important;
  min-height:3.4rem!important;
  margin:0 0 12px!important;
  max-width:100%!important;
}
.mapolitik-events-directory .map-event-card-purpose{
  min-height:2.6rem!important;
  margin:0 0 14px!important;
}
.mapolitik-events-directory .map-card-locality,
.mapolitik-events-directory .map-event-card-date{
  margin:4px 0!important;
}
.mapolitik-events-directory .map-link{
  margin-top:auto!important;
  padding-top:16px!important;
}
@media(max-width:1050px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:900px!important;
  }
}
@media(max-width:760px){
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
    max-width:100%!important;
  }
  .mapolitik-events-directory .map-event-card-title,
  .mapolitik-events-directory .map-event-card-purpose{
    min-height:0!important;
  }
}


/* MAPOLITIK v5.2.26 — Event directory width aligned with party directory */
.mapolitik-events-directory{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event{
  max-width:100%!important;
}
.mapolitik-events-directory .map-grid{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
.mapolitik-events-directory .map-list-card{
  width:100%!important;
  min-width:0!important;
  min-height:250px!important;
}
@media(max-width:1050px){
  .mapolitik-events-directory .map-grid{
    max-width:900px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .mapolitik-events-directory{
    max-width:100%!important;
  }
  .mapolitik-events-directory .map-grid{
    max-width:100%!important;
    grid-template-columns:1fr!important;
  }
}


/* MAPOLITIK v5.2.27 — Archive title and filter alignment harmonization */
.mapolitik-events-directory,
.mapolitik-parties-directory{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-events-directory > h1,
.mapolitik-parties-directory > h1,
.mapolitik-events-directory .map-page-title,
.mapolitik-parties-directory .map-page-title{
  text-align:left!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event{
  max-width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:16px!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-title{
  grid-column:1 / -1!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
  grid-column:auto!important;
  justify-content:flex-start!important;
  align-self:end!important;
  margin-top:0!important;
  min-width:max-content!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions .map-btn{
  height:44px!important;
  min-height:44px!important;
}
@media(max-width:980px){
  .mapolitik-events-directory .map-filter.map-filter-map_political_event{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
    min-width:0!important;
    flex-wrap:wrap!important;
  }
}


/* MAPOLITIK v5.2.28 — Archive unified active width and visible page titles */
.mapolitik-parties-directory,
.mapolitik-events-directory{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-parties-directory .map-page-title,
.mapolitik-events-directory .map-page-title{
  max-width:1120px!important;
  margin:0 auto 28px!important;
  text-align:left!important;
  font-size:3rem!important;
  line-height:1.1!important;
  font-weight:400!important;
}
.mapolitik-parties-directory .map-filter,
.mapolitik-events-directory .map-filter{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:16px!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-title{
  grid-column:1 / -1!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
  grid-column:auto!important;
  justify-content:flex-start!important;
  align-self:end!important;
  margin-top:0!important;
  min-width:max-content!important;
}
.mapolitik-parties-directory .map-grid,
.mapolitik-events-directory .map-grid{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.mapolitik-events-directory .map-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
@media(max-width:1050px){
  .mapolitik-parties-directory,
  .mapolitik-events-directory,
  .mapolitik-parties-directory .map-filter,
  .mapolitik-events-directory .map-filter,
  .mapolitik-parties-directory .map-grid,
  .mapolitik-events-directory .map-grid,
  .mapolitik-parties-directory .map-page-title,
  .mapolitik-events-directory .map-page-title{
    max-width:900px!important;
  }
  .mapolitik-events-directory .map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:980px){
  .mapolitik-events-directory .map-filter.map-filter-map_political_event{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
    min-width:0!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:760px){
  .mapolitik-parties-directory,
  .mapolitik-events-directory,
  .mapolitik-parties-directory .map-filter,
  .mapolitik-events-directory .map-filter,
  .mapolitik-parties-directory .map-grid,
  .mapolitik-events-directory .map-grid,
  .mapolitik-parties-directory .map-page-title,
  .mapolitik-events-directory .map-page-title{
    max-width:100%!important;
  }
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
  }
  .mapolitik-parties-directory .map-page-title,
  .mapolitik-events-directory .map-page-title{
    font-size:2.3rem!important;
  }
}


/* MAPOLITIK v5.2.29 — Remove duplicate archive titles and restore clean event card grid */
.mapolitik-parties-directory .map-page-title,
.mapolitik-events-directory .map-page-title{
  display:none!important;
}

/* Keep the same active public width for filter and cards without adding a second title */
.mapolitik-parties-directory,
.mapolitik-events-directory{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-parties-directory .map-filter,
.mapolitik-events-directory .map-filter{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.mapolitik-parties-directory .map-grid,
.mapolitik-events-directory .map-grid{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Event filter remains on one clean row like the party filter */
.mapolitik-events-directory .map-filter.map-filter-map_political_event{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:16px!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-title{
  grid-column:1 / -1!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
  grid-column:auto!important;
  justify-content:flex-start!important;
  align-self:end!important;
  margin-top:0!important;
  min-width:max-content!important;
}

/* Restore separated, balanced event cards */
.mapolitik-events-directory .map-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.mapolitik-events-directory .map-list-card{
  min-height:250px!important;
  padding:24px!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:20px!important;
  box-sizing:border-box!important;
}
.mapolitik-events-directory .map-badge{
  align-self:flex-start!important;
  margin-bottom:22px!important;
}
.mapolitik-events-directory .map-event-card-title{
  font-size:1.42rem!important;
  line-height:1.12!important;
  min-height:3.1rem!important;
  margin:0 0 12px!important;
}
.mapolitik-events-directory .map-event-card-purpose{
  font-size:1rem!important;
  line-height:1.3!important;
  font-weight:700!important;
  margin:0 0 14px!important;
}
.mapolitik-events-directory .map-card-locality,
.mapolitik-events-directory .map-event-card-date{
  font-size:.95rem!important;
  line-height:1.35!important;
  margin:4px 0!important;
}
.mapolitik-events-directory .map-link{
  margin-top:auto!important;
  padding-top:16px!important;
}

@media(max-width:1050px){
  .mapolitik-parties-directory,
  .mapolitik-events-directory,
  .mapolitik-parties-directory .map-filter,
  .mapolitik-events-directory .map-filter,
  .mapolitik-parties-directory .map-grid,
  .mapolitik-events-directory .map-grid{
    max-width:900px!important;
  }
  .mapolitik-events-directory .map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:980px){
  .mapolitik-events-directory .map-filter.map-filter-map_political_event{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
    min-width:0!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:760px){
  .mapolitik-parties-directory,
  .mapolitik-events-directory,
  .mapolitik-parties-directory .map-filter,
  .mapolitik-events-directory .map-filter,
  .mapolitik-parties-directory .map-grid,
  .mapolitik-events-directory .map-grid{
    max-width:100%!important;
  }
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-event-card-title,
  .mapolitik-events-directory .map-event-card-purpose{
    min-height:0!important;
  }
}


/* MAPOLITIK v5.2.30 — Archive title aligned to active content block */
/* Hide the external/theme page title only on the two archive pages, then use our aligned title. */
body:has(.mapolitik-parties-directory) h1:not(.map-page-title),
body:has(.mapolitik-events-directory) h1:not(.map-page-title){
  display:none!important;
}
.mapolitik-parties-directory,
.mapolitik-events-directory{
  width:100%!important;
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-parties-directory .map-page-title,
.mapolitik-events-directory .map-page-title{
  display:block!important;
  width:100%!important;
  max-width:1120px!important;
  margin:0 0 28px!important;
  padding:0!important;
  text-align:left!important;
  font-size:3rem!important;
  line-height:1.1!important;
  font-weight:400!important;
}
.mapolitik-parties-directory .map-filter,
.mapolitik-events-directory .map-filter,
.mapolitik-parties-directory .map-grid,
.mapolitik-events-directory .map-grid{
  width:100%!important;
  max-width:1120px!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Preserve clean event filter and separated grid after title fix */
.mapolitik-events-directory .map-filter.map-filter-map_political_event{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:16px!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-title{
  grid-column:1 / -1!important;
}
.mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
  grid-column:auto!important;
  justify-content:flex-start!important;
  align-self:end!important;
  margin-top:0!important;
  min-width:max-content!important;
}
.mapolitik-events-directory .map-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.mapolitik-events-directory .map-list-card{
  box-sizing:border-box!important;
  border-radius:20px!important;
}
@media(max-width:1050px){
  .mapolitik-parties-directory,
  .mapolitik-events-directory{
    max-width:900px!important;
  }
  .mapolitik-events-directory .map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:980px){
  .mapolitik-events-directory .map-filter.map-filter-map_political_event{
    grid-template-columns:1fr!important;
  }
  .mapolitik-events-directory .map-filter.map-filter-map_political_event .map-filter-actions{
    min-width:0!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:760px){
  .mapolitik-parties-directory,
  .mapolitik-events-directory{
    max-width:100%!important;
  }
  .mapolitik-events-directory .map-grid{
    grid-template-columns:1fr!important;
  }
  .mapolitik-parties-directory .map-page-title,
  .mapolitik-events-directory .map-page-title{
    font-size:2.3rem!important;
  }
}


/* MAPOLITIK v5.2.31 — Soumettre page final polish */
body.page-template-default:has(.map-submit-page),
body:has(.map-submit-page){
  --map-submit-width:1120px;
}
.map-submit-page,
.mapolitik-submit-page,
.map-submit-wrapper,
.map-access-request,
.map-contribution-access,
.map-submit-section{
  width:100%!important;
  max-width:var(--map-submit-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body:has(.map-submit-page) h1:not(.map-page-title),
body:has(.mapolitik-submit-page) h1:not(.map-page-title),
body:has(.map-access-request) h1:not(.map-page-title),
body:has(.map-contribution-access) h1:not(.map-page-title){
  max-width:var(--map-submit-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:left!important;
}
.map-submit-page .map-card,
.mapolitik-submit-page .map-card,
.map-access-request .map-card,
.map-contribution-access .map-card{
  max-width:var(--map-submit-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:32px!important;
}
.map-submit-page .map-card + .map-card,
.mapolitik-submit-page .map-card + .map-card,
.map-access-request .map-card + .map-card,
.map-contribution-access .map-card + .map-card{
  margin-top:22px!important;
}
.map-submit-page h2,
.mapolitik-submit-page h2,
.map-access-request h2,
.map-contribution-access h2{
  margin-top:0!important;
  margin-bottom:18px!important;
}
.map-submit-page .map-step-grid,
.mapolitik-submit-page .map-step-grid,
.map-access-request .map-step-grid,
.map-contribution-access .map-step-grid{
  gap:20px!important;
}
.map-submit-page input,
.map-submit-page select,
.map-submit-page textarea,
.mapolitik-submit-page input,
.mapolitik-submit-page select,
.mapolitik-submit-page textarea,
.map-access-request input,
.map-access-request select,
.map-access-request textarea,
.map-contribution-access input,
.map-contribution-access select,
.map-contribution-access textarea{
  box-sizing:border-box!important;
}
.map-submit-page input::placeholder,
.map-submit-page textarea::placeholder,
.mapolitik-submit-page input::placeholder,
.mapolitik-submit-page textarea::placeholder,
.map-access-request input::placeholder,
.map-access-request textarea::placeholder,
.map-contribution-access input::placeholder,
.map-contribution-access textarea::placeholder{
  font-size:.95em!important;
}
.map-submit-page .map-consent,
.mapolitik-submit-page .map-consent,
.map-access-request .map-consent,
.map-contribution-access .map-consent,
.map-submit-page label:has(input[type="checkbox"]),
.mapolitik-submit-page label:has(input[type="checkbox"]),
.map-access-request label:has(input[type="checkbox"]),
.map-contribution-access label:has(input[type="checkbox"]){
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  line-height:1.45!important;
  max-width:1040px!important;
}
.map-submit-page label:has(input[type="checkbox"]) input,
.mapolitik-submit-page label:has(input[type="checkbox"]) input,
.map-access-request label:has(input[type="checkbox"]) input,
.map-contribution-access label:has(input[type="checkbox"]) input{
  flex:0 0 auto!important;
  margin-top:.35em!important;
}
@media(max-width:760px){
  body:has(.map-submit-page),
  body:has(.mapolitik-submit-page),
  body:has(.map-access-request),
  body:has(.map-contribution-access){
    --map-submit-width:100%;
  }
  .map-submit-page .map-card,
  .mapolitik-submit-page .map-card,
  .map-access-request .map-card,
  .map-contribution-access .map-card{
    padding:24px!important;
  }
}


/* MAPOLITIK v5.2.32 — Soumettre external title alignment */
body:has(.map-submission-wrap) h1:first-of-type{
  max-width:1120px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
body:has(.map-submission-wrap) .map-submission-wrap{
  max-width:1120px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:has(.map-submission-wrap) .map-submission-wrap .map-card{
  max-width:1120px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:has(.map-submission-wrap) .map-submission-form{
  padding-top:30px!important;
}
body:has(.map-submission-wrap) .map-submission-form input::placeholder,
body:has(.map-submission-wrap) .map-submission-form textarea::placeholder{
  font-size:.92em!important;
}
body:has(.map-submission-wrap) .map-consent{
  max-width:100%!important;
}
@media(max-width:760px){
  body:has(.map-submission-wrap) h1:first-of-type{
    max-width:100%!important;
  }
}

/* MAPOLITIK v5.2.50 — Public locality cascade for visitor filters/forms */
.map-public-locality-cascade{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:14px;
  width:100%;
}
.map-public-locality-cascade .map-cascade-field label{
  display:block;
  font-weight:800;
  margin-bottom:7px;
  color:#1f2937;
}
.map-public-locality-cascade select{
  width:100%;
  min-height:44px;
  padding:11px 12px;
  border:1px solid var(--map-line);
  border-radius:12px;
  background:#fff;
}
.map-public-locality-cascade select:disabled{
  background:#f8fafc;
  color:#98a2b3;
}
.map-cascade-note{
  grid-column:1/-1;
  margin:0;
  color:var(--map-muted);
  font-size:13px;
  line-height:1.45;
}
.map-filter-cascade{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  align-items:stretch!important;
}
.map-filter-cascade .map-filter-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:0!important;
}
.map-filter-cascade .map-filter-title span{
  color:var(--map-muted);
  font-size:13px;
  font-weight:650;
}
.map-filter-cascade .map-filter-field-election,
.map-filter-cascade .map-filter-field-event-type{
  max-width:360px;
}
.map-filter-cascade .map-filter-actions{
  justify-content:flex-start!important;
  margin-top:0!important;
}
.map-citizen-search-cascade{
  align-items:center!important;
}
.map-citizen-search-cascade .map-citizen-search-form{
  width:100%;
}
.map-citizen-search-cascade .map-public-locality-cascade{
  grid-template-columns:1fr;
}
.map-public-locality-cascade-submission{
  grid-column:1/-1;
}
.map-submission-form .map-public-locality-cascade-submission{
  margin-bottom:4px;
}
@media(max-width:860px){
  .map-public-locality-cascade{
    grid-template-columns:1fr;
  }
  .map-filter-cascade .map-filter-field-election,
  .map-filter-cascade .map-filter-field-event-type{
    max-width:100%;
  }
}


/* MAPOLITIK v5.2.51 — Public cascade layout correction after live test
   Fixes archive filter overlap by forcing cascade to occupy a full row, then places secondary filters/actions below.
   Does not change data, filtering logic, notification rules, cards, profiles, import, or media workflow. */
.mapolitik-candidates-directory .map-filter.map-filter-cascade,
.mapolitik-parties-directory .map-filter.map-filter-cascade,
.mapolitik-events-directory .map-filter.map-filter-cascade,
.map-filter.map-filter-cascade{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.map-filter.map-filter-cascade .map-filter-title,
.map-filter.map-filter-cascade .map-public-locality-cascade,
.map-filter.map-filter-cascade .map-filter-field-election,
.map-filter.map-filter-cascade .map-filter-field-event-type,
.map-filter.map-filter-cascade .map-filter-actions{
  grid-column:1 / -1!important;
}
.map-filter.map-filter-cascade .map-public-locality-cascade{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.map-filter.map-filter-cascade .map-filter-field-election,
.map-filter.map-filter-cascade .map-filter-field-event-type{
  width:100%!important;
  max-width:380px!important;
  min-width:0!important;
}
.map-filter.map-filter-cascade .map-filter-field-election select,
.map-filter.map-filter-cascade .map-filter-field-event-type select{
  width:100%!important;
  min-width:0!important;
}
.map-filter.map-filter-cascade .map-filter-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.map-public-locality-cascade .map-cascade-field{
  min-width:0!important;
}
.map-public-locality-cascade .map-cascade-field label{
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
.map-public-locality-cascade select{
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(min-width:861px){
  .map-filter.map-filter-cascade .map-public-locality-cascade{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:860px){
  .map-filter.map-filter-cascade .map-public-locality-cascade{
    grid-template-columns:1fr!important;
  }
  .map-filter.map-filter-cascade .map-filter-actions{
    justify-content:flex-start!important;
  }
}


/* MAPOLITIK v5.2.53 — public comfort and homepage refinement
   Visual polish only. No change to locality logic, filters, notifications, data, imports, or visibility rules. */
.mapolitik-home-root .map-home-hero{padding-top:48px;padding-bottom:30px}
.mapolitik-home-root .map-home-hero h1{font-size:clamp(42px,5vw,62px);max-width:780px;margin:14px 0 18px}
.mapolitik-home-root .map-home-hero p{max-width:900px;line-height:1.48}
.mapolitik-home-root .map-home-actions{gap:14px;align-items:center}
.mapolitik-home-root .map-home-actions .map-btn{min-height:52px;padding:14px 22px;border-radius:14px}
.mapolitik-home-root .map-home-search{margin-top:26px}
.mapolitik-home-root .map-citizen-search{grid-template-columns:minmax(260px,.92fr) minmax(0,1.08fr);gap:36px;align-items:start}
.mapolitik-home-root .map-citizen-search .map-card,
.mapolitik-home-root .map-citizen-search.map-card{padding:34px}
.mapolitik-home-root .map-citizen-search h2{font-size:30px;margin:0 0 10px}
.mapolitik-home-root .map-citizen-search .map-muted{font-size:18px;line-height:1.5;color:#667085}
.mapolitik-home-root .map-citizen-search-form{display:flex;flex-direction:column;gap:14px}
.mapolitik-home-root .map-home-dynamic-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin-top:6px}
.mapolitik-home-root .map-home-dynamic-actions .map-btn{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:52px;padding:14px 16px;border-radius:14px}
.mapolitik-home-root .map-stats{gap:18px}
.mapolitik-home-root .map-home-section{padding-top:34px}
.mapolitik-home-root .map-section-head{margin-bottom:18px}
.mapolitik-home-root .map-card{border-radius:24px}
.mapolitik-home-root .map-trust-card{padding:30px 32px}
.mapolitik-home-root .map-trust-card h2{margin-bottom:10px}

.mapolitik-directory-root,
.mapolitik-parties-directory,
.mapolitik-events-directory{max-width:1120px;margin:0 auto;padding:0 24px}
.mapolitik-parties-directory .map-archive-head,
.mapolitik-events-directory .map-archive-head,
.mapolitik-candidates-directory .map-archive-head{margin-bottom:26px}
.map-filter.map-filter-cascade{padding:24px 20px 22px;border-radius:24px}
.map-filter.map-filter-cascade .map-filter-title strong{font-size:17px}
.map-filter.map-filter-cascade .map-public-locality-cascade{gap:16px 14px}
.map-filter.map-filter-cascade .map-filter-field-election,
.map-filter.map-filter-cascade .map-filter-field-event-type{margin-top:2px}
.map-filter.map-filter-cascade .map-filter-actions .map-btn{min-height:48px;padding:0 20px;border-radius:14px}
.mapolitik-events-directory .map-filter.map-filter-cascade .map-filter-actions,
.mapolitik-candidates-directory .map-filter.map-filter-cascade .map-filter-actions,
.mapolitik-parties-directory .map-filter.map-filter-cascade .map-filter-actions{justify-content:flex-start!important}
.mapolitik-events-directory .map-grid,
.mapolitik-parties-directory .map-grid,
.mapolitik-candidates-directory .map-grid{gap:22px}

@media(max-width:980px){
  .mapolitik-home-root .map-home-dynamic-actions{grid-template-columns:1fr 1fr}
  .mapolitik-home-root .map-home-dynamic-actions .map-btn:last-child{grid-column:1/-1}
}
@media(max-width:860px){
  .mapolitik-home-root .map-citizen-search{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
  .mapolitik-home-root .map-home-hero{padding-top:34px;padding-bottom:22px}
  .mapolitik-home-root .map-home-hero h1{font-size:40px}
  .mapolitik-home-root .map-home-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .mapolitik-home-root .map-home-actions .map-btn{width:100%;justify-content:center;text-align:center}
  .mapolitik-home-root .map-citizen-search.map-card,.mapolitik-home-root .map-citizen-search .map-card{padding:26px 22px}
  .mapolitik-home-root .map-citizen-search .map-muted{font-size:17px}
  .mapolitik-home-root .map-home-dynamic-actions{grid-template-columns:1fr}
  .mapolitik-home-root .map-home-dynamic-actions .map-btn:last-child{grid-column:auto}
}
@media(max-width:639px){
  .mapolitik-directory-root,
  .mapolitik-parties-directory,
  .mapolitik-events-directory{padding:0 18px}
  .map-filter.map-filter-cascade{padding:20px 16px}
}


/* MAPOLITIK v5.2.54 — Accueil comfort correction after live visual QC
   Visual correction only. Keeps public cascade, filters, data, notifications, import and media rules stable. */

/* Homepage hero: keep strong entry but reduce visual compression under admin bar/header. */
.mapolitik-home-root .map-home-hero{
  padding-top:54px!important;
  padding-bottom:38px!important;
}
.mapolitik-home-root .map-home-hero h1{
  max-width:860px!important;
  margin-top:16px!important;
  margin-bottom:18px!important;
}
.mapolitik-home-root .map-home-hero p{
  max-width:920px!important;
}

/* Primary hero buttons: return to natural comfortable pills, not oversized blocks. */
.mapolitik-home-root .map-home-hero .map-home-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
}
.mapolitik-home-root .map-home-hero .map-home-actions .map-btn{
  width:auto!important;
  min-height:0!important;
  padding:13px 20px!important;
  line-height:1.25!important;
  white-space:normal!important;
}

/* Territory search card: keep it distinct, but less heavy and better balanced. */
.mapolitik-home-root .map-home-search{
  margin-top:28px!important;
}
.mapolitik-home-root .map-citizen-search.map-card{
  padding:32px!important;
  align-items:center!important;
}
.mapolitik-home-root .map-citizen-search{
  grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr)!important;
  gap:34px!important;
}
.mapolitik-home-root .map-citizen-search h2{
  font-size:29px!important;
}
.mapolitik-home-root .map-citizen-search .map-muted{
  max-width:360px!important;
}

/* Search action buttons: avoid compressed/overlapping grid and allow natural wrapping. */
.mapolitik-home-root .map-home-dynamic-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  width:100%!important;
  margin-top:10px!important;
}
.mapolitik-home-root .map-home-dynamic-actions .map-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:12px 17px!important;
  border-radius:13px!important;
  line-height:1.22!important;
  text-align:center!important;
  white-space:normal!important;
}

/* Archive filters: keep card compact and professional after v5.2.53. */
.map-filter.map-filter-cascade{
  padding:22px 20px!important;
}
.map-filter.map-filter-cascade .map-filter-actions{
  margin-top:2px!important;
}
.map-filter.map-filter-cascade .map-filter-actions .map-btn{
  min-height:44px!important;
  padding:0 18px!important;
}

/* Submission cascade stays aligned with the wider form. */
.map-submission-form .map-public-locality-cascade-submission{
  gap:14px!important;
}

/* Responsive behaviour: stack homepage search cleanly and keep buttons readable. */
@media(max-width:860px){
  .mapolitik-home-root .map-citizen-search{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .mapolitik-home-root .map-citizen-search .map-muted{
    max-width:100%!important;
  }
}
@media(max-width:760px){
  .mapolitik-home-root .map-home-hero{
    padding-top:34px!important;
    padding-bottom:26px!important;
  }
  .mapolitik-home-root .map-home-hero .map-home-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .mapolitik-home-root .map-home-hero .map-home-actions .map-btn,
  .mapolitik-home-root .map-home-dynamic-actions .map-btn{
    width:100%!important;
  }
  .mapolitik-home-root .map-citizen-search.map-card{
    padding:24px 20px!important;
  }
}

/* MAPOLITIK Arabic Visitor Layer v1 */
.map-lang-switch{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;white-space:nowrap;}
.map-lang-switch a{text-decoration:none;color:inherit;opacity:.72;}
.map-lang-switch a.is-active{opacity:1;}
body.mapolitik-lang-ar{direction:rtl;text-align:right;font-family:"Noto Sans Arabic","IBM Plex Sans Arabic","Tajawal",system-ui,sans-serif;}
body.mapolitik-lang-ar .map-header-inner,body.mapolitik-lang-ar .map-footer-grid,body.mapolitik-lang-ar .map-home-actions,body.mapolitik-lang-ar .map-filter-actions,body.mapolitik-lang-ar .map-home-dynamic-actions{direction:rtl;}
body.mapolitik-lang-ar .map-nav,body.mapolitik-lang-ar .map-footer-links{direction:rtl;}
body.mapolitik-lang-ar input,body.mapolitik-lang-ar select,body.mapolitik-lang-ar textarea{font-family:"Noto Sans Arabic","IBM Plex Sans Arabic","Tajawal",system-ui,sans-serif;text-align:right;}
body.mapolitik-lang-ar .map-card,body.mapolitik-lang-ar .map-profile-section,body.mapolitik-lang-ar .map-archive-head{text-align:right;}
body.mapolitik-lang-ar .map-badge,body.mapolitik-lang-ar .map-kicker,body.mapolitik-lang-ar .map-btn{letter-spacing:0;}
body.mapolitik-lang-ar .map-info-row{direction:rtl;}
body.mapolitik-lang-ar .map-priority-list{padding-right:22px;padding-left:0;}
.mapolitik-lang-ar{direction:rtl;text-align:right;font-family:"Noto Sans Arabic","IBM Plex Sans Arabic","Tajawal",system-ui,sans-serif;}
.mapolitik-lang-ar input,.mapolitik-lang-ar select,.mapolitik-lang-ar textarea{font-family:"Noto Sans Arabic","IBM Plex Sans Arabic","Tajawal",system-ui,sans-serif;text-align:right;}
.mapolitik-lang-ar .map-home-actions,.mapolitik-lang-ar .map-filter-actions,.mapolitik-lang-ar .map-home-dynamic-actions,.mapolitik-lang-ar .map-lang-switch{direction:rtl;}


/* MAPOLITIK v5.2.62 Arabic refinement */
body.mapolitik-lang-ar .site-header,
body.mapolitik-lang-ar header,
body.mapolitik-lang-ar nav{font-family:"Noto Sans Arabic","IBM Plex Sans Arabic","Tajawal",system-ui,sans-serif;}
body.mapolitik-lang-ar .map-home-hero h1{font-weight:500!important;line-height:1.22!important;}
body.mapolitik-lang-ar .map-home-hero p,
body.mapolitik-lang-ar .map-card p,
body.mapolitik-lang-ar .map-muted{font-weight:400!important;line-height:1.8!important;}
body.mapolitik-lang-ar .map-cascade-field label,
body.mapolitik-lang-ar .map-filter-title strong,
body.mapolitik-lang-ar .map-filter-title span{font-weight:600!important;}
body.mapolitik-lang-ar .map-lang-switch{direction:rtl;}
body.mapolitik-lang-ar .map-site-header .map-logo{letter-spacing:.12em;}

/* MAPOLITIK v5.2.64 Arabic profile/navigation refinement */
body.mapolitik-lang-ar{overflow-x:hidden;}
body.mapolitik-lang-ar .map-profile-section p,
body.mapolitik-lang-ar .map-content-card p,
body.mapolitik-lang-ar .map-info-row span{unicode-bidi:plaintext;}
body.mapolitik-lang-ar .map-public-locality-cascade .map-cascade-region label{white-space:normal;}
body.mapolitik-lang-ar .map-site-footer{overflow-x:hidden;}

/* MAPOLITIK v5.2.65 Arabic footer and profile label refinement */
body.mapolitik-lang-ar .map-site-footer,
body.mapolitik-lang-ar footer,
body.mapolitik-lang-ar .site-footer{direction:rtl;text-align:right;overflow-x:hidden;}
body.mapolitik-lang-ar .map-site-footer p,
body.mapolitik-lang-ar footer p,
body.mapolitik-lang-ar .site-footer p{direction:rtl;text-align:right;unicode-bidi:plaintext;}
body.mapolitik-lang-ar .map-site-footer .map-footer-brand p,
body.mapolitik-lang-ar .map-site-footer .map-footer-brand strong{display:block;text-align:right;}
body.mapolitik-lang-ar .map-footer-links{justify-content:flex-start;gap:18px;}
body.mapolitik-lang-ar .map-info-row strong{min-width:0;}
body.mapolitik-lang-ar .map-info-row span{min-width:0;overflow-wrap:anywhere;}

/* MAPOLITIK v5.2.66 — Arabic archive title and submission page harmonization */
body.mapolitik-lang-ar .mapolitik-parties-directory .map-archive-head h1,
body.mapolitik-lang-ar .mapolitik-events-directory .map-archive-head h1,
body.mapolitik-lang-ar .mapolitik-directory-root .map-archive-title{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#111827!important;
  font-size:46px!important;
  line-height:1.15!important;
  margin:0 0 14px!important;
  min-height:1.15em!important;
  position:relative!important;
  z-index:1!important;
}
body.mapolitik-lang-ar .mapolitik-parties-directory .map-archive-head,
body.mapolitik-lang-ar .mapolitik-events-directory .map-archive-head{
  min-height:150px;
  display:block!important;
  text-align:right!important;
}
body.mapolitik-lang-ar .map-submit-page,
body.mapolitik-lang-ar .mapolitik-submit-page,
body.mapolitik-lang-ar .map-submission-wrap{
  direction:rtl;
  text-align:right;
}
body.mapolitik-lang-ar .map-submission-wrap .map-clean-list{
  padding-right:22px;
  padding-left:0;
  text-align:right;
}
body.mapolitik-lang-ar .map-submission-wrap .map-form-grid label,
body.mapolitik-lang-ar .map-submission-wrap .map-full-field,
body.mapolitik-lang-ar .map-submission-wrap .map-consent{
  text-align:right;
}
body.mapolitik-lang-ar .map-submission-wrap input,
body.mapolitik-lang-ar .map-submission-wrap select,
body.mapolitik-lang-ar .map-submission-wrap textarea{
  direction:rtl;
  text-align:right;
}
body.mapolitik-lang-ar .map-submission-wrap input[type=email],
body.mapolitik-lang-ar .map-submission-wrap input[type=url]{
  direction:ltr;
  text-align:left;
}
body.mapolitik-lang-ar .map-submission-wrap .map-section-head,
body.mapolitik-lang-ar .map-submission-wrap .map-kicker,
body.mapolitik-lang-ar .map-submission-wrap h1,
body.mapolitik-lang-ar .map-submission-wrap h2,
body.mapolitik-lang-ar .map-submission-wrap h3,
body.mapolitik-lang-ar .map-submission-wrap p{
  text-align:right;
}
body.mapolitik-lang-ar .map-site-footer,
body.mapolitik-lang-ar .map-site-footer *{
  unicode-bidi:plaintext;
}


/* MAPOLITIK v5.2.67 — Arabic language switch and selector visibility refinement */
.mapolitik-home-root > .map-lang-switch,
.mapolitik-directory-root > .map-lang-switch{
  max-width:1120px;
  margin:0 auto 16px!important;
  padding:0 24px!important;
  box-sizing:border-box;
}
body.mapolitik-lang-ar .mapolitik-home-root > .map-lang-switch,
body.mapolitik-lang-ar .mapolitik-directory-root > .map-lang-switch,
.mapolitik-lang-ar.mapolitik-home-root > .map-lang-switch,
.mapolitik-lang-ar.mapolitik-directory-root > .map-lang-switch{
  justify-content:flex-start!important;
  text-align:right!important;
  direction:rtl!important;
}
body:not(.mapolitik-lang-ar) .mapolitik-home-root > .map-lang-switch,
body:not(.mapolitik-lang-ar) .mapolitik-directory-root > .map-lang-switch{
  justify-content:flex-start!important;
  text-align:left!important;
  direction:ltr!important;
}
.map-lang-switch a{padding:2px 3px;border-radius:6px;}
.map-lang-switch a:hover{background:#f2f5f9;opacity:1;}
body.mapolitik-lang-ar .map-public-locality-cascade select,
body.mapolitik-lang-ar .map-filter select,
body.mapolitik-lang-ar .map-citizen-search-form select{
  direction:rtl!important;
  text-align:right!important;
  font-size:15px!important;
  line-height:1.45!important;
  min-height:50px!important;
  padding-right:16px!important;
  padding-left:42px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
body.mapolitik-lang-ar .map-public-locality-cascade .map-cascade-field{
  min-width:0!important;
  overflow:visible!important;
}
body.mapolitik-lang-ar .map-filter.map-filter-cascade .map-public-locality-cascade{
  gap:18px!important;
}
body.mapolitik-lang-ar .map-filter.map-filter-cascade .map-filter-field-election select,
body.mapolitik-lang-ar .map-filter.map-filter-cascade .map-filter-field-event-type select{
  min-width:280px!important;
}
@media(min-width:861px){
  body.mapolitik-lang-ar .map-filter.map-filter-cascade .map-public-locality-cascade{
    grid-template-columns:repeat(3,minmax(220px,1fr))!important;
  }
}

/* MAPOLITIK v5.2.68 — language switch final position and Arabic select readability */
.mapolitik-home-root > .map-lang-switch{
  margin-top:-58px!important;
  margin-bottom:26px!important;
  min-height:22px!important;
  align-items:center!important;
}
body.mapolitik-lang-ar .mapolitik-home-root > .map-lang-switch,
.mapolitik-lang-ar.mapolitik-home-root > .map-lang-switch{
  justify-content:flex-start!important;
}
body:not(.mapolitik-lang-ar) .mapolitik-home-root > .map-lang-switch{
  justify-content:flex-start!important;
}
.mapolitik-directory-root > .map-lang-switch{
  margin-top:-8px!important;
  margin-bottom:12px!important;
}
.map-lang-switch{
  line-height:1!important;
  opacity:.92;
}
.map-lang-switch a,
.map-lang-switch span{
  display:inline-flex;
  align-items:center;
}
body.mapolitik-lang-ar select{
  text-overflow:clip!important;
}
body.mapolitik-lang-ar .map-filter select,
body.mapolitik-lang-ar .map-public-locality-cascade select,
body.mapolitik-lang-ar .map-citizen-search-form select,
body.mapolitik-lang-ar .map-submission-wrap select{
  min-width:100%!important;
  padding-right:18px!important;
  padding-left:48px!important;
}
body.mapolitik-lang-ar .map-filter-field-election,
body.mapolitik-lang-ar .map-filter-field-event-type{
  min-width:290px!important;
}
@media(max-width:760px){
  .mapolitik-home-root > .map-lang-switch{margin-top:-30px!important;margin-bottom:16px!important;}
  .mapolitik-directory-root > .map-lang-switch{margin-top:0!important;}
}

/* MAPOLITIK v5.2.69 — stable language switch visibility and Arabic title/select spacing */
.map-lang-switch-global{
  max-width:1120px!important;
  margin:12px auto 12px!important;
  padding:0 24px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  position:relative!important;
  z-index:30!important;
}
body:not(.mapolitik-lang-ar) .map-lang-switch-global{direction:ltr!important;justify-content:flex-start!important;text-align:left!important;}
body.mapolitik-lang-ar .map-lang-switch-global{direction:rtl!important;justify-content:flex-start!important;text-align:right!important;}
.mapolitik-home-root > .map-lang-switch,
.mapolitik-directory-root > .map-lang-switch{
  margin-top:0!important;
  margin-bottom:14px!important;
}
.map-lang-switch a{font-size:13px!important;line-height:1.2!important;}
body.mapolitik-lang-ar .map-archive-head,
body.mapolitik-lang-ar .map-submission-wrap .map-submission-intro,
body.mapolitik-lang-ar .map-notifications-wrap,
body.mapolitik-lang-ar .map-card.map-archive-head{
  padding-top:38px!important;
  padding-bottom:38px!important;
}
body.mapolitik-lang-ar .map-archive-head h1,
body.mapolitik-lang-ar .map-archive-title,
body.mapolitik-lang-ar .map-submission-wrap h1{
  line-height:1.25!important;
  margin-bottom:16px!important;
}
body.mapolitik-lang-ar .map-filter select,
body.mapolitik-lang-ar .map-public-locality-cascade select,
body.mapolitik-lang-ar .map-citizen-search-form select,
body.mapolitik-lang-ar .map-submission-wrap select{
  min-height:54px!important;
  line-height:1.8!important;
  font-size:15px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
  padding-right:20px!important;
  padding-left:54px!important;
  box-sizing:border-box!important;
}
body.mapolitik-lang-ar .map-public-locality-cascade .map-cascade-field,
body.mapolitik-lang-ar .map-filter-field{
  overflow:visible!important;
}
@media(max-width:760px){
  .map-lang-switch-global{margin:10px auto!important;padding:0 20px!important;}
  body.mapolitik-lang-ar .map-filter select,
  body.mapolitik-lang-ar .map-public-locality-cascade select,
  body.mapolitik-lang-ar .map-citizen-search-form select,
  body.mapolitik-lang-ar .map-submission-wrap select{font-size:14px!important;}
}


/* MAPOLITIK v5.2.70 — Arabic page title and language switch vertical rhythm refinement */
body.mapolitik-lang-ar .map-lang-switch-global{
  margin:8px auto 0!important;
  padding:0 24px!important;
  max-width:1120px!important;
  min-height:24px!important;
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  z-index:45!important;
}
body.mapolitik-lang-ar:has(.map-submission-wrap) .map-lang-switch-global,
body.mapolitik-lang-ar:has(.mapolitik-notify-box) .map-lang-switch-global{
  margin-top:8px!important;
  margin-bottom:0!important;
}
body.mapolitik-lang-ar:has(.map-submission-wrap) h1.entry-title,
body.mapolitik-lang-ar:has(.map-submission-wrap) .entry-title,
body.mapolitik-lang-ar:has(.map-submission-wrap) .page-title,
body.mapolitik-lang-ar:has(.map-submission-wrap) h1:first-of-type{
  max-width:1120px!important;
  margin:34px auto 26px!important;
  padding:0 24px!important;
  text-align:right!important;
  line-height:1.22!important;
  font-size:clamp(38px,4.2vw,56px)!important;
  font-weight:500!important;
  box-sizing:border-box!important;
}
body.mapolitik-lang-ar:has(.mapolitik-notify-box) h1.entry-title,
body.mapolitik-lang-ar:has(.mapolitik-notify-box) .entry-title,
body.mapolitik-lang-ar:has(.mapolitik-notify-box) .page-title,
body.mapolitik-lang-ar:has(.mapolitik-notify-box) h1:first-of-type{
  max-width:920px!important;
  margin:34px auto 20px!important;
  padding:0 24px!important;
  text-align:center!important;
  line-height:1.22!important;
  font-size:clamp(38px,4vw,54px)!important;
  font-weight:500!important;
  box-sizing:border-box!important;
}
body.mapolitik-lang-ar .map-submission-wrap{
  padding-top:14px!important;
}
body.mapolitik-lang-ar .map-submission-wrap .map-submission-intro:first-child{
  margin-top:0!important;
}
body.mapolitik-lang-ar .mapolitik-notify-box{
  margin-top:12px!important;
}
body.mapolitik-lang-ar .map-submission-wrap .map-card,
body.mapolitik-lang-ar .mapolitik-notify-box{
  scroll-margin-top:130px!important;
}
body.mapolitik-lang-ar .map-filter select,
body.mapolitik-lang-ar .map-public-locality-cascade select,
body.mapolitik-lang-ar .map-citizen-search-form select,
body.mapolitik-lang-ar .map-submission-wrap select{
  min-height:58px!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
  line-height:2!important;
}
@media(max-width:760px){
  body.mapolitik-lang-ar:has(.map-submission-wrap) h1:first-of-type,
  body.mapolitik-lang-ar:has(.mapolitik-notify-box) h1:first-of-type{
    margin-top:24px!important;
    font-size:36px!important;
  }
  body.mapolitik-lang-ar .map-lang-switch-global{padding:0 18px!important;}
}


/* MAPOLITIK v5.2.71 — Arabic normal-page title alignment and mobile spacing refinement
   Visual correction only. Keeps data, localities, cascade logic, filters, party visibility and notification rules stable. */
body.mapolitik-lang-ar:has(.mapolitik-notify-box) h1.entry-title,
body.mapolitik-lang-ar:has(.mapolitik-notify-box) .entry-title,
body.mapolitik-lang-ar:has(.mapolitik-notify-box) .page-title,
body.mapolitik-lang-ar:has(.mapolitik-notify-box) h1:first-of-type{
  max-width:1120px!important;
  margin:28px auto 22px!important;
  padding:0 24px!important;
  text-align:right!important;
  line-height:1.22!important;
  font-size:clamp(38px,4.2vw,56px)!important;
  font-weight:500!important;
  box-sizing:border-box!important;
}
body.mapolitik-lang-ar:has(.mapolitik-notify-box) .map-lang-switch-global,
body.mapolitik-lang-ar:has(.map-submission-wrap) .map-lang-switch-global{
  max-width:1120px!important;
  margin:10px auto 0!important;
  padding:0 24px!important;
  justify-content:flex-start!important;
}
body.mapolitik-lang-ar .mapolitik-notify-box{
  margin-top:10px!important;
}
body.mapolitik-lang-ar .mapolitik-notify-box,
body.mapolitik-lang-ar .map-submission-wrap .map-card,
body.mapolitik-lang-ar .map-archive-head{
  max-width:min(1120px,calc(100vw - 48px))!important;
}
body.mapolitik-lang-ar .mapolitik-notify-box h2,
body.mapolitik-lang-ar .mapolitik-notify-box h3,
body.mapolitik-lang-ar .mapolitik-notify-box p{
  text-align:right!important;
}
body.mapolitik-lang-ar .map-public-locality-cascade select,
body.mapolitik-lang-ar .map-filter select,
body.mapolitik-lang-ar .map-citizen-search-form select,
body.mapolitik-lang-ar .map-submission-wrap select,
body.mapolitik-lang-ar .mapolitik-notify-box select{
  min-height:58px!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
  padding-right:20px!important;
  padding-left:54px!important;
  line-height:1.75!important;
}
@media(max-width:900px){
  body.mapolitik-lang-ar .map-lang-switch-global{
    max-width:calc(100vw - 32px)!important;
    padding:0 16px!important;
  }
  body.mapolitik-lang-ar:has(.mapolitik-notify-box) h1.entry-title,
  body.mapolitik-lang-ar:has(.mapolitik-notify-box) .entry-title,
  body.mapolitik-lang-ar:has(.mapolitik-notify-box) .page-title,
  body.mapolitik-lang-ar:has(.mapolitik-notify-box) h1:first-of-type,
  body.mapolitik-lang-ar:has(.map-submission-wrap) h1.entry-title,
  body.mapolitik-lang-ar:has(.map-submission-wrap) .entry-title,
  body.mapolitik-lang-ar:has(.map-submission-wrap) .page-title,
  body.mapolitik-lang-ar:has(.map-submission-wrap) h1:first-of-type{
    max-width:calc(100vw - 32px)!important;
    margin:22px auto 18px!important;
    padding:0 16px!important;
    text-align:right!important;
    font-size:clamp(32px,8vw,42px)!important;
  }
  body.mapolitik-lang-ar .mapolitik-notify-box,
  body.mapolitik-lang-ar .map-submission-wrap .map-card,
  body.mapolitik-lang-ar .map-archive-head,
  body.mapolitik-lang-ar .map-filter.map-card{
    max-width:calc(100vw - 32px)!important;
    padding-left:18px!important;
    padding-right:18px!important;
    border-radius:18px!important;
  }
}
@media(max-width:640px){
  body.mapolitik-lang-ar .map-header-inner,
  body.mapolitik-lang-ar .map-nav{
    gap:14px!important;
  }
  body.mapolitik-lang-ar .map-home-hero h1,
  body.mapolitik-lang-ar .map-archive-head h1,
  body.mapolitik-lang-ar .map-archive-title{
    font-size:clamp(32px,9vw,42px)!important;
    line-height:1.22!important;
  }
  body.mapolitik-lang-ar .map-public-locality-cascade,
  body.mapolitik-lang-ar .map-form-grid,
  body.mapolitik-lang-ar .map-filter-grid{
    grid-template-columns:1fr!important;
  }
  body.mapolitik-lang-ar .map-public-locality-cascade select,
  body.mapolitik-lang-ar .map-filter select,
  body.mapolitik-lang-ar .map-citizen-search-form select,
  body.mapolitik-lang-ar .map-submission-wrap select,
  body.mapolitik-lang-ar .mapolitik-notify-box select{
    min-height:56px!important;
    font-size:14px!important;
    padding-right:16px!important;
    padding-left:42px!important;
  }
}


/* MAPOLITIK v5.2.72 — optimized Arabic spacing and page-title consistency
   Low-risk visual layer only: no data, locality, cascade, filter, party visibility or notification rule changes. */
body.mapolitik-lang-ar .map-lang-switch-global{
  max-width:1120px!important;
  margin:12px auto 18px!important;
  padding:0 24px!important;
  min-height:22px!important;
  justify-content:flex-start!important;
  text-align:right!important;
  direction:rtl!important;
  position:relative!important;
  z-index:60!important;
}
body:not(.mapolitik-lang-ar) .map-lang-switch-global{
  max-width:1120px!important;
  margin:12px auto 18px!important;
  padding:0 24px!important;
  min-height:22px!important;
}

/* Normal WordPress pages using MAPOLITIK shortcodes: align Arabic title blocks like archive cards. */
body.mapolitik-lang-ar.map-page-notifications h1,
body.mapolitik-lang-ar.map-page-notifications .entry-title,
body.mapolitik-lang-ar.map-page-notifications .page-title,
body.mapolitik-lang-ar.map-page-submission h1,
body.mapolitik-lang-ar.map-page-submission .entry-title,
body.mapolitik-lang-ar.map-page-submission .page-title{
  max-width:1120px!important;
  margin:28px auto 24px!important;
  padding:0 24px!important;
  text-align:right!important;
  direction:rtl!important;
  line-height:1.2!important;
  font-size:clamp(40px,4.4vw,58px)!important;
  font-weight:500!important;
  box-sizing:border-box!important;
}
body.mapolitik-lang-ar.map-page-notifications .mapolitik-notify-box,
body.mapolitik-lang-ar.map-page-submission .map-submission-wrap{
  margin-top:0!important;
}
body.mapolitik-lang-ar.map-page-notifications .mapolitik-notify-box{
  max-width:min(940px,calc(100vw - 48px))!important;
  padding:32px 34px!important;
}
body.mapolitik-lang-ar.map-page-submission .map-submission-wrap .map-card{
  max-width:min(1120px,calc(100vw - 48px))!important;
}

/* Prevent Arabic select clipping while preserving desktop layout. */
body.mapolitik-lang-ar select,
body.mapolitik-lang-ar .map-filter select,
body.mapolitik-lang-ar .map-public-locality-cascade select,
body.mapolitik-lang-ar .map-citizen-search-form select,
body.mapolitik-lang-ar .map-submission-wrap select,
body.mapolitik-lang-ar .mapolitik-notify-box select{
  min-height:60px!important;
  height:auto!important;
  line-height:1.65!important;
  padding-top:15px!important;
  padding-bottom:15px!important;
  padding-right:22px!important;
  padding-left:56px!important;
  white-space:normal!important;
  overflow:visible!important;
}
body.mapolitik-lang-ar .map-public-locality-cascade,
body.mapolitik-lang-ar .map-filter-grid,
body.mapolitik-lang-ar .map-form-grid,
body.mapolitik-lang-ar .mapolitik-notify-cascade{
  align-items:start!important;
}
body.mapolitik-lang-ar .map-cascade-field,
body.mapolitik-lang-ar .map-filter-field,
body.mapolitik-lang-ar .mapolitik-notify-row{
  min-width:0!important;
  overflow:visible!important;
}

/* Mobile safety: cleaner top rhythm and single-column readable forms. */
@media(max-width:900px){
  body.mapolitik-lang-ar .map-lang-switch-global,
  body:not(.mapolitik-lang-ar) .map-lang-switch-global{
    max-width:calc(100vw - 28px)!important;
    padding:0 14px!important;
    margin:10px auto 14px!important;
  }
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-notifications .entry-title,
  body.mapolitik-lang-ar.map-page-notifications .page-title,
  body.mapolitik-lang-ar.map-page-submission h1,
  body.mapolitik-lang-ar.map-page-submission .entry-title,
  body.mapolitik-lang-ar.map-page-submission .page-title{
    max-width:calc(100vw - 28px)!important;
    margin:22px auto 18px!important;
    padding:0 14px!important;
    font-size:clamp(34px,9vw,46px)!important;
  }
  body.mapolitik-lang-ar .map-home-hero,
  body.mapolitik-lang-ar .map-archive-head,
  body.mapolitik-lang-ar .map-filter.map-card,
  body.mapolitik-lang-ar .map-card,
  body.mapolitik-lang-ar .mapolitik-notify-box,
  body.mapolitik-lang-ar .map-submission-wrap .map-card{
    max-width:calc(100vw - 28px)!important;
    padding-left:18px!important;
    padding-right:18px!important;
    border-radius:18px!important;
  }
  body.mapolitik-lang-ar .map-public-locality-cascade,
  body.mapolitik-lang-ar .map-filter-grid,
  body.mapolitik-lang-ar .map-form-grid,
  body.mapolitik-lang-ar .mapolitik-notify-cascade{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.mapolitik-lang-ar .map-home-actions,
  body.mapolitik-lang-ar .map-filter-actions,
  body.mapolitik-lang-ar .map-home-dynamic-actions{
    justify-content:flex-start!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:560px){
  body.mapolitik-lang-ar .map-lang-switch-global,
  body:not(.mapolitik-lang-ar) .map-lang-switch-global{
    font-size:13px!important;
    margin:8px auto 12px!important;
  }
  body.mapolitik-lang-ar .map-home-hero h1,
  body.mapolitik-lang-ar .map-archive-title,
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-submission h1{
    font-size:clamp(30px,10vw,38px)!important;
    line-height:1.18!important;
  }
  body.mapolitik-lang-ar select,
  body.mapolitik-lang-ar input,
  body.mapolitik-lang-ar textarea{
    font-size:15px!important;
  }
}


/* MAPOLITIK v5.2.73 — Arabic typography normalization
   Visual-only refinement: Arabic text size closer to French pages. No logic, data, filter, locality or notification changes. */
body.mapolitik-lang-ar{
  font-size:16px!important;
}
body.mapolitik-lang-ar .map-home-hero h1{
  font-size:clamp(40px,4.4vw,54px)!important;
  line-height:1.16!important;
  font-weight:600!important;
}
body.mapolitik-lang-ar .map-home-hero p,
body.mapolitik-lang-ar .map-content-card,
body.mapolitik-lang-ar .map-card p,
body.mapolitik-lang-ar .map-info-row,
body.mapolitik-lang-ar .map-muted{
  font-size:16px!important;
  line-height:1.65!important;
}
body.mapolitik-lang-ar .map-archive-head h1,
body.mapolitik-lang-ar .map-archive-title{
  font-size:clamp(34px,3.6vw,48px)!important;
  line-height:1.18!important;
  font-weight:600!important;
}
body.mapolitik-lang-ar.map-page-notifications h1,
body.mapolitik-lang-ar.map-page-notifications .entry-title,
body.mapolitik-lang-ar.map-page-notifications .page-title,
body.mapolitik-lang-ar.map-page-submission h1,
body.mapolitik-lang-ar.map-page-submission .entry-title,
body.mapolitik-lang-ar.map-page-submission .page-title{
  font-size:clamp(34px,3.8vw,50px)!important;
  line-height:1.18!important;
  font-weight:600!important;
}
body.mapolitik-lang-ar .map-card h1{
  font-size:clamp(34px,3.8vw,50px)!important;
  line-height:1.14!important;
  font-weight:600!important;
}
body.mapolitik-lang-ar .map-card h2,
body.mapolitik-lang-ar .mapolitik-notify-box h2,
body.mapolitik-lang-ar .map-submission-wrap h2{
  font-size:clamp(24px,2.4vw,32px)!important;
  line-height:1.25!important;
  font-weight:650!important;
}
body.mapolitik-lang-ar .map-card h3,
body.mapolitik-lang-ar .mapolitik-notify-box h3,
body.mapolitik-lang-ar .map-submission-wrap h3{
  font-size:clamp(20px,2vw,26px)!important;
  line-height:1.3!important;
  font-weight:650!important;
}
body.mapolitik-lang-ar .map-btn,
body.mapolitik-lang-ar .map-nav a,
body.mapolitik-lang-ar .map-footer-links a{
  font-size:15px!important;
}
body.mapolitik-lang-ar .map-home-actions .map-btn,
body.mapolitik-lang-ar .map-filter-actions .map-btn,
body.mapolitik-lang-ar .map-home-dynamic-actions .map-btn{
  font-size:16px!important;
  line-height:1.25!important;
}
body.mapolitik-lang-ar label,
body.mapolitik-lang-ar .map-filter label,
body.mapolitik-lang-ar .map-cascade-field label,
body.mapolitik-lang-ar .map-submission-form label,
body.mapolitik-lang-ar .mapolitik-notify-box label{
  font-size:16px!important;
  line-height:1.35!important;
}
body.mapolitik-lang-ar select,
body.mapolitik-lang-ar input,
body.mapolitik-lang-ar textarea{
  font-size:15px!important;
  line-height:1.45!important;
}
body.mapolitik-lang-ar .map-badge{
  font-size:12px!important;
  line-height:1.2!important;
}
@media(max-width:900px){
  body.mapolitik-lang-ar .map-home-hero h1,
  body.mapolitik-lang-ar .map-archive-head h1,
  body.mapolitik-lang-ar .map-archive-title,
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-submission h1,
  body.mapolitik-lang-ar .map-card h1{
    font-size:clamp(31px,7.2vw,42px)!important;
    line-height:1.18!important;
  }
  body.mapolitik-lang-ar .map-card h2,
  body.mapolitik-lang-ar .mapolitik-notify-box h2,
  body.mapolitik-lang-ar .map-submission-wrap h2{
    font-size:clamp(22px,5.2vw,28px)!important;
  }
  body.mapolitik-lang-ar .map-home-hero p,
  body.mapolitik-lang-ar .map-content-card,
  body.mapolitik-lang-ar .map-card p,
  body.mapolitik-lang-ar .map-info-row{
    font-size:15px!important;
    line-height:1.6!important;
  }
}
@media(max-width:560px){
  body.mapolitik-lang-ar .map-home-hero h1,
  body.mapolitik-lang-ar .map-archive-head h1,
  body.mapolitik-lang-ar .map-archive-title,
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-submission h1,
  body.mapolitik-lang-ar .map-card h1{
    font-size:clamp(28px,9vw,36px)!important;
  }
  body.mapolitik-lang-ar .map-btn,
  body.mapolitik-lang-ar .map-home-actions .map-btn,
  body.mapolitik-lang-ar .map-filter-actions .map-btn,
  body.mapolitik-lang-ar .map-home-dynamic-actions .map-btn{
    font-size:15px!important;
  }
}


/* MAPOLITIK v5.2.74 — title alignment and homepage title refinement
   Visual-only refinement. No data, publication, locality, notification, submission workflow, or language logic changes. */
body.map-page-notifications h1,
body.map-page-notifications .entry-title,
body.map-page-notifications .page-title,
body.map-page-submission h1,
body.map-page-submission .entry-title,
body.map-page-submission .page-title{
  max-width:1120px!important;
  margin:26px auto 22px!important;
  padding:0 24px!important;
  box-sizing:border-box!important;
  text-align:left!important;
  direction:ltr!important;
  line-height:1.16!important;
  font-size:clamp(40px,4vw,56px)!important;
  font-weight:500!important;
}
body.mapolitik-lang-ar.map-page-notifications h1,
body.mapolitik-lang-ar.map-page-notifications .entry-title,
body.mapolitik-lang-ar.map-page-notifications .page-title,
body.mapolitik-lang-ar.map-page-submission h1,
body.mapolitik-lang-ar.map-page-submission .entry-title,
body.mapolitik-lang-ar.map-page-submission .page-title{
  text-align:right!important;
  direction:rtl!important;
  font-size:clamp(34px,3.6vw,48px)!important;
  line-height:1.18!important;
  font-weight:600!important;
}
body.map-page-notifications .mapolitik-notify-box,
body.map-page-submission .map-submission-wrap{
  margin-top:0!important;
}
body.map-page-notifications .mapolitik-notify-box{
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-home-root .map-home-hero .map-container{
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mapolitik-home-root .map-home-hero h1{
  max-width:820px!important;
}
body.mapolitik-lang-ar .mapolitik-home-root .map-home-hero h1{
  max-width:820px!important;
}
@media(max-width:900px){
  body.map-page-notifications h1,
  body.map-page-notifications .entry-title,
  body.map-page-notifications .page-title,
  body.map-page-submission h1,
  body.map-page-submission .entry-title,
  body.map-page-submission .page-title{
    max-width:calc(100vw - 28px)!important;
    padding:0 14px!important;
    margin:20px auto 18px!important;
    font-size:clamp(34px,8vw,46px)!important;
  }
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-submission h1{
    font-size:clamp(30px,8vw,40px)!important;
  }
}
@media(max-width:560px){
  body.map-page-notifications h1,
  body.map-page-submission h1{
    font-size:clamp(30px,9vw,38px)!important;
    line-height:1.18!important;
  }
}


/* MAPOLITIK v5.2.75 — notifications title/form visual axis refinement
   Visual-only refinement. No data, locality, cascade, filters, notification rules, submission workflow, publication, media, or language logic changes. */
body.map-page-notifications h1,
body.map-page-notifications .entry-title,
body.map-page-notifications .page-title{
  max-width:896px!important;
  margin:26px auto 22px!important;
  padding:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
  direction:ltr!important;
}
body.mapolitik-lang-ar.map-page-notifications h1,
body.mapolitik-lang-ar.map-page-notifications .entry-title,
body.mapolitik-lang-ar.map-page-notifications .page-title{
  max-width:896px!important;
  margin:26px auto 22px!important;
  padding:0!important;
  text-align:right!important;
  direction:rtl!important;
}
@media(max-width:980px){
  body.map-page-notifications h1,
  body.map-page-notifications .entry-title,
  body.map-page-notifications .page-title,
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-notifications .entry-title,
  body.mapolitik-lang-ar.map-page-notifications .page-title{
    max-width:calc(100vw - 32px)!important;
    padding:0!important;
    margin:20px auto 18px!important;
  }
}


/* MAPOLITIK v5.2.76 — final Arabic notification title micro-alignment
   Visual-only refinement. No data, locality, cascade, filters, notification rules, submission workflow, publication, media, or language logic changes. */
body.mapolitik-lang-ar.map-page-notifications h1,
body.mapolitik-lang-ar.map-page-notifications .entry-title,
body.mapolitik-lang-ar.map-page-notifications .page-title{
  max-width:896px!important;
  padding-right:24px!important;
  padding-left:0!important;
  box-sizing:border-box!important;
}
@media(max-width:980px){
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-notifications .entry-title,
  body.mapolitik-lang-ar.map-page-notifications .page-title{
    padding-right:16px!important;
    padding-left:0!important;
  }
}


/* MAPOLITIK v5.2.77 — final Arabic notification title boundary alignment
   Visual-only refinement. Aligns Arabic Notifications page title inside the same visual right boundary as the form block.
   No data, locality, cascade, filters, notification rules, submission workflow, publication, media, or language logic changes. */
body.mapolitik-lang-ar.map-page-notifications h1,
body.mapolitik-lang-ar.map-page-notifications .entry-title,
body.mapolitik-lang-ar.map-page-notifications .page-title{
  max-width:896px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:48px!important;
  box-sizing:border-box!important;
  text-align:right!important;
  direction:rtl!important;
}
@media(max-width:980px){
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-notifications .entry-title,
  body.mapolitik-lang-ar.map-page-notifications .page-title{
    max-width:calc(100vw - 32px)!important;
    padding-right:20px!important;
  }
}
@media(max-width:560px){
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-notifications .entry-title,
  body.mapolitik-lang-ar.map-page-notifications .page-title{
    padding-right:14px!important;
  }
}


/* MAPOLITIK v5.2.78 — definitive Arabic notification title border-start alignment
   Visual-only refinement. The Arabic Notifications page title block now uses the exact same outer width as the notification form block; no internal right padding, so the title starts on the same right border line as the form.
   No data, locality, cascade, filters, notification rules, submission workflow, publication, media, or language logic changes. */
body.mapolitik-lang-ar.map-page-notifications h1,
body.mapolitik-lang-ar.map-page-notifications .entry-title,
body.mapolitik-lang-ar.map-page-notifications .page-title{
  width:min(940px,calc(100vw - 48px))!important;
  max-width:none!important;
  margin:26px auto 22px!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
  text-align:right!important;
  direction:rtl!important;
}
@media(max-width:980px){
  body.mapolitik-lang-ar.map-page-notifications h1,
  body.mapolitik-lang-ar.map-page-notifications .entry-title,
  body.mapolitik-lang-ar.map-page-notifications .page-title{
    width:calc(100vw - 32px)!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}
