.idsf-lecturers{
  --idsf-navy:#21334f; --idsf-navy-deep:#202c43; --idsf-olive:#8a8e6c;
  --idsf-photo-bg:#d1d2c4; --idsf-chip:rgba(33,51,79,.2); --idsf-surface:#fff; --idsf-accent:#1fa2b8;
  --idsf-radius:10px; --idsf-max:1400px;
  /* Bind to the site's Elementor global fonts ("almoni" body / "almoni tzar" headings),
     with the real font names as fallback so text renders correctly even out of context. */
  --idsf-font:var(--e-global-typography-text-font-family, "almoni"), "Heebo", system-ui, sans-serif;
  --idsf-font-head:var(--e-global-typography-primary-font-family, "almoni tzar"), "Heebo", system-ui, sans-serif;
  font-family:var(--idsf-font);
  color:var(--idsf-navy); direction:rtl;
  box-sizing:border-box;
  width:100%;
  max-width:var(--idsf-max);
  margin-inline:auto;
  padding-inline:clamp(16px,4vw,24px);
  padding-bottom:64px;
}
@media(max-width:600px){ .idsf-lecturers{ padding-inline:16px; } }
html[dir="ltr"] .idsf-lecturers, .idsf-lecturers[dir="ltr"]{direction:ltr;}
.idsf-lecturers *,.idsf-lecturers *::before,.idsf-lecturers *::after{box-sizing:border-box;}

/* Page header (title + intro) */
.idsf-lecturers__header{margin:24px 0 10px;}
.idsf-lecturers__title{font-family:inherit;font-weight:700;
  font-size:clamp(2.8rem,5.5vw,4.6rem);line-height:1.05;color:var(--idsf-navy);margin:14px 0 9px;}
.idsf-lecturers__intro{max-width:none;width:100%;line-height:1.6;font-size:1.2rem;color:var(--idsf-navy);}
.idsf-lecturers__intro p{margin:0 0 1em;}
.idsf-lecturers__intro p:last-child{margin-bottom:0;}

/* Filters */
.idsf-filters{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0 44px;}
.idsf-filters__facets{display:flex;gap:12px;flex-wrap:wrap;}
.idsf-facet{position:relative;}
/* Filter controls — unified: same font-size, square (0px) corners, same height, same circled chevron. */
.idsf-facet__toggle,
.idsf-sort{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;
  height:50px;padding:0 18px;background:var(--idsf-surface);color:var(--idsf-navy);
  border:1.5px solid var(--idsf-navy);border-radius:8px;font:inherit;font-weight:700;font-size:1.325rem;
  line-height:1;white-space:nowrap;cursor:pointer;}
.idsf-facet__toggle{min-width:175px;position:relative;}
.idsf-sort{min-width:225px;}
/* Active-filter indicator: olive accent on the button + a count badge. */
.idsf-facet__badge{position:absolute;top:-9px;inset-inline-start:-9px;min-width:20px;height:20px;
  padding:0 5px;border-radius:999px;background:var(--idsf-olive);color:#fff;font-size:.78rem;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.idsf-facet.is-active .idsf-facet__chevron{background:var(--idsf-olive);border-color:var(--idsf-olive);color:#fff;}
.idsf-sort__text{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.idsf-sort__label{font-weight:700;color:var(--idsf-navy);white-space:nowrap;font-size:1.325rem;}
.idsf-sort__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;
  border:none;background:transparent;font:inherit;font-weight:700;font-size:1.325rem;color:var(--idsf-navy);
  cursor:pointer;padding:0;white-space:nowrap;}
.idsf-sort__select::-ms-expand{display:none;}
.idsf-facet__chevron{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border:1.5px solid currentColor;border-radius:50%;font-size:0;line-height:1;flex:0 0 auto;transition:transform .15s;}
/* Crisp CSS chevron instead of the ▾ glyph. */
.idsf-facet__chevron::after{content:"";display:block;width:7px;height:7px;margin-top:-3px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);}
.idsf-facet__toggle[aria-expanded="true"] .idsf-facet__chevron{transform:rotate(180deg);}
/* Menu flush to the button (no gap), square (0px) corners. */
.idsf-facet__menu{position:absolute;z-index:20;inset-inline-start:0;top:100%;min-width:100%;width:max-content;
  background:#fff;border:1.5px solid var(--idsf-navy);border-radius:8px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);
  display:flex;flex-direction:column;gap:6px;}
