/* =============================================================
   Iran Study — Homepage
   Every rule is scoped under #isx so the theme and Elementor
   cannot restyle this page, and this page cannot leak into them.
   ============================================================= */

#isx{
  --navy-900:#071F3D;
  --navy-700:#103C78;
  --gold-600:#B87A22;
  --gold-500:#D19A3C;
  --gold-100:#F7EEDF;
  --paper:#FFFFFF;
  --paper-2:#F3F6FA;
  --line:#DCE3EC;
  --text:#12283F;
  --muted:#5A6E85;
  --on-navy:#E8EFF8;
  --on-navy-muted:#A8BEDA;
  --wa:#1FA855;
  --radius:10px;
  --maxw:1180px;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;
  --arabic:"IBM Plex Sans Arabic","IBM Plex Sans",Tahoma,sans-serif;
  --display:var(--serif);
  --body:var(--sans);

  background:var(--paper);
  color:var(--text);
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-align:start;
}
body.is-rtl #isx{--display:var(--arabic);--body:var(--arabic);}

/* ---- full width, even inside a narrow theme content column (classic editor) ---- */
html,body{margin:0;overflow-x:clip;}


/* ---- defensive reset against theme/Elementor globals ---- */
#isx *,#isx *::before,#isx *::after{box-sizing:border-box;}
#isx h1,#isx h2,#isx h3,#isx h4{
  font-family:var(--display);font-weight:600;line-height:1.2;margin:0;
  letter-spacing:-.01em;color:inherit;text-transform:none;
}
#isx h1{font-size:clamp(1.8rem,4vw,2.7rem);}
#isx h2{font-size:clamp(1.4rem,2.6vw,1.95rem);}
#isx h3{font-size:1.05rem;font-family:var(--body);}
#isx p{margin:0;}
#isx ul,#isx ol{margin:0;padding:0;list-style:none;}
#isx a{color:var(--navy-700);text-decoration:none;}
#isx img{max-width:100%;height:auto;display:block;}
#isx button,#isx select,#isx input{font:inherit;letter-spacing:normal;text-transform:none;}
#isx button{margin:0;box-shadow:none;}
#isx :focus-visible{outline:3px solid var(--gold-500);outline-offset:2px;border-radius:4px;}
@media (prefers-reduced-motion:reduce){#isx *{transition:none!important;animation:none!important;}}

#isx .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:20px;}
#isx .sec{padding-block:clamp(44px,6vw,76px);}
#isx .sec-head{max-width:62ch;margin-block-end:28px;}
#isx .sec-head .lede,#isx .sec-head p{color:var(--muted);margin-block-start:8px;}
#isx .tint{background:var(--paper-2);}

/* ---- buttons ---- */
#isx .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:0;border-radius:8px;cursor:pointer;font-weight:600;line-height:1.3;
  padding:11px 20px;font-size:.93rem;text-decoration:none;
  transition:background-color .15s ease,color .15s ease;
}
#isx .btn-gold{background:var(--gold-500);color:#2B1B03;}
#isx .btn-gold:hover{background:var(--gold-600);color:#fff;}
#isx .btn-navy{background:var(--navy-700);color:#fff;}
#isx .btn-navy:hover{background:var(--navy-900);color:#fff;}
#isx .btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line);}
#isx .btn-ghost:hover{border-color:var(--navy-700);color:var(--navy-700);}
#isx .btn-wa{background:var(--wa);color:#fff;}
#isx .btn-wa:hover{background:#178A45;color:#fff;}
#isx .btn[aria-busy="true"]{opacity:.65;pointer-events:none;}

