:root{
  --bg:#f5f1e8;
  --surface:#fffdf9;
  --surface-2:#f7f4ed;
  --text:#0c3150;
  --muted:#6f8291;
  --teal:#0d6d72;
  --teal-dark:#0a5b61;
  --line:rgba(12,49,80,.10);
  --shadow:0 14px 35px rgba(35,55,59,.10);
  --radius:28px;
  --font:"Segoe UI",Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:var(--font);background:
  radial-gradient(circle at 8% 18%,rgba(184,199,169,.20),transparent 22%),
  radial-gradient(circle at 90% 82%,rgba(205,188,154,.20),transparent 24%),#eee9df;color:var(--text)}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0}
a{text-decoration:none;color:inherit}
svg{display:block}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell{position:relative;width:min(100%,460px);min-height:100vh;margin:0 auto;background:linear-gradient(180deg,#fffdf9,#fbfaf6);overflow:hidden;padding:18px 18px 108px;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 22px 80px rgba(28,41,43,.14)}

/* header */
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:74px}
.icon-button,.filter-button{width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(37,55,60,.09);color:var(--teal);cursor:pointer}
.icon-button svg,.filter-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.notification{justify-self:start;position:relative}
.notification-dot{position:absolute;top:6px;right:7px;width:10px;height:10px;border-radius:50%;background:#e84b53;border:2px solid #fff}
.brand{display:flex;flex-direction:column;align-items:center;line-height:1}
.brand-ribbon{width:34px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.brand-ribbon img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;align-items:center;margin-top:-3px}
.brand-copy strong{font-size:21px;color:#0b666d;font-weight:900;letter-spacing:-.4px}
.brand-copy small{font-size:10px;color:#55737d;margin-top:4px;white-space:nowrap}
.user-chip{justify-self:end;display:flex;align-items:center;gap:8px;padding:0;background:transparent;color:var(--text);cursor:pointer}
.user-chip img{width:45px;height:45px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 6px 18px rgba(23,43,49,.12)}
.user-chip span{display:flex;flex-direction:column;text-align:right;line-height:1.3}
.user-chip b{font-size:16px;color:#0a5d6a}
.user-chip small{font-size:10.5px;color:#5f707e;display:flex;align-items:center;gap:2px;white-space:nowrap}
.user-chip small svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2}

/* hero */
.hero{position:relative;height:228px;margin-top:7px;border-radius:24px;overflow:hidden;background:linear-gradient(100deg,#f4efe4 0%,#eef0e5 53%,#d8e5d5 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,244,236,.98) 0%,rgba(248,244,236,.83) 44%,rgba(248,244,236,.08) 74%)}
.hero-image{position:absolute;inset:0 0 0 37%;background:url('../images/hero-hands.jpg') 53% center/cover no-repeat;filter:saturate(.86) contrast(.96)}
.hero-content{position:absolute;z-index:2;top:26px;right:24px;width:58%;text-align:right}
.hero .eyebrow{font-size:18px;font-weight:800;margin:0 0 4px;color:#183d57}
.hero h1{font-size:28px;line-height:1.25;margin:0;color:#0a6267;letter-spacing:-.8px}
.hero-content>p:not(.eyebrow){font-size:13px;margin:10px 0 16px;color:#465c64}
.primary-button{display:inline-flex;align-items:center;gap:14px;background:linear-gradient(135deg,#0a6970,#0d777b);color:#fff;border-radius:999px;padding:11px 18px;box-shadow:0 9px 18px rgba(9,103,109,.22);cursor:pointer;font-size:13px}
.primary-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.hero-hope{position:absolute;z-index:2;left:18px;bottom:35px;display:flex;flex-direction:column;align-items:flex-start;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.16);transform:rotate(-4deg)}
.hero-hope strong{font-size:25px}.hero-hope span{font-size:15px;font-weight:800;margin-top:-2px}
.hero-dots{position:absolute;z-index:3;bottom:11px;right:50%;transform:translateX(50%);display:flex;gap:6px}
.dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.86);padding:0;cursor:pointer}.dot.active{background:#0b777a;width:9px;height:9px}

/* search */
.search-row{display:grid;grid-template-columns:1fr 50px;gap:10px;margin:20px 6px 12px;direction:ltr}
.search-box{height:56px;border-radius:28px;background:#fff;display:flex;align-items:center;gap:12px;padding:0 18px;box-shadow:0 9px 24px rgba(39,52,55,.08);border:1px solid rgba(16,76,84,.06);direction:rtl}
.search-box svg{flex:0 0 auto;width:25px;height:25px;fill:none;stroke:#2a5360;stroke-width:1.8;stroke-linecap:round}
.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:14px;text-align:right}
.search-box input::placeholder{color:#8a9aa5}
.filter-button{width:50px;height:50px;align-self:center}

/* services */
.services{padding:6px 4px 16px}
.services-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:10px 2px;
direction:rtl;
max-width:440px;
margin:0 auto
}
.service-card{
background:transparent;
padding:0;
display:flex;
flex-direction:column;
align-items:center;
gap:5px;
color:var(--text);
cursor:pointer;
min-width:0;
transition:transform .18s ease,opacity .18s ease
}
.service-card:active{transform:scale(.94)}
.service-card.hidden{display:none}
.service-icon{
width:86px;
height:86px;
border-radius:50%;
display:grid;
place-items:center;
background:radial-gradient(circle at 32% 26%,#fff7,var(--tone));
color:var(--ink);
box-shadow:inset 0 0 0 1px #fff8,0 8px 18px rgba(37,54,57,.035)
}
.service-icon svg{
width:37px;
height:37px;
fill:none;
stroke:currentColor;
stroke-width:1.75;
stroke-linecap:round;
stroke-linejoin:round
}
.service-card>span:last-child{
font-size:11.5px;
font-weight:800;
line-height:1.28;
min-height:27px;
display:grid;
place-items:start center;
text-align:center
}
.radiation{font-size:35px;line-height:1}.chemo{position:relative}.iv-bag{width:24px;height:35px;border:2px solid currentColor;border-radius:5px;position:relative}.iv-bag::before{content:"";position:absolute;width:8px;height:3px;border:2px solid currentColor;border-bottom:0;top:-6px;left:6px;border-radius:3px 3px 0 0}.iv-bag::after{content:"";position:absolute;left:10px;bottom:-12px;width:2px;height:12px;background:currentColor;box-shadow:5px 7px 0 -0.5px currentColor}
.no-results{display:none;text-align:center;color:var(--muted);font-size:13px;padding:18px 0;margin:0}.no-results.show{display:block}

/* specialist banner */
.specialists-banner{position:relative;height:106px;display:grid;grid-template-columns:42% 1fr 42px;align-items:center;margin:8px 0 20px;border-radius:22px;overflow:hidden;background:linear-gradient(90deg,#eef2e6,#faf3e6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.72)}
.specialists-image{align-self:stretch;background:url('../images/doctor-card.jpg') center 38%/cover no-repeat;mask-image:linear-gradient(to left,transparent 0,#000 22%);-webkit-mask-image:linear-gradient(to left,transparent 0,#000 22%)}
.specialists-copy{display:flex;flex-direction:column;gap:3px;text-align:right;z-index:2}.specialists-copy strong{font-size:16px}.specialists-copy span{font-size:12px;color:#596c68}
.leaf-mark{position:absolute;right:43%;font-size:30px;color:#7f9c7d;transform:rotate(26deg);opacity:.9}
.round-arrow{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#166c76;box-shadow:0 6px 14px rgba(38,58,61,.08)}.round-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}

/* articles */
.articles{margin-bottom:18px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 6px 12px}.section-head h2{font-size:19px;margin:0}.section-head a{display:flex;align-items:center;gap:2px;color:#177080;font-size:12px;font-weight:700}.section-head svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.article-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px)/3);gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:none}.article-scroller::-webkit-scrollbar{display:none}
.article-card{scroll-snap-align:start;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 7px 18px rgba(31,54,58,.06);border:1px solid rgba(20,58,66,.05);min-width:0}
.article-card img{width:100%;aspect-ratio:1.55/1;object-fit:cover;display:block}
.article-body{position:relative;padding:8px 9px 11px;min-height:95px}.article-body h3{font-size:11.5px;line-height:1.45;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-body p{font-size:10px;color:#81909a;margin:0;padding-left:22px}.article-body span{position:absolute;left:7px;bottom:8px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#e3f2ee;color:#1b7878}.article-body span svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2}

/* bottom nav */
.bottom-nav{position:absolute;z-index:10;left:0;right:0;bottom:0;height:88px;padding:10px 14px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);align-items:start;background:rgba(255,255,255,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid rgba(19,58,66,.08)}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;color:#617480;padding:0;cursor:pointer;font-size:10.5px}.nav-item svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.nav-item.active{color:#0a7882;font-weight:900}.nav-item.active svg{stroke-width:2.25}

/* filter sheet */
.sheet-backdrop{position:fixed;inset:0;background:rgba(11,33,40,.28);z-index:90;backdrop-filter:blur(2px)}
.filter-sheet{position:fixed;z-index:100;left:50%;bottom:0;width:min(100%,460px);transform:translate(-50%,105%);background:#fff;border-radius:26px 26px 0 0;padding:10px 22px 28px;transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:0 -20px 50px rgba(22,43,46,.14)}
.filter-sheet.open{transform:translate(-50%,0)}.sheet-handle{width:46px;height:5px;background:#d5ddde;border-radius:9px;margin:0 auto 12px}.sheet-title{display:flex;justify-content:space-between;align-items:center}.sheet-title h2{font-size:18px;margin:0}.sheet-title button{font-size:28px;background:transparent;color:#73838a;cursor:pointer}.filter-sheet>p{font-size:12px;color:#7a8990;margin:4px 0 14px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chips button{padding:8px 13px;border-radius:999px;background:#f2f5f3;color:#4e686e;cursor:pointer}.filter-chips button.selected{background:#0d7378;color:#fff}
.toast{position:fixed;z-index:120;left:50%;bottom:104px;transform:translate(-50%,20px);background:#173b43;color:#fff;padding:10px 16px;border-radius:14px;font-size:12px;opacity:0;pointer-events:none;transition:.22s;white-space:nowrap;box-shadow:0 9px 25px rgba(10,39,45,.22)}.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:380px){
 .app-shell{padding-left:14px;padding-right:14px}.service-icon{width:78px;height:78px}.service-icon svg{width:34px;height:34px}.services-grid{gap:9px 2px;max-width:100%}.service-card{gap:4px}.service-card>span:last-child{font-size:10.5px;min-height:25px}.hero h1{font-size:25px}.hero-content{right:18px;width:63%}.brand-copy small{font-size:9px}.user-chip small{font-size:9px}
}
@media (min-width:520px){body{padding:28px 0}.app-shell{min-height:900px;border-radius:42px;border:10px solid #222c2c}.bottom-nav{border-radius:0 0 32px 32px}.filter-sheet{bottom:20px;border-radius:26px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@font-face {
    font-family: "IRANSansRooban";
    src:
        url("/assets/rooban/fonts/IRANSansWeb.woff2") format("woff2"),
        url("/assets/rooban/fonts/IRANSansWeb.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANSansRooban";
    src:
        url("/assets/rooban/fonts/IRANSansWeb_Bold.woff2") format("woff2"),
        url("/assets/rooban/fonts/IRANSansWeb_Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

html,
body,
body *,
button,
input,
select,
textarea,
option {
    font-family: "IRANSansRooban", Tahoma, Arial, sans-serif !important;
}

button,
input,
select,
textarea {
    font: inherit !important;
}

/* ROOBAN_HOME_V4_SERVICE_SECTIONS_BASE */
.brand--main-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:76px;
  height:68px;
  line-height:1;
  overflow:hidden;
}
.brand-main-logo{
  display:block;
  width:auto;
  height:66px;
  max-width:76px;
  object-fit:contain;
  object-position:center;
}
@media (max-width:420px){
  .brand--main-logo{width:70px;height:64px}
  .brand-main-logo{height:62px;max-width:70px}
}



/* ROOBAN_HOME_V4_SERVICE_SECTIONS */
.services-section-title{
  margin:18px 2px 12px;
  padding:0;
  text-align:right;
  font-size:16px;
  line-height:1.6;
  font-weight:900;
  color:var(--text);
}
.services-section-title--shop{margin-top:20px}
.services-grid--section{
  margin-top:0;
  margin-bottom:4px;
}
.services-grid--shop{
  margin-bottom:2px;
}



/* ROOBAN_PWA_FULLSCREEN_V5 */
@media (display-mode: standalone), (display-mode: fullscreen) {
  html, body {
    min-height: 100%;
    min-height: 100dvh;
    background: #fffdf9;
    overscroll-behavior-y: none;
  }

  .app-shell {
    min-height: 100vh;
    min-height: 100dvh;
    padding-top: max(18px, env(safe-area-inset-top));
  }
}

@supports (padding: max(0px)) {
  @media (display-mode: standalone), (display-mode: fullscreen) {
    .app-shell {
      padding-left: max(18px, env(safe-area-inset-left));
      padding-right: max(18px, env(safe-area-inset-right));
    }
  }
}