.idsf-facet__menu[hidden]{display:none;}
.idsf-facet__opt{display:flex;gap:8px;align-items:center;padding:6px 4px;cursor:pointer;white-space:nowrap;font-size:1rem;}
.idsf-facet__opt span{white-space:nowrap;}
/* Price is now a checkbox facet — its options use the shared .idsf-facet__opt styling. */

/* Mobile: bigger title, 2×2 filter grid (each 50% and filled), full-width sort. */
@media(max-width:600px){
  .idsf-lecturers__title{font-size:4.2rem;}
  /* One 2-column grid for BOTH the facets and the sort, so the sort sits at 50%
     in the same row as טווח מחירים. display:contents lifts the facets into this grid. */
  .idsf-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;}
  .idsf-filters__facets{display:contents;}
  /* min-width:0 on the grid items so both columns are exactly 50/50 (not min-content). */
  .idsf-facet,.idsf-sort{width:100%;min-width:0;}
  .idsf-facet__toggle{width:100%;min-width:0;padding:0 12px;}
  .idsf-sort{min-width:0;padding:0 12px;}
  .idsf-sort__text{min-width:0;overflow:hidden;}
  .idsf-sort__select{min-width:0;text-overflow:ellipsis;overflow:hidden;}
  .idsf-facet__menu{min-width:100%;max-width:calc(100vw - 40px);}
  /* Left-column facets open toward the other side so the dropdown stays on screen. */
  .idsf-filters__facets .idsf-facet:nth-child(2n) .idsf-facet__menu{inset-inline-start:auto;inset-inline-end:0;}
}

/* Grid */
.idsf-grid{display:grid;grid-template-columns:repeat(var(--idsf-cols,3),1fr);gap:28px;}
@media(max-width:900px){.idsf-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.idsf-grid{grid-template-columns:1fr;}}

/* Card */
.idsf-card{position:relative;background:var(--idsf-surface);border-radius:var(--idsf-radius);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(33,51,79,.12);
  transition:box-shadow .18s ease,transform .18s ease;}
.idsf-card:hover{box-shadow:0 14px 34px rgba(33,51,79,.20);transform:translateY(-4px);}
.idsf-card__media{position:relative;height:300px;background:var(--idsf-card-bg,var(--idsf-photo-bg));overflow:hidden;}
.idsf-card__img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
/* Whole card clickable via stretched link */
.idsf-more::after{content:"";position:absolute;inset:0;z-index:1;}
.idsf-card__foot .idsf-price{position:relative;z-index:2;}
.idsf-badge{position:absolute;top:14px;inset-inline-start:14px;background:var(--idsf-navy);color:#fff;
  font-size:.8rem;font-weight:700;border-radius:3px;padding:2px 12px;}
.idsf-card__body{background:var(--idsf-surface);padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;
  border-radius:0 0 var(--idsf-radius) var(--idsf-radius);margin-top:-1px;}
.idsf-card__head{display:flex;align-items:baseline;gap:8px;justify-content:flex-start;}
.idsf-card__name{position:relative;font-family:inherit;font-weight:700;font-size:1.6rem;margin:0;line-height:1;
  color:var(--idsf-navy);padding-bottom:12px;}
/* Olive underline sized to the name only, with equal space above and below. */
.idsf-card__name::after{content:"";position:absolute;bottom:0;inset-inline-start:0;width:100%;height:3px;background:var(--idsf-olive);}
.idsf-card__body{gap:12px;}
.idsf-card__rank{font-size:1rem;color:var(--idsf-navy);opacity:.9;font-weight:700;}
.idsf-card__bio{font-size:1.05rem;line-height:1.4;margin:0;
  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.idsf-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;}
.idsf-tag{background:var(--idsf-chip);border-radius:6px;padding:5px 14px;font-size:.95rem;color:var(--idsf-navy);}
.idsf-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px;}
/* No price: keep "לפרטים נוספים" at its usual (inline-end) spot instead of jumping across. */
.idsf-card__foot--noprice{justify-content:flex-end;}
.idsf-price{border:1px solid var(--idsf-navy);border-radius:6px;padding:4px 12px;font-weight:300;white-space:nowrap;}
.idsf-more{font-family:inherit;font-weight:700;color:var(--idsf-navy);text-decoration:none;white-space:nowrap;font-size:1.4rem;}
.idsf-empty{text-align:center;padding:40px;font-size:1.1rem;}