/* ---- header ---- */
#isx .isx-header{
  position:sticky;top:0;z-index:50;background:var(--paper);
  border-block-end:1px solid var(--line);
}
body.admin-bar #isx .isx-header{top:32px;}
@media (max-width:782px){body.admin-bar #isx .isx-header{top:46px;}}
#isx .bar{display:flex;align-items:center;gap:18px;height:66px;}
#isx .logo img{height:34px;width:auto;}
#isx .nav{display:flex;gap:22px;margin-inline-start:14px;}
#isx .nav a{color:var(--text);font-size:.92rem;font-weight:500;}
#isx .nav a:hover{color:var(--navy-700);}
#isx .bar-end{margin-inline-start:auto;display:flex;align-items:center;gap:10px;}
#isx .langsw{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
#isx .langsw a{
  border:0;background:transparent;color:var(--muted);cursor:pointer;
  padding:7px 11px;font-size:.82rem;font-weight:600;border-radius:0;
}
#isx .langsw a[aria-current="true"]{background:var(--navy-700);color:#fff;}
#isx .burger{
  display:none;border:1px solid var(--line);background:transparent;border-radius:8px;
  padding:7px 11px;cursor:pointer;color:var(--text);font-size:1.1rem;line-height:1;
}
#isx .mobile-nav{border-block-start:1px solid var(--line);background:var(--paper);padding-block:6px;}
#isx .mobile-nav a{
  display:block;padding:12px 0;color:var(--text);font-weight:500;
  border-block-end:1px solid var(--line);
}
#isx .mobile-nav a:last-child{border-block-end:0;}

/* ---- hero ---- */
#isx .hero{position:relative;background:var(--navy-900);color:var(--on-navy);padding-block:56px 108px;overflow:hidden;}
#isx .hero::before{
  content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='%23D19A3C' stroke-width='1'%3E%3Cpath d='M22 22h46v46H22z'/%3E%3Cpath d='M45 11l34 34-34 34-34-34z'/%3E%3Cpath d='M0 0l22 22M90 0L68 22M0 90l22-22M90 90L68 68'/%3E%3C/g%3E%3C/svg%3E");
}
#isx .hero .wrap{position:relative;}
#isx .eyebrow{color:var(--gold-500);font-size:.85rem;font-weight:600;margin-block-end:14px;}
#isx .hero h1{color:#fff;max-width:19ch;}
#isx .hero-sub{color:var(--on-navy-muted);margin-block-start:14px;max-width:56ch;}

#isx .console{
  background:var(--paper);border-radius:14px;padding:18px;border:1px solid var(--line);
  box-shadow:0 18px 44px rgba(3,17,38,.28);
  margin-block:34px -96px;position:relative;color:var(--text);
}
#isx .console-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:10px;align-items:end;}
#isx .field{display:flex;flex-direction:column;gap:5px;}
#isx .field label{font-size:.76rem;font-weight:600;color:var(--muted);margin:0;}
#isx .field select,#isx .field input{
  font-size:.95rem;padding:12px;border:1px solid var(--line);border-radius:8px;
  background:var(--paper);color:var(--text);width:100%;height:46px;min-height:0;
  box-shadow:none;
}
#isx .console .btn{height:46px;white-space:nowrap;}
#isx .chips{display:flex;flex-wrap:wrap;gap:7px;margin-block-start:13px;align-items:center;}
#isx .chips .lbl{font-size:.78rem;color:var(--muted);}
#isx .chip{
  font-size:.8rem;padding:5px 11px;border:1px solid var(--line);border-radius:999px;
  background:var(--paper-2);color:var(--text);
}
#isx .chip:hover{border-color:var(--gold-500);color:var(--text);}

/* ---- trust ---- */
#isx .trust{padding-block:120px 0;}
#isx .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-block-start:1px solid var(--line);padding-block-start:26px;}
#isx .stat .n{font-family:var(--display);font-size:1.9rem;font-weight:600;color:var(--navy-700);line-height:1.1;}
body.is-rtl #isx .stat .n{font-weight:700;}
#isx .stat .l{font-size:.86rem;color:var(--muted);margin-block-start:4px;}

