/* Rass Baalbeck Smart Village — premium interface layer 1.22.0 */
:root {
  --rbsv-ink: #071b33;
  --rbsv-navy: #082b54;
  --rbsv-blue: #1268d3;
  --rbsv-blue-dark: #0b4e9b;
  --rbsv-gold: #e7b94e;
  --rbsv-paper: #f5f8fc;
  --rbsv-line: #dce6f0;
  --rbsv-muted: #60738a;
  --rbsv-success: #16885d;
  --rbsv-danger: #c83f45;
  --rbsv-radius-sm: 10px;
  --rbsv-radius-md: 16px;
  --rbsv-radius-lg: 24px;
  --rbsv-shadow-sm: 0 8px 24px rgba(7, 38, 76, .06);
  --rbsv-shadow-lg: 0 24px 70px rgba(4, 29, 59, .14);
}

/* 1.24 — connected discovery, resident readiness and map usability */
.rbsv-smart-search-ready{position:relative!important}
.rbsv-search-suggestions{position:absolute;z-index:180;inset-inline:0;top:calc(100% + 9px);overflow:hidden;max-height:min(430px,70vh);overflow-y:auto;border:1px solid #cfdaea;border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(7,27,51,.16);text-align:start}
.rbsv-search-suggestions[hidden]{display:none!important}
.rbsv-search-suggestions a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;border-bottom:1px solid #edf2f8;color:#071b33!important;text-decoration:none!important}
.rbsv-search-suggestions a:hover,.rbsv-search-suggestions a.is-active{background:#f0f6ff}
.rbsv-search-suggestions a span{display:grid;min-width:0;gap:2px}
.rbsv-search-suggestions a small{color:#1268d3;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.rbsv-search-suggestions a strong{overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}
.rbsv-search-suggestions a em{overflow:hidden;color:#5e7189;font-size:12px;font-style:normal;white-space:nowrap;text-overflow:ellipsis}
.rbsv-search-suggestions a>b{flex:0 0 auto;color:#1268d3;font-size:18px}
.rbsv-search-suggestions .rbsv-search-all-results{justify-content:center;border:0;background:#071b33;color:#fff!important;font-size:13px;font-weight:800}
.rbsv-search-suggestion-empty{margin:0;padding:18px;color:#52667e;font-size:13px;text-align:center}
.rbsv-result-filters{display:flex;gap:7px;margin:0 0 22px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}
.rbsv-result-filters a{flex:0 0 auto;padding:9px 13px;border:1px solid #d7e1ee;border-radius:999px;background:#fff;color:#324b69!important;font-size:12px;font-weight:750;text-decoration:none!important}
.rbsv-result-filters a.is-active,.rbsv-result-filters a:hover{border-color:#1268d3;background:#1268d3;color:#fff!important}
.rbsv-search-empty>div{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:17px}
.rbsv-search-empty>div a{padding:9px 12px;border:1px solid #cfdbea;border-radius:10px;color:#0d5dbb!important;font-size:12px;font-weight:750;text-decoration:none!important}

.rbsv-account-readiness{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:22px;margin-block:26px;padding:26px;border:1px solid #d5e0ee;border-radius:22px;background:linear-gradient(110deg,#fff 0%,#fff 63%,#f0f6ff 100%);box-shadow:0 15px 36px rgba(8,35,70,.08)}
.rbsv-readiness-copy h2{margin:6px 0 7px;color:#071b33;font-size:clamp(24px,3vw,38px);line-height:1.12}
.rbsv-readiness-copy p{max-width:620px;margin:0;color:#607187}
.rbsv-readiness-meter{height:8px;margin:20px 0 13px;overflow:hidden;border-radius:99px;background:#dce7f4}
.rbsv-readiness-meter i{display:block;height:100%;border-radius:inherit;background:#16885d}
.rbsv-readiness-copy>a{color:#0b62c3!important;font-size:13px;font-weight:800;text-decoration:none!important}
.rbsv-alert-preferences{padding:18px;border:1px solid #dbe5f1;border-radius:16px;background:#fff}
.rbsv-alert-preferences fieldset{margin:0;padding:0;border:0}
.rbsv-alert-preferences legend{color:#071b33;font-size:16px;font-weight:850}
.rbsv-alert-preferences fieldset>p{margin:3px 0 13px;color:#607187;font-size:12px}
.rbsv-alert-preferences fieldset>div{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.rbsv-alert-preferences label{position:relative;cursor:pointer}
.rbsv-alert-preferences input{position:absolute;opacity:0;pointer-events:none}
.rbsv-alert-preferences label span{display:block;padding:8px 10px;border:1px solid #d5e0ed;border-radius:9px;color:#425a75;font-size:11px;font-weight:750}
.rbsv-alert-preferences input:checked+span{border-color:#1268d3;background:#eaf3ff;color:#0a58ad}
.rbsv-alert-preferences .rbsv-button{min-height:38px;padding:8px 14px;font-size:12px}

.rbsv-map-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0 0}
.rbsv-map-tools button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 14px;border:1px solid #cbd9e9;border-radius:11px;background:#fff;color:#0a3f7e;font-weight:800;cursor:pointer}
.rbsv-map-tools button:hover,.rbsv-map-tools button:focus-visible{border-color:#1268d3;background:#edf5ff}
.rbsv-map-tools p{margin:0;color:#64768c;font-size:12px}
.rbsv-map-user-location{display:grid;place-items:center;width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:#1268d3;box-shadow:0 0 0 6px rgba(18,104,211,.2)}
.rbsv-map-filters [data-rbsv-map-filter="open-businesses"]>b{color:#16885d}

.rbsv-insights-admin{max-width:1180px}
.rbsv-insights-admin>p{max-width:850px;color:#52667e;font-size:14px}
.rbsv-insight-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
.rbsv-insight-cards a{display:grid;gap:4px;padding:19px;border:1px solid #d7e1ed;border-radius:14px;background:#fff;color:#071b33;text-decoration:none;box-shadow:0 7px 20px rgba(7,27,51,.05)}
.rbsv-insight-cards a:hover{border-color:#1268d3}
.rbsv-insight-cards small{color:#1268d3;font-weight:800;text-transform:uppercase}
.rbsv-insight-cards strong{font-size:34px;line-height:1}
.rbsv-insight-cards span{color:#65778c;font-size:12px}
.rbsv-insight-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px}
.rbsv-insight-grid>section{padding:20px;border:1px solid #d7e1ed;border-radius:14px;background:#fff}
.rbsv-insight-grid h2{margin-top:0}
.rbsv-insight-grid ol{margin:0;padding-inline-start:21px;color:#435a74;line-height:1.8}

@media(max-width:800px){
  .rbsv-search-suggestions{inset-inline:-2px;border-radius:13px}
  .rbsv-search-suggestions a{padding:11px 12px}
  .rbsv-account-readiness{grid-template-columns:1fr;margin-block:18px;padding:18px;border-radius:17px;background:#fff}
  .rbsv-account-readiness h2{font-size:25px}
  .rbsv-alert-preferences{padding:14px}
  .rbsv-map-tools{align-items:flex-start;flex-direction:column}
  .rbsv-map-tools p{max-width:42ch}
  .rbsv-insight-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rbsv-insight-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .rbsv-search-suggestions a em{display:none}
  .rbsv-insight-cards{grid-template-columns:1fr}
}

/* 1.23.0 homepage system: intentional desktop, tablet and mobile compositions. */
.rbsv-app .rbsv-home-v2{overflow:clip;background:#fff;color:#0a2547}
.rbsv-app.is-arabic,.rbsv-app.is-arabic button,.rbsv-app.is-arabic input{font-family:"Noto Kufi Arabic",Tahoma,Arial,sans-serif!important}
.rbsv-app :where(a,button,input):focus-visible{outline:3px solid rgba(20,105,216,.38)!important;outline-offset:3px!important}
.rbsv-app .rbsv-home-hero-v2{min-height:620px!important;max-height:760px!important}
.rbsv-app .rbsv-home-hero-content{padding-block:112px 126px!important}
.rbsv-app .rbsv-home-hero-copy{max-width:760px!important}
.rbsv-app .rbsv-home-hero-copy h1{font-size:clamp(50px,5.8vw,86px)!important;letter-spacing:-.055em!important;line-height:.98!important}
.rbsv-app.is-arabic .rbsv-home-hero-copy h1{font-size:clamp(46px,5vw,72px)!important;letter-spacing:-.025em!important;line-height:1.22!important}
.rbsv-app .rbsv-home-hero-copy p{max-width:660px!important;font-size:clamp(16px,1.35vw,20px)!important;line-height:1.7!important}
.rbsv-app .rbsv-home-weather-card{width:300px!important;padding:20px!important;border-radius:18px!important;background:rgba(7,27,51,.78)!important;box-shadow:0 18px 50px rgba(0,12,29,.26)!important}
.rbsv-app .rbsv-home-weather-card section{min-height:88px!important;border-radius:14px!important}
.rbsv-app .rbsv-home-weather-card section strong{font-size:44px!important}
.rbsv-app .rbsv-home-weather-card footer span{min-height:54px!important}
.rbsv-app .rbsv-home-slider-nav>div{gap:2px!important;padding:2px!important;border:0!important;background:rgba(4,20,40,.5)!important}
.rbsv-app .rbsv-home-slider-nav [data-slide-to]{position:relative;width:36px!important;height:36px!important;min-width:36px!important;background:transparent!important}
.rbsv-app .rbsv-home-slider-nav [data-slide-to]::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s}
.rbsv-app .rbsv-home-slider-nav [data-slide-to].is-active{width:36px!important;background:transparent!important}
.rbsv-app .rbsv-home-slider-nav [data-slide-to].is-active::before{width:11px;height:11px;background:#e7b94e;box-shadow:0 0 0 4px rgba(231,185,78,.2)}
.rbsv-app .rbsv-home-command-wrap{margin-top:-26px!important}
.rbsv-app .rbsv-home-command{border-radius:16px!important;box-shadow:0 16px 45px rgba(8,39,76,.11)!important}
.rbsv-app .rbsv-home-command-search{grid-template-columns:210px minmax(0,1fr)!important;gap:16px!important;padding:11px!important}
.rbsv-app .rbsv-home-command form{grid-template-columns:42px minmax(0,1fr) auto!important;min-height:56px!important}
.rbsv-app .rbsv-home-command form>button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:auto!important;min-width:104px!important;height:44px!important;padding:0 15px!important;color:#fff!important;font-size:13px!important;font-weight:800!important}
.rbsv-app .rbsv-home-command form>button::after{display:none!important}
.rbsv-app .rbsv-home-command form>button b{font-size:17px!important;font-weight:500!important}
.rbsv-app.is-arabic .rbsv-home-command form>button b{transform:rotate(180deg)}
.rbsv-app .rbsv-home-pulse>.rbsv-shell{border-radius:0 0 16px 16px!important;box-shadow:0 12px 30px rgba(8,39,76,.05)!important}
.rbsv-app .rbsv-home-pulse a{min-height:82px!important;padding:15px!important}
.rbsv-app .rbsv-home-pulse a:focus-visible{z-index:2}
.rbsv-app .rbsv-home-section{padding-block:84px!important}
.rbsv-app .rbsv-home-heading{align-items:end!important;margin-bottom:34px!important}
.rbsv-app .rbsv-home-heading h2{max-width:16ch!important;font-size:clamp(42px,4.5vw,64px)!important;line-height:1.02!important;letter-spacing:-.05em!important}
.rbsv-app.is-arabic .rbsv-home-heading h2{letter-spacing:-.02em!important;line-height:1.3!important}
.rbsv-app .rbsv-home-heading>p{max-width:48ch!important;font-size:15px!important;line-height:1.75!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-actions-grid{gap:12px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action{min-height:148px!important;border-radius:15px!important;box-shadow:none!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action:nth-child(1){min-height:228px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action:hover{transform:translateY(-2px)!important;box-shadow:0 14px 32px rgba(10,42,80,.08)!important}
.rbsv-app .rbsv-home-more-links a{min-height:58px!important;padding:12px 14px!important;font-size:12px!important}
.rbsv-app .rbsv-home-today{padding-block:84px!important;background:#071b33!important}
.rbsv-app .rbsv-home-today .rbsv-home-heading-light h2{color:#f7fbff!important;text-shadow:none!important}
.rbsv-app .rbsv-home-today .rbsv-home-heading-light>p{color:#c7d6e7!important}
.rbsv-app .rbsv-home-today-grid{gap:16px!important}
.rbsv-app .rbsv-home-news-column,.rbsv-app .rbsv-home-events-column{padding:20px!important;border-radius:18px!important;background:rgba(255,255,255,.07)!important}
.rbsv-app .rbsv-home-news-column>header,.rbsv-app .rbsv-home-events-column>header{min-height:44px!important}
.rbsv-app .rbsv-home-empty{display:flex!important;min-height:230px!important;padding:28px!important;flex-direction:column;justify-content:center;border-radius:14px!important}
.rbsv-app .rbsv-home-empty h3{margin-block:12px 7px!important;font-size:24px!important}
.rbsv-app .rbsv-home-empty p{max-width:54ch!important;margin-bottom:16px!important;font-size:13px!important;line-height:1.6!important}
.rbsv-app .rbsv-home-empty a{display:inline-flex!important;align-items:center!important;min-height:44px!important}
.rbsv-app .rbsv-home-municipality{padding-block:84px!important;background:#f6f9fd!important}
.rbsv-app .rbsv-home-municipality>.rbsv-shell{grid-template-columns:minmax(0,.9fr) minmax(440px,1.05fr)!important;gap:56px!important}
.rbsv-app .rbsv-home-civic-copy h2{font-size:clamp(40px,4.3vw,60px)!important}
.rbsv-app.is-arabic .rbsv-home-civic-copy h2{line-height:1.25!important;letter-spacing:-.02em!important}
.rbsv-app .rbsv-home-civic-copy>div{display:flex!important;flex-wrap:wrap!important;gap:9px!important}
.rbsv-app .rbsv-home-civic-copy>div a{display:inline-flex!important;align-items:center!important;min-height:48px!important;padding:0 18px!important;border-radius:10px!important}
.rbsv-app .rbsv-home-civic-steps>span{min-height:88px!important;padding:16px!important;border-radius:13px!important;background:#fff!important}
.rbsv-app .rbsv-home-civic-steps b{width:46px!important;height:46px!important}
.rbsv-app .rbsv-home-community-grid{gap:12px!important}
.rbsv-app .rbsv-home-community-grid>a{border-radius:15px!important;box-shadow:none!important}
.rbsv-app .rbsv-home-community-grid>a.is-large{min-height:270px!important;padding:32px!important;background:linear-gradient(125deg,#082b54,#1268d3)!important}
.rbsv-app .rbsv-home-community-grid>a.is-large h3{max-width:22ch!important;font-size:clamp(27px,3vw,40px)!important;line-height:1.12!important}
.rbsv-app .rbsv-home-community-grid>a:not(.is-large){min-height:136px!important;padding:18px!important}
.rbsv-app .rbsv-home-map-section>.rbsv-shell{gap:48px!important}
.rbsv-app .rbsv-home-map-frame,.rbsv-app .rbsv-home-map-frame .rbsv-live-map{min-height:380px!important;border-radius:18px!important}
.rbsv-app .rbsv-home-map-frame .rbsv-map-marker{width:29px!important;height:29px!important;border-width:2px!important}
.rbsv-app .rbsv-home-final-cta{padding:78px 0 92px!important;background:#eef4fb!important}
.rbsv-app .rbsv-home-final-cta>.rbsv-shell{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:48px!important;align-items:center!important;padding:44px!important;border:0!important;border-radius:20px!important;background:#082b54!important;box-shadow:0 22px 50px rgba(8,43,84,.16)!important}
.rbsv-app .rbsv-home-final-cta h2{max-width:18ch!important;color:#fff!important;font-size:clamp(36px,4vw,56px)!important;line-height:1.04!important}
.rbsv-app .rbsv-home-final-cta p{max-width:66ch!important;color:#c9d9ea!important}
.rbsv-app .rbsv-home-final-copy>span{color:#87c1ff!important}
.rbsv-app .rbsv-home-final-copy ul{display:flex!important;flex-wrap:wrap!important;gap:8px 20px!important;margin:20px 0 0!important;padding:0!important;list-style:none!important;color:#eaf3ff!important;font-size:12px!important}
.rbsv-app .rbsv-home-final-copy li::before{content:"✓";margin-inline-end:7px;color:#e7b94e;font-weight:900}
.rbsv-app .rbsv-home-final-cta>.rbsv-shell>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:0 22px!important;border-radius:11px!important;background:#fff!important;color:#082b54!important;font-weight:850!important;white-space:nowrap!important}
.rbsv-app .rbsv-home-final-cta>.rbsv-shell>a b{margin-inline-start:10px!important}
.rbsv-app .rbsv-lang a,.rbsv-app .rbsv-menu-toggle,.rbsv-app .leaflet-control-zoom a{min-width:44px!important;min-height:44px!important}

@media(max-width:1024px){
.rbsv-app .rbsv-home-hero-v2{min-height:610px!important}
.rbsv-app .rbsv-home-hero-content{padding-block:90px 220px!important}
.rbsv-app .rbsv-home-weather-card{right:24px!important;bottom:58px!important;left:auto!important;width:285px!important}
.rbsv-app .rbsv-home-command-search{grid-template-columns:180px minmax(0,1fr)!important}
.rbsv-app .rbsv-home-pulse>.rbsv-shell{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.rbsv-app .rbsv-home-municipality>.rbsv-shell{grid-template-columns:1fr 1fr!important;gap:34px!important}
.rbsv-app .rbsv-home-community-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.rbsv-app .rbsv-home-community-grid>a.is-large{grid-column:1/-1!important}
.rbsv-app .rbsv-home-map-section>.rbsv-shell{grid-template-columns:1fr!important}
.rbsv-app .rbsv-home-map-copy{max-width:720px!important}
}
@media(max-width:760px){
.rbsv-app .rbsv-home-hero-v2{min-height:600px!important;max-height:none!important}
.rbsv-app .rbsv-home-hero-content{align-items:flex-start!important;padding:62px 20px 204px!important}
.rbsv-app .rbsv-home-hero-copy{max-width:none!important}
.rbsv-app .rbsv-home-hero-copy h1{max-width:10ch!important;font-size:clamp(40px,12vw,58px)!important}
.rbsv-app.is-arabic .rbsv-home-hero-copy h1{max-width:12ch!important;font-size:clamp(36px,10.5vw,50px)!important;line-height:1.2!important}
.rbsv-app .rbsv-home-hero-copy p{display:-webkit-box!important;max-width:36ch!important;overflow:hidden!important;font-size:14px!important;line-height:1.65!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rbsv-app .rbsv-home-hero-actions{gap:8px!important}
.rbsv-app .rbsv-home-hero-actions a{min-height:46px!important;padding-inline:15px!important;font-size:12px!important}
.rbsv-app .rbsv-home-weather-card{right:18px!important;bottom:52px!important;left:18px!important;width:auto!important;padding:13px 14px!important;border-radius:16px!important}
.rbsv-app .rbsv-home-weather-card>div{margin-bottom:7px!important}
.rbsv-app .rbsv-home-weather-card section{min-height:64px!important;padding:9px 13px!important}
.rbsv-app .rbsv-home-weather-card section strong{font-size:34px!important}
.rbsv-app .rbsv-home-weather-card section i{font-size:26px!important}
.rbsv-app .rbsv-home-weather-card>p,.rbsv-app .rbsv-home-weather-card>footer{display:none!important}
.rbsv-app .rbsv-home-weather-card>a:last-child{display:inline-flex!important;align-items:center!important;min-height:38px!important;margin-top:5px!important}
.rbsv-app .rbsv-home-slider-nav{bottom:8px!important}
.rbsv-app .rbsv-home-command-wrap{margin-top:0!important;padding:12px 14px!important;background:#f4f8fc!important}
.rbsv-app .rbsv-home-command{border:0!important;box-shadow:none!important}
.rbsv-app .rbsv-home-command-search{display:block!important;padding:8px!important}
.rbsv-app .rbsv-home-command-intro{display:none!important}
.rbsv-app .rbsv-home-command form{grid-template-columns:36px minmax(0,1fr) auto!important;min-height:54px!important}
.rbsv-app .rbsv-home-command input{font-size:13px!important}
.rbsv-app .rbsv-home-command form>button{min-width:86px!important;height:44px!important;padding-inline:12px!important}
.rbsv-app .rbsv-home-pulse{overflow:hidden!important}
.rbsv-app .rbsv-home-pulse>.rbsv-shell{display:flex!important;gap:0!important;margin:0!important;padding:0 14px 12px!important;overflow-x:auto!important;border-radius:0!important;background:#f4f8fc!important;box-shadow:none!important;scroll-snap-type:x mandatory;scrollbar-width:none}
.rbsv-app .rbsv-home-pulse>.rbsv-shell::-webkit-scrollbar{display:none}
.rbsv-app .rbsv-home-pulse a{flex:0 0 82%!important;min-height:76px!important;border:1px solid #dce6f0!important;border-radius:12px!important;background:#fff!important;scroll-snap-align:start}
.rbsv-app .rbsv-home-pulse a+a{margin-inline-start:8px!important}
.rbsv-app .rbsv-home-section{padding-block:58px!important}
.rbsv-app .rbsv-home-heading{display:block!important;margin-bottom:24px!important}
.rbsv-app .rbsv-home-heading h2{max-width:13ch!important;font-size:clamp(34px,10vw,45px)!important}
.rbsv-app.is-arabic .rbsv-home-heading h2{font-size:clamp(31px,9vw,40px)!important}
.rbsv-app .rbsv-home-heading>p{margin-top:12px!important;font-size:13px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action{min-height:112px!important;padding:14px!important;gap:14px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action>i{width:40px!important;height:40px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action>b{display:none!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action strong{font-size:13px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action small{display:-webkit-box!important;overflow:hidden!important;font-size:9px!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rbsv-app .rbsv-home-essentials .rbsv-home-action:nth-child(1){grid-column:1/-1!important;min-height:152px!important;padding:20px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action:nth-child(1)>b{display:grid!important;right:20px!important;bottom:20px!important;width:40px!important;height:40px!important}
.rbsv-app.is-arabic .rbsv-home-essentials .rbsv-home-action:nth-child(1)>b{right:auto!important;left:20px!important}
.rbsv-app .rbsv-home-essentials .rbsv-home-action:nth-child(1) strong{font-size:22px!important}
.rbsv-app .rbsv-home-more-links,.rbsv-app .rbsv-home-essentials .rbsv-essential-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:7px!important;border-radius:14px!important}
.rbsv-app .rbsv-home-more-links a,.rbsv-app .rbsv-home-essentials .rbsv-essential-cards>a{min-height:56px!important;padding:9px!important;border:0!important;border-radius:9px!important;background:#f5f8fc!important;font-size:10px!important}
.rbsv-app .rbsv-home-today{padding-block:58px!important}
.rbsv-app .rbsv-home-today-grid{grid-template-columns:1fr!important}
.rbsv-app .rbsv-home-news-column,.rbsv-app .rbsv-home-events-column{padding:15px!important}
.rbsv-app .rbsv-home-empty{min-height:168px!important;padding:20px!important}
.rbsv-app .rbsv-home-empty h3{font-size:20px!important}
.rbsv-app .rbsv-home-municipality>.rbsv-shell{grid-template-columns:1fr!important;gap:26px!important}
.rbsv-app .rbsv-home-civic-copy h2{font-size:clamp(34px,9.5vw,43px)!important}
.rbsv-app .rbsv-home-civic-copy p{font-size:13px!important;line-height:1.7!important}
.rbsv-app .rbsv-home-civic-copy>div a{flex:1 1 145px!important;justify-content:center!important}
.rbsv-app .rbsv-home-civic-steps>span{grid-template-columns:44px minmax(0,1fr)!important;min-height:82px!important;padding:13px!important}
.rbsv-app .rbsv-home-civic-steps b{width:40px!important;height:40px!important}
.rbsv-app .rbsv-home-civic-steps strong{font-size:14px!important}
.rbsv-app .rbsv-home-civic-steps small{font-size:10px!important}
.rbsv-app .rbsv-home-community-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.rbsv-app .rbsv-home-community-grid>a.is-large{min-height:220px!important;padding:24px!important}
.rbsv-app .rbsv-home-community-grid>a.is-large h3{font-size:27px!important}
.rbsv-app .rbsv-home-community-grid>a:not(.is-large){min-height:120px!important;padding:14px!important}
.rbsv-app .rbsv-home-community-grid>a:not(.is-large) p{display:none!important}
.rbsv-app .rbsv-home-community-grid>a:not(.is-large) h3{font-size:13px!important}
.rbsv-app .rbsv-home-map-frame,.rbsv-app .rbsv-home-map-frame .rbsv-live-map{min-height:300px!important}
.rbsv-app .rbsv-home-final-cta{padding:52px 14px 116px!important}
.rbsv-app .rbsv-home-final-cta>.rbsv-shell{grid-template-columns:1fr!important;gap:24px!important;padding:26px 22px!important;border-radius:17px!important}
.rbsv-app .rbsv-home-final-cta h2{font-size:34px!important}
.rbsv-app .rbsv-home-final-copy ul{display:grid!important;gap:7px!important}
.rbsv-app .rbsv-home-final-cta>.rbsv-shell>a{width:100%!important}
.rbsv-app .rbsv-assistant-toggle{width:46px!important;height:46px!important;min-width:46px!important;border-radius:50%!important}
}
@media(max-width:390px){
.rbsv-app .rbsv-home-hero-content{padding-inline:16px!important}
.rbsv-app .rbsv-home-command form>button{min-width:48px!important;padding:0!important}
.rbsv-app .rbsv-home-command form>button span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.rbsv-app .rbsv-home-pulse a{flex-basis:88%!important}
.rbsv-app .rbsv-home-community-grid>a:not(.is-large){min-height:112px!important}
}

.rbsv-app,
.rbsv-app button,
.rbsv-app input,
.rbsv-app select,
.rbsv-app textarea { font-family: Inter, "Segoe UI", Arial, sans-serif; }
.rbsv-app.is-arabic,
.rbsv-app.is-arabic button,
.rbsv-app.is-arabic input,
.rbsv-app.is-arabic select,
.rbsv-app.is-arabic textarea { font-family: "Noto Kufi Arabic", "GE SS Two", Tahoma, sans-serif !important; }
.rbsv-app * { box-sizing: border-box; }
.rbsv-app a:focus-visible,
.rbsv-app button:focus-visible,
.rbsv-app input:focus-visible,
.rbsv-app select:focus-visible,
.rbsv-app textarea:focus-visible { outline: 3px solid rgba(18, 104, 211, .34) !important; outline-offset: 3px; }

/* Header */
.rbsv-alertbar { background: var(--rbsv-navy) !important; color: #fff !important; }
.rbsv-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(7, 38, 76, .08); background: rgba(255,255,255,.97) !important; box-shadow: 0 8px 30px rgba(7, 38, 76, .05); backdrop-filter: blur(12px); }
.rbsv-header-inner { min-height: 86px; gap: 24px; }
.rbsv-brand strong { color: var(--rbsv-blue) !important; letter-spacing: -.02em; }
.rbsv-brand small { color: #52677f !important; letter-spacing: .12em; }
.rbsv-nav { gap: 8px !important; }
.rbsv-nav > a:not(.rbsv-nav-button) { position: relative; padding: 12px 8px !important; color: var(--rbsv-ink) !important; font-weight: 680; }
.rbsv-nav > a:not(.rbsv-nav-button)::after { content: ""; position: absolute; right: 8px; bottom: 5px; left: 8px; height: 2px; background: var(--rbsv-blue); transform: scaleX(0); transition: transform .18s ease; }
.rbsv-nav > a:not(.rbsv-nav-button):hover::after { transform: scaleX(1); }
.rbsv-nav-button { min-height: 46px; padding: 0 20px !important; border-radius: 12px !important; background: var(--rbsv-blue) !important; color: #fff !important; box-shadow: 0 8px 20px rgba(18,104,211,.18); }

/* Reliable, editorial hero */
.rbsv-home-hero-v2 { position: relative !important; min-height: clamp(620px, 72vh, 760px) !important; overflow: hidden !important; background: var(--rbsv-ink) !important; }
.rbsv-home-hero-slides,
.rbsv-home-hero-v2 .rbsv-slide { position: absolute !important; inset: 0 !important; width: 100% !important; min-height: 100% !important; margin: 0 !important; }
.rbsv-home-hero-v2 .rbsv-slide { display: block !important; visibility: hidden; opacity: 0; z-index: 0; transition: opacity .55s ease, visibility .55s ease; }
.rbsv-home-hero-v2 .rbsv-slide.is-active { visibility: visible; opacity: 1; z-index: 1; }
.rbsv-home-hero-v2 .rbsv-slide > img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center 48% !important; }
.rbsv-home-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,18,36,.92) 0%, rgba(4,30,58,.72) 43%, rgba(4,24,47,.18) 78%), linear-gradient(0deg, rgba(2,18,35,.5), transparent 50%); }
.rbsv-home-hero-content { position: relative; z-index: 3; display: flex !important; align-items: center; min-height: clamp(620px, 72vh, 760px); }
.rbsv-home-hero-copy { width: min(660px, 55vw); margin: 0 !important; padding-block: 70px 100px; color: #fff; }
.rbsv-home-eyebrow { color: #dcecff !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .13em; }
.rbsv-home-hero-copy h1 { max-width: 12ch; margin: 22px 0 18px !important; color: #fff !important; font-size: clamp(56px, 6vw, 90px) !important; font-weight: 760 !important; line-height: .98 !important; letter-spacing: -.055em !important; text-wrap: balance; }
.rbsv-home-hero-copy p { max-width: 54ch; color: #d8e3ef !important; font-size: clamp(16px, 1.35vw, 20px) !important; line-height: 1.7 !important; }
.rbsv-home-hero-actions { display: flex !important; flex-wrap: wrap; gap: 12px !important; margin-top: 32px !important; }
.rbsv-home-primary-button,
.rbsv-home-secondary-button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 52px; padding: 0 20px !important; border: 1px solid rgba(255,255,255,.28) !important; border-radius: 12px !important; font-weight: 760 !important; }
.rbsv-home-primary-button { border-color: #fff !important; background: #fff !important; color: var(--rbsv-ink) !important; }
.rbsv-home-secondary-button { background: rgba(255,255,255,.08) !important; color: #fff !important; backdrop-filter: blur(8px); }
.rbsv-home-primary-button:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(0,0,0,.2); }
.rbsv-home-weather-card { z-index: 5 !important; right: max(24px, calc((100vw - 1380px)/2)) !important; width: 330px !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 20px !important; background: rgba(8,31,60,.72) !important; box-shadow: var(--rbsv-shadow-lg) !important; backdrop-filter: blur(18px); }
.rbsv-home-slider-nav { z-index: 8 !important; bottom: 36px !important; left: 50% !important; display: block !important; width: auto !important; transform: translateX(-50%); }
.rbsv-home-slider-nav > div { display: flex !important; gap: 9px !important; align-items: center; padding: 10px 12px !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 99px !important; background: rgba(5,23,45,.55) !important; backdrop-filter: blur(10px); }
.rbsv-home-slider-nav [data-slide-to] { width: 8px !important; height: 8px !important; min-width: 8px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: rgba(255,255,255,.45) !important; box-shadow: none !important; }
.rbsv-home-slider-nav [data-slide-to].is-active { width: 24px !important; border-radius: 8px !important; background: #fff !important; }

/* Search command */
.rbsv-home-command-wrap { position: relative; z-index: 20; margin-top: -30px !important; }
.rbsv-home-command { border: 1px solid var(--rbsv-line) !important; border-radius: 18px !important; background: #fff !important; box-shadow: var(--rbsv-shadow-lg) !important; }
.rbsv-home-command-search { display: grid !important; grid-template-columns: 240px minmax(0,1fr) !important; align-items: center; gap: 22px; padding: 14px !important; }
.rbsv-home-command-intro { padding: 2px 14px !important; border-right: 1px solid var(--rbsv-line); }
.rbsv-app.is-arabic .rbsv-home-command-intro { border-right: 0; border-left: 1px solid var(--rbsv-line); }
.rbsv-home-command-intro span { color: var(--rbsv-blue) !important; font-size: 10px !important; font-weight: 850 !important; letter-spacing: .14em; }
.rbsv-home-command-intro strong { display: block; margin-top: 4px; color: var(--rbsv-ink) !important; font-size: 17px !important; }
.rbsv-home-command form { display: grid !important; grid-template-columns: 42px minmax(0,1fr) 48px !important; align-items: center; min-height: 54px; border: 1px solid #d8e4ef !important; border-radius: 13px !important; background: var(--rbsv-paper) !important; }
.rbsv-home-command input { min-width: 0; border: 0 !important; background: transparent !important; color: var(--rbsv-ink) !important; font-size: 15px !important; }
.rbsv-home-command form > button { position: relative; width: 40px !important; height: 40px !important; margin: 4px !important; border: 0 !important; border-radius: 10px !important; background: var(--rbsv-blue) !important; }
.rbsv-home-command form > button::after { content: "→"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 18px; }
.rbsv-app.is-arabic .rbsv-home-command form > button::after { content: "←"; }

/* Signature Village Pulse */
.rbsv-home-pulse { padding: 58px 0 10px !important; background: #fff !important; }
.rbsv-home-pulse > .rbsv-shell { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; border: 1px solid var(--rbsv-line); border-radius: 18px; overflow: hidden; background: #fff; box-shadow: var(--rbsv-shadow-sm); }
.rbsv-home-pulse a { position: relative; display: grid !important; grid-template-columns: 12px minmax(0,1fr) 18px; gap: 10px; align-items: center; min-height: 92px; padding: 15px 16px !important; color: var(--rbsv-ink) !important; }
.rbsv-home-pulse a + a { border-left: 1px solid var(--rbsv-line); }
.rbsv-app.is-arabic .rbsv-home-pulse a + a { border-left: 0; border-right: 1px solid var(--rbsv-line); }
.rbsv-home-pulse a > i { width: 9px !important; height: 9px !important; border-radius: 50%; background: #7a8ca1; box-shadow: 0 0 0 5px rgba(122,140,161,.1); }
.rbsv-home-pulse a.is-open > i { background: var(--rbsv-success); box-shadow: 0 0 0 5px rgba(22,136,93,.12); }
.rbsv-home-pulse a.is-event > i { background: var(--rbsv-gold); }
.rbsv-home-pulse a.is-alert > i { background: var(--rbsv-danger); }
.rbsv-home-pulse small { display: block; color: var(--rbsv-muted) !important; font-size: 10px !important; font-weight: 780 !important; letter-spacing: .06em; text-transform: uppercase; }
.rbsv-home-pulse strong { display: -webkit-box; margin-top: 4px; overflow: hidden; color: var(--rbsv-ink) !important; font-size: 13px !important; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.rbsv-home-pulse b { color: var(--rbsv-blue); }

/* Essentials */
.rbsv-home-essentials { padding: 96px 0 !important; background: var(--rbsv-paper) !important; }
.rbsv-home-heading { gap: 48px !important; margin-bottom: 38px !important; }
.rbsv-home-heading h2 { color: var(--rbsv-ink) !important; font-weight: 760 !important; letter-spacing: -.045em !important; }
.rbsv-home-heading > p { color: var(--rbsv-muted) !important; line-height: 1.75 !important; }
.rbsv-home-actions-grid { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 14px !important; }
.rbsv-home-action { position: relative; display: flex !important; flex-direction: column; align-items: flex-start !important; justify-content: space-between; min-height: 168px !important; padding: 22px !important; border: 1px solid var(--rbsv-line) !important; border-radius: var(--rbsv-radius-md) !important; background: #fff !important; box-shadow: 0 8px 24px rgba(7,38,76,.035) !important; color: var(--rbsv-ink) !important; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.rbsv-home-action:hover { transform: translateY(-3px); border-color: #aac7e5 !important; box-shadow: 0 18px 38px rgba(7,38,76,.09) !important; }
.rbsv-home-action > i { display: grid !important; place-items: center; width: 48px !important; height: 48px !important; border-radius: 13px !important; background: #eaf3fe !important; color: var(--rbsv-blue) !important; }
.rbsv-home-action > span strong { display: block; color: var(--rbsv-ink) !important; font-size: 17px !important; }
.rbsv-home-action > span small { display: block; margin-top: 5px; color: var(--rbsv-muted) !important; font-size: 11px !important; line-height: 1.5; }
.rbsv-home-action > b { position: absolute; top: 22px; right: 20px; color: var(--rbsv-blue); }
.rbsv-app.is-arabic .rbsv-home-action > b { right: auto; left: 20px; }
.rbsv-home-action:first-child { grid-column: span 2; grid-row: span 2; min-height: 350px !important; padding: 30px !important; background: var(--rbsv-navy) !important; border-color: var(--rbsv-navy) !important; color: #fff !important; }
.rbsv-home-action:first-child > i { width: 64px !important; height: 64px !important; border-radius: 17px !important; background: rgba(255,255,255,.12) !important; color: #fff !important; }
.rbsv-home-action:first-child > span { margin-top: auto; }
.rbsv-home-action:first-child strong { max-width: 13ch; color: #fff !important; font-size: 30px !important; line-height: 1.12; }
.rbsv-home-action:first-child small { max-width: 34ch; color: #d8e7f5 !important; font-size: 13px !important; }
.rbsv-home-action:first-child > b { top: auto; right: 30px; bottom: 30px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; }
.rbsv-app.is-arabic .rbsv-home-action:first-child > b { right: auto; left: 30px; }
.rbsv-home-more-links { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px !important; margin-top: 15px !important; overflow: hidden; border: 1px solid var(--rbsv-line); border-radius: 14px; background: var(--rbsv-line); }
.rbsv-home-more-links a { display: flex !important; align-items: center; min-height: 62px; padding: 14px !important; background: #fff !important; color: var(--rbsv-navy) !important; font-size: 12px !important; font-weight: 760; }

/* Today / news / events: explicit readable contrast */
.rbsv-home-today { position: relative; padding: 96px 0 !important; background: var(--rbsv-ink) !important; color: #fff; }
.rbsv-home-today .rbsv-home-heading-light h2 { color: #fff !important; text-shadow: none !important; }
.rbsv-home-today .rbsv-home-heading-light > div > span { color: #82bfff !important; }
.rbsv-home-today .rbsv-home-heading-light > p { color: #c9d8e8 !important; }
.rbsv-home-news-column,
.rbsv-home-events-column { border-color: rgba(255,255,255,.16) !important; background: rgba(255,255,255,.075) !important; box-shadow: none !important; }
.rbsv-home-news-column > header h3,
.rbsv-home-events-column > header h3,
.rbsv-home-empty h3 { color: #fff !important; }
.rbsv-home-news-column > header a,
.rbsv-home-events-column > header a,
.rbsv-home-empty a { color: #d7e9ff !important; }
.rbsv-home-empty { border-color: rgba(255,255,255,.16) !important; background: rgba(255,255,255,.04) !important; }
.rbsv-home-empty p { color: #c3d2e2 !important; }

/* Municipality: task-led, not decorative */
.rbsv-home-municipality { padding: 92px 0 !important; background: #fff !important; }
.rbsv-home-municipality > .rbsv-shell { display: grid !important; grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); gap: 70px !important; align-items: center; }
.rbsv-home-civic-copy h2 { color: var(--rbsv-ink) !important; font-size: clamp(42px,4.5vw,66px) !important; line-height: 1.02 !important; letter-spacing: -.05em !important; }
.rbsv-home-civic-copy p { color: var(--rbsv-muted) !important; line-height: 1.75 !important; }
.rbsv-home-civic-copy > div a:first-child { background: var(--rbsv-blue) !important; color: #fff !important; }
.rbsv-home-civic-steps { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; counter-reset: civic; }
.rbsv-home-civic-steps > span { display: grid !important; grid-template-columns: 58px minmax(0,1fr); gap: 2px 18px; min-height: 104px; padding: 20px !important; border: 1px solid var(--rbsv-line) !important; border-radius: 14px !important; background: var(--rbsv-paper) !important; }
.rbsv-home-civic-steps b { grid-row: 1 / span 2; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 12px; background: #e5f0fd; color: var(--rbsv-blue); }
.rbsv-home-civic-steps strong { color: var(--rbsv-ink) !important; font-size: 17px !important; }
.rbsv-home-civic-steps small { color: var(--rbsv-muted) !important; }

/* Directories */
.rbsv-directory-tools { border: 1px solid var(--rbsv-line) !important; border-radius: 20px !important; background: #fff !important; box-shadow: var(--rbsv-shadow-sm) !important; }
.rbsv-directory-search { border-radius: 14px !important; background: var(--rbsv-paper) !important; }
.rbsv-directory-search button { min-height: 46px; border-radius: 10px !important; background: var(--rbsv-blue) !important; color: #fff !important; }
.rbsv-directory-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 18px !important; }
.rbsv-directory-card { overflow: hidden !important; border: 1px solid var(--rbsv-line) !important; border-radius: 18px !important; background: #fff !important; box-shadow: var(--rbsv-shadow-sm) !important; }
.rbsv-directory-card .rbsv-listing-image { min-height: 210px !important; }
.rbsv-directory-card > div { min-width: 0 !important; padding: 22px !important; }
.rbsv-directory-card h3 { color: var(--rbsv-ink) !important; font-size: 21px !important; }
.rbsv-business-status { border-radius: 10px !important; }
.rbsv-business-status.is-open { background: #e9f7f1 !important; color: #126b4d !important; }
.rbsv-business-status.is-closed { background: #fff0f0 !important; color: #a92f36 !important; }

/* Marketplace */
.rbsv-marketplace-hero,
.rbsv-community-hero { border-radius: var(--rbsv-radius-lg) !important; background: var(--rbsv-navy) !important; }
.rbsv-marketplace-categories { gap: 12px !important; }
.rbsv-marketplace-categories a { border: 1px solid var(--rbsv-line) !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important; }
.rbsv-marketplace-categories a:hover,
.rbsv-marketplace-categories a.is-active { border-color: var(--rbsv-blue) !important; background: #edf5ff !important; }
.rbsv-market-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 16px !important; }
.rbsv-market-card { overflow: hidden; border: 1px solid var(--rbsv-line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: var(--rbsv-shadow-sm) !important; }
.rbsv-market-card .rbsv-market-image { aspect-ratio: 4/3; min-height: 0 !important; }
.rbsv-market-body { padding: 16px !important; }
.rbsv-market-body h3 { margin-block: 7px !important; font-size: 17px !important; }
.rbsv-market-price { color: var(--rbsv-blue-dark) !important; font-size: 19px !important; }
.rbsv-community-contact { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px !important; }
.rbsv-community-contact a { min-height: 42px; border-radius: 9px !important; }
.rbsv-community-contact .rbsv-market-details { grid-column: 1 / -1; background: var(--rbsv-blue) !important; color: #fff !important; }
.rbsv-empty { border: 1px dashed #bdcde0 !important; border-radius: 18px !important; background: var(--rbsv-paper) !important; }

/* Map */
.rbsv-live-map { min-height: 480px !important; border-radius: 18px !important; background: #dfe8f1 !important; }
.rbsv-smart-map-full .rbsv-live-map { min-height: min(68vh,700px) !important; }
.rbsv-map-filters { display: flex !important; gap: 8px !important; padding: 15px 0 2px !important; overflow-x: auto; scrollbar-width: thin; }
.rbsv-map-filters button { flex: 0 0 auto !important; display: inline-flex !important; align-items: center; min-height: 48px; padding: 8px 12px !important; border: 1px solid var(--rbsv-line) !important; border-radius: 12px !important; background: #fff !important; }
.rbsv-map-filters button.is-active { border-color: var(--rbsv-blue) !important; background: #eaf3ff !important; color: var(--rbsv-blue-dark) !important; }
.rbsv-map-filters button i { width: 30px !important; height: 30px !important; }
.rbsv-map-filters button small { display: none !important; }
.rbsv-map-marker-wrap { background: transparent !important; border: 0 !important; }
.rbsv-map-marker { position: relative; display: grid !important; place-items: center; width: 34px !important; height: 34px !important; border: 3px solid #fff !important; border-radius: 11px 11px 11px 3px !important; background: var(--rbsv-blue) !important; color: #fff !important; box-shadow: 0 7px 16px rgba(6,34,69,.26) !important; transform: rotate(-45deg); }
.rbsv-map-marker > b { font-size: 14px; line-height: 1; transform: rotate(45deg); }
.rbsv-map-marker.is-church { background: #7d4ab0 !important; }
.rbsv-map-marker.is-tourism { background: #c18126 !important; }
.rbsv-map-marker-status { position: absolute !important; right: -5px !important; bottom: -5px !important; width: 12px !important; height: 12px !important; border: 2px solid #fff !important; border-radius: 50% !important; transform: rotate(45deg); }
.rbsv-map-marker-status.is-open { background: #20a66f !important; }
.rbsv-map-marker-status.is-closed { background: #d34349 !important; }

/* Registration wizard and account */
.rbsv-join-layout { align-items: start !important; gap: 24px !important; }
.rbsv-community-panel { border: 1px solid var(--rbsv-line) !important; border-radius: 20px !important; background: #fff !important; box-shadow: var(--rbsv-shadow-sm) !important; }
.rbsv-account-type-choices { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px !important; }
.rbsv-account-type-choices button { min-height: 110px; border: 1px solid var(--rbsv-line) !important; border-radius: 14px !important; background: var(--rbsv-paper) !important; }
.rbsv-account-type-choices button.is-active { border-color: var(--rbsv-blue) !important; background: #eaf3ff !important; box-shadow: inset 0 0 0 1px var(--rbsv-blue); }
.rbsv-form-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin: 26px 0 20px; }
.rbsv-form-progress button { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; min-height: 54px; padding: 8px 10px; border: 1px solid var(--rbsv-line); border-radius: 11px; background: #fff; color: var(--rbsv-muted); text-align: left; }
.rbsv-app.is-arabic .rbsv-form-progress button { text-align: right; }
.rbsv-form-progress button b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #edf2f8; color: var(--rbsv-navy); }
.rbsv-form-progress button.is-active { border-color: var(--rbsv-blue); color: var(--rbsv-ink); }
.rbsv-form-progress button.is-active b { background: var(--rbsv-blue); color: #fff; }
.rbsv-form-step[hidden] { display: none !important; }
.rbsv-form-step { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; animation: rbsvStepIn .22s ease both; }
.rbsv-form-step-nav { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; }
.rbsv-form-step-nav button { min-height: 46px; padding: 0 20px; border: 1px solid var(--rbsv-line); border-radius: 10px; background: #fff; color: var(--rbsv-navy); font-weight: 760; }
.rbsv-form-step-nav button[data-rbsv-next] { margin-inline-start: auto; border-color: var(--rbsv-blue); background: var(--rbsv-blue); color: #fff; }
.rbsv-account-form > .rbsv-check,
.rbsv-account-form > button[type="submit"] { display: none; }
.rbsv-account-form.is-final-step > .rbsv-check { display: flex; margin-top: 20px; }
.rbsv-account-form.is-final-step > button[type="submit"] { display: inline-flex; margin-top: 14px; }
@keyframes rbsvStepIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }

/* Responsive behavior intentionally re-composed */
@media (max-width: 1100px) {
  .rbsv-home-weather-card { right: 24px !important; width: 300px !important; }
  .rbsv-home-pulse > .rbsv-shell { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .rbsv-home-pulse a:nth-child(4), .rbsv-home-pulse a:nth-child(5) { border-top: 1px solid var(--rbsv-line); }
  .rbsv-home-actions-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .rbsv-home-action:first-child { grid-column: span 2; grid-row: auto; min-height: 240px !important; }
  .rbsv-home-more-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rbsv-home-municipality > .rbsv-shell { grid-template-columns: 1fr 1fr; gap: 38px !important; }
  .rbsv-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .rbsv-market-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}

@media (max-width: 820px) {
  .rbsv-header-inner { min-height: 72px; }
  .rbsv-menu-toggle { position: relative; z-index: 1002; display: grid !important; place-content: center; width: 48px !important; height: 48px !important; border: 1px solid var(--rbsv-line) !important; border-radius: 12px !important; background: var(--rbsv-paper) !important; }
  .rbsv-menu-toggle span { display: block !important; width: 23px !important; height: 2px !important; margin: 3px 0 !important; background: var(--rbsv-ink) !important; transition: transform .2s ease, opacity .2s ease; }
  .rbsv-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .rbsv-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .rbsv-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  #rbsv-primary-nav { position: fixed !important; top: 72px !important; right: 12px !important; left: 12px !important; display: none !important; max-height: calc(100vh - 94px); padding: 14px !important; overflow-y: auto; border: 1px solid var(--rbsv-line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: var(--rbsv-shadow-lg) !important; }
  #rbsv-primary-nav.is-open { display: grid !important; gap: 2px !important; }
  #rbsv-primary-nav > a { display: flex !important; align-items: center; min-height: 48px; padding: 0 12px !important; border-radius: 9px !important; }
  #rbsv-primary-nav > a:hover { background: var(--rbsv-paper) !important; }
  #rbsv-primary-nav .rbsv-nav-button { justify-content: center; margin-top: 8px; }
  body.rbsv-menu-open { overflow: hidden; }
  .rbsv-home-hero-v2 { min-height: 650px !important; }
  .rbsv-home-hero-content { align-items: flex-start; min-height: 650px; }
  .rbsv-home-hero-copy { width: min(100%, 570px); padding: 72px 20px 250px; }
  .rbsv-home-hero-copy h1 { font-size: clamp(46px, 10vw, 66px) !important; }
  .rbsv-home-weather-card { right: 20px !important; bottom: 58px !important; left: 20px !important; width: auto !important; }
  .rbsv-home-slider-nav { bottom: 20px !important; }
  .rbsv-home-command-search { grid-template-columns: 1fr !important; gap: 10px; }
  .rbsv-home-command-intro { display: none !important; }
  .rbsv-home-pulse > .rbsv-shell { display: flex !important; margin-inline: 0 !important; padding-inline: max(18px, calc((100vw - 720px)/2)) !important; overflow-x: auto; border: 0; border-radius: 0; box-shadow: none; }
  .rbsv-home-pulse a { flex: 0 0 230px; border: 1px solid var(--rbsv-line) !important; border-radius: 13px; }
  .rbsv-home-heading { display: block !important; }
  .rbsv-home-heading > p { margin-top: 16px !important; }
  .rbsv-home-municipality > .rbsv-shell { grid-template-columns: 1fr; }
  .rbsv-market-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 560px) {
  .rbsv-alertbar .rbsv-languages { display: none !important; }
  .rbsv-brand small { font-size: 8px !important; }
  .rbsv-language-switcher { margin-inline-start: auto; }
  .rbsv-home-hero-v2 { min-height: 700px !important; }
  .rbsv-home-hero-content { min-height: 700px; }
  .rbsv-home-hero-overlay { background: linear-gradient(0deg, rgba(2,18,36,.96) 0%, rgba(4,28,54,.62) 70%, rgba(4,24,47,.25) 100%); }
  .rbsv-home-hero-copy { padding: 70px 18px 300px; }
  .rbsv-home-hero-copy h1 { max-width: 11ch; margin-top: 14px !important; font-size: 43px !important; line-height: 1.03 !important; }
  .rbsv-home-hero-copy p { display: -webkit-box; overflow: hidden; font-size: 14px !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
  .rbsv-home-primary-button, .rbsv-home-secondary-button { min-height: 48px; padding: 0 16px !important; font-size: 12px !important; }
  .rbsv-home-weather-card { padding: 16px !important; }
  .rbsv-home-command-wrap { margin-top: -18px !important; padding-inline: 14px !important; }
  .rbsv-home-command { border-radius: 15px !important; }
  .rbsv-home-command-search { padding: 9px !important; }
  .rbsv-home-command form { grid-template-columns: 38px minmax(0,1fr) 46px !important; min-height: 52px; }
  .rbsv-home-command input { font-size: 13px !important; }
  .rbsv-home-pulse { padding-top: 38px !important; }
  .rbsv-home-essentials, .rbsv-home-today, .rbsv-home-municipality { padding: 62px 0 !important; }
  .rbsv-home-heading h2, .rbsv-home-civic-copy h2 { font-size: 36px !important; letter-spacing: -.035em !important; }
  .rbsv-app.is-arabic .rbsv-home-heading h2, .rbsv-app.is-arabic .rbsv-home-civic-copy h2 { line-height: 1.35 !important; letter-spacing: 0 !important; }
  .rbsv-home-actions-grid { gap: 9px !important; }
  .rbsv-home-action { min-height: 145px !important; padding: 16px !important; }
  .rbsv-home-action:first-child { min-height: 210px !important; padding: 22px !important; }
  .rbsv-home-action:first-child strong { font-size: 24px !important; }
  .rbsv-home-action > b { display: none; }
  .rbsv-home-action:first-child > b { display: grid; right: 22px; bottom: 22px; }
  .rbsv-app.is-arabic .rbsv-home-action:first-child > b { right: auto; left: 22px; }
  .rbsv-home-action > span strong { font-size: 13px !important; }
  .rbsv-home-action > span small { font-size: 9px !important; }
  .rbsv-home-more-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rbsv-home-more-links a { min-height: 56px; font-size: 10px !important; }
  .rbsv-directory-grid { grid-template-columns: 1fr !important; }
  .rbsv-directory-card { display: grid !important; grid-template-columns: 118px minmax(0,1fr) !important; min-height: 170px; }
  .rbsv-directory-card .rbsv-listing-image { min-height: 100% !important; }
  .rbsv-directory-card > div { padding: 15px !important; }
  .rbsv-directory-card h3 { font-size: 17px !important; }
  .rbsv-market-grid { gap: 9px !important; }
  .rbsv-market-card { border-radius: 12px !important; }
  .rbsv-market-body { padding: 11px !important; }
  .rbsv-market-body h3 { font-size: 14px !important; }
  .rbsv-market-body > p, .rbsv-market-facts, .rbsv-listing-member { display: none !important; }
  .rbsv-market-price { font-size: 15px !important; }
  .rbsv-community-contact a { min-height: 38px; padding-inline: 6px !important; font-size: 10px !important; }
  .rbsv-live-map { min-height: 410px !important; border-radius: 14px !important; }
  .rbsv-smart-map-header { display: block !important; }
  .rbsv-map-filters button { min-height: 44px; }
  .rbsv-form-progress { gap: 4px; }
  .rbsv-form-progress button { grid-template-columns: 26px 1fr; min-height: 48px; padding: 6px; font-size: 10px; }
  .rbsv-form-progress button b { width: 25px; height: 25px; }
  .rbsv-form-step { grid-template-columns: 1fr; }
  .rbsv-account-type-choices button { min-height: 96px; padding: 10px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rbsv-app *, .rbsv-app *::before, .rbsv-app *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Final specificity guard for legacy layers still loaded by older Elementor pages. */
@media (min-width:761px) {
  .rbsv-app .rbsv-home-command,
  .rbsv-app .rbsv-home-command-search,
  .rbsv-app .rbsv-home-command-search form { width: 100% !important; max-width: none !important; }
  .rbsv-app .rbsv-home-command-search { display: grid !important; grid-template-columns: 190px minmax(0,1fr) !important; }
  .rbsv-app .rbsv-home-command-search form { display: grid !important; grid-template-columns: 42px minmax(0,1fr) auto !important; }
  .rbsv-app .rbsv-home-command-search input { width: 100% !important; min-width: 0 !important; }
  .rbsv-app .rbsv-home-essentials .rbsv-home-actions-grid .rbsv-home-action:nth-child(1) { grid-column: span 2 !important; grid-row: auto !important; min-height: 176px !important; }
}
.rbsv-app .rbsv-home-municipality .rbsv-home-civic-steps > span strong,
.rbsv-app .rbsv-home-municipality .rbsv-home-civic-steps > span small { display: block !important; visibility: visible !important; opacity: 1 !important; }
.rbsv-app .rbsv-home-municipality .rbsv-home-civic-steps > span strong { color: #0a2547 !important; font-size: 16px !important; line-height: 1.35 !important; }
.rbsv-app .rbsv-home-municipality .rbsv-home-civic-steps > span small { color: #61748c !important; font-size: 11px !important; line-height: 1.55 !important; }
@media (max-width:760px) {
  .rbsv-app .rbsv-home-municipality .rbsv-home-civic-steps > span strong { font-size: 14px !important; }
  .rbsv-app .rbsv-home-municipality .rbsv-home-civic-steps > span small { font-size: 10px !important; }
}