/* Single: hero — white panel, navy angled backdrop behind a full-height photo cutout (left). */
.idsf-hero{position:relative;background:#fff;color:var(--idsf-navy);
  display:grid;grid-template-columns:1fr minmax(320px,460px);gap:0;
  overflow:visible;min-height:500px;}
.idsf-hero__content{padding-block:40px;padding-inline:8px 40px;align-self:center;position:relative;z-index:2;}
.idsf-hero__img{position:relative;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-height:500px;overflow:visible;}
/* Gradient backdrop bleeds all the way to the viewport's left edge; diagonal per Figma
   (white notch at the top-right, navy widening toward the bottom-left). */
.idsf-hero__img::before{content:"";position:absolute;top:0;bottom:0;inset-inline-start:0;width:100vw;
  background:linear-gradient(57.53deg, #1A2332 19.12%, #2C4772 86.12%);
  clip-path:polygon(0 0, 100% 0, calc(100% - 260px) 100%, 0 100%);z-index:0;}
.idsf-hero__img img{position:relative;z-index:1;height:100%;max-height:500px;width:auto;max-width:100%;
  object-fit:contain;object-position:bottom center;display:block;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.45));}
.idsf-hero__back{display:inline-flex;align-items:center;gap:8px;color:var(--idsf-olive);text-decoration:none;margin-bottom:14px;font-weight:700;font-size:1.4rem;}
.idsf-hero__back-arrow{font-size:1.1em;line-height:1;}
.idsf-hero__name{font-family:inherit;font-weight:700;font-size:2.8rem;line-height:1;margin:0;color:var(--idsf-navy);}
.idsf-hero__rank{color:var(--idsf-olive);font-size:2rem;line-height:1;margin:4px 0 8px;font-weight:700;}
.idsf-hero__bio{line-height:1.6;font-size:1.15rem;color:var(--idsf-navy);}
/* Attribute groups side by side; within each group the chips stack vertically; icon on the right. */
.idsf-hero__attrs{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;margin-top:14px;align-items:stretch;}
.idsf-attr{display:flex;align-items:flex-start;gap:14px;padding:2px 28px;}
.idsf-attr:first-child{padding-inline-start:0;}
.idsf-attr:not(:first-child){border-inline-start:1px solid rgba(33,51,79,.18);}
.idsf-attr__body{display:flex;flex-direction:column;align-items:flex-start;gap:5px;}
.idsf-attr__label{color:var(--idsf-navy);font-weight:700;font-size:1.4rem;margin:0;}
/* Tags flow with a uniform gap and wrap; a max-width keeps roughly 3 per row. */
.idsf-attr__body .idsf-tags{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:8px;max-width:340px;}
/* Languages group: show the tags 2 per row (instead of one below the other). */
.idsf-attr--languages .idsf-tags{max-width:340px;}
.idsf-attr__icon{flex:0 0 auto;align-self:center;display:flex;align-items:center;justify-content:center;}
.idsf-attr__img{height:38px;width:auto;display:block;}
@media(max-width:760px){
  .idsf-hero{grid-template-columns:1fr;min-height:0;overflow:visible;}
  .idsf-hero__content{order:2;padding:26px 0 6px;}   /* 0 side padding = aligned with the rest of the page */
  /* Photo + gradient span the full viewport width (no side padding) on mobile. */
  .idsf-hero__img{order:1;min-height:300px;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
  .idsf-hero__img::before{clip-path:none;width:100%;right:auto;left:0;}
  .idsf-hero__name{font-size:2.4rem;}
  /* attributes stack vertically on mobile, separated by a horizontal divider */
  .idsf-hero__attrs{flex-direction:column;gap:0;margin-top:22px;}
  .idsf-attr{padding:16px 0;}
  .idsf-attr:first-child{padding-top:0;padding-inline-start:0;}
  .idsf-attr:not(:first-child){border-inline-start:none;border-top:1px solid rgba(33,51,79,.15);}
  /* chips sit side by side (wrapping) within each group on mobile */
  .idsf-attr__body .idsf-tags{flex-direction:row;flex-wrap:wrap;gap:8px;}
}

/* ===== LTR (English) adaptations ===== */
/* Mirror the hero diagonal + gradient for the flipped (photo-on-right) layout — desktop only,
   so English mobile keeps the full (no-diagonal) background like Hebrew. */
@media(min-width:761px){
  .idsf-lecturers[dir="ltr"] .idsf-hero__img::before{
    clip-path:polygon(0 0, 100% 0, 100% 100%, 260px 100%);
    background:linear-gradient(302.47deg, #1A2332 19.12%, #2C4772 86.12%);
  }
}
/* English names/titles run longer — trim the type so they sit better. */
.idsf-lecturers[dir="ltr"] .idsf-card__name{font-size:2.6rem;}
.idsf-lecturers[dir="ltr"] .idsf-lecture__title{font-size:2.3rem;line-height:1.15;}
/* Flip the "More details" + breadcrumb arrows to point the LTR way. */
.idsf-lecturers[dir="ltr"] .idsf-more span,
.idsf-lecturers[dir="ltr"] .idsf-hero__back-arrow{display:inline-block;transform:scaleX(-1);}

/* Single: lectures */
.idsf-section-title{font-family:inherit;font-weight:700;font-size:2rem;color:var(--idsf-navy);margin:40px 0 20px;}
/* Lecture card: no card padding (image bleeds to edges), shadow like the grid card, padding on the content only. */
.idsf-lecture{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:0;
  border-radius:var(--idsf-radius);overflow:hidden;margin-bottom:22px;background:#fff;
  box-shadow:0 6px 20px rgba(33,51,79,.12);}
.idsf-lecture--noimg{grid-template-columns:1fr;}
.idsf-lecture__body{padding:26px 30px;display:flex;flex-direction:column;}
.idsf-lecture__title{font-family:inherit;font-weight:700;font-size:1.5rem;color:var(--idsf-navy);margin:0 0 4px;}
.idsf-lecture__desc{line-height:1.45;margin:0 0 12px;}
.idsf-lecture__img{position:relative;overflow:hidden;align-self:stretch;min-height:240px;}
.idsf-lecture__img img{width:100%;height:100%;object-fit:cover;display:block;}
.idsf-lecture__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:16px;flex-wrap:wrap;}
.idsf-lecture__foot--noprice{justify-content:flex-end;}
.idsf-btn{background:var(--idsf-olive);color:#fff;border:none;border-radius:8px;padding:12px 26px;
  font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;}
.idsf-btn:hover{filter:brightness(1.05);}
/* Lecture booking CTA — olive, large text, pinned to the card's left (via foot space-between). */
.idsf-book{background:var(--idsf-olive);font-size:1.5rem;padding:9px 24px;}
@media(max-width:700px){.idsf-lecture{grid-template-columns:1fr;}
  .idsf-lecture__title{line-height:1.12;}}

/* Modal — self-contained (it gets moved to <body>, so it can't rely on
   .idsf-lecturers for vars, box-sizing or the theme override guard). */
.idsf-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.5);
  box-sizing:border-box;
  --idsf-navy:#21334f;--idsf-olive:#8a8e6c;--idsf-photo-bg:#d1d2c4;
  --idsf-font:var(--e-global-typography-text-font-family, "almoni"), "Heebo", system-ui, sans-serif;
  --idsf-font-head:var(--e-global-typography-primary-font-family, "almoni tzar"), "Heebo", system-ui, sans-serif;
  font-family:var(--idsf-font);color:var(--idsf-navy);}