/* ---- field groups ---- */
#isx .group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start;}
#isx .group-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--paper);}
#isx .group-card h3{font-family:var(--display);font-size:1.05rem;}
body.is-rtl #isx .group-card h3{font-family:var(--arabic);}
#isx .group-count{font-size:.78rem;color:var(--muted);margin-block:4px 14px;}
#isx .group-list li{padding-block:6px;border-block-end:1px solid var(--line);font-size:.88rem;display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
#isx .group-list li:last-child{border-block-end:0;}
#isx .group-list a{color:var(--text);}
#isx .group-list a:hover{color:var(--navy-700);text-decoration:underline;}
#isx .tag{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--paper-2);color:var(--muted);border:1px solid var(--line);}
#isx .tag-usd{background:var(--gold-100);color:var(--gold-600);border-color:transparent;}

/* ---- city tabs ---- */
#isx .city-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-block-end:22px;}
#isx .city-tab{
  border:1px solid var(--line);background:var(--paper);color:var(--text);
  border-radius:999px;padding:7px 14px;font-size:.85rem;font-weight:500;cursor:pointer;
}
#isx .city-tab:hover{border-color:var(--navy-700);}
#isx .city-tab[aria-pressed="true"]{background:var(--navy-700);border-color:var(--navy-700);color:#fff;font-weight:600;}
#isx .uni-empty{color:var(--muted);font-size:.92rem;padding-block:8px;}

/* ---- fee tables ---- */
#isx .cost-block{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--paper);}
#isx .cost-block h3{margin-block-end:14px;}
#isx .fees{width:100%;border-collapse:collapse;font-size:.89rem;}
#isx .fees th,#isx .fees td{text-align:start;padding-block:9px;border-block-end:1px solid var(--line);font-weight:400;}
#isx .fees thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;}
#isx .fees tbody th{color:var(--muted);}
#isx .fees td{font-weight:600;direction:ltr;text-align:end;}
body.is-rtl #isx .fees td{text-align:start;}
#isx .fees tbody tr:last-child th,#isx .fees tbody tr:last-child td{border-block-end:0;}
#isx .living{margin-block-start:20px;}
#isx .living .btn{margin-block-start:14px;}

/* ---- process ---- */
#isx .steps{display:grid;grid-template-columns:repeat(4,1fr);}
#isx .step{padding:22px 20px;border-inline-start:1px solid var(--line);}
#isx .step:first-child{border-inline-start:0;padding-inline-start:0;}
#isx .step .num{font-family:var(--display);font-size:.95rem;font-weight:600;color:var(--gold-600);margin-block-end:9px;}
#isx .step p{font-size:.88rem;color:var(--muted);margin-block-start:6px;}

/* ---- students ---- */
#isx .stu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
#isx .stu{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--paper);}
#isx .stu .q{font-size:.95rem;line-height:1.65;}
#isx .stu .who{display:flex;align-items:center;gap:11px;margin-block-start:16px;padding-block-start:15px;border-block-start:1px solid var(--line);}
#isx .av{width:38px;height:38px;border-radius:99px;background:var(--navy-700);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none;}
#isx .stu .nm{font-weight:600;font-size:.9rem;}
#isx .stu .meta{font-size:.8rem;color:var(--muted);}

/* ---- faq ---- */
#isx .faq{max-width:78ch;}
#isx details{border-block-end:1px solid var(--line);}
#isx summary{
  cursor:pointer;padding-block:16px;font-weight:600;font-size:.98rem;list-style:none;
  display:flex;justify-content:space-between;gap:14px;align-items:center;
}
#isx summary::-webkit-details-marker{display:none;}
#isx summary::after{content:"+";color:var(--gold-600);font-size:1.3rem;font-weight:400;line-height:1;}
#isx details[open] summary::after{content:"–";}
#isx details p{padding-block-end:18px;color:var(--muted);font-size:.93rem;}

