/* Irgun Shiurai Torah UX polish - V14.1.65
   Front-end only. Keeps all existing API/admin contracts intact. */
:root{
  --ist-nav-clearance:104px;
  --ist-ui-shadow:0 8px 24px rgba(15,31,53,.075);
}

/* Consistent header without making the strip unnecessarily tall. */
.navbar{box-shadow:0 4px 18px rgba(15,31,53,.09)}
.nav-inner{min-height:78px!important;padding-top:10px!important;padding-bottom:10px!important}
.logo,.brand{white-space:nowrap!important;flex-wrap:nowrap!important}
.logo span,.brand span{white-space:nowrap!important}
.logo img,.brand img{flex:0 0 auto}
@media(min-width:901px){
  .logo,.brand{font-size:28px!important;font-weight:850!important}
  .logo img,.brand img{height:52px!important;max-height:52px!important}
  .nav-links{gap:23px!important}
  .nav-links>a,.nav-dropdown-button{font-size:19px!important;font-weight:800!important}
  .signin-nav{font-size:16px!important;font-weight:800!important;padding:9px 14px!important;background:rgba(255,255,255,.07)!important;color:#fff!important;border:1px solid rgba(200,169,107,.72)!important;box-shadow:none!important}
  .signin-nav:hover{color:var(--ist-gold,#c8a96b)!important;background:rgba(200,169,107,.09)!important;transform:none!important}
}
@media(max-width:900px){
  .nav-inner{min-height:72px!important;padding-top:8px!important;padding-bottom:8px!important}
  .nav-links{top:72px!important}
  body.sponsor-ribbon-present .nav-links{top:calc(72px + var(--ist-sponsor-ribbon-height,34px))!important}
  .logo,.brand{font-size:18px!important;min-width:0}
  .logo img,.brand img{height:42px!important;max-height:42px!important}
  .logo span,.brand span{overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 135px)}
}

/* Every page clears the fixed header + optional sponsorship ribbon. */
.page{padding-top:calc(124px + var(--ist-sponsor-ribbon-height,0px))!important}
.store-page{padding-top:calc(116px + var(--ist-sponsor-ribbon-height,0px))!important}
.schedule-shell{padding-top:calc(116px + var(--ist-sponsor-ribbon-height,0px))!important}
.donation-page{padding-top:calc(116px + var(--ist-sponsor-ribbon-height,0px))!important}
body.sponsor-ribbon-present .hero{padding-top:var(--ist-sponsor-ribbon-height,34px)}
@media(max-width:700px){
  .page,.store-page,.schedule-shell,.donation-page{padding-top:calc(102px + var(--ist-sponsor-ribbon-height,0px))!important}
}

/* Homepage hierarchy: shorter intro, content arrives much faster. */
.hero{min-height:min(680px,76vh)!important;padding-bottom:58px}
.hero-content{padding-top:62px!important}
.hero h1{font-size:clamp(42px,5vw,60px)!important;margin-bottom:18px!important}
.hero p{font-size:18px!important;margin-bottom:26px!important;max-width:690px}
.section{padding-top:62px!important;padding-bottom:62px!important}
.home-next-shiur{max-width:860px;margin:0 auto 24px;background:#fff;border:1px solid #e5d6b6;border-radius:18px;padding:16px 18px;box-shadow:var(--ist-ui-shadow);display:flex;gap:16px;align-items:center;justify-content:space-between}
.home-next-shiur[hidden]{display:none!important}
.home-next-copy{min-width:0}.home-next-kicker{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:#9b7438;font-weight:900;margin-bottom:3px}.home-next-title{font:800 18px/1.3 Inter,Arial,sans-serif;color:#0f1f35}.home-next-meta{font-size:13px;color:#64748b;margin-top:4px}.home-next-action{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:11px;background:#0f1f35;color:#fff;font-weight:800;font-size:13px}.home-next-action:hover{color:#f2d598}
.home-schedule-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-schedule-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:var(--ist-ui-shadow)}.home-schedule-card strong{display:block;color:#0f1f35;font-size:15px;line-height:1.35;margin:5px 0}.home-schedule-date{font-size:12px;font-weight:900;color:#9b7438}.home-schedule-meta{font-size:12px;color:#64748b;line-height:1.45}.home-schedule-footer{text-align:center;margin-top:18px}.home-app-download{display:flex;align-items:center;justify-content:space-between;gap:20px}.home-app-download .app-tester-copy{max-width:760px}.home-app-download .app-tester-button{flex:0 0 auto}
@media(max-width:760px){
  .hero{min-height:540px!important;padding-bottom:44px}.hero-content{padding-top:38px!important}.hero h1{font-size:40px!important}.hero p{font-size:17px!important}
  .section{padding-top:44px!important;padding-bottom:44px!important}
  .home-schedule-section .section-title{margin-bottom:30px!important}
  .home-schedule-section .section-title h2{font-size:clamp(31px,10vw,38px)!important;line-height:1.12}
  .home-next-shiur,.home-app-download{align-items:flex-start;flex-direction:column}.home-next-action,.home-app-download .app-tester-button{width:100%;justify-content:center}
  .home-schedule-preview{grid-template-columns:1fr}
}

/* Lighten visual weight without changing the navy/gold identity. */
.card,.latest-card,.schedule-card,.catalog-card,.donation-provider-panel,.payment-panel,.mail-panel{box-shadow:var(--ist-ui-shadow)!important}
.btn-primary,.btn-secondary,.store-button,.schedule-action,.provider-button,.tab-button,.folder-filter-button{border-radius:11px!important}

/* Library mobile controls. */
.library-filter-toggle{display:none;width:100%;min-height:48px;border:1px solid #dbe3ed;border-radius:12px;background:#fff;color:#0f1f35;font-weight:850;padding:11px 14px;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}
.library-filter-toggle .filter-count{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#c8a96b;color:#111;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.library-filter-toggle .filter-count:empty{display:none}
.advanced-filters{display:grid;grid-template-columns:repeat(6,minmax(138px,1fr));gap:12px;grid-column:1/-1}
.active-filter-chips{display:flex;gap:7px;flex-wrap:wrap;margin:-8px 0 18px}.active-filter-chips:empty{display:none}.active-filter-chip{border:1px solid #dbc79e;background:#fffaf0;color:#6f531f;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.active-filter-chip i{font-size:9px}.card-catalog-code{font-size:10px;font-weight:850;letter-spacing:.04em;color:#94a3b8;margin-top:2px}.card-speaker{font-size:13px;font-weight:800;color:#334155}.card-topic{font-size:12px;color:#8a642d;font-weight:700}.card-meta-line{font-size:12px;color:#64748b}.share-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:4000;background:#0f1f35;color:#fff;border:1px solid rgba(200,169,107,.55);border-radius:999px;padding:10px 15px;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:.2s}.share-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){
  .controls{grid-template-columns:1fr!important}.search-box-with-mode{grid-column:1!important}.library-filter-toggle{display:flex}.advanced-filters{display:none;grid-template-columns:1fr;gap:10px}.advanced-filters.open{display:grid}.advanced-filters .folder-filter-menu{position:static;min-width:0;margin-top:7px;box-shadow:0 8px 22px rgba(15,31,53,.10)}
}

/* Schedule: timezone + useful actions. */
.schedule-timezone{margin:10px 0 20px;text-align:center;color:#64748b;font-size:12px;font-weight:800}.schedule-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px solid #eef2f7}.schedule-action{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe3ed;background:#fff;color:#0f1f35;padding:7px 10px;font-size:11px;font-weight:850;cursor:pointer;text-decoration:none}.schedule-action:hover{border-color:#c8a96b;background:#fffaf0}.schedule-action.live{background:#b91c1c;color:#fff;border-color:#b91c1c}.schedule-action.primary{background:#0f1f35;color:#fff;border-color:#0f1f35}.featured-actions{justify-content:center}

/* Donation: put the card flow first, hide the long provider list until requested. */
.other-payment-methods{margin-top:12px;border-top:1px solid #e2e8f0;padding-top:12px}.other-payment-methods summary{cursor:pointer;list-style:none;color:#0f1f35;font-weight:850;padding:9px 3px;display:flex;justify-content:space-between;align-items:center}.other-payment-methods summary::-webkit-details-marker{display:none}.other-payment-methods summary::after{content:"+";color:#9b7438;font-size:20px}.other-payment-methods[open] summary::after{content:"−"}.other-payment-methods .donation-provider-grid{margin-top:8px}.donation-primary-method .provider-button{background:linear-gradient(180deg,#fff9ec,#f7ecd4);border-color:#c8a96b}
@media(min-width:901px){
  .donation-shell{grid-template-columns:minmax(0,1fr) 290px!important}.donation-shell>section{grid-column:1;grid-row:1}.donation-provider-panel{grid-column:2;grid-row:1;top:104px!important}
}
@media(max-width:900px){.donation-shell>section{grid-row:1}.donation-provider-panel{grid-row:2}}

/* Purchase: compact terms and clear available/coming-soon separation. */
.usage-notice{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.usage-terms{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:0 16px;margin:0 0 22px}.usage-terms summary{cursor:pointer;font-weight:850;color:#0f1f35;padding:13px 0}.usage-terms .usage-full{border-top:1px solid #eef2f7;padding:12px 0 15px;color:#64748b;font-size:13px;line-height:1.55}.catalog-section-priority{margin-bottom:40px}.catalog-section-priority .catalog-heading h2{font-size:25px}.coming-soon-wrap{margin-top:40px;border-top:1px solid #dbe3ed;padding-top:26px}.coming-soon-wrap>summary{cursor:pointer;font-size:20px;font-weight:850;color:#0f1f35;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}.coming-soon-wrap>summary::-webkit-details-marker{display:none}.coming-soon-wrap>summary::after{content:"+";color:#9b7438;font-size:24px}.coming-soon-wrap[open]>summary::after{content:"−"}.coming-soon-wrap .catalog-grid{margin-top:18px}

/* Contact direct details. */
.contact-direct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px}.contact-direct-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:15px 17px;box-shadow:var(--ist-ui-shadow)}.contact-direct-card i{width:36px;height:36px;border-radius:10px;background:#fff8e9;color:#9b7438;display:flex;align-items:center;justify-content:center}.contact-direct-card strong{display:block;color:#0f1f35;font-size:12px}.contact-direct-card a{color:#334155;font-weight:800;text-decoration:none}.contact-direct-card a:hover{color:#9b7438}
@media(max-width:600px){.contact-direct-grid{grid-template-columns:1fr}}

/* Login benefits: useful but visually quiet. */
.account-benefits{margin:0 0 18px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;color:#64748b;font-size:12px;line-height:1.5}.account-benefits strong{color:#0f1f35}

/* Homepage donation is intentionally simple; all providers remain on Donate. */
.home-donate-simple{display:flex!important;justify-content:center!important;gap:12px!important;flex-wrap:wrap!important}.home-donate-simple a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-width:190px!important}.home-donate-simple .home-donate-primary{background:#0f1f35!important;color:#fff!important;border-color:#0f1f35!important}.home-donate-simple .home-donate-secondary{background:#fff!important;color:#0f1f35!important}
.contact-direct-card small{display:block;color:#334155;font-size:14px;font-weight:800;margin-top:2px}.contact-direct-card:hover small{color:#9b7438}.account-benefits span{display:block;margin-top:3px}

/* V14.1.75 desktop brand/nav breathing room */
@media (min-width:901px){.nav-inner>.logo,.nav-inner>.brand{margin-inline-end:28px!important;}.nav-links{column-gap:24px!important;}}