.idsf-modal *{box-sizing:border-box;}
.idsf-modal.is-open{display:flex;}
.idsf-modal__box{background:#fff;border:1.5px solid rgba(33,51,79,.55);border-radius:22px;max-width:660px;width:100%;padding:34px 38px;position:relative;max-height:92vh;overflow:auto;
  font-family:inherit;color:var(--idsf-navy);direction:rtl;box-shadow:0 24px 60px rgba(0,0,0,.28);}
.idsf-modal[dir="ltr"] .idsf-modal__box,html[dir="ltr"] .idsf-modal__box{direction:ltr;}
.idsf-modal__close{position:absolute;top:16px;inset-inline-end:16px;width:46px;height:46px;border-radius:50%;background:var(--idsf-navy);color:#fff;border:none;font-size:2.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:filter .15s;}
.idsf-modal__close:hover{filter:brightness(1.15);}
/* Title with olive underline */
.idsf-modal__title{font-family:var(--idsf-font-head);font-weight:700;font-size:1.9rem;color:var(--idsf-navy);margin:0 0 12px;padding-bottom:10px;position:relative;line-height:1.1;}
.idsf-modal__title::after{content:"";position:absolute;bottom:0;inset-inline-start:0;width:150px;max-width:70%;height:3px;background:var(--idsf-olive);}
/* English booking title ("Book a lecture") size. */
.idsf-modal[dir="ltr"] .idsf-modal__box--booking .idsf-modal__title,
html[dir="ltr"] .idsf-modal__box--booking .idsf-modal__title{font-size:3.5rem;}
/* Booking header: title (start side) + person (end side) */
.idsf-modal__box--booking .idsf-modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:6px;padding-inline-end:56px;}
.idsf-modal__head-main{flex:1 1 auto;min-width:0;}
.idsf-modal__person{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;flex:0 0 auto;}
.idsf-modal__photo{width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:center top;background:var(--idsf-photo-bg);flex:0 0 auto;}
.idsf-modal__person-txt{display:flex;flex-direction:column;align-items:center;line-height:1.2;}
.idsf-modal__name{font-family:var(--idsf-font-head);font-weight:700;font-size:1.7rem;color:var(--idsf-navy);}
.idsf-modal__rank{color:var(--idsf-olive);font-weight:700;font-size:1.25rem;}
.idsf-modal__lecture{font-weight:700;font-size:1.45rem;color:var(--idsf-navy);margin:10px 0 0;line-height:1.25;}
/* Consultation: centered icon + title + subtitle */
.idsf-modal__box--consult{text-align:center;}
.idsf-modal__box--consult .idsf-modal__title{display:inline-block;font-size:2.3rem;}
.idsf-modal__box--consult .idsf-modal__title::after{inset-inline-start:0;inset-inline-end:0;left:0;right:0;margin-inline:auto;transform:none;width:60%;max-width:320px;}
.idsf-modal__icon{display:block;width:92px;height:92px;margin:4px auto 12px;}
.idsf-modal__icon svg{width:100%;height:100%;display:block;}
.idsf-modal__sub{font-family:var(--idsf-font-head);font-weight:700;font-size:1.9rem;line-height:1.2;margin:12px 0 0;color:var(--idsf-navy);}
/* Form */
.idsf-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;text-align:start;}
/* Honeypot: hide WITHOUT an off-screen offset — a -9999px child inside the
   overflow:auto modal box becomes scrollable width in RTL (Hebrew sideways scroll). */