/* ---- lead ---- */
#isx .lead{background:var(--navy-900);color:var(--on-navy);}
#isx .lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
#isx .lead h2{color:#fff;}
#isx .lead .sub{color:var(--on-navy-muted);margin-block-start:12px;}
#isx .lead ul{margin-block-start:22px;}
#isx .lead li{display:flex;gap:11px;padding-block:7px;font-size:.92rem;}
#isx .tick{color:var(--gold-500);flex:none;font-weight:700;}
#isx .form-card{background:var(--paper);border-radius:14px;padding:26px;color:var(--text);}
#isx .prog{display:flex;gap:6px;margin-block-end:20px;}
#isx .prog i{height:4px;flex:1;background:var(--line);border-radius:99px;}
#isx .prog i.on{background:var(--gold-500);}
#isx .step-label{font-size:.78rem;font-weight:600;color:var(--muted);}
#isx .form-step{display:none;flex-direction:column;gap:14px;}
#isx .form-step.on{display:flex;}
#isx .form-step h3{outline:none;}
#isx .opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
#isx .opt{
  border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--paper);
  font-size:.9rem;cursor:pointer;text-align:start;color:var(--text);font-weight:500;
}
#isx .opt:hover,#isx .opt[aria-pressed="true"]{border-color:var(--gold-500);background:var(--gold-100);color:var(--text);}
#isx .form-nav{display:flex;gap:9px;margin-block-start:6px;}
#isx .form-nav .btn{flex:1;}
#isx .done{text-align:center;padding-block:10px;display:flex;flex-direction:column;gap:12px;align-items:center;}
#isx .done .big{font-size:2rem;color:var(--gold-600);line-height:1;}
#isx .fineprint{font-size:.76rem;color:var(--muted);margin-block-start:12px;}
#isx .form-error{
  margin-block-start:12px;padding:10px 13px;border-radius:8px;font-size:.87rem;
  background:#FDECEC;color:#8A1F1F;border:1px solid #F3C9C9;
}
#isx .form-error[hidden]{display:none;}
#isx .hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---- footer ---- */
#isx .isx-footer{background:var(--paper-2);border-block-start:1px solid var(--line);padding-block:40px;}
#isx .f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;}
#isx .isx-footer h4{font-size:.82rem;font-weight:700;margin:0 0 12px;font-family:var(--body);}
#isx .isx-footer a{display:block;color:var(--muted);font-size:.88rem;padding-block:4px;}
#isx .isx-footer a:hover{color:var(--navy-700);}
#isx .isx-footer .logo img{height:30px;}
#isx .f-note{margin-block-start:30px;padding-block-start:20px;border-block-start:1px solid var(--line);font-size:.82rem;color:var(--muted);}

/* ---- floating WhatsApp ---- */
#isx .wa{
  position:fixed;z-index:60;inset-inline-end:20px;
  inset-block-end:max(20px,env(safe-area-inset-bottom));
  box-shadow:0 8px 24px rgba(0,0,0,.22);border-radius:99px;padding:13px 19px;
}

/* ---- responsive ---- */
@media (max-width:1100px){#isx .group-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:980px){
  #isx .nav{display:none;}
  #isx .burger{display:inline-flex;}
  #isx .bar-end > .btn-navy{display:none;}
  #isx .console-grid{grid-template-columns:1fr 1fr;}
  #isx .console .btn{grid-column:1/-1;}
  #isx .trust-grid,  #isx .uni-grid{grid-template-columns:repeat(2,1fr);}
  #isx .stu-grid{grid-template-columns:1fr;}
  #isx .cost-grid,#isx .lead-grid{grid-template-columns:1fr;gap:26px;}
  #isx .steps{grid-template-columns:1fr 1fr;}
  #isx .step{border-inline-start:0;border-block-start:1px solid var(--line);padding-inline:0;}
  #isx .step:nth-child(-n+2){border-block-start:0;}
  #isx .f-grid{grid-template-columns:1fr 1fr;}
}
@media (min-width:981px){#isx .mobile-nav{display:none!important;}}
@media (max-width:560px){
  #isx .console-grid{grid-template-columns:1fr;}
      #isx .opts{grid-template-columns:1fr;}
  #isx .group-grid,#isx .uni-grid{grid-template-columns:1fr;}
  #isx .f-grid{grid-template-columns:1fr;}
  #isx .logo img{height:28px;}
  #isx .wa{padding:12px 16px;font-size:.85rem;}
}

/* =========================================================
   Theme-only additions
   ========================================================= */

.skip{position:absolute;inset-inline-start:-9999px;}
.skip:focus{
  position:fixed;inset-block-start:10px;inset-inline-start:10px;z-index:999;
  background:var(--navy-700);color:#fff;padding:10px 16px;border-radius:8px;
}
body.admin-bar #isx .isx-header{top:32px;}
@media (max-width:782px){body.admin-bar #isx .isx-header{top:46px;}}

#isx .lede{color:var(--muted);margin-block-start:8px;}
#isx .muted{color:var(--muted);}
#isx .badge-quiet{background:var(--paper-2);color:var(--muted);}
#isx .badge-gold{background:var(--gold-500);color:#2B1B03;display:inline-block;margin-block-end:12px;}

/* city tabs on the homepage */
#isx .city-panel{display:none;}
#isx .city-panel.active{display:block;}
body.no-js #isx .city-panel{display:block;}

/* breadcrumbs */
#isx .crumbs{font-size:.84rem;color:var(--muted);margin-block-end:14px;display:flex;gap:8px;flex-wrap:wrap;}
#isx .crumbs a{color:var(--muted);}
#isx .crumbs a:hover{color:var(--navy-700);}

/* university page */
#isx .uni-hero{background:var(--navy-900);color:var(--on-navy);padding-block:40px 48px;}
#isx .uni-hero .crumbs,#isx .uni-hero .crumbs a{color:var(--on-navy-muted);}
#isx .uni-hero h1{color:#fff;max-width:22ch;}
#isx .uni-hero .lede{color:var(--on-navy-muted);max-width:60ch;margin-block-start:12px;}
#isx .uni-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-block-start:18px;font-size:.88rem;color:var(--on-navy-muted);}
#isx .uni-meta strong{color:#fff;font-weight:600;}
#isx .uni-cta{display:flex;flex-wrap:wrap;gap:10px;margin-block-start:24px;}

#isx .uni-body{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start;padding-block:48px;}
#isx .block{margin-block-end:40px;}
#isx .block h2{margin-block-end:16px;}
#isx .prose p{margin-block-end:14px;line-height:1.75;}
#isx .prose p:last-child{margin-block-end:0;}

#isx .card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--paper);position:sticky;top:90px;}
#isx .card h3{margin-block-end:14px;}
#isx .card dl{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:.88rem;margin:0;}
#isx .card dt{color:var(--muted);margin:0;}
#isx .card dd{margin:0;font-weight:600;text-align:end;}

#isx .recog-light{
  background:var(--paper-2);color:var(--text);
  border-inline-start:3px solid var(--gold-500);
}
#isx .recog-light .src,#isx .recog-light a{color:var(--muted);}
#isx .recog-light a{text-decoration:underline;}

#isx .city-head{
  margin-block:36px 18px;padding-block-end:10px;border-block-end:1px solid var(--line);
  display:flex;align-items:baseline;gap:10px;
}
#isx .city-head .count{font-size:.8rem;color:var(--muted);font-family:var(--body);font-weight:500;}

@media (max-width:900px){
  #isx .uni-body{grid-template-columns:1fr;gap:0;}
  #isx .card{position:static;margin-block-end:32px;}
}

/* wide tables scroll inside their own box rather than the page */
#isx .scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;}
#isx .scroll-x .fees{min-width:520px;}