.idsf-form .idsf-hp{position:absolute!important;left:auto!important;right:auto!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
.idsf-form .idsf-field--full{grid-column:1 / -1;}
.idsf-form input[type=text],.idsf-form input[type=email],.idsf-form input[type=tel],.idsf-form textarea{
  width:100%;border:1.5px solid var(--idsf-navy);border-radius:0;padding:13px 16px;font:inherit;color:var(--idsf-navy);background:#fff;}
.idsf-form ::placeholder{color:var(--idsf-navy);opacity:.75;}
.idsf-field--check{display:flex;align-items:center;}
.idsf-check{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer;}
.idsf-check input{width:18px;height:18px;accent-color:var(--idsf-olive);}
.idsf-form textarea{min-height:120px;resize:vertical;}
.idsf-form__actions{grid-column:1 / -1;display:flex;justify-content:flex-start;margin-top:0;}
.idsf-form__send{font-family:var(--idsf-font-head);font-weight:800;font-size:1.6rem;padding:11px 48px;}
.idsf-form__msg{grid-column:1 / -1;margin:0;text-align:start;}
.idsf-form__msg:empty{display:none;}
.idsf-form__msg.is-error{color:#b3261e;}
.idsf-form__msg.is-ok{color:#2e7d32;}
@media(max-width:560px){.idsf-modal__box{padding:26px 22px;}
  .idsf-form{grid-template-columns:1fr;}
  /* Mobile: title + lecture on top, then the lecturer photo/name/position below as a row. */
  .idsf-modal__box--booking .idsf-modal__head{flex-direction:column;align-items:stretch;gap:16px;padding-inline-end:0;}
  .idsf-modal__person{flex-direction:row;align-items:center;text-align:start;gap:12px;}
  .idsf-modal__person-txt{align-items:flex-start;}
  .idsf-modal__title{font-size:1.8rem;}
  .idsf-modal__box--consult .idsf-modal__title{font-size:1.9rem;}}

/* ============================================================
   FONT ENFORCEMENT — force the site font on every text, incl.
   form controls (which don't inherit font-family by default).
   ============================================================ */
.idsf-lecturers,
.idsf-lecturers p,
.idsf-lecturers span,
.idsf-lecturers a,
.idsf-lecturers li,
.idsf-lecturers label,
.idsf-lecturers input,
.idsf-lecturers select,
.idsf-lecturers textarea,
.idsf-lecturers button{font-family:var(--idsf-font);}
.idsf-lecturers__title,
.idsf-lecturers .idsf-card__name,
.idsf-lecturers .idsf-hero__name,
.idsf-lecturers .idsf-hero__rank,
.idsf-lecturers .idsf-section-title,
.idsf-lecturers .idsf-lecture__title,
.idsf-lecturers .idsf-modal__title,
.idsf-lecturers .idsf-more,
.idsf-lecturers .idsf-facet__toggle,
.idsf-lecturers .idsf-sort__label,
.idsf-lecturers .idsf-sort__select,
.idsf-lecturers .idsf-btn{font-family:var(--idsf-font-head);}

/* ============================================================
   THEME / ELEMENTOR OVERRIDE GUARD.
   The site is built with Elementor (hello-elementor + child theme),
   whose CSS loads after most plugins and targets generic elements
   (a, ul, li, button) with class-level specificity. These scoped,
   higher-specificity rules re-assert the module's intended styling.
   ============================================================ */
.idsf-lecturers .idsf-more{color:var(--idsf-navy)!important;text-decoration:none!important;}
.idsf-lecturers .idsf-hero__name,
.idsf-lecturers .idsf-hero__bio,
.idsf-lecturers .idsf-attr__label{color:var(--idsf-navy)!important;}
.idsf-lecturers .idsf-hero__rank,
.idsf-lecturers .idsf-hero__back,
.idsf-lecturers .idsf-hero__back *{color:var(--idsf-olive)!important;}
.idsf-lecturers .idsf-hero__rank{font-size:2rem!important;}
.idsf-lecturers .idsf-hero__bio{font-size:1.15rem!important;}
.idsf-lecturers .idsf-attr__label{font-size:1.4rem!important;}
.idsf-lecturers .idsf-attr__img{height:38px!important;width:auto!important;max-width:none!important;}
.idsf-lecturers a{text-decoration:none;box-shadow:none;}
.idsf-lecturers ul.idsf-tags{list-style:none!important;margin:0!important;padding:0!important;}
.idsf-lecturers .idsf-tag{background:var(--idsf-chip)!important;color:var(--idsf-navy)!important;list-style:none!important;}
.idsf-lecturers .idsf-hero .idsf-tag{background:var(--idsf-chip)!important;color:var(--idsf-navy)!important;}
.idsf-lecturers .idsf-btn{background:var(--idsf-olive)!important;color:#fff!important;border:none!important;text-decoration:none!important;border-radius:8px!important;}
.idsf-lecturers .idsf-book{background:var(--idsf-olive)!important;font-size:1.5rem!important;padding:9px 24px!important;border-radius:8px!important;}
.idsf-lecturers .idsf-facet__toggle{background:#fff!important;color:var(--idsf-navy)!important;border:1.5px solid var(--idsf-navy)!important;border-radius:8px!important;}
.idsf-lecturers .idsf-facet.is-active .idsf-facet__toggle{border-color:var(--idsf-olive)!important;}
.idsf-lecturers .idsf-sort{background:#fff!important;border:1.5px solid var(--idsf-navy)!important;border-radius:8px!important;}
.idsf-lecturers .idsf-sort__select,
.idsf-lecturers .idsf-sort__label{color:var(--idsf-navy)!important;}
/* Force filter text size past Elementor's button typography. */
.idsf-lecturers .idsf-facet__toggle,
.idsf-lecturers .idsf-sort,
.idsf-lecturers .idsf-sort__label,
.idsf-lecturers .idsf-sort__select{font-size:1.325rem!important;}
.idsf-lecturers .idsf-price{color:var(--idsf-navy)!important;}
.idsf-lecturers .idsf-card__name,
.idsf-lecturers .idsf-lecture__title,
.idsf-lecturers .idsf-section-title,
.idsf-lecturers .idsf-lecturers__title{color:var(--idsf-navy)!important;}
.idsf-lecturers img{max-width:100%;}
/* Keep media images inside their box even when the theme forces img{height:auto}. */
.idsf-lecturers .idsf-card__media{overflow:hidden!important;}
.idsf-lecturers .idsf-card__img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;}
.idsf-lecturers .idsf-lecture__img img{width:100%!important;height:100%!important;object-fit:cover!important;}
/* Hero photo is a full-height cutout, not a cover-cropped image. */
.idsf-lecturers .idsf-hero__img img{height:100%!important;width:auto!important;max-width:100%!important;object-fit:contain!important;object-position:bottom center!important;}
/* Page title size — forced past any theme/Elementor responsive h1 typography. */
.idsf-lecturers .idsf-lecturers__title{font-size:clamp(2.8rem,5.5vw,4.6rem)!important;line-height:1.05!important;}
@media(max-width:767px){.idsf-lecturers .idsf-lecturers__title{font-size:4.4rem!important;}}

/* ============================================================
   MODAL OVERRIDE GUARD.
   Modals are relocated to <body> (out of .idsf-lecturers), so the
   theme/Elementor styling of button/input/h2/a can leak in. Re-assert.
   ============================================================ */
.idsf-modal *{box-sizing:border-box!important;}
.idsf-modal .idsf-btn{background:var(--idsf-olive)!important;color:#fff!important;border:none!important;text-decoration:none!important;}
.idsf-modal .idsf-form__send{font-weight:800!important;font-size:1.6rem!important;}
/* Consult title underline must stay centered (theme can strip transforms). */
.idsf-modal__box--consult .idsf-modal__title::after{left:0!important;right:0!important;margin-left:auto!important;margin-right:auto!important;transform:none!important;}
.idsf-modal input:not([type=checkbox]):not([type=radio]):not(.idsf-hp),.idsf-modal textarea{background:#fff!important;color:var(--idsf-navy)!important;border:1.5px solid var(--idsf-navy)!important;border-radius:0!important;width:100%!important;}
.idsf-modal .idsf-check input{width:18px!important;height:18px!important;flex:0 0 auto;}
/* Field direction + alignment follows the modal language: Hebrew = RTL/right, English = LTR/left. */
.idsf-modal .idsf-form input,.idsf-modal .idsf-form textarea{direction:rtl!important;text-align:right!important;}
.idsf-modal[dir="ltr"] .idsf-form input,.idsf-modal[dir="ltr"] .idsf-form textarea,
html[dir="ltr"] .idsf-modal .idsf-form input,html[dir="ltr"] .idsf-modal .idsf-form textarea{direction:ltr!important;text-align:left!important;}
.idsf-modal__title,.idsf-modal__name,.idsf-modal__lecture,.idsf-modal__sub{color:var(--idsf-navy)!important;}
.idsf-modal__rank{color:var(--idsf-olive)!important;}
.idsf-modal .idsf-modal__photo{width:104px!important;height:104px!important;max-width:104px!important;border-radius:50%!important;object-fit:cover!important;background:var(--idsf-photo-bg)!important;}
.idsf-modal .idsf-modal__close{width:46px!important;height:46px!important;min-width:0!important;min-height:0!important;
  padding:0!important;border:none!important;border-radius:50%!important;background:var(--idsf-navy)!important;color:#fff!important;
  font-size:30px!important;font-weight:400!important;line-height:1!important;
  display:flex!important;align-items:center!important;justify-content:center!important;}
.idsf-modal__box{max-width:660px!important;width:100%!important;}

/* Mobile: shrink the filter/sort text so all four controls fit 50/50 on one line.
   Placed after the override guard so it beats the guard's forced font-size. */
@media(max-width:600px){
  .idsf-lecturers .idsf-facet__toggle,
  .idsf-lecturers .idsf-sort,
  .idsf-lecturers .idsf-sort__label,
  .idsf-lecturers .idsf-sort__select{font-size:1.05rem!important;}
}
