/* Muslim Safar Project - premium travel system. */
:root { --msf-gold:#98730b; --msf-gold-light:#c8a13a; --msf-black:#000; --msf-ink:#171512; --msf-charcoal:#24211d; --msf-white:#fff; --msf-ivory:#fbfaf7; --msf-sand:#f1ede5; --msf-muted:#6f6960; --msf-line:#e8e1d7; --msf-serif:"Playfair Display", Georgia, serif; --msf-sans:"DM Sans", Arial, sans-serif; }
.msf-page, .msf-page *, .msf-site-header, .msf-site-header *, .msf-site-footer, .msf-site-footer *, .msf-live-chat, .msf-live-chat *, .msf-whatsapp-float { box-sizing:border-box; } html { scroll-behavior:smooth; } .msf-page { margin:0; overflow-x:clip; background:var(--msf-ivory); color:var(--msf-ink); font:16px/1.6 var(--msf-sans); } .msf-container { width:min(1180px, calc(100% - 64px)); margin-inline:auto; } .msf-skip-link { position:absolute; left:-9999px; }.msf-skip-link:focus { top:1rem; left:1rem; z-index:100; padding:.6rem 1rem; background:var(--msf-gold); color:var(--msf-white); }

.msf-site-header { position:absolute; z-index:20; top:28px; left:50%; display:flex; align-items:center; justify-content:space-between; width:min(1080px,calc(100% - 48px)); min-height:72px; padding:10px 14px 10px 20px; transform:translateX(-50%); border:1px solid rgba(255,255,255,.7); border-radius:999px; background:rgba(255,255,255,.95); box-shadow:0 12px 36px rgba(0,0,0,.12); backdrop-filter:blur(12px); transition:top .3s ease,box-shadow .3s ease; }.msf-site-header.is-scrolled { top:16px; box-shadow:0 14px 38px rgba(0,0,0,.18); }.msf-brand { display:flex; align-items:center; text-decoration:none; }.msf-brand-logo { display:block; width:150px; max-height:44px; object-fit:contain; object-position:left center; }.msf-main-nav { display:flex; align-items:center; gap:28px; }.msf-main-nav a { color:var(--msf-ink); font-size:.81rem; font-weight:600; text-decoration:none; }.msf-main-nav a:hover,.msf-main-nav a.active { color:var(--msf-gold); }.msf-main-nav .msf-nav-cta { padding:10px 18px; border-radius:999px; background:var(--msf-gold); color:var(--msf-white); }.msf-main-nav .msf-nav-cta:hover { color:var(--msf-white); background:var(--msf-ink); }.msf-nav-toggle { display:none; border:0; background:transparent; }.msf-whatsapp-float { display:none; }

.hero,.page-hero,.detail-hero { position:relative; display:flex; overflow:hidden; color:var(--msf-white); background-color:var(--msf-black); background-position:center; background-size:cover; }.hero { min-height:100svh; align-items:center; background-image:url('/muslim_safar_theme/static/src/img/hero-makkah.png'); }.page-hero { min-height:590px; align-items:end; background-image:url('/muslim_safar_theme/static/src/img/hero-makkah.png'); }.page-hero-perjalanan { background-position:center 62%; }.hero-overlay,.page-hero-overlay,.detail-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.58) 49%,rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.58),transparent 50%); }.hero-content,.page-hero-content,.detail-hero-content { position:relative; }.hero-content { padding-top:58px; }.page-hero-content,.detail-hero-content { padding-bottom:82px; }.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; color:var(--msf-muted); font-size:.69rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }.eyebrow span { width:28px; height:1px; background:var(--msf-gold); }.eyebrow.light { color:#eeeae3; }.hero-title,.hero h1,.page-hero h1,.detail-hero h1 { max-width:870px; margin:0; font:600 clamp(3rem,7vw,6.7rem)/.98 var(--msf-serif); letter-spacing:-.07em; }.hero-title em,h2 em { color:var(--msf-gold-light); font-weight:500; }.hero-copy,.hero-description { max-width:535px; margin:27px 0 30px; color:#f7f5f1; font-size:clamp(1rem,1.7vw,1.15rem); }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.msf-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:13px 20px; border:1px solid transparent; border-radius:999px; font-size:.82rem; font-weight:700; text-decoration:none; transition:transform .25s ease,background .25s ease,color .25s ease; }.msf-button:hover { transform:translateY(-2px); }.msf-button-primary { background:var(--msf-gold); color:var(--msf-white); }.msf-button-primary:hover { background:var(--msf-gold-light); color:var(--msf-black); }.msf-button-dark { background:var(--msf-ink); color:var(--msf-white); }.msf-button-ghost { border-color:rgba(255,255,255,.7); color:var(--msf-white); }.breadcrumb { display:inline-flex; margin-bottom:32px; color:var(--msf-white); font-size:.8rem; text-decoration:none; }.breadcrumb:hover { color:var(--msf-gold-light); }

.msf-section { padding:112px 0; }.intro { padding-bottom:96px; }.intro-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr); gap:9%; align-items:end; }.intro h2,.section-heading h2,.catalog-bar h2,.detail-main h2,.consultation h2,.travel-poster-frame h2 { margin:0; font:600 clamp(2.3rem,4.7vw,4.6rem)/1.08 var(--msf-serif); letter-spacing:-.06em; }.intro-grid>div p,.section-heading>p,.catalog-bar>p,.detail-main>p { margin:0; color:var(--msf-muted); }.intro-grid>div p { margin-bottom:20px; }.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--msf-ink); font-size:.83rem; font-weight:700; text-decoration:none; }.text-link span { color:var(--msf-gold); font-size:1.15rem; transition:transform .2s ease; }.text-link:hover span { transform:translateX(3px); }.travel-showcase { background:var(--msf-sand); }.section-heading,.catalog-bar { display:flex; align-items:end; justify-content:space-between; gap:42px; margin-bottom:44px; }.section-heading>p,.catalog-bar>p { max-width:370px; font-size:.92rem; }

.travel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.travel-card { overflow:hidden; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 8px 24px rgba(0,0,0,.045); transition:transform .3s ease,box-shadow .3s ease; }.travel-card:hover { transform:translateY(-6px); box-shadow:0 20px 38px rgba(0,0,0,.12); }.travel-card-featured { grid-column:span 2; }.travel-poster { display:block; min-height:255px; background-position:center; background-size:cover; transition:transform .6s ease; }.travel-card:hover .travel-poster { transform:scale(1.035); }.travel-card-content { min-height:218px; padding:27px; }.msf-tag { margin:0 0 9px; color:var(--msf-gold); font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.travel-card h3 { margin:0 0 8px; font:600 clamp(1.65rem,2.7vw,2.25rem)/1.08 var(--msf-serif); letter-spacing:-.05em; }.travel-card-content>p:not(.msf-tag) { min-height:49px; margin:0 0 18px; color:var(--msf-muted); font-size:.88rem; }.poster-menuju-cahaya { background-image:linear-gradient(0deg,rgba(0,0,0,.34),transparent 65%),url('/muslim_safar_theme/static/src/img/poster-menuju-cahaya.jpg'); }.poster-jalan-pulang { background-image:linear-gradient(0deg,rgba(0,0,0,.34),transparent 65%),url('/muslim_safar_theme/static/src/img/poster-jalan-pulang.jpg'); }.poster-kembali-pulih { background-image:linear-gradient(0deg,rgba(0,0,0,.34),transparent 65%),url('/muslim_safar_theme/static/src/img/poster-kembali-pulih.jpg'); }.poster-peradaban-samawa { background-image:linear-gradient(0deg,rgba(0,0,0,.34),transparent 65%),url('/muslim_safar_theme/static/src/img/poster-peradaban-samawa.jpg'); }.poster-bahagia-bersama { background-image:linear-gradient(0deg,rgba(0,0,0,.34),transparent 65%),url('/muslim_safar_theme/static/src/img/poster-bahagia-bersama.jpg'); }

.journey,.detail-value { background:var(--msf-black); color:var(--msf-white); }.journey-heading { max-width:700px; }.journey-list,.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:54px 0 0; padding:0; list-style:none; }.journey-list li,.value-grid article { padding-top:20px; border-top:1px solid rgba(255,255,255,.25); }.journey-list li>span,.value-grid article>span { color:var(--msf-gold-light); font-size:.7rem; letter-spacing:.15em; }.journey-list h3,.value-grid h3 { margin:11px 0 7px; font:500 1.3rem var(--msf-serif); }.journey-list p,.value-grid p { margin:0; color:#d1cbc3; font-size:.82rem; line-height:1.6; }.consultation { padding:110px 0; background:linear-gradient(135deg,var(--msf-charcoal),var(--msf-black)); color:var(--msf-white); text-align:center; }.consultation-inner { max-width:750px; }.consultation .eyebrow { justify-content:center; color:#ede8df; }.consultation h2 { margin-bottom:22px; }.consultation-inner>p:not(.eyebrow) { max-width:475px; margin:0 auto 27px; color:#ded8cf; }.msf-site-footer { padding:33px 0; background:var(--msf-black); color:var(--msf-white); border-top:1px solid rgba(255,255,255,.15); }.msf-footer-inner { display:grid; grid-template-columns:1fr 1.35fr auto; align-items:center; gap:34px; }.msf-site-footer p,.msf-site-footer span { margin:0; color:#c8c1b6; font-size:.72rem; }

.catalog { padding-top:104px; }.detail-hero { min-height:650px; align-items:end; background-position:center; background-size:cover; }.detail-overview { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(285px,.65fr); gap:10%; align-items:start; }.detail-main h2 { margin-bottom:25px; }.detail-main>p { max-width:650px; font-size:1rem; }.detail-facts { padding:30px; border-top:3px solid var(--msf-gold); border-radius:0 0 14px 14px; background:var(--msf-sand); }.detail-facts dl { margin:20px 0 28px; }.detail-facts dl div { display:flex; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid rgba(0,0,0,.11); font-size:.82rem; }.detail-facts dt { color:var(--msf-muted); }.detail-facts dd { max-width:58%; margin:0; font-weight:700; text-align:right; }.detail-facts .msf-button { width:100%; }.detail-value { padding:94px 0; }.detail-value .value-grid { grid-template-columns:repeat(3,1fr); }.travel-poster-section { padding-top:0; }.travel-poster-frame { display:flex; min-height:430px; align-items:end; padding:50px; border-radius:20px; color:var(--msf-white); background-position:center; background-size:cover; box-shadow:inset 0 -120px 100px rgba(0,0,0,.55); }.travel-poster-frame>div { max-width:680px; }.travel-poster-frame h2 { font-size:clamp(2rem,4vw,4rem); }.detail-register { padding:104px 0; }

@media (max-width:1000px) { .travel-grid { grid-template-columns:repeat(2,1fr); }.travel-card-featured { grid-column:auto; }.msf-main-nav { gap:18px; } }
@media (max-width:800px) { .msf-container { width:min(100% - 40px,680px); }.msf-site-header { top:16px; width:calc(100% - 32px); min-height:62px; padding:9px 10px 9px 16px; }.msf-brand-logo { width:132px; max-height:38px; }.msf-main-nav { position:absolute; top:70px; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 14px 30px rgba(0,0,0,.14); }.msf-main-nav.open { display:flex; }.msf-main-nav a { padding:11px; }.msf-main-nav .msf-nav-cta { margin-top:5px; text-align:center; }.msf-nav-toggle { display:grid; gap:5px; padding:12px; cursor:pointer; }.msf-nav-toggle span { display:block; width:20px; height:1px; background:var(--msf-ink); }.msf-whatsapp-float { position:fixed; z-index:30; right:18px; bottom:max(18px,env(safe-area-inset-bottom)); display:inline-flex; align-items:center; gap:8px; padding:10px 14px 10px 10px; border-radius:999px; background:var(--msf-gold); box-shadow:0 12px 28px rgba(0,0,0,.25); color:var(--msf-white); font-size:.75rem; font-weight:700; text-decoration:none; }.msf-whatsapp-float>span:first-child { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:var(--msf-white); color:var(--msf-gold); font-size:.58rem; }.hero { min-height:720px; background-position:61% center; }.page-hero { min-height:510px; }.detail-hero { min-height:570px; }.hero-content { padding-top:74px; }.page-hero-content,.detail-hero-content { padding-bottom:60px; }.hero-title,.hero h1,.page-hero h1,.detail-hero h1 { font-size:clamp(3rem,13vw,5rem); }.msf-section,.catalog { padding:76px 0; }.intro { padding-bottom:68px; }.intro-grid,.detail-overview,.value-grid,.detail-value .value-grid { grid-template-columns:1fr; gap:30px; }.section-heading,.catalog-bar { display:block; margin-bottom:32px; }.section-heading>p,.catalog-bar>p { margin-top:17px; }.travel-grid { grid-template-columns:1fr; }.travel-card-content { min-height:0; }.journey-list { grid-template-columns:1fr 1fr; gap:25px 18px; }.travel-poster-frame { min-height:350px; padding:30px; }.msf-footer-inner { grid-template-columns:1fr; gap:16px; }.detail-register,.detail-value { padding:76px 0; } }
@media (max-width:450px) { .hero { min-height:680px; }.hero-actions { display:grid; }.hero-actions .msf-button { width:100%; }.journey-list { grid-template-columns:1fr; }.travel-poster { min-height:225px; }.msf-whatsapp-label { display:none; }.msf-whatsapp-float { padding:10px; }.travel-poster-frame { min-height:310px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }

/* UX refinement: measured spacing, stable cards, and clear in-page controls. */
html { scroll-padding-top:96px; }
#perjalanan, #tentang, #konsultasi { scroll-margin-top:96px; }
.msf-section { padding:104px 0; }
.msf-site-header { width:min(1100px,calc(100% - 48px)); min-height:68px; padding:8px 13px 8px 16px; }
.msf-brand { gap:9px; min-width:0; }
.msf-brand-logo { width:42px; height:42px; max-height:none; flex:0 0 42px; border:1px solid rgba(152,115,11,.28); border-radius:50%; background:var(--msf-white); object-fit:cover; object-position:center; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.msf-brand-name { color:var(--msf-ink); font-size:.89rem; font-weight:700; letter-spacing:-.03em; white-space:nowrap; }
.msf-brand-name em { color:var(--msf-gold); font-family:var(--msf-serif); font-weight:600; }
.msf-site-footer .msf-brand-name { color:var(--msf-white); }
.msf-main-nav { gap:26px; }
.msf-main-nav a { font-size:.8rem; }
.msf-main-nav .msf-nav-cta { padding:9px 17px; box-shadow:0 5px 12px rgba(152,115,11,.18); }
.hero { min-height:clamp(680px,88svh,840px); }
.page-hero { min-height:clamp(510px,63svh,640px); }
.detail-hero { min-height:clamp(540px,70svh,660px); }
.hero-content { padding-top:64px; }
.page-hero-content,.detail-hero-content { padding-bottom:70px; }
.hero-title,.hero h1,.page-hero h1,.detail-hero h1 { font-size:clamp(3rem,6.3vw,6rem); }
.hero-copy,.hero-description { max-width:560px; font-size:clamp(1rem,1.35vw,1.1rem); }
.travel-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:24px; }
.travel-card { display:grid; grid-template-rows:auto minmax(0,1fr); border-radius:16px; }
.travel-card:last-child { grid-column:auto; }
.travel-poster { min-height:0; aspect-ratio:4 / 3; background-position:center; background-size:cover; }
.travel-card-content { display:flex; min-height:0; flex-direction:column; padding:25px; }
.travel-card-content>p:not(.msf-tag) { min-height:0; margin-bottom:22px; }
.travel-card-content .text-link { margin-top:auto; }
.catalog { padding-top:96px; }
.detail-overview { gap:8%; }
.detail-main>p { font-size:1.02rem; line-height:1.75; }
.detail-facts { position:sticky; top:104px; padding:28px; border-radius:0 0 16px 16px; }
.detail-value { padding:88px 0; }
.travel-poster-section { padding:72px 0; }
.travel-poster-frame { min-height:360px; padding:42px; border-radius:18px; }
.journey-modes { padding:82px 0; background:var(--msf-sand); }
.mode-heading { max-width:710px; margin-bottom:30px; }
.mode-heading h2 { margin:0; font:600 clamp(2.1rem,4vw,3.85rem)/1.08 var(--msf-serif); letter-spacing:-.055em; }
.mode-heading h2 em { color:var(--msf-gold); font-weight:500; }
.mode-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.mode-tab { min-width:106px; padding:11px 18px; border:1px solid rgba(152,115,11,.28); border-radius:999px; background:var(--msf-white); color:var(--msf-ink); font:700 .79rem var(--msf-sans); cursor:pointer; transition:background .2s ease,color .2s ease,transform .2s ease; }
.mode-tab:hover { transform:translateY(-2px); border-color:var(--msf-gold); }
.mode-tab.is-active { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-white); box-shadow:0 8px 18px rgba(152,115,11,.18); }
.mode-panel { min-height:172px; padding:30px; border:1px solid var(--msf-line); border-left:3px solid var(--msf-gold); border-radius:14px; background:var(--msf-white); box-shadow:0 8px 24px rgba(0,0,0,.04); }
.mode-panel[hidden] { display:none; }
.mode-panel h3 { margin:0 0 8px; font:600 clamp(1.55rem,2.7vw,2rem)/1.1 var(--msf-serif); letter-spacing:-.04em; }
.mode-panel>p:not(.msf-tag) { max-width:680px; margin:0; color:var(--msf-muted); }

@media (max-width:1000px) {
  .msf-section { padding:88px 0; }
  .travel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .travel-card:last-child { grid-column:auto; width:auto; justify-self:auto; }
  .detail-facts { position:static; }
}
@media (max-width:800px) {
  html { scroll-padding-top:82px; }
  #perjalanan, #tentang, #konsultasi { scroll-margin-top:82px; }
  .msf-site-header { width:calc(100% - 32px); min-height:62px; padding:7px 8px 7px 12px; }
  .msf-brand-logo { width:39px; height:39px; flex-basis:39px; }
  .msf-brand-name { font-size:.8rem; }
  .msf-nav-toggle { border:1px solid var(--msf-line); border-radius:12px; background:var(--msf-white); }
  .msf-main-nav { top:68px; padding:10px; }
  .msf-main-nav a { padding:12px; }
  .hero { min-height:650px; }
  .page-hero { min-height:470px; }
  .detail-hero { min-height:500px; }
  .hero-content { padding-top:76px; }
  .page-hero-content,.detail-hero-content { padding-bottom:52px; }
  .hero-title,.hero h1,.page-hero h1,.detail-hero h1 { font-size:clamp(2.7rem,11vw,4.25rem); }
  .hero-copy,.hero-description { margin:20px 0 25px; font-size:.98rem; }
  .msf-section,.catalog { padding:70px 0; }
  .section-heading,.catalog-bar { margin-bottom:30px; }
  .travel-card-content { padding:22px; }
  .travel-poster { aspect-ratio:16 / 10; }
  .detail-value,.detail-register { padding:70px 0; }
  .journey-modes { padding:68px 0; }
  .mode-panel { min-height:0; padding:24px; }
  .travel-poster-section { padding:58px 0; }
  .travel-poster-frame { min-height:310px; padding:27px; }
}
@media (max-width:560px) {
  .msf-container { width:min(100% - 32px,680px); }
  .msf-brand-name { font-size:.74rem; }
  .travel-grid { grid-template-columns:1fr; gap:16px; }
  .travel-card:last-child { grid-column:auto; width:auto; }
  .travel-poster { aspect-ratio:4 / 3; }
  .mode-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .mode-tab { min-width:0; padding:10px 6px; font-size:.74rem; }
  .mode-panel { padding:22px; }
}

/* About, portal, and commerce affordances. */
.msf-main-nav .msf-nav-login { padding:8px 13px; border:1px solid rgba(152,115,11,.5); border-radius:999px; color:var(--msf-gold); font-size:.76rem; }
.msf-main-nav .msf-nav-login:hover { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-white); }
.msf-button-outline { border-color:rgba(152,115,11,.55); background:var(--msf-white); color:var(--msf-gold); }
.msf-button-outline:hover { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-white); }
.msf-button-outline-light { border-color:rgba(255,255,255,.65); color:var(--msf-white); }
.msf-button-outline-light:hover { border-color:var(--msf-white); background:var(--msf-white); color:var(--msf-ink); }
.join-options { padding-top:0; background:var(--msf-ivory); }
.join-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.join-card { display:flex; min-height:315px; flex-direction:column; padding:28px; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 24px rgba(0,0,0,.04); }
.join-card>span { display:block; margin-bottom:22px; color:var(--msf-gold); font-size:.72rem; font-weight:700; letter-spacing:.14em; }
.join-card h3 { margin:0 0 9px; font:600 1.9rem/1.08 var(--msf-serif); letter-spacing:-.05em; }
.join-card>p:not(.msf-tag) { margin:0 0 24px; color:var(--msf-muted); font-size:.88rem; }
.join-card .msf-button { width:100%; margin-top:auto; }
.about-hero { background-image:url('/muslim_safar_theme/static/src/img/medinah.png'); background-position:center 55%; }
.about-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); gap:12%; align-items:start; }
.about-grid h2 { margin:0; font:600 clamp(2.35rem,4.7vw,4.5rem)/1.08 var(--msf-serif); letter-spacing:-.06em; }
.about-grid h2 em { color:var(--msf-gold); font-weight:500; }
.about-copy { display:grid; gap:18px; }
.about-copy p { margin:0; color:var(--msf-muted); font-size:1rem; line-height:1.78; }
.about-credentials { padding:0 0 104px; }
.credentials-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:22px; }
.credential-card { min-height:292px; padding:32px; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-sand); }
.credential-card h3 { margin:0 0 24px; font:600 clamp(1.8rem,3vw,2.55rem)/1.08 var(--msf-serif); letter-spacing:-.05em; }
.credential-card dl { margin:0; }.credential-card dl div { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid rgba(0,0,0,.12); font-size:.84rem; }.credential-card dt { color:var(--msf-muted); }.credential-card dd { margin:0; font-weight:700; text-align:right; }
.credential-card-dark { background:var(--msf-charcoal); color:var(--msf-white); }.credential-card-dark>p:not(.msf-tag) { max-width:590px; margin:0 0 24px; color:#d9d2c8; }.credential-actions { display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:1000px) { .join-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.join-card:last-child { grid-column:1 / -1; width:calc((100% - 20px) / 2); justify-self:center; }.about-grid { grid-template-columns:1fr; gap:36px; }.credentials-grid { grid-template-columns:1fr; }.about-credentials { padding-bottom:88px; } }
@media (max-width:800px) { .msf-main-nav .msf-nav-login { margin-top:5px; padding:11px; text-align:center; }.join-options { padding-top:0; }.join-grid { grid-template-columns:1fr; }.join-card,.join-card:last-child { width:auto; min-height:0; grid-column:auto; }.about-copy p { font-size:.96rem; }.about-credentials { padding:0 0 70px; }.credential-card { min-height:0; padding:26px; }.credential-actions { display:grid; }.credential-actions .msf-button { width:100%; }.about-hero { background-position:center; } }

/* Portal, partner, and program-selection refinements. */
.msf-inner-page .page-hero { padding-top:112px; }
.mode-panel.mode-program { display:grid; grid-template-columns:minmax(220px,.76fr) minmax(0,1.24fr); gap:0; min-height:0; overflow:hidden; padding:0; border-left:0; }
.mode-panel.mode-program[hidden] { display:none; }
.program-poster { min-height:100%; aspect-ratio:4 / 5; background-position:center; background-size:cover; }
.program-poster-umrah { background-position:center 38%; }.program-poster-rihlah { filter:saturate(.85) contrast(.96); }.program-poster-kajian { filter:grayscale(.12) sepia(.08); }
.program-content { padding:30px; }.program-content h3 { margin:0 0 10px; font:600 clamp(1.65rem,3vw,2.35rem)/1.08 var(--msf-serif); letter-spacing:-.05em; }.program-content>p:not(.msf-tag) { margin:0; color:var(--msf-muted); }.program-content ul { display:grid; gap:7px; margin:19px 0 24px; padding:0; color:var(--msf-ink); font-size:.86rem; list-style:none; }.program-content li { position:relative; padding-left:18px; }.program-content li::before { position:absolute; left:0; color:var(--msf-gold); content:'\2022'; }.program-actions { display:flex; flex-wrap:wrap; gap:10px; }
.portal-section,.terms-section { min-height:calc(100svh - 130px); padding:156px 0 92px; background:linear-gradient(135deg,var(--msf-sand),var(--msf-ivory)); }.portal-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(370px,.85fr); gap:10%; align-items:center; }.portal-intro h1,.terms-card h1 { margin:0 0 20px; font:600 clamp(2.7rem,5.8vw,5.2rem)/1 var(--msf-serif); letter-spacing:-.065em; }.portal-intro h1 em { color:var(--msf-gold); font-weight:500; }.portal-intro>p { max-width:540px; margin:0 0 20px; color:var(--msf-muted); font-size:1.03rem; }.portal-intro small { display:block; max-width:440px; color:var(--msf-muted); font-size:.78rem; }.portal-card,.partner-form { padding:32px; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 18px 42px rgba(0,0,0,.08); }.portal-card h2 { margin:0 0 24px; font:600 2.15rem/1 var(--msf-serif); letter-spacing:-.05em; }.portal-card label,.partner-form label { display:grid; gap:7px; margin-bottom:16px; color:var(--msf-ink); font-size:.8rem; font-weight:700; }.portal-card input,.partner-form input,.partner-form textarea { width:100%; border:1px solid var(--msf-line); border-radius:10px; background:var(--msf-ivory); color:var(--msf-ink); font:400 .92rem var(--msf-sans); outline:none; transition:border .2s ease,box-shadow .2s ease; }.portal-card input { padding:13px 14px; }.partner-form input,.partner-form textarea { padding:12px 13px; }.portal-card input:focus,.partner-form input:focus,.partner-form textarea:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }.portal-card .msf-button { width:100%; margin-top:4px; }.portal-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:18px; }.portal-links a { color:var(--msf-gold); font-size:.75rem; font-weight:700; text-decoration:none; }
.partner-hero { background-image:url('/muslim_safar_theme/static/src/img/hero-makkah.png'); background-position:center 62%; }.partner-copy { max-width:940px; }.partner-copy h2,.partner-form-layout h2 { margin:0 0 24px; font:600 clamp(2.3rem,4.8vw,4.6rem)/1.08 var(--msf-serif); letter-spacing:-.06em; }.partner-copy h2 em,.partner-form-layout h2 em { color:var(--msf-gold); font-weight:500; }.partner-copy>p:not(.eyebrow),.partner-form-layout>div>p:not(.eyebrow) { max-width:760px; margin:0; color:var(--msf-muted); font-size:1rem; line-height:1.76; }.partner-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }.partner-benefits article { padding-top:18px; border-top:2px solid var(--msf-gold); }.partner-benefits span { color:var(--msf-gold); font-size:.7rem; font-weight:700; letter-spacing:.13em; }.partner-benefits h3 { margin:9px 0 7px; font:600 1.5rem/1.1 var(--msf-serif); }.partner-benefits p { margin:0; color:var(--msf-muted); font-size:.85rem; }.partner-form-section { padding:0 0 104px; }.partner-form-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(400px,1.2fr); gap:10%; align-items:start; }.partner-form-layout .text-link { margin-top:25px; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }.partner-form small { color:var(--msf-muted); font-weight:400; }.form-check { grid-template-columns:auto 1fr; align-items:start; margin-top:2px; }.form-check input { width:17px; height:17px; margin-top:2px; accent-color:var(--msf-gold); }.partner-form .msf-button { width:100%; margin-top:8px; }.terms-card { max-width:780px; padding:42px; border:1px solid var(--msf-line); border-radius:20px; background:var(--msf-white); box-shadow:0 18px 42px rgba(0,0,0,.07); }.terms-card p:not(.eyebrow) { max-width:570px; margin:0 0 26px; color:var(--msf-muted); font-size:1rem; }
@media (max-width:1000px) { .mode-panel.mode-program { grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr); }.portal-layout,.partner-form-layout { grid-template-columns:1fr; gap:36px; }.portal-section { padding-top:140px; }.partner-benefits { grid-template-columns:repeat(3,1fr); } }
@media (max-width:800px) { .msf-inner-page .page-hero { padding-top:88px; }.mode-panel.mode-program { grid-template-columns:1fr; }.program-poster { min-height:0; aspect-ratio:16 / 9; }.program-content { padding:24px; }.program-actions { display:grid; }.program-actions .msf-button { width:100%; }.portal-section,.terms-section { min-height:0; padding:126px 0 70px; }.portal-card,.partner-form,.terms-card { padding:24px; }.portal-links { display:grid; }.partner-benefits { grid-template-columns:1fr; gap:22px; margin-top:32px; }.partner-form-section { padding-bottom:70px; }.form-grid { grid-template-columns:1fr; gap:0; } }

/* Experience navigation, program catalog, and meaning exploration. */
.home-experience-cta { margin-top:30px; }

/* Interactive Experience dropdown. */
.msf-nav-dropdown { position:relative; }
.msf-nav-dropdown-trigger { position:relative; display:flex; align-items:center; min-height:30px; padding:0 0 6px; color:var(--msf-ink); font-size:.8rem; font-weight:600; cursor:pointer; list-style:none; transition:color .2s ease; }
.msf-nav-dropdown-trigger::-webkit-details-marker { display:none; }
.msf-nav-dropdown-trigger::after { width:7px; height:7px; margin:0 2px 3px 8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; content:""; opacity:.72; transform:rotate(45deg); transition:opacity .2s ease,transform .2s ease; }
.msf-nav-dropdown-trigger::before { position:absolute; right:0; bottom:0; left:0; height:1px; border-radius:999px; background:var(--msf-gold); content:""; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.msf-nav-dropdown:hover .msf-nav-dropdown-trigger, .msf-nav-dropdown[open] .msf-nav-dropdown-trigger, .msf-nav-dropdown-trigger.active { color:var(--msf-gold); }
.msf-nav-dropdown:hover .msf-nav-dropdown-trigger::after, .msf-nav-dropdown[open] .msf-nav-dropdown-trigger::after, .msf-nav-dropdown-trigger.active::after { opacity:1; }
.msf-nav-dropdown[open] .msf-nav-dropdown-trigger::after { transform:rotate(225deg) translate(-2px,-2px); }
.msf-nav-dropdown:hover .msf-nav-dropdown-trigger::before, .msf-nav-dropdown[open] .msf-nav-dropdown-trigger::before, .msf-nav-dropdown-trigger.active::before { transform:scaleX(1); }
.msf-nav-dropdown-panel { position:absolute; z-index:30; top:calc(100% + 14px); left:-18px; display:grid; min-width:208px; gap:3px; padding:10px; border:1px solid rgba(152,115,11,.22); border-radius:18px; background:rgba(255,255,255,.98); box-shadow:0 20px 44px rgba(0,0,0,.14); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; }
.msf-nav-dropdown:hover .msf-nav-dropdown-panel, .msf-nav-dropdown[open] .msf-nav-dropdown-panel { opacity:1; visibility:visible; transform:translateY(0); }
.msf-nav-dropdown-item { display:block; padding:10px 11px; border:1px solid transparent; border-radius:10px; color:var(--msf-ink); font-size:.78rem; font-weight:600; transition:background .2s ease, border-color .2s ease, color .2s ease; }
.msf-nav-dropdown-item:hover, .msf-nav-dropdown-item:focus-visible { border-color:rgba(152,115,11,.2); background:var(--msf-sand); color:var(--msf-gold); }
.experience-programs { background:var(--msf-ivory); }.experience-filter { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:15px; }.experience-filter-button { min-width:95px; padding:11px 18px; border:1px solid rgba(152,115,11,.3); border-radius:999px; background:var(--msf-white); color:var(--msf-ink); font:700 .78rem var(--msf-sans); cursor:pointer; transition:background .2s ease,color .2s ease,border .2s ease; }.experience-filter-button:hover,.experience-filter-button.is-active { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-white); }.experience-filter-note { margin:0 0 28px; color:var(--msf-muted); font-size:.86rem; }.experience-program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.experience-program-card { display:grid; grid-template-rows:auto 1fr; overflow:hidden; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 24px rgba(0,0,0,.045); transition:transform .25s ease,box-shadow .25s ease; }.experience-program-card:hover { transform:translateY(-5px); box-shadow:0 18px 34px rgba(0,0,0,.1); }.experience-program-card.is-filtered-out { display:none; }.program-card-image { display:block; aspect-ratio:16 / 10; background-position:center; background-size:cover; }.program-card-content { display:flex; min-height:0; flex-direction:column; padding:23px; }.program-card-meta { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-bottom:15px; }.program-type,.program-status { display:inline-flex; align-items:center; padding:5px 8px; border-radius:999px; font-size:.64rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.program-type { background:var(--msf-sand); color:var(--msf-gold); }.program-status.is-ongoing { background:rgba(152,115,11,.12); color:#795900; }.program-status.is-coming-soon { background:#eee9de; color:#766d5e; }.program-status.is-closed { background:#e7e5e1; color:#716f6a; }.experience-program-card h3 { margin:0 0 7px; font:600 1.75rem/1.08 var(--msf-serif); letter-spacing:-.045em; }.program-theme { margin:0 0 9px; color:var(--msf-gold); font-size:.76rem; font-weight:700; }.program-card-content>p:not(.program-theme) { margin:0 0 18px; color:var(--msf-muted); font-size:.86rem; }.program-card-content .text-link { margin-top:auto; }
.experience-themes { background:var(--msf-sand); }.theme-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }.theme-card { position:relative; display:flex; min-height:250px; flex-direction:column; justify-content:end; overflow:hidden; padding:20px; border:0; border-radius:14px; background-color:var(--msf-black); background-position:center; background-size:cover; color:var(--msf-white); text-align:left; cursor:pointer; box-shadow:inset 0 -110px 80px rgba(0,0,0,.68); transition:transform .25s ease; }.theme-card:hover { transform:translateY(-4px); }.theme-card span { font:600 1.45rem/1.05 var(--msf-serif); letter-spacing:-.045em; }.theme-card small { min-height:55px; margin:7px 0 15px; color:#eee8df; font-size:.73rem; line-height:1.45; }.theme-card b { color:var(--msf-gold-light); font-size:.68rem; letter-spacing:.02em; }.program-detail-action { padding:0 0 100px; }.program-detail-action>.msf-container { display:flex; align-items:end; justify-content:space-between; gap:30px; padding:38px; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-sand); }.program-detail-action h2 { margin:0; font:600 clamp(2rem,4vw,3.6rem)/1.06 var(--msf-serif); letter-spacing:-.055em; }.program-detail-action h2 em { color:var(--msf-gold); font-weight:500; }
.travel-card-explore { border-color:rgba(152,115,11,.34); background:var(--msf-ivory); }.travel-poster-explore { background-image:linear-gradient(135deg,rgba(0,0,0,.82),rgba(152,115,11,.78)),url('/muslim_safar_theme/static/src/img/hero-makkah.png'); }.travel-card-explore .msf-tag { color:var(--msf-gold); }
.experience-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:15px; }.experience-toolbar .experience-filter { margin:0; }.experience-search { display:block; flex:0 1 255px; }.experience-search input { width:100%; min-height:42px; padding:10px 14px; border:1px solid rgba(152,115,11,.3); border-radius:999px; background:var(--msf-white); color:var(--msf-ink); font:600 .78rem var(--msf-sans); outline:none; }.experience-search input:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }.experience-empty-state { margin:28px 0 0; padding:26px; border:1px dashed rgba(152,115,11,.38); border-radius:16px; background:var(--msf-white); color:var(--msf-muted); text-align:center; }.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1100px) { .msf-main-nav { gap:17px; }.experience-program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.theme-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.theme-card { min-height:225px; } }
@media (max-width:800px) { .experience-toolbar { display:grid; gap:12px; }.experience-filter { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }.experience-search { width:100%; max-width:none; }.experience-filter-button { min-width:0; padding:10px 5px; font-size:.71rem; }.experience-program-grid { grid-template-columns:1fr; gap:16px; }.program-card-image { aspect-ratio:16 / 9; }.theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.theme-card { min-height:210px; }.program-detail-action { padding:0 0 70px; }.program-detail-action>.msf-container { display:grid; padding:27px; }.program-detail-action .program-actions { display:grid; }.program-detail-action .msf-button { width:100%; } }
@media (max-width:480px) { .experience-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }.theme-grid { grid-template-columns:1fr; }.theme-card { min-height:200px; }.theme-card small { min-height:0; } }

@media (max-width:800px) {
  .msf-nav-dropdown { width:100%; }
  .msf-nav-dropdown-trigger { width:100%; min-height:44px; padding:12px; border-radius:10px; background:var(--msf-white); }
  .msf-nav-dropdown-trigger::after { width:6px; height:6px; margin-left:auto; }
  .msf-nav-dropdown-trigger::before { right:12px; bottom:7px; left:12px; }
  .msf-nav-dropdown-panel, .msf-nav-dropdown:hover .msf-nav-dropdown-panel { position:static; display:none; min-width:0; margin:3px 5px 8px; padding:7px; border-radius:14px; background:var(--msf-sand); box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .msf-nav-dropdown[open] .msf-nav-dropdown-panel { display:grid; }
  .msf-nav-dropdown-item { padding:11px 12px; }
}

/* Simplified product-detail experience. */
.detail-product { background:var(--msf-ivory); }.detail-product>.msf-container { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:9%; align-items:start; }.detail-product-copy h2,.program-selector-heading h2 { margin:0 0 20px; font:600 clamp(2.25rem,4.4vw,4.2rem)/1.07 var(--msf-serif); letter-spacing:-.06em; }.detail-product-copy h2 em,.program-selector-heading h2 em { color:var(--msf-gold); font-weight:500; }.detail-product-copy>p:not(.eyebrow) { max-width:650px; margin:0 0 14px; color:var(--msf-muted); font-size:1rem; line-height:1.75; }.product-value-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }.product-value-list span { padding:7px 10px; border:1px solid rgba(152,115,11,.22); border-radius:999px; color:var(--msf-gold); font-size:.71rem; font-weight:700; }.product-metadata { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:hidden; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 24px rgba(0,0,0,.04); }.product-metadata div { min-height:94px; padding:17px; border-right:1px solid var(--msf-line); border-bottom:1px solid var(--msf-line); }.product-metadata div:nth-child(2n) { border-right:0; }.product-metadata div:nth-last-child(-n+2) { border-bottom:0; }.product-metadata span { display:block; margin-bottom:6px; color:var(--msf-muted); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.product-metadata strong { font-size:.82rem; line-height:1.35; }.program-selector { padding-top:0; background:var(--msf-ivory); }.program-selector-heading { max-width:680px; margin-bottom:24px; }.program-type-tabs { flex-wrap:nowrap; overflow-x:auto; margin-bottom:18px; padding-bottom:2px; scrollbar-width:thin; }.program-type-tabs .mode-tab { min-width:96px; padding:9px 16px; font-size:.75rem; }.program-selection-card { grid-template-columns:minmax(230px,.78fr) minmax(0,1.22fr); border-left:0; }.program-selection-card .program-content { padding:29px; }.program-selection-card .program-content>p:not(.msf-tag) { line-height:1.68; }.selected-program-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin:20px 0; }.selected-program-meta div { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px solid var(--msf-line); font-size:.78rem; }.selected-program-meta dt { color:var(--msf-muted); }.selected-program-meta dd { margin:0; font-weight:700; text-align:right; }.program-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 12px; margin:0 0 19px !important; color:var(--msf-ink) !important; font-size:.78rem !important; }.msf-itinerary,.msf-rundown { margin:18px 0 22px; border-top:1px solid var(--msf-line); border-bottom:1px solid var(--msf-line); }.msf-itinerary-toggle,.msf-rundown-toggle { display:flex; align-items:center; justify-content:space-between; padding:13px 0; color:var(--msf-gold); font-size:.78rem; font-weight:700; cursor:pointer; list-style:none; }.msf-itinerary-toggle::-webkit-details-marker,.msf-rundown-toggle::-webkit-details-marker { display:none; }.msf-itinerary-toggle::after,.msf-rundown-toggle::after { width:6px; height:6px; border-radius:50%; background:var(--msf-gold); content:""; transition:transform .2s ease; }.msf-itinerary[open] .msf-itinerary-toggle::after,.msf-rundown[open] .msf-rundown-toggle::after { transform:scale(1.45); }.msf-itinerary-panel,.msf-rundown-panel { display:grid; gap:0; margin:0 0 14px; padding:0; list-style:none; }.msf-itinerary-item,.msf-rundown-item { padding:9px 0; border-top:1px solid rgba(0,0,0,.07); color:var(--msf-muted); font-size:.77rem; line-height:1.5; }.program-selection-card .program-actions { margin-top:0; }.program-selection-card .program-actions .msf-button { min-width:145px; }
@media (max-width:800px) { .detail-product>.msf-container { grid-template-columns:1fr; gap:30px; }.product-metadata { grid-template-columns:1fr; }.product-metadata div,.product-metadata div:nth-child(2n) { min-height:0; border-right:0; border-bottom:1px solid var(--msf-line); }.product-metadata div:last-child { border-bottom:0; }.program-selector { padding-top:0; }.program-selection-card { grid-template-columns:1fr; }.program-selection-card .program-content { padding:24px; }.selected-program-meta,.program-benefits { grid-template-columns:1fr; }.program-type-tabs { margin-inline:-2px; }.program-selection-card .program-actions { display:grid; }.program-selection-card .program-actions .msf-button { width:100%; } }

/* Stable poster-and-detail card for every active program panel. */
.msf-program-card { display:grid; grid-template-columns:minmax(320px,42%) minmax(0,1fr) !important; align-items:stretch; min-width:0; overflow:visible !important; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 12px 30px rgba(0,0,0,.06); }
.msf-program-media { position:relative; display:block; min-width:0; min-height:420px; margin:0; aspect-ratio:auto; overflow:hidden; border-radius:17px 0 0 17px; background:#f3efe8; }
.msf-program-media img { display:block; width:100%; height:100%; min-height:420px; object-fit:cover; object-position:center; }
.msf-program-content { position:static !important; min-width:0; padding:30px !important; overflow:visible !important; }
.msf-program-content h3 { overflow-wrap:anywhere; }.msf-program-meta { min-width:0; }.msf-program-meta div { min-width:0; }.msf-program-meta dd { overflow-wrap:anywhere; }
.msf-program-benefits { min-width:0; }.msf-program-actions { position:static; display:flex; flex-wrap:wrap; gap:10px; margin-top:0; }
.msf-program-accordion { position:static; display:block; width:100%; min-width:0; margin:18px 0 22px; border-top:1px solid var(--msf-line); border-bottom:1px solid var(--msf-line); overflow:visible; background:transparent; }
.msf-program-accordion-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; padding:13px 0; color:var(--msf-gold); font-size:.78rem; font-weight:700; cursor:pointer; list-style:none; }
.msf-program-accordion-toggle::-webkit-details-marker { display:none; }.msf-program-accordion-toggle::after { width:6px; height:6px; border-radius:50%; background:var(--msf-gold); content:""; transition:transform .2s ease; }.msf-program-accordion[open] .msf-program-accordion-toggle::after { transform:scale(1.45); }
.msf-program-accordion-body { display:grid; gap:0; width:100%; margin:0 0 14px; padding:0; overflow:visible; list-style:none; }.msf-program-accordion-body li { position:static; padding:9px 0; border-top:1px solid rgba(0,0,0,.07); color:var(--msf-muted); font-size:.77rem; line-height:1.5; }
@media (max-width:1000px) { .msf-program-card { grid-template-columns:minmax(260px,38%) minmax(0,1fr) !important; } }
@media (max-width:800px) { .msf-program-card { grid-template-columns:1fr !important; overflow:hidden !important; }.msf-program-media { min-height:280px; aspect-ratio:auto; border-radius:17px 17px 0 0; }.msf-program-media img { min-height:280px; }.msf-program-content { padding:24px !important; }.msf-program-actions { display:grid; }.msf-program-actions .msf-button { width:100%; }.msf-program-accordion-toggle { font-size:.76rem; } }

/* Program tabs, homepage availability, and local live-chat affordance. */
.msf-program-tabs { flex-wrap:nowrap; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; }.msf-program-tab { flex:0 0 auto; }
.msf-program-catalogue-page .msf-program-catalogue-filter { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0; }.msf-program-catalogue-page .msf-program-catalogue-filter a { border:1px solid var(--msf-line); border-radius:999px; color:var(--msf-ink); padding:9px 15px; text-decoration:none; }.msf-program-catalogue-page .msf-program-catalogue-filter a.is-active,.msf-program-catalogue-page .msf-program-catalogue-filter a:hover { border-color:var(--msf-gold); background:var(--msf-gold); color:#fff; }.msf-program-catalogue-page .msf-program-catalogue-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }.msf-program-catalogue-page .msf-program-catalogue-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); padding:20px; }.msf-program-catalogue-page .msf-program-catalogue-card img { width:100%; height:220px; margin:-20px -20px 18px; object-fit:cover; }.msf-program-catalogue-page .msf-program-catalogue-card h2 { margin:0 0 10px; }.msf-program-catalogue-page .msf-program-catalogue-card p:not(.msf-tag) { min-height:48px; color:var(--msf-muted); }.msf-program-catalogue-page .msf-program-catalogue-card dl,.msf-program-catalogue-page .msf-program-detail-dynamic dl { display:grid; gap:0; margin:14px 0 20px; }.msf-program-catalogue-page .msf-program-catalogue-card dl div,.msf-program-catalogue-page .msf-program-detail-dynamic dl div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid var(--msf-line); }.msf-program-catalogue-page dt { color:var(--msf-muted); }.msf-program-catalogue-page dd { margin:0; text-align:right; }.msf-program-catalogue-page .msf-program-catalogue-card .msf-button { width:100%; margin-top:auto; justify-content:center; }.msf-program-catalogue-page .msf-program-detail-dynamic { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; align-items:start; }.msf-program-catalogue-page .msf-program-detail-dynamic>img { width:100%; min-height:320px; border-radius:18px; object-fit:cover; }.msf-program-catalogue-page .msf-program-detail-dynamic h1 { margin-top:0; }
.msf-dynamic-program-image { overflow:hidden; background:var(--msf-sand); }.msf-dynamic-program-image img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; }.msf-program-ticket-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; }.msf-program-ticket-grid article,.msf-program-comparison-card { min-width:0; padding:20px; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); }.msf-program-ticket-grid h3,.msf-program-comparison-card h3 { margin-top:0; }.msf-program-comparison-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }.msf-program-comparison-card { display:flex; flex-direction:column; }.msf-program-comparison-card p:not(.msf-tag) { color:var(--msf-muted); }.msf-program-comparison-card dl { margin:14px 0; }.msf-program-comparison-card dl div { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--msf-line); }.msf-program-comparison-card .text-link { margin-top:auto; }
@media (max-width:700px) { .msf-program-catalogue-page .msf-program-detail-dynamic { grid-template-columns:1fr; }.msf-program-catalogue-page .msf-program-catalogue-filter { overflow-x:auto; flex-wrap:nowrap; padding-bottom:5px; }.msf-program-catalogue-page .msf-program-catalogue-filter a { flex:0 0 auto; } }
.msf-program-panel { display:none !important; min-width:0; }
.msf-program-panel.is-active { display:grid !important; }
.home-ongoing { background:var(--msf-ivory); }.ongoing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.ongoing-card { display:flex; min-height:255px; flex-direction:column; padding:24px; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 22px rgba(0,0,0,.04); }.ongoing-card-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }.ongoing-card h3 { margin:0 0 7px; font:600 1.72rem/1.08 var(--msf-serif); letter-spacing:-.045em; }.ongoing-card .program-theme { margin:0 0 17px; color:var(--msf-gold); font-size:.76rem; font-weight:700; }.ongoing-card dl { display:grid; gap:8px; margin:0 0 19px; }.ongoing-card dl div { display:flex; justify-content:space-between; gap:12px; color:var(--msf-muted); font-size:.76rem; }.ongoing-card dt { font-weight:700; }.ongoing-card dd { margin:0; text-align:right; }.ongoing-card .text-link { margin-top:auto; }
.msf-live-chat { position:fixed; z-index:35; right:24px; bottom:25px; }.msf-live-chat-button { display:inline-flex; align-items:center; gap:9px; padding:10px 14px 10px 10px; border:1px solid rgba(152,115,11,.36); border-radius:999px; background:var(--msf-white); box-shadow:0 12px 28px rgba(0,0,0,.15); color:var(--msf-ink); font:700 .75rem var(--msf-sans); cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.msf-live-chat-button:hover { border-color:var(--msf-gold); box-shadow:0 16px 32px rgba(0,0,0,.18); transform:translateY(-2px); }.msf-live-chat-button>span:first-child { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:var(--msf-gold); color:var(--msf-white); font-size:.59rem; }.msf-live-chat-panel { position:absolute; right:0; bottom:calc(100% + 10px); width:min(300px,calc(100vw - 40px)); padding:18px; border:1px solid rgba(152,115,11,.24); border-radius:16px; background:var(--msf-white); box-shadow:0 18px 38px rgba(0,0,0,.16); }.msf-live-chat-panel strong { display:block; font:600 1.15rem var(--msf-serif); }.msf-live-chat-panel p { margin:7px 0 14px; color:var(--msf-muted); font-size:.78rem; line-height:1.55; }.msf-live-chat-panel a { display:inline-flex; padding:9px 12px; border-radius:999px; background:var(--msf-gold); color:var(--msf-white); font-size:.73rem; font-weight:700; text-decoration:none; }
@media (max-width:1000px) { .ongoing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.ongoing-card:last-child { grid-column:1 / -1; width:calc((100% - 20px) / 2); justify-self:center; } }
@media (max-width:800px) { .ongoing-grid { grid-template-columns:1fr; gap:14px; }.ongoing-card,.ongoing-card:last-child { width:auto; min-height:0; grid-column:auto; }.msf-live-chat { right:17px; bottom:82px; }.msf-live-chat-button { padding:9px 12px 9px 9px; }.msf-live-chat-panel { width:min(290px,calc(100vw - 34px)); } }

/* Odoo Blog: scoped styling for Jurnal Safar while retaining website_blog routes and filters. */
.msf-blog-page { min-height:100vh; overflow-x:clip; background:var(--msf-ivory); color:var(--msf-ink); }
.msf-blog-page #o_wblog_blog_top { padding-top:0; background:var(--msf-ivory); }
.msf-blog-page .msf-blog-hero { padding:154px 24px 76px; border-bottom:1px solid rgba(152,115,11,.15); background:radial-gradient(circle at 80% 10%,rgba(200,161,58,.25),transparent 35%),linear-gradient(135deg,#f7f2e8 0%,#fff 58%,#eee5d4 100%); }
.msf-blog-page .msf-blog-hero-inner { width:min(1100px,100%); margin:0 auto; }
.msf-blog-page .msf-blog-hero-eyebrow { display:inline-flex; align-items:center; margin:0 0 16px; color:var(--msf-gold); font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.msf-blog-page .msf-blog-hero-eyebrow::before { width:30px; height:1px; margin-right:10px; background:var(--msf-gold); content:""; }
.msf-blog-page .msf-blog-hero h1 { max-width:720px; margin:0; color:var(--msf-ink); font:600 clamp(2.8rem,6vw,5.4rem)/1 var(--msf-serif); letter-spacing:-.065em; }
.msf-blog-page .msf-blog-hero p:not(.msf-blog-hero-eyebrow) { max-width:620px; margin:22px 0 28px; color:var(--msf-muted); font-size:clamp(1rem,1.5vw,1.12rem); }
.msf-blog-page .msf-blog-hero .msf-button { padding:12px 18px; }
.msf-blog-page .navbar { width:min(1180px,calc(100% - 64px)); margin:0 auto; padding:28px 0 18px !important; }
.msf-blog-page .navbar .nav-link { color:var(--msf-muted); font-size:.84rem; font-weight:700; }
.msf-blog-page .navbar .nav-link.active,.msf-blog-page .navbar .nav-link:hover { color:var(--msf-gold); }
.msf-blog-page .navbar .form-control,.msf-blog-page .navbar .input-group-text,.msf-blog-page .navbar .btn-light,.msf-blog-page .navbar .dropdown-menu { border-color:rgba(152,115,11,.22); border-radius:999px; background:var(--msf-white); box-shadow:none; }
.msf-blog-page .navbar .form-control { min-height:42px; color:var(--msf-ink); }
.msf-blog-page .navbar .form-control:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }
.msf-blog-page .navbar .dropdown-menu { padding:8px; border-radius:14px; box-shadow:0 14px 30px rgba(0,0,0,.1); }
.msf-blog-page .navbar .dropdown-item { border-radius:9px; color:var(--msf-ink); font-size:.86rem; }
.msf-blog-page .navbar .dropdown-item:hover,.msf-blog-page .navbar .dropdown-item.active { background:#f4ede0; color:var(--msf-gold); }
.msf-blog-page #o_wblog_index_content { background:var(--msf-ivory); }
.msf-blog-page #o_wblog_index_content>.container { width:min(1180px,calc(100% - 64px)); max-width:none; padding-top:20px !important; padding-bottom:88px !important; }
.msf-blog-page #o_wblog_posts_loop .o_wblog_post { display:flex; min-height:100%; flex-direction:column; overflow:hidden; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 8px 24px rgba(0,0,0,.055); transition:transform .25s ease,box-shadow .25s ease; }
.msf-blog-page #o_wblog_posts_loop .o_wblog_post:hover { transform:translateY(-5px); box-shadow:0 18px 34px rgba(0,0,0,.11); }
.msf-blog-page #o_wblog_posts_loop .o_wblog_post .o_list_cover { min-height:220px; background-color:#f3ede1 !important; }
.msf-blog-page #o_wblog_posts_loop .o_wblog_post .o_list_cover:not(.o_record_has_cover),.msf-blog-page .o_wblog_post_page_cover:not(.o_record_has_cover) { position:relative; overflow:hidden; background-image:linear-gradient(135deg,#1d1a16,#6b510f 62%,#c8a13a) !important; }
.msf-blog-page #o_wblog_posts_loop .o_wblog_post .o_list_cover:not(.o_record_has_cover)::after { position:absolute; right:18px; bottom:15px; color:rgba(255,255,255,.92); content:"Jurnal Safar"; font:600 .72rem var(--msf-sans); letter-spacing:.13em; text-transform:uppercase; }
.msf-blog-page #o_wblog_posts_loop .o_wblog_post .card-body { padding:22px 22px 10px !important; }
.msf-blog-page #o_wblog_posts_loop .o_wblog_post > div:not(.o_wblog_normalize_font):not(.card-footer) { padding:22px 22px 10px; }
.msf-blog-page #o_wblog_posts_loop .o_blog_post_title { color:var(--msf-ink); font:600 clamp(1.35rem,2vw,1.72rem)/1.15 var(--msf-serif) !important; letter-spacing:-.035em; }
.msf-blog-page #o_wblog_posts_loop .o_blog_post_title:hover { color:var(--msf-gold); }
.msf-blog-page #o_wblog_posts_loop .o_wblog_normalize_font { margin-top:auto; padding:12px 22px 20px; color:var(--msf-muted); font-size:.9rem; line-height:1.65; }
.msf-blog-page #o_wblog_posts_loop .card-footer { margin-top:auto; padding:12px 22px 20px !important; border-top:0; background:transparent; color:var(--msf-muted); }
.msf-blog-page #o_wblog_posts_loop time,.msf-blog-page #o_wblog_posts_loop .fa-folder-open { color:var(--msf-gold); }
.msf-blog-page #o_wblog_post_main { width:min(900px,calc(100% - 48px)); max-width:none; padding-top:64px; padding-bottom:88px; }
.msf-blog-page #o_wblog_post_main .o_wblog_post_content_field { color:#39342d; font-size:1.05rem; line-height:1.85; }
.msf-blog-page #o_wblog_post_main .o_wblog_post_content_field p { margin-bottom:1.35em; }
.msf-blog-page #o_wblog_post_main .o_wblog_post_content_field h2,.msf-blog-page #o_wblog_post_main .o_wblog_post_content_field h3 { margin:1.65em 0 .65em; color:var(--msf-ink); font-family:var(--msf-serif); }
.msf-blog-page #o_wblog_post_main a,.msf-blog-page .o_wblog_post_content_field a { color:var(--msf-gold); }
.msf-blog-page #o_wblog_post_top .o_wblog_post_title h1 { font-family:var(--msf-serif); letter-spacing:-.05em; }
.msf-blog-page #o_wblog_post_top .o_wblog_post_title { text-shadow:0 2px 16px rgba(0,0,0,.28); }
@media (max-width:800px) { .msf-blog-page .msf-blog-hero { padding:122px 20px 58px; }.msf-blog-page .navbar,.msf-blog-page #o_wblog_index_content>.container { width:min(100% - 40px,680px); }.msf-blog-page .navbar { padding-top:20px !important; }.msf-blog-page .navbar .form-control { width:100%; }.msf-blog-page #o_wblog_index_content>.container { padding-bottom:66px !important; }.msf-blog-page #o_wblog_post_main { width:min(100% - 40px,680px); padding-top:48px; padding-bottom:66px; }.msf-blog-page #o_wblog_posts_loop .o_wblog_post .o_list_cover { min-height:200px; } }

/* Stage one: package information, room pricing, and a compact booking bar. */
.msf-program-detail { padding-bottom:112px; }
.msf-program-detail .selected-program-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
.msf-price-selector { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:2px 0 10px; }
.msf-price-option { display:grid; gap:3px; min-width:0; padding:12px 10px; border:1px solid rgba(152,115,11,.26); border-radius:12px; background:var(--msf-white); color:var(--msf-ink); font-family:var(--msf-sans); text-align:left; cursor:pointer; transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease; }
.msf-price-option:hover { border-color:var(--msf-gold); transform:translateY(-2px); }
.msf-price-option.is-active { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-white); box-shadow:0 8px 16px rgba(152,115,11,.16); }
.msf-price-option span { font-size:.78rem; font-weight:800; letter-spacing:.03em; }.msf-price-option small { color:inherit; font-size:.64rem; line-height:1.35; opacity:.78; }.msf-price-option strong { font-size:.72rem; line-height:1.3; }
.msf-price-note { margin:9px 0 13px !important; color:var(--msf-muted); font-size:.71rem !important; line-height:1.5 !important; }
.msf-current-price { margin:0 0 16px !important; color:var(--msf-muted); font-size:.78rem !important; }.msf-current-price strong { margin-left:5px; color:var(--msf-gold); font-size:1.02rem; }
.msf-detail-accordion { margin:0; border-top:1px solid var(--msf-line); }.msf-detail-accordion:last-of-type { border-bottom:1px solid var(--msf-line); }
.msf-detail-accordion>summary { display:flex; align-items:center; justify-content:space-between; padding:14px 0; color:var(--msf-ink); font-size:.8rem; font-weight:700; cursor:pointer; list-style:none; }.msf-detail-accordion>summary::-webkit-details-marker { display:none; }.msf-detail-accordion>summary::after { width:6px; height:6px; border-radius:50%; background:var(--msf-gold); content:""; transition:transform .2s ease; }.msf-detail-accordion[open]>summary::after { transform:scale(1.45); }
.msf-detail-accordion ul { display:grid; gap:7px; margin:0 0 15px; padding:0; color:var(--msf-muted); font-size:.76rem; line-height:1.55; list-style:none; }.msf-detail-accordion li { position:relative; padding-left:14px; }.msf-detail-accordion li::before { position:absolute; top:.64em; left:0; width:4px; height:4px; border-radius:50%; background:var(--msf-gold); content:""; }
.msf-detail-faq-list { display:grid; gap:7px; margin:0 0 16px; }.msf-detail-faq-list details { border:1px solid var(--msf-line); border-radius:10px; background:#fcfbf8; }.msf-detail-faq-list summary { padding:11px 12px; color:var(--msf-ink); font-size:.74rem; font-weight:700; cursor:pointer; }.msf-detail-faq-list p { margin:0; padding:0 12px 12px; color:var(--msf-muted); font-size:.74rem; line-height:1.55; }
.msf-sticky-booking { position:fixed; z-index:34; right:0; bottom:0; left:0; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:20px; padding:12px max(24px,calc((100vw - 1100px) / 2)); border-top:1px solid var(--msf-line); background:rgba(255,255,255,.97); box-shadow:0 -12px 30px rgba(0,0,0,.1); backdrop-filter:blur(12px); }
.msf-sticky-booking-copy { display:grid; min-width:0; gap:2px; }.msf-sticky-booking-title { overflow:hidden; color:var(--msf-ink); font:600 1rem/1.2 var(--msf-serif); text-overflow:ellipsis; white-space:nowrap; }.msf-sticky-booking-meta { overflow:hidden; color:var(--msf-muted); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.msf-sticky-booking-price { color:var(--msf-gold); font-size:.93rem; white-space:nowrap; }.msf-sticky-booking-actions { display:flex; flex-wrap:wrap; gap:8px; }.msf-sticky-booking-actions .msf-button { min-width:128px; padding:10px 14px; font-size:.74rem; }.msf-sticky-booking-actions .msf-button-outline { border-color:rgba(152,115,11,.35); color:var(--msf-ink); }
.msf-has-sticky-booking .msf-live-chat { bottom:102px; }
@media (max-width:800px) { .msf-program-detail { padding-bottom:180px; }.msf-program-detail .selected-program-meta { grid-template-columns:1fr; }.msf-price-selector { display:flex; overflow-x:auto; margin-right:-2px; padding:2px 2px 7px; scrollbar-width:thin; }.msf-price-option { flex:0 0 138px; }.msf-sticky-booking { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:10px 16px max(10px,env(safe-area-inset-bottom)); }.msf-sticky-booking-title { font-size:.9rem; }.msf-sticky-booking-meta { font-size:.67rem; }.msf-sticky-booking-price { font-size:.8rem; }.msf-sticky-booking-actions { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; }.msf-sticky-booking-actions .msf-button { width:100%; min-width:0; padding:10px 8px; font-size:.69rem; }.msf-has-sticky-booking .msf-live-chat { right:16px; bottom:150px; } }

/* Stage two: guidance for comparing and choosing an Experience. */
.msf-program-comparison { background:var(--msf-white); }.msf-guidance-heading { margin-bottom:30px; }.msf-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }.msf-comparison-card { display:flex; min-width:0; flex-direction:column; padding:25px; border:1px solid var(--msf-line); border-radius:18px; background:linear-gradient(180deg,#fff,#fcfaf6); box-shadow:0 10px 26px rgba(0,0,0,.045); }.msf-comparison-card-heading { min-height:144px; padding-bottom:17px; border-bottom:1px solid var(--msf-line); }.msf-comparison-card .program-type { display:inline-flex; margin-bottom:13px; }.msf-comparison-card h3 { margin:0 0 7px; font:600 clamp(1.7rem,2.3vw,2.15rem)/1 var(--msf-serif); letter-spacing:-.045em; }.msf-comparison-card-heading p { margin:0; color:var(--msf-muted); font-size:.82rem; line-height:1.55; }.msf-comparison-card dl { display:grid; gap:0; margin:16px 0 22px; }.msf-comparison-card dl div { display:grid; gap:4px; padding:11px 0; border-bottom:1px solid rgba(0,0,0,.07); }.msf-comparison-card dt { color:var(--msf-gold); font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.msf-comparison-card dd { margin:0; color:var(--msf-muted); font-size:.76rem; line-height:1.55; }.msf-comparison-card .msf-button { width:100%; margin-top:auto; justify-content:center; }
.msf-recommendation { overflow:hidden; background:radial-gradient(circle at 85% 15%,rgba(152,115,11,.18),transparent 31%),var(--msf-charcoal); color:var(--msf-white); }.msf-recommendation-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(310px,.82fr); gap:8%; align-items:center; }.msf-recommendation .eyebrow { color:#e8cf85; }.msf-recommendation .eyebrow span { background:#e8cf85; }.msf-recommendation h2 { margin:0 0 16px; color:var(--msf-white); font:600 clamp(2.35rem,4.6vw,4.55rem)/1.04 var(--msf-serif); letter-spacing:-.06em; }.msf-recommendation h2 em { color:#e8cf85; font-weight:500; }.msf-recommendation-copy>p:not(.eyebrow) { max-width:630px; margin:0; color:#d9d4cc; font-size:1rem; line-height:1.75; }.msf-recommendation-options { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }.msf-recommendation-option { min-height:42px; padding:10px 13px; border:1px solid rgba(232,207,133,.35); border-radius:999px; background:transparent; color:var(--msf-white); font:700 .74rem var(--msf-sans); cursor:pointer; transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }.msf-recommendation-option:hover,.msf-recommendation-option.is-active { border-color:#e8cf85; background:#e8cf85; color:var(--msf-charcoal); transform:translateY(-1px); }.msf-recommendation-result { min-width:0; padding:28px; border:1px solid rgba(232,207,133,.34); border-radius:18px; background:rgba(255,255,255,.96); box-shadow:0 16px 34px rgba(0,0,0,.17); color:var(--msf-ink); }.msf-recommendation-result[hidden] { display:none; }.msf-recommendation-kicker { display:inline-block; margin:0 0 8px; color:var(--msf-gold); font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.msf-recommendation-result .program-status { float:right; }.msf-recommendation-result h3 { clear:both; margin:9px 0 6px; font:600 clamp(1.7rem,3vw,2.35rem)/1.05 var(--msf-serif); letter-spacing:-.05em; }.msf-recommendation-theme { margin:0 0 15px; color:var(--msf-gold); font-size:.76rem; font-weight:700; }.msf-recommendation-result>p:not(.msf-recommendation-kicker):not(.msf-recommendation-theme) { margin:0; color:var(--msf-muted); font-size:.85rem; line-height:1.65; }.msf-recommendation-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
.msf-how-to-join { background:var(--msf-ivory); }.msf-join-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin:0; padding:0; list-style:none; counter-reset:join; }.msf-join-steps li { position:relative; display:grid; grid-template-columns:auto 1fr; gap:14px; min-width:0; padding:22px; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 20px rgba(0,0,0,.035); }.msf-join-steps li>span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--msf-gold); color:var(--msf-white); font-size:.68rem; font-weight:800; }.msf-join-steps h3 { margin:1px 0 7px; font:600 1.18rem/1.08 var(--msf-serif); letter-spacing:-.03em; }.msf-join-steps p { margin:0; color:var(--msf-muted); font-size:.76rem; line-height:1.6; }
@media (max-width:1000px) { .msf-comparison-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.msf-comparison-card:last-child { grid-column:1 / -1; width:calc((100% - 18px) / 2); justify-self:center; }.msf-join-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }.msf-recommendation-layout { grid-template-columns:1fr; gap:28px; }.msf-recommendation-result { max-width:650px; } }
@media (max-width:640px) { .msf-comparison-grid,.msf-join-steps { grid-template-columns:1fr; gap:12px; }.msf-comparison-card:last-child { width:auto; grid-column:auto; }.msf-comparison-card { padding:21px; }.msf-comparison-card-heading { min-height:0; }.msf-recommendation { padding-block:58px; }.msf-recommendation-options { display:grid; grid-template-columns:1fr; }.msf-recommendation-option { width:100%; text-align:left; }.msf-recommendation-result { padding:22px; }.msf-recommendation-actions { display:grid; }.msf-recommendation-actions .msf-button { width:100%; justify-content:center; }.msf-join-steps li { padding:18px; } }

/* Stage three: credibility, legal information, stories, and global FAQ. */
.msf-why-choose { background:var(--msf-white); }.msf-trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.msf-trust-grid article { min-width:0; padding:23px; border:1px solid var(--msf-line); border-radius:17px; background:linear-gradient(180deg,#fff,#fcfaf6); box-shadow:0 8px 22px rgba(0,0,0,.04); }.msf-trust-number { display:grid; width:31px; height:31px; place-items:center; margin-bottom:18px; border-radius:50%; background:rgba(152,115,11,.12); color:var(--msf-gold); font-size:.67rem; font-weight:800; }.msf-trust-grid h3 { margin:0 0 8px; font:600 1.28rem/1.08 var(--msf-serif); letter-spacing:-.03em; }.msf-trust-grid p { margin:0; color:var(--msf-muted); font-size:.78rem; line-height:1.6; }
.msf-legalitas { overflow:hidden; background:var(--msf-charcoal); color:var(--msf-white); }.msf-legalitas-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(370px,.8fr); gap:9%; align-items:center; }.msf-legalitas .eyebrow { color:#e8cf85; }.msf-legalitas .eyebrow span { background:#e8cf85; }.msf-legalitas h2 { margin:0 0 16px; color:var(--msf-white); font:600 clamp(2.4rem,4.8vw,4.7rem)/1.02 var(--msf-serif); letter-spacing:-.06em; }.msf-legalitas h2 em { color:#e8cf85; font-weight:500; }.msf-legalitas-layout>div>p:not(.eyebrow) { max-width:570px; margin:0; color:#d9d4cc; font-size:1rem; line-height:1.75; }.msf-legal-stamp { display:grid; grid-template-columns:auto 1fr; gap:10px 15px; align-items:center; padding:25px; border:1px solid rgba(232,207,133,.38); border-radius:18px; background:rgba(255,255,255,.06); }.msf-legal-stamp-mark { display:grid; width:55px; height:55px; grid-row:span 2; place-items:center; border:1px solid #e8cf85; border-radius:50%; color:#e8cf85; font:600 1rem var(--msf-serif); letter-spacing:.04em; }.msf-legal-stamp p { margin:0 0 3px; color:#d9d4cc; font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.msf-legal-stamp strong { display:block; margin-bottom:14px; color:var(--msf-white); font-size:.84rem; }.msf-legal-stamp .msf-button { grid-column:1 / -1; width:max-content; margin-top:3px; }
.msf-testimonials { overflow:hidden; background:var(--msf-ivory); }.msf-testimonial-note { margin:-14px 0 20px; color:var(--msf-muted); font-size:.76rem; line-height:1.55; }.msf-testimonials-marquee { width:100%; overflow:hidden; padding:4px max(20px,calc((100vw - 1180px) / 2)) 10px; }.msf-testimonials-marquee:focus-visible { outline:2px solid var(--msf-gold); outline-offset:-2px; }.msf-testimonials-track { display:flex; width:max-content; will-change:transform; animation:msfTestimonialMarquee 34s linear infinite; }.msf-testimonials-marquee:hover .msf-testimonials-track,.msf-testimonials-marquee:focus-within .msf-testimonials-track { animation-play-state:paused; }.msf-testimonials-group { display:flex; flex:0 0 auto; gap:17px; padding-right:17px; }.msf-testimonial-card { position:relative; display:flex; width:min(360px,calc(100vw - 64px)); min-height:280px; flex:0 0 auto; flex-direction:column; padding:27px; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 10px 25px rgba(0,0,0,.045); }.msf-quote-mark { position:absolute; top:16px; right:20px; color:rgba(152,115,11,.16); font:600 5rem/.7 var(--msf-serif); }.msf-testimonial-card .program-type { width:max-content; margin-bottom:20px; }.msf-testimonial-card>p { position:relative; margin:0; color:var(--msf-ink); font:500 1.05rem/1.55 var(--msf-serif); letter-spacing:-.015em; }.msf-testimonial-card footer { display:grid; gap:3px; margin-top:auto; padding-top:22px; color:var(--msf-muted); font-size:.7rem; }.msf-testimonial-card footer strong { color:var(--msf-gold); font-size:.75rem; }@keyframes msfTestimonialMarquee { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }
.msf-global-faq { background:var(--msf-white); }.msf-faq-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(440px,1.02fr); gap:9%; align-items:start; }.msf-faq-intro { position:sticky; top:108px; }.msf-faq-intro h2 { margin:0 0 16px; font:600 clamp(2.35rem,4.4vw,4.4rem)/1.04 var(--msf-serif); letter-spacing:-.06em; }.msf-faq-intro h2 em { color:var(--msf-gold); font-weight:500; }.msf-faq-intro>p:not(.eyebrow) { max-width:420px; margin:0; color:var(--msf-muted); font-size:.95rem; line-height:1.7; }.msf-faq-list { border-top:1px solid var(--msf-line); }.msf-faq-list details { border-bottom:1px solid var(--msf-line); }.msf-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; color:var(--msf-ink); font-size:.88rem; font-weight:750; cursor:pointer; list-style:none; }.msf-faq-list summary::-webkit-details-marker { display:none; }.msf-faq-list summary::after { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--msf-gold); content:""; transition:transform .2s ease; }.msf-faq-list details[open] summary { color:var(--msf-gold); }.msf-faq-list details[open] summary::after { transform:scale(1.45); }.msf-faq-list p { max-width:680px; margin:0; padding:0 0 18px; color:var(--msf-muted); font-size:.82rem; line-height:1.7; }
.msf-trust-cta { padding:66px 0; background:linear-gradient(112deg,#15130f,#2b2416); color:var(--msf-white); }.msf-trust-cta>.msf-container { display:flex; align-items:center; justify-content:space-between; gap:28px; }.msf-trust-cta p { margin:0 0 8px; color:#e8cf85; font-size:.76rem; font-weight:800; letter-spacing:.06em; }.msf-trust-cta h2 { margin:0; color:var(--msf-white); font:600 clamp(1.8rem,3.3vw,3rem)/1.08 var(--msf-serif); letter-spacing:-.045em; }.msf-trust-cta h2 em { color:#e8cf85; font-weight:500; }.msf-trust-cta-actions { display:flex; flex-wrap:wrap; gap:10px; flex:0 0 auto; }.msf-trust-cta .msf-button-ghost { border-color:rgba(255,255,255,.45); color:var(--msf-white); }
@media (max-width:1000px) { .msf-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.msf-trust-grid article:last-child { grid-column:1 / -1; width:calc((100% - 16px) / 2); justify-self:center; }.msf-legalitas-layout,.msf-faq-layout { grid-template-columns:1fr; gap:30px; }.msf-faq-intro { position:static; }.msf-faq-intro>p:not(.eyebrow) { max-width:600px; } }
@media (max-width:640px) { .msf-trust-grid { grid-template-columns:1fr; gap:12px; }.msf-trust-grid article:last-child { width:auto; grid-column:auto; }.msf-trust-grid article { padding:21px; }.msf-testimonials-marquee { overflow-x:auto; overscroll-behavior-x:contain; padding-inline:20px; scroll-snap-type:x mandatory; scrollbar-width:thin; }.msf-testimonials-track { animation:none; }.msf-testimonials-group[aria-hidden="true"] { display:none; }.msf-testimonial-card { width:min(86vw,340px); min-height:260px; padding:21px; scroll-snap-align:start; }.msf-legalitas { padding-block:58px; }.msf-legal-stamp { grid-template-columns:auto 1fr; padding:20px; }.msf-legal-stamp .msf-button { width:100%; justify-content:center; }.msf-faq-list summary { padding:16px 0; font-size:.82rem; }.msf-trust-cta { padding:54px 0; }.msf-trust-cta>.msf-container { display:grid; }.msf-trust-cta-actions { display:grid; }.msf-trust-cta-actions .msf-button { width:100%; justify-content:center; } }
@media (prefers-reduced-motion:reduce) { .msf-testimonials-marquee { overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; }.msf-testimonials-track { animation:none; }.msf-testimonials-group[aria-hidden="true"] { display:none; }.msf-testimonial-card { scroll-snap-align:start; } }

/* Stage four: Jamaah portal preview surface. */
.msf-portal-login { min-height:calc(100svh - 96px); padding:150px 0 88px; background:radial-gradient(circle at 82% 12%,rgba(152,115,11,.15),transparent 28%),linear-gradient(135deg,var(--msf-ivory),var(--msf-sand)); }.msf-portal-login-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(350px,.78fr); gap:10%; align-items:center; }.msf-portal-login-intro h1 { margin:0 0 17px; font:600 clamp(2.8rem,5.7vw,5.2rem)/1 var(--msf-serif); letter-spacing:-.065em; }.msf-portal-login-intro h1 em { color:var(--msf-gold); font-weight:500; }.msf-portal-login-intro>p:not(.eyebrow) { max-width:610px; margin:0; color:var(--msf-muted); font-size:1.03rem; line-height:1.75; }.msf-portal-benefits { display:flex; flex-wrap:wrap; gap:8px; margin:25px 0 20px; }.msf-portal-benefits span { padding:8px 10px; border:1px solid rgba(152,115,11,.24); border-radius:999px; color:var(--msf-gold); font-size:.71rem; font-weight:700; }.msf-portal-login-intro small { color:var(--msf-muted); font-size:.77rem; }.msf-portal-login-card { display:grid; gap:14px; padding:30px; border:1px solid var(--msf-line); border-radius:20px; background:var(--msf-white); box-shadow:0 18px 42px rgba(0,0,0,.09); }.msf-portal-login-card h2 { margin:0 0 5px; font:600 2rem/1.04 var(--msf-serif); letter-spacing:-.05em; }.msf-portal-login-card label { display:grid; gap:7px; color:var(--msf-ink); font-size:.78rem; font-weight:750; }.msf-portal-login-card input { width:100%; min-height:46px; padding:11px 13px; border:1px solid var(--msf-line); border-radius:10px; background:var(--msf-ivory); color:var(--msf-ink); font:400 .9rem var(--msf-sans); outline:none; }.msf-portal-login-card input:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }.msf-portal-login-card .msf-button { width:100%; justify-content:center; margin-top:4px; }
.msf-portal-dashboard { padding-bottom:88px; background:var(--msf-ivory); }.msf-portal-dashboard-hero { padding:146px 0 42px; background:linear-gradient(118deg,#17140f,#312718); color:var(--msf-white); }.msf-portal-dashboard-hero .eyebrow { color:#e8cf85; }.msf-portal-dashboard-hero .eyebrow span { background:#e8cf85; }.msf-portal-dashboard-hero h1 { margin:0 0 14px; font:600 clamp(2.8rem,5.8vw,5.3rem)/1 var(--msf-serif); letter-spacing:-.065em; }.msf-portal-dashboard-hero h1 em { color:#e8cf85; font-weight:500; }.msf-portal-dashboard-hero>div>p:not(.eyebrow) { max-width:610px; margin:0; color:#ddd7cd; font-size:1rem; line-height:1.7; }.msf-portal-nav { display:flex; gap:8px; margin-top:29px; overflow-x:auto; padding-bottom:3px; scrollbar-width:thin; }.msf-portal-nav a { flex:0 0 auto; padding:9px 12px; border:1px solid rgba(232,207,133,.3); border-radius:999px; color:var(--msf-white); font-size:.72rem; font-weight:700; text-decoration:none; transition:background .2s ease,color .2s ease; }.msf-portal-nav a:hover { background:#e8cf85; color:var(--msf-charcoal); }.msf-portal-content { padding-top:32px; }.msf-portal-section { padding:38px 0; scroll-margin-top:100px; }.msf-portal-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }.msf-portal-summary article { display:grid; gap:6px; min-width:0; padding:20px; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 7px 18px rgba(0,0,0,.04); }.msf-portal-summary span,.msf-portal-summary small { color:var(--msf-muted); font-size:.69rem; }.msf-portal-summary span { font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.msf-portal-summary strong { overflow-wrap:anywhere; color:var(--msf-ink); font:600 1.3rem/1.08 var(--msf-serif); }.msf-portal-section-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:18px; }.msf-portal-section-heading .eyebrow { margin-bottom:8px; }.msf-portal-section-heading h2 { margin:0; font:600 clamp(1.9rem,3.5vw,3rem)/1 var(--msf-serif); letter-spacing:-.05em; }.msf-portal-status { display:inline-flex; width:max-content; align-items:center; padding:5px 8px; border-radius:999px; font-size:.67rem; font-weight:800; line-height:1.25; }.msf-portal-status.is-success { background:rgba(72,123,81,.12); color:#316b3d; }.msf-portal-status.is-pending { background:rgba(152,115,11,.13); color:#795900; }
.msf-portal-program-card { display:grid; grid-template-columns:minmax(230px,.64fr) minmax(0,1.36fr); overflow:hidden; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 10px 25px rgba(0,0,0,.05); }.msf-portal-program-card figure { min-height:310px; margin:0; background:#f3efe8; }.msf-portal-program-card figure img { display:block; width:100%; height:100%; object-fit:cover; }.msf-portal-program-card>div { padding:27px; }.msf-portal-program-card h3 { margin:10px 0 17px; font:600 clamp(1.65rem,3vw,2.4rem)/1.05 var(--msf-serif); letter-spacing:-.045em; }.msf-portal-program-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin:0 0 22px; }.msf-portal-program-card dl div { display:flex; justify-content:space-between; gap:10px; min-width:0; padding:9px 0; border-top:1px solid var(--msf-line); font-size:.76rem; }.msf-portal-program-card dt { color:var(--msf-muted); }.msf-portal-program-card dd { margin:0; color:var(--msf-ink); font-weight:700; text-align:right; overflow-wrap:anywhere; }.msf-portal-actions { display:flex; flex-wrap:wrap; gap:9px; }.msf-portal-actions .msf-button { min-width:132px; justify-content:center; }
.msf-portal-payment-grid,.msf-portal-document-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.msf-portal-payment-card,.msf-portal-history,.msf-portal-document-grid article { padding:24px; border:1px solid var(--msf-line); border-radius:17px; background:var(--msf-white); box-shadow:0 8px 20px rgba(0,0,0,.04); }.msf-portal-payment-card dl { display:grid; gap:0; margin:0; }.msf-portal-payment-card dl div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--msf-line); font-size:.8rem; }.msf-portal-payment-card dt { color:var(--msf-muted); }.msf-portal-payment-card dd { margin:0; font-weight:750; text-align:right; }.msf-payment-progress { height:9px; margin:24px 0 8px; overflow:hidden; border-radius:999px; background:#eee9df; }.msf-payment-progress span { display:block; height:100%; border-radius:inherit; background:var(--msf-gold); }.msf-portal-payment-card>p { margin:0; color:var(--msf-muted); font-size:.78rem; }.msf-portal-payment-card>p strong { color:var(--msf-gold); }.msf-portal-history h3 { margin:0 0 16px; font:600 1.45rem/1 var(--msf-serif); }.msf-portal-history>div:not(.msf-portal-actions) { display:grid; grid-template-columns:auto 1fr auto; gap:11px; align-items:center; padding:13px 0; border-top:1px solid var(--msf-line); }.msf-portal-history-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:rgba(152,115,11,.12); color:var(--msf-gold); font-size:.65rem; font-weight:800; }.msf-portal-history p { display:grid; gap:3px; margin:0; font-size:.75rem; text-align:right; }.msf-portal-history p:nth-child(2) { text-align:left; }.msf-portal-history small { color:var(--msf-muted); font-size:.68rem; }.msf-portal-history .msf-portal-actions { margin-top:21px; }.msf-portal-document-grid article { position:relative; }.msf-portal-document-icon { display:grid; width:44px; height:44px; place-items:center; margin-bottom:18px; border-radius:12px; background:var(--msf-charcoal); color:#e8cf85; font-size:.67rem; font-weight:800; }.msf-portal-document-grid h3 { margin:8px 0 14px; font:600 1.55rem/1 var(--msf-serif); letter-spacing:-.04em; }.msf-portal-document-grid article>p:not(.msf-tag) { margin:0 0 20px; color:var(--msf-muted); font-size:.78rem; }.msf-portal-document-grid .msf-portal-actions { margin-top:20px; }
.msf-portal-timeline { display:grid; gap:0; max-width:880px; margin:0; padding:0; list-style:none; }.msf-portal-timeline li { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:15px; align-items:start; padding:0 0 23px; }.msf-portal-timeline li:not(:last-child)::before { position:absolute; top:35px; left:16px; width:1px; height:calc(100% - 10px); background:var(--msf-line); content:""; }.msf-portal-timeline li>span { position:relative; z-index:1; display:grid; width:33px; height:33px; place-items:center; border:1px solid var(--msf-line); border-radius:50%; background:var(--msf-white); color:var(--msf-muted); font-size:.65rem; font-weight:800; }.msf-portal-timeline li.is-complete>span { border-color:#467d50; background:#467d50; color:var(--msf-white); }.msf-portal-timeline li.is-scheduled>span { border-color:var(--msf-gold); color:var(--msf-gold); }.msf-portal-timeline h3 { margin:5px 0 4px; font:600 1.1rem/1 var(--msf-serif); }.msf-portal-timeline p { margin:0; color:var(--msf-muted); font-size:.76rem; line-height:1.5; }.msf-portal-timeline b { padding-top:6px; color:var(--msf-muted); font-size:.7rem; }.msf-document-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:20px; }.msf-document-checklist div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid var(--msf-line); border-radius:12px; background:var(--msf-white); font-size:.8rem; font-weight:700; }.msf-portal-help { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-top:20px; padding:30px; border-radius:20px; background:linear-gradient(118deg,#17140f,#312718); color:var(--msf-white); scroll-margin-top:100px; }.msf-portal-help .eyebrow { color:#e8cf85; }.msf-portal-help .eyebrow span { background:#e8cf85; }.msf-portal-help h2 { max-width:700px; margin:0 0 12px; font:600 clamp(1.7rem,3.2vw,2.8rem)/1.08 var(--msf-serif); letter-spacing:-.045em; }.msf-portal-help p:not(.eyebrow) { margin:0; color:#ddd7cd; font-size:.8rem; }.msf-portal-help .msf-button-outline { border-color:rgba(255,255,255,.45); color:var(--msf-white); }.msf-portal-document-page { min-height:calc(100svh - 96px); padding:150px 0 90px; background:linear-gradient(135deg,var(--msf-ivory),var(--msf-sand)); }.msf-portal-document-page h1 { margin:0 0 28px; font:600 clamp(2.5rem,5vw,4.6rem)/1 var(--msf-serif); letter-spacing:-.06em; }.msf-portal-document-page article { max-width:720px; padding:32px; border:1px solid var(--msf-line); border-radius:20px; background:var(--msf-white); box-shadow:0 14px 32px rgba(0,0,0,.07); }.msf-portal-document-page h2 { margin:10px 0 14px; color:var(--msf-gold); font:600 2rem/1 var(--msf-serif); }.msf-portal-document-page article>p:not(.msf-tag) { margin:0 0 20px; color:var(--msf-muted); }.msf-portal-document-page .msf-portal-actions { margin-top:22px; }.msf-toast { position:fixed; z-index:110; right:22px; bottom:22px; max-width:min(360px,calc(100% - 44px)); padding:14px 17px; border:1px solid rgba(152,115,11,.3); border-radius:13px; background:var(--msf-charcoal); box-shadow:0 16px 34px rgba(0,0,0,.22); color:var(--msf-white); font-size:.82rem; opacity:0; transform:translateY(12px); transition:opacity .25s ease,transform .25s ease; pointer-events:none; }.msf-toast.is-visible { opacity:1; transform:translateY(0); }
.msf-portal-topbar { display:flex; align-items:start; justify-content:space-between; gap:20px; }.msf-portal-topbar .eyebrow { margin-bottom:11px; }.msf-portal-logout { display:inline-flex; min-height:38px; flex:0 0 auto; align-items:center; justify-content:center; padding:8px 14px; border:1px solid rgba(232,207,133,.68); border-radius:999px; background:rgba(255,255,255,.04); color:#f7e7b6; font-size:.72rem; font-weight:800; text-decoration:none; transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }.msf-portal-logout:hover { border-color:#e8cf85; background:#e8cf85; color:var(--msf-charcoal); transform:translateY(-1px); }.msf-portal-nav .msf-portal-logout { display:none; }
@media (max-width:1000px) { .msf-portal-login-layout { grid-template-columns:1fr; gap:34px; }.msf-portal-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.msf-portal-program-card { grid-template-columns:minmax(210px,.64fr) minmax(0,1.36fr); } }
@media (max-width:760px) { .msf-portal-login { padding:122px 0 65px; }.msf-portal-login-card { padding:23px; }.msf-portal-dashboard-hero { padding:122px 0 34px; }.msf-portal-topbar { align-items:center; }.msf-portal-topbar .msf-portal-logout { display:none; }.msf-portal-nav .msf-portal-logout { display:inline-flex; }.msf-portal-section { padding:28px 0; }.msf-portal-summary,.msf-portal-payment-grid,.msf-portal-document-grid,.msf-document-checklist { grid-template-columns:1fr; }.msf-portal-program-card { grid-template-columns:1fr; }.msf-portal-program-card figure { min-height:260px; }.msf-portal-program-card>div { padding:22px; }.msf-portal-program-card dl { grid-template-columns:1fr; }.msf-portal-actions { display:grid; }.msf-portal-actions .msf-button { width:100%; }.msf-portal-history>div:not(.msf-portal-actions) { grid-template-columns:auto 1fr; }.msf-portal-history>div:not(.msf-portal-actions)>p:last-child { grid-column:2; text-align:left; }.msf-portal-timeline li { grid-template-columns:auto minmax(0,1fr); }.msf-portal-timeline b { grid-column:2; padding-top:0; }.msf-portal-help { display:grid; padding:24px; }.msf-portal-document-page { padding:122px 0 70px; }.msf-portal-document-page article { padding:24px; }.msf-toast { right:16px; bottom:16px; } }

/* Odoo eCommerce: keep native sale and checkout flows while matching Muslim Safar. */
.msf-shop-page,.msf-product-page,.msf-checkout-page { background:var(--msf-ivory); color:var(--msf-ink); }
.msf-shop-hero,.msf-ecommerce-hero { padding:145px 0 58px; background:radial-gradient(circle at 86% 18%,rgba(152,115,11,.2),transparent 30%),linear-gradient(125deg,#f7f1e5,#fffdf9); border-bottom:1px solid var(--msf-line); }.msf-shop-hero .container,.msf-ecommerce-hero .container { max-width:1140px; }.msf-shop-kicker { display:inline-flex; margin:0 0 13px; padding:6px 10px; border:1px solid rgba(152,115,11,.25); border-radius:999px; color:var(--msf-gold); font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.msf-shop-hero h1,.msf-ecommerce-page-heading h1,.msf-order-confirmation h1 { max-width:680px; margin:0 0 13px; color:var(--msf-ink); font:600 clamp(2.45rem,5.3vw,4.8rem)/1 var(--msf-serif); letter-spacing:-.065em; }.msf-shop-hero>div>p:not(.msf-shop-kicker),.msf-ecommerce-page-heading>p:not(.msf-shop-kicker),.msf-order-confirmation>p:not(.msf-shop-kicker) { max-width:690px; margin:0; color:var(--msf-muted); font-size:1rem; line-height:1.7; }.msf-shop-hero-actions,.msf-order-confirmation-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.msf-shop-button { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:10px 16px; border:1px solid var(--msf-gold); border-radius:10px; font:750 .76rem var(--msf-sans); text-decoration:none; transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }.msf-shop-button:hover { transform:translateY(-2px); }.msf-shop-button-primary { background:var(--msf-gold); color:var(--msf-white); }.msf-shop-button-primary:hover { border-color:#795900; background:#795900; color:var(--msf-white); }.msf-shop-button-outline { background:transparent; color:var(--msf-ink); }.msf-shop-button-outline:hover { background:rgba(152,115,11,.1); color:var(--msf-gold); }
.msf-shop-page .oe_website_sale.container { max-width:1140px; padding-top:40px !important; padding-bottom:74px; }.msf-shop-page .products_header { margin-bottom:20px !important; }.msf-shop-page .products_header .form-control,.msf-shop-page .products_header .btn,.msf-shop-page .products_categories a,.msf-shop-page .products_attributes_filters .form-check-input { border-color:rgba(152,115,11,.24); box-shadow:none; }.msf-shop-page .products_header .form-control:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }.msf-shop-page .o_wsale_products_grid_table_wrapper { padding-top:0 !important; }.msf-shop-page .o_wsale_products_grid { gap:18px !important; }.msf-shop-page .oe_product { min-width:0; }.msf-shop-page .msf-shop-product-card { overflow:hidden; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 10px 24px rgba(0,0,0,.05); transition:box-shadow .22s ease,transform .22s ease; }.msf-shop-page .msf-shop-product-card:hover { box-shadow:0 16px 30px rgba(0,0,0,.1); transform:translateY(-4px); }.msf-shop-page .msf-shop-product-card .oe_product_image { min-height:230px; background:linear-gradient(135deg,#201d17,#7b5e15 54%,#e2cd91); }.msf-shop-page .msf-shop-product-card .oe_product_image_img_wrapper { background:transparent; }.msf-shop-page .msf-shop-product-card img { object-fit:cover !important; }.msf-shop-product-badge { position:absolute; z-index:2; top:13px; left:13px; padding:6px 8px; border:1px solid rgba(255,255,255,.45); border-radius:999px; background:rgba(24,21,16,.82); color:#f5e7b9; font-size:.61rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.msf-shop-page .o_wsale_product_information { padding:17px !important; }.msf-shop-page .o_wsale_products_item_title { margin-bottom:12px !important; font:600 1.27rem/1.08 var(--msf-serif); letter-spacing:-.035em; }.msf-shop-page .o_wsale_products_item_title a { color:var(--msf-ink) !important; }.msf-shop-page .product_price span { color:var(--msf-gold); font-size:1rem !important; font-weight:800; }.msf-shop-page .o_wsale_product_btn .btn { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-white); }.msf-shop-page #products_grid_before .products_categories,.msf-shop-page #products_grid_before .products_attributes_filters { padding:16px; border:1px solid var(--msf-line); border-radius:14px; background:var(--msf-white); box-shadow:0 7px 18px rgba(0,0,0,.035); }
.msf-product-page .o_wsale_product_page { padding-top:122px; padding-bottom:42px; }.msf-product-page #product_detail { padding:28px; border:1px solid var(--msf-line); border-radius:20px; background:var(--msf-white); box-shadow:0 12px 28px rgba(0,0,0,.055); }.msf-product-page .o_wsale_breadcrumb a { color:var(--msf-muted); }.msf-product-category { display:inline-flex; margin:0 0 11px; padding:6px 9px; border-radius:999px; background:rgba(152,115,11,.12); color:var(--msf-gold); font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.msf-product-page #product_details h1 { margin-bottom:16px; color:var(--msf-ink); font:600 clamp(2.1rem,4vw,3.7rem)/1.04 var(--msf-serif); letter-spacing:-.055em; }.msf-product-page #product_details .product_price .oe_price { color:var(--msf-gold); font-size:1.55rem; }.msf-product-page #product_details .css_quantity { border-color:var(--msf-line); border-radius:10px; }.msf-product-page #o_wsale_cta_wrapper .btn-primary,.msf-product-page #o_wsale_cta_wrapper .a-submit,.msf-checkout-page .btn-primary,.msf-checkout-page .o_cta_navigation_container .btn { border-color:var(--msf-gold) !important; background:var(--msf-gold) !important; color:var(--msf-white) !important; box-shadow:none !important; }.msf-product-page #o_wsale_cta_wrapper .btn-primary:hover,.msf-product-page #o_wsale_cta_wrapper .a-submit:hover,.msf-checkout-page .btn-primary:hover,.msf-checkout-page .o_cta_navigation_container .btn:hover { border-color:#795900 !important; background:#795900 !important; }.msf-product-page .o_wsale_product_images { overflow:hidden; border-radius:15px; background:linear-gradient(135deg,#201d17,#7b5e15 54%,#e2cd91); }.msf-product-page .o_wsale_product_images img { object-fit:cover; }.msf-product-trust-card { display:grid; gap:12px; margin-top:20px; padding:18px; border:1px solid rgba(152,115,11,.23); border-radius:14px; background:#fcf8ef; }.msf-product-trust-card strong { color:var(--msf-ink); font:600 1.08rem/1.2 var(--msf-serif); }.msf-product-trust-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:0; list-style:none; }.msf-product-trust-card li { position:relative; padding-left:13px; color:var(--msf-muted); font-size:.73rem; }.msf-product-trust-card li::before { position:absolute; top:.55em; left:0; width:5px; height:5px; border-radius:50%; background:var(--msf-gold); content:""; }.msf-product-trust-card p { margin:0; color:var(--msf-muted); font-size:.74rem; line-height:1.55; }.msf-ecommerce-note { display:flex; align-items:end; justify-content:space-between; gap:28px; margin:20px auto 72px; padding:28px; border:1px solid rgba(152,115,11,.22); border-radius:18px; background:linear-gradient(115deg,#fffdf9,#f5eddb); }.msf-ecommerce-note h2 { max-width:640px; margin:0 0 10px; font:600 clamp(1.6rem,3vw,2.35rem)/1.1 var(--msf-serif); letter-spacing:-.045em; }.msf-ecommerce-note p:not(.msf-shop-kicker) { max-width:660px; margin:0; color:var(--msf-muted); font-size:.83rem; line-height:1.65; }.msf-ecommerce-note-actions { display:grid; gap:11px; justify-items:start; flex:0 0 auto; }.msf-ecommerce-note-actions span { max-width:220px; color:var(--msf-muted); font-size:.7rem; line-height:1.45; }
.msf-product-page #o_wsale_cta_wrapper { display:flex; flex-wrap:wrap; gap:10px; }.msf-product-page #o_wsale_cta_wrapper #add_to_cart,.msf-product-page #o_wsale_cta_wrapper #add_to_cart { border-color:var(--msf-gold) !important; background:var(--msf-white) !important; color:var(--msf-gold) !important; }.msf-product-page #o_wsale_cta_wrapper #add_to_cart:hover { background:#fbf5e7 !important; }.msf-checkout-page .o_payment_form .alert,.msf-checkout-page .o_wsale_payment .alert { border-color:rgba(152,115,11,.25); border-left:3px solid var(--msf-gold); border-radius:0 10px 10px 0; background:#fbf5e7; color:var(--msf-ink); }
.msf-payment-availability { margin:18px 0; padding:14px 16px; border:1px solid rgba(152,115,11,.25); border-left:3px solid var(--msf-gold); border-radius:0 11px 11px 0; background:#fbf5e7; color:var(--msf-muted); font-size:.8rem; line-height:1.55; }
.msf-checkout-page .o_website_sale_checkout { max-width:1140px; padding-top:122px !important; padding-bottom:72px !important; }.msf-checkout-page .o_total_card,.msf-checkout-page .oe_cart,.msf-checkout-page #shop_checkout,.msf-cart-page { border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 9px 22px rgba(0,0,0,.045); }.msf-checkout-page .oe_cart,.msf-cart-page { padding:25px; }.msf-checkout-page #shop_checkout { padding:25px; }.msf-checkout-page .o_total_card { overflow:hidden; }.msf-checkout-page .o_total_card .card-body,.msf-checkout-page .o_wsale_total_accordion_item { padding:22px !important; }.msf-ecommerce-page-heading { margin:0 0 24px; }.msf-ecommerce-page-heading h1 { font-size:clamp(2rem,4.3vw,3.6rem); }.msf-checkout-page .table>thead,.msf-checkout-page .table>tbody>tr:last-child { border-color:var(--msf-line); }.msf-checkout-page .form-control,.msf-checkout-page .form-select { min-height:43px; border-color:var(--msf-line); border-radius:10px; box-shadow:none; }.msf-checkout-page .form-control:focus,.msf-checkout-page .form-select:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }.msf-checkout-page .o_wsale_add_address,.msf-checkout-page .one_kanban .card { border-color:var(--msf-line) !important; border-radius:13px !important; }.msf-checkout-page .one_kanban .card.bg-primary { border-color:var(--msf-gold) !important; background:rgba(152,115,11,.11) !important; color:var(--msf-ink) !important; }.msf-checkout-page .o_wsale_add_address:hover { border-color:var(--msf-gold); color:var(--msf-gold); }.msf-checkout-trust { margin:19px 0 0; padding:13px 15px; border-left:3px solid var(--msf-gold); border-radius:0 10px 10px 0; background:#fbf5e7; color:var(--msf-muted); font-size:.8rem; line-height:1.55; }.msf-order-confirmation { margin:0 0 28px; padding:27px; border:1px solid rgba(152,115,11,.24); border-radius:18px; background:linear-gradient(115deg,#fffdf9,#f5eddb); }.msf-order-confirmation h1 { font-size:clamp(2rem,4.2vw,3.6rem); }.msf-shop-link { align-self:center; color:var(--msf-gold); font-size:.78rem; font-weight:750; text-decoration:none; }.msf-shop-link:hover { color:#795900; text-decoration:underline; }.msf-checkout-page .o_wsale_my_cart .my_cart_quantity { background:var(--msf-gold) !important; }
@media (max-width:991px) { .msf-shop-hero { padding-top:122px; }.msf-shop-page .o_wsale_products_main_row { flex-wrap:wrap; }.msf-shop-page .msf-shop-product-card .oe_product_image { min-height:200px; }.msf-product-page .o_wsale_product_page,.msf-checkout-page .o_website_sale_checkout { padding-top:110px !important; }.msf-ecommerce-note { align-items:start; flex-direction:column; }.msf-checkout-page .o_total_card,.msf-checkout-page .oe_cart,.msf-checkout-page #shop_checkout { border-radius:15px; } }
@media (max-width:640px) { .msf-shop-hero { padding:113px 20px 46px; }.msf-shop-hero h1,.msf-ecommerce-page-heading h1,.msf-order-confirmation h1 { font-size:2.2rem; }.msf-shop-hero-actions,.msf-order-confirmation-actions { display:grid; grid-template-columns:1fr; }.msf-shop-button { width:100%; }.msf-shop-page .oe_website_sale.container { padding:28px 20px 58px !important; }.msf-shop-page .o_wsale_products_grid { gap:13px !important; }.msf-shop-page .msf-shop-product-card .oe_product_image { min-height:225px; }.msf-product-page .o_wsale_product_page,.msf-checkout-page .o_website_sale_checkout { padding:102px 16px 58px !important; }.msf-product-page #product_detail,.msf-checkout-page .oe_cart,.msf-checkout-page #shop_checkout { padding:19px; }.msf-ecommerce-note,.msf-order-confirmation { margin-inline:16px; padding:21px; }.msf-ecommerce-note { margin-bottom:58px; }.msf-checkout-page .o_total_card .card-body { padding:18px !important; }.msf-checkout-trust { font-size:.75rem; } }

/* Jamaah data form: keeps Odoo's native address form and validation intact. */
.msf-address-page .o_wsale_address_fill { max-width:1140px; padding-top:122px !important; padding-bottom:72px !important; }
.msf-address-page .oe_cart { padding:28px; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 9px 22px rgba(0,0,0,.045); }
.msf-address-page .msf-ecommerce-page-heading { margin-bottom:21px; }
.msf-address-page .msf-ecommerce-page-heading h1 { color:var(--msf-ink); font:600 clamp(2rem,4.3vw,3.6rem)/1.08 var(--msf-serif); letter-spacing:-.05em; }
.msf-address-page .msf-address-legacy-title { display:none; }
.msf-jamaah-alert { margin:0 0 20px; padding:15px 17px; border:1px solid rgba(152,115,11,.2); border-left:3px solid var(--msf-gold); border-radius:0 12px 12px 0; background:#fbf5e7; color:var(--msf-ink); }
.msf-jamaah-alert strong { display:block; margin-bottom:4px; font:600 1.06rem/1.2 var(--msf-serif); }
.msf-jamaah-alert p { margin:0; color:var(--msf-muted); font-size:.81rem; line-height:1.55; }
.msf-address-page .checkout_autoformat h4 { color:var(--msf-ink); font:600 1.25rem/1.2 var(--msf-serif); }
.msf-address-page .checkout_autoformat .col-form-label { color:var(--msf-ink); font-size:.81rem; font-weight:700; }
.msf-address-page .checkout_autoformat .label-optional { color:var(--msf-muted); font-weight:600; }
.msf-address-page #save_address { border-color:var(--msf-gold) !important; background:var(--msf-gold) !important; color:var(--msf-white) !important; }
.msf-address-page #save_address:hover { border-color:#795900 !important; background:#795900 !important; }
.msf-jamaah-data-card { display:grid; gap:13px; margin-top:24px; padding:21px; border:1px solid rgba(152,115,11,.22); border-radius:15px; background:linear-gradient(115deg,#fffdf9,#f5eddb); }
.msf-jamaah-data-card h2 { margin:0; color:var(--msf-ink); font:600 1.35rem/1.2 var(--msf-serif); }
.msf-jamaah-data-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; margin:0; padding:0; list-style:none; }
.msf-jamaah-data-card li { position:relative; padding-left:14px; color:var(--msf-muted); font-size:.78rem; line-height:1.45; }
.msf-jamaah-data-card li::before { position:absolute; top:.55em; left:0; width:5px; height:5px; border-radius:50%; background:var(--msf-gold); content:""; }
.msf-address-page .o_wizard { margin:0 0 18px; color:var(--msf-muted); }
.msf-address-page .o_wizard [name='step_name'] p { font-size:.76rem; }
.msf-ticket-attendee .o_wsale_address_fill { max-width:1140px; padding-top:122px !important; padding-bottom:72px !important; }
.msf-ticket-attendee .o_wsale_address_fill > .row > .col-12 { padding:0; }
.msf-ticket-attendee .o_wsale_address_fill .oe_cart { padding:28px; border:1px solid var(--msf-line); border-radius:18px; background:var(--msf-white); box-shadow:0 9px 22px rgba(0,0,0,.045); }
.msf-ticket-attendee .o_wizard { margin:0 0 18px; color:var(--msf-muted); }
.msf-ticket-attendee .o_wizard .progress-bar { border-color:var(--msf-gold) !important; }
.msf-checkout-page .o_wizard { margin:0 0 18px; color:var(--msf-muted); }
.msf-checkout-page .o_wizard [name='step_name'] p { font-size:.76rem; }
.msf-checkout-page .o_wizard .progress-bar { border-color:var(--msf-gold) !important; }
.msf-ticket-attendee .checkout_autoformat .col-form-label { color:var(--msf-ink); font-size:.81rem; font-weight:700; }
.msf-ticket-attendee .checkout_autoformat .form-control,.msf-ticket-attendee .checkout_autoformat .form-select { min-height:43px; border-color:var(--msf-line); border-radius:10px; box-shadow:none; }
.msf-ticket-attendee .checkout_autoformat .form-control:focus,.msf-ticket-attendee .checkout_autoformat .form-select:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }
.msf-ticket-attendee #save_address { border-color:var(--msf-gold) !important; background:var(--msf-gold) !important; color:var(--msf-white) !important; box-shadow:none !important; }
.msf-ticket-attendee #save_address:hover { border-color:#795900 !important; background:#795900 !important; }
.msf-checkout-account-prompt { display:flex; align-items:center; justify-content:flex-end; gap:10px; color:var(--msf-muted); font-size:.75rem; }
.msf-checkout-account-prompt .msf-shop-button { min-height:36px; padding:7px 11px; font-size:.67rem; white-space:nowrap; }
@media (max-width:640px) { .msf-ticket-attendee .o_wsale_address_fill { padding:102px 16px 58px !important; }.msf-ticket-attendee .o_wsale_address_fill .oe_cart { padding:19px; }.msf-checkout-account-prompt { align-items:flex-start; flex-direction:column; gap:7px; margin-top:9px; }.msf-checkout-account-prompt .msf-shop-button { width:auto; } }
@media (max-width:640px) { .msf-address-page .o_wsale_address_fill { padding:102px 16px 58px !important; }.msf-address-page .oe_cart { padding:19px; }.msf-jamaah-data-card { padding:18px; }.msf-jamaah-data-card ul { grid-template-columns:1fr; } }

/* Lightweight Home and navigation polish. */
.msf-main-nav { min-height:38px; align-items:center; }
.msf-main-nav > a:not(.msf-nav-login),.msf-nav-dropdown { display:inline-flex; align-items:center; min-height:32px; }
.msf-main-nav > a:not(.msf-nav-login) { position:relative; transition:color .2s ease,transform .2s ease; }
.msf-main-nav > a:not(.msf-nav-login)::after { position:absolute; right:0; bottom:-4px; left:0; height:1px; border-radius:999px; background:var(--msf-gold); content:""; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.msf-main-nav > a:not(.msf-nav-login):hover,.msf-main-nav > a:not(.msf-nav-login).active { transform:translateY(-1px); }
.msf-main-nav > a:not(.msf-nav-login):hover::after,.msf-main-nav > a:not(.msf-nav-login).active::after { transform:scaleX(1); }
.msf-nav-dropdown-trigger { min-height:32px; padding:0; line-height:1; }
.msf-nav-dropdown-panel { pointer-events:none; }
.msf-nav-dropdown:hover .msf-nav-dropdown-panel,.msf-nav-dropdown[open] .msf-nav-dropdown-panel { pointer-events:auto; }

.msf-motion-ready .msf-reveal { opacity:0; transform:translate3d(0,18px,0); transition:opacity .48s ease,transform .48s cubic-bezier(.2,.65,.25,1); }
.msf-motion-ready .msf-reveal.msf-reveal-visible { opacity:1; transform:translate3d(0,0,0); }
.msf-motion-ready .msf-reveal-delay-1 { transition-delay:60ms; }
.msf-motion-ready .msf-reveal-delay-2 { transition-delay:120ms; }
.msf-motion-ready .msf-reveal-delay-3 { transition-delay:180ms; }
.home-ongoing .ongoing-card { transition:transform .24s ease,box-shadow .24s ease; }
.home-ongoing .ongoing-card:hover { box-shadow:0 16px 30px rgba(0,0,0,.1); transform:translateY(-5px); }

@media (max-width:800px) {
  .msf-main-nav > a:not(.msf-nav-login),.msf-nav-dropdown { min-height:0; }
  .msf-main-nav > a:not(.msf-nav-login)::after { right:12px; bottom:7px; left:12px; }
  .msf-nav-dropdown-trigger { min-height:44px; }
}

@media (prefers-reduced-motion:reduce) {
  .msf-motion-ready .msf-reveal,.msf-motion-ready .msf-reveal.msf-reveal-visible { opacity:1; transform:none; transition:none; }
  .home-ongoing .ongoing-card:hover,.msf-main-nav > a:not(.msf-nav-login):hover { transform:none; }
}

/* Tablet and mobile navigation: keep the header balanced and the menu compact. */
@media (max-width:991px) {
  .msf-site-header { top:16px; width:calc(100% - 32px); min-height:64px; padding:8px 10px 8px 14px; }
  .msf-brand { min-height:40px; }
  .msf-brand-logo { width:40px; height:40px; flex-basis:40px; }
  .msf-nav-toggle { position:relative; display:block; width:40px; height:40px; flex:0 0 40px; padding:0; border:1px solid var(--msf-line); border-radius:12px; background:var(--msf-white); cursor:pointer; }
  .msf-nav-toggle span { position:absolute; top:50%; left:10px; display:block; width:18px; height:1.5px; background:var(--msf-ink); transform-origin:center; transition:transform .2s ease; }
  .msf-nav-toggle span:first-child { transform:translateY(-4px); }
  .msf-nav-toggle span:last-child { transform:translateY(4px); }
  .msf-nav-toggle[aria-expanded="true"] span:first-child { transform:rotate(45deg); }
  .msf-nav-toggle[aria-expanded="true"] span:last-child { transform:rotate(-45deg); }
  .msf-main-nav { position:absolute; top:calc(100% + 10px); right:0; left:0; display:flex; min-height:0; flex-direction:column; align-items:stretch; gap:2px; padding:10px; border:1px solid var(--msf-line); border-radius:18px; background:rgba(255,255,255,.98); box-shadow:0 16px 34px rgba(0,0,0,.14); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s ease,transform .2s ease,visibility .2s ease; pointer-events:none; }
  .msf-main-nav.open { display:flex; opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
  .msf-main-nav > a:not(.msf-nav-login),.msf-main-nav .msf-nav-login,.msf-main-nav .msf-nav-dropdown { display:flex; width:100%; min-height:42px; align-items:center; justify-content:center; margin:0; padding:9px 12px; text-align:center; }
  .msf-main-nav > a:not(.msf-nav-login)::after { right:calc(50% - 28px); bottom:5px; left:calc(50% - 28px); }
  .msf-main-nav .msf-nav-login { margin-top:5px; padding:10px 12px; }
  .msf-nav-dropdown { flex-direction:column; padding:0 !important; }
  .msf-nav-dropdown-trigger { display:flex; width:100%; min-height:42px; align-items:center; justify-content:center; padding:9px 12px; border-radius:10px; text-align:center; }
  .msf-nav-dropdown-trigger::after { flex:0 0 auto; margin:0 0 1px 8px; }
  .msf-nav-dropdown-trigger::before { right:calc(50% - 34px); bottom:5px; left:calc(50% - 34px); }
  .msf-nav-dropdown-panel,.msf-nav-dropdown:hover .msf-nav-dropdown-panel { position:static; display:none; width:calc(100% - 10px); min-width:0; gap:3px; margin:2px auto 4px; padding:7px; border-radius:13px; background:var(--msf-sand); box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .msf-nav-dropdown[open] .msf-nav-dropdown-panel { display:grid; }
  .msf-nav-dropdown-item { display:flex; min-height:38px; align-items:center; justify-content:center; padding:8px 12px; text-align:center; }
  .msf-live-chat { display:none !important; }
  .msf-whatsapp-float { position:fixed; z-index:35; right:18px; bottom:max(20px,env(safe-area-inset-bottom)); display:grid; width:52px; height:52px; place-items:center; padding:0; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:var(--msf-gold); box-shadow:0 12px 28px rgba(0,0,0,.24); color:var(--msf-white); }
  .msf-whatsapp-float>span:first-child { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:var(--msf-white); color:var(--msf-gold); font-size:.62rem; font-weight:800; }
  .msf-whatsapp-label { display:none !important; }
  .msf-has-sticky-booking .msf-whatsapp-float { bottom:148px; }
}

@media (max-width:767px) {
  .msf-site-header { width:calc(100% - 28px); min-height:62px; padding:8px 9px 8px 12px; }
  .msf-brand-logo { width:39px; height:39px; flex-basis:39px; }
  .msf-brand-name { font-size:.79rem; }
  .msf-main-nav { padding:9px; }
  .msf-home .hero-content { padding-top:96px; padding-bottom:78px; }
  .msf-page { overflow-x:clip; }
}

@media (max-width:480px) {
  .msf-site-header { width:calc(100% - 24px); }
  .msf-brand-name { font-size:.74rem; }
  .msf-nav-toggle { width:38px; height:38px; flex-basis:38px; }
  .msf-home .hero-actions { margin-bottom:60px; }
  .msf-whatsapp-float { right:14px; width:50px; height:50px; }
  .msf-has-sticky-booking .msf-whatsapp-float { bottom:142px; }
}

/* Kajian ticket focus. This is intentionally scoped to the public Kajian page. */
.msf-kajian-featured { border-color:rgba(152,115,11,.42); box-shadow:0 18px 38px rgba(83,61,12,.14); }
.msf-kajian-featured .program-status { background:rgba(152,115,11,.14); color:var(--msf-gold); }
.msf-kajian-ongoing-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.msf-kajian-ongoing-actions .msf-button { min-height:42px; padding:10px 14px; font-size:.8rem; }
.msf-kajian-hero-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.msf-kajian-hero-chips span { padding:8px 11px; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:rgba(15,15,15,.25); color:var(--msf-white); font-size:.77rem; }
.msf-kajian-intro { background:var(--msf-sand); }
.msf-kajian-intro>.msf-container { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:42px; align-items:end; }
.msf-kajian-intro h2,.msf-ticket-section h2 { margin:0; }
.msf-kajian-intro>.msf-container>p { max-width:680px; margin:0; color:var(--msf-muted); font-size:1.04rem; line-height:1.8; }
.msf-ticket-section { background:var(--msf-white); }
.msf-ticket-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.msf-ticket-card { display:flex; min-height:255px; flex-direction:column; align-items:flex-start; padding:26px; border:1px solid var(--msf-line); border-radius:22px; background:var(--msf-white); box-shadow:0 10px 26px rgba(22,20,15,.06); cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.msf-ticket-card:hover { border-color:rgba(152,115,11,.52); box-shadow:0 16px 30px rgba(31,25,12,.1); transform:translateY(-4px); }
.msf-ticket-card.is-active { border-color:var(--msf-gold); background:linear-gradient(145deg,#fffdf8 0%,#f8f0df 100%); box-shadow:0 16px 34px rgba(152,115,11,.17); }
.msf-ticket-card h3 { margin:14px 0 8px; color:var(--msf-ink); font-family:var(--msf-serif); font-size:1.75rem; }
.msf-ticket-card>p:not(.msf-tag) { margin:0; color:var(--msf-muted); }
.msf-ticket-price { display:block; margin-top:auto; color:var(--msf-gold); font-size:1.24rem; }
.msf-ticket-event-note { margin-top:9px !important; color:var(--msf-gold) !important; font-size:.79rem; font-weight:750; }
.msf-ticket-cta { width:100%; margin-top:20px; padding:11px 14px; border:1px solid var(--msf-gold); border-radius:999px; background:transparent; color:var(--msf-gold); cursor:pointer; font:inherit; font-weight:700; transition:background-color .2s ease,color .2s ease; }
.msf-ticket-card.is-active .msf-ticket-cta,.msf-ticket-cta:hover { background:var(--msf-gold); color:var(--msf-white); }
.msf-ticket-card-single { max-width:560px; min-height:0; cursor:default; }
.msf-ticket-card-single:hover { border-color:var(--msf-line); box-shadow:0 10px 26px rgba(22,20,15,.06); transform:none; }
.msf-ticket-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.msf-ticket-selection-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; padding:18px 22px; border:1px solid rgba(152,115,11,.24); border-radius:18px; background:var(--msf-sand); }
.msf-ticket-selection-summary span,.msf-ticket-selection-summary p { margin:0; color:var(--msf-muted); }
.msf-ticket-selection-summary strong { color:var(--msf-ink); }
.msf-ticket-selection-summary>div { display:flex; flex-wrap:wrap; gap:10px; }
.msf-kajian-details { padding-bottom:140px; }
.msf-kajian-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.msf-kajian-detail-grid .msf-detail-accordion { height:max-content; margin:0; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 20px rgba(22,20,15,.04); }
.msf-kajian-detail-grid .msf-detail-accordion>summary { padding:18px 20px; }
.msf-kajian-detail-grid .msf-detail-accordion>ol,.msf-kajian-detail-grid .msf-detail-accordion>ul,.msf-kajian-detail-grid .msf-detail-accordion>dl { margin:0; padding:0 22px 20px 40px; color:var(--msf-muted); line-height:1.75; }
.msf-kajian-detail-grid .msf-detail-faq>dl { padding-left:22px; }
.msf-kajian-detail-grid .msf-detail-faq dl>div+div { margin-top:16px; }
.msf-kajian-detail-grid .msf-detail-faq dt { color:var(--msf-ink); font-weight:700; }
.msf-kajian-detail-grid .msf-detail-faq dd { margin:5px 0 0; }
.msf-kajian-sticky { z-index:32; }
.msf-kajian-ticket .msf-product-category { margin-bottom:14px; }
.msf-ticket-flow { display:grid; gap:12px; margin-top:16px; padding:17px; border:1px solid rgba(152,115,11,.26); border-radius:14px; background:linear-gradient(135deg,#fffdf8,#f7eedb); }
.msf-ticket-flow .msf-product-category { width:max-content; margin:0; }
.msf-ticket-flow ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; margin:0; padding:0; list-style:none; }
.msf-ticket-flow li { position:relative; padding-left:13px; color:var(--msf-muted); font-size:.76rem; }
.msf-ticket-flow li::before { position:absolute; top:.55em; left:0; width:5px; height:5px; border-radius:50%; background:var(--msf-gold); content:""; }
.msf-checkout-ticket .msf-ecommerce-page-heading h1 { color:var(--msf-ink); }
.msf-ticket-note { margin-bottom:11px; }
.msf-ticket-back-link { display:inline-flex; margin-top:2px; color:var(--msf-gold); font-size:.78rem; font-weight:800; text-decoration:none; }
.msf-ticket-back-link:hover { color:#795900; text-decoration:underline; }
.msf-payment-note { display:grid; gap:8px; align-items:start; }
.msf-payment-note p { margin:0; color:var(--msf-muted); font-size:.82rem; line-height:1.55; }
.msf-payment-note .msf-shop-button { margin-top:4px; }
.msf-ticket-payment .o_payment_form,.msf-ticket-payment .o_wsale_payment { padding:20px; border:1px solid var(--msf-line); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 20px rgba(0,0,0,.04); }
.msf-ticket-payment .o_payment_form .form-check,.msf-ticket-payment .o_wsale_payment .form-check { padding:14px 15px 14px 2.15rem; border:1px solid rgba(152,115,11,.24); border-radius:11px; background:#fffdf9; }
.msf-ticket-payment .o_payment_form .form-check:has(input:checked),.msf-ticket-payment .o_wsale_payment .form-check:has(input:checked) { border-color:var(--msf-gold); background:rgba(152,115,11,.08); }
.msf-bank-transfer-note { margin:18px 0 0; padding:18px; border:1px solid rgba(152,115,11,.3); border-radius:14px; background:linear-gradient(135deg,#fffdf8,#f7eedb); }
.msf-bank-transfer-note strong { color:var(--msf-ink); font:600 1.08rem/1.15 var(--msf-serif); }
.msf-bank-transfer-note .msf-shop-button { width:max-content; }
.msf-ticket-payment .msf-stripe-activation { display:none !important; }
.msf-payment-status-page { min-height:100svh; background:var(--msf-ivory); }
.msf-payment-status-page>.container { width:min(100% - 32px,960px); padding-top:122px; padding-bottom:58px; }
.msf-payment-status-page .breadcrumb { display:none; }
.msf-payment-status-card { margin:0 0 18px; padding:30px; border:1px solid rgba(152,115,11,.25); border-radius:20px; background:linear-gradient(120deg,#fffdf8,#f5ead2); box-shadow:0 12px 28px rgba(22,20,15,.06); }
.msf-payment-status-card h1 { margin:0 0 12px; color:var(--msf-ink); font:600 clamp(2rem,4.6vw,3.7rem)/1.04 var(--msf-serif); letter-spacing:-.055em; }
.msf-payment-status-card>p:not(.msf-shop-kicker) { max-width:650px; margin:0; color:var(--msf-muted); line-height:1.65; }
.msf-payment-status-page [name='o_payment_status'] { margin:0; }
.msf-payment-status-page #o_payment_status_alert { margin:0 0 16px; padding:22px; border:1px solid rgba(152,115,11,.23); border-radius:17px; background:var(--msf-white); box-shadow:0 8px 20px rgba(22,20,15,.045); }
.msf-payment-status-page #o_payment_status_message { width:100%; }
.msf-payment-status-page #o_payment_status_message .card { border:1px solid var(--msf-line); border-radius:14px; box-shadow:none; }
.msf-payment-status-page #o_payment_status_message_details { color:var(--msf-muted); line-height:1.6; }
.msf-payment-status-page #o_payment_status_message_details h3,.msf-payment-status-page #o_payment_status_message_details h5 { color:var(--msf-ink); font-family:var(--msf-serif); }
.msf-payment-status-page [name='o_payment_status']>.text-bg-light { margin:0 !important; padding:4px 18px !important; border:1px solid var(--msf-line); border-radius:15px !important; background:var(--msf-white) !important; box-shadow:0 8px 20px rgba(22,20,15,.04); color:var(--msf-ink) !important; }
.msf-payment-status-page .o_payment_summary_separator { border-color:var(--msf-line); }
.msf-payment-status-page .msf-payment-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; padding:20px; border:1px solid rgba(152,115,11,.25); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 20px rgba(22,20,15,.04); }
.msf-payment-status-page .msf-payment-actions .msf-shop-link { margin-left:4px; }
.msf-payment-confirmation { margin:0 0 18px; }
.msf-payment-confirmation-hero { padding:30px; border:1px solid rgba(152,115,11,.25); border-radius:20px; background:linear-gradient(120deg,#fffdf8,#f5ead2); box-shadow:0 12px 28px rgba(22,20,15,.06); }
.msf-payment-confirmation-hero h1 { margin:0 0 12px; color:var(--msf-ink); font:600 clamp(2rem,4.6vw,3.7rem)/1.04 var(--msf-serif); letter-spacing:-.055em; }
.msf-payment-confirmation-hero>p:not(.msf-shop-kicker) { max-width:650px; margin:0; color:var(--msf-muted); line-height:1.65; }
.msf-payment-confirmation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.msf-payment-confirmation-card { min-width:0; padding:23px; border:1px solid var(--msf-line); border-radius:17px; background:var(--msf-white); box-shadow:0 8px 20px rgba(22,20,15,.045); }
.msf-payment-bank-card { border-color:rgba(152,115,11,.3); background:linear-gradient(135deg,#fffdf8,#fff); }
.msf-payment-card-label { margin:0 0 14px; color:var(--msf-gold); font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.msf-payment-confirmation-details { display:grid; gap:0; margin:0; }
.msf-payment-confirmation-details div { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid var(--msf-line); font-size:.84rem; }
.msf-payment-confirmation-details dt { flex:0 0 auto; color:var(--msf-muted); font-weight:500; }
.msf-payment-confirmation-details dd { max-width:68%; margin:0; color:var(--msf-ink); font-weight:750; text-align:right; }
.msf-payment-confirmation-details dd small { display:block; margin-top:4px; color:var(--msf-gold); font-size:.7rem; font-weight:750; line-height:1.4; }
.msf-payment-account-number { color:var(--msf-gold) !important; font-size:1rem; letter-spacing:.045em; }
.msf-payment-transfer-note { margin:14px 0 0; padding:12px 13px; border-left:3px solid var(--msf-gold); border-radius:0 10px 10px 0; background:#fbf5e7; color:var(--msf-muted); font-size:.78rem; line-height:1.55; }
.msf-payment-confirmation-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; padding:20px; border:1px solid rgba(152,115,11,.25); border-radius:16px; background:var(--msf-white); box-shadow:0 8px 20px rgba(22,20,15,.04); }
.msf-ticket-digital-checkout #o_delivery_form { display:none; }
.msf-ticket-digital-checkout #order_delivery,
.msf-checkout-ticket #order_delivery.msf-zero-delivery { display:none; }
.msf-ticket-digital-note { margin:0 0 18px; padding:13px 15px; border:1px solid rgba(152,115,11,.24); border-left:3px solid var(--msf-gold); border-radius:0 11px 11px 0; background:#fcf8ef; color:var(--msf-muted); font-size:.8rem; line-height:1.55; }
.msf-data-peserta-form .msf-field-hidden { display:none !important; }
.oe_website_sale form.checkout_autoformat #company_name_div,
.oe_website_sale form.checkout_autoformat #div_vat,
.oe_website_sale form.checkout_autoformat #div_street2,
.oe_website_sale form.checkout_autoformat input[name='company_name'],
.oe_website_sale form.checkout_autoformat input[name='vat'],
.oe_website_sale form.checkout_autoformat input[name='street2'] { display:none !important; }
.msf-data-peserta-form .msf-form-fullwidth { flex:0 0 100%; max-width:100%; }
.msf-data-peserta-form label { color:var(--msf-ink); font-size:.78rem; font-weight:750; }
.msf-required { color:#a23a2c; font-weight:800; }
.msf-data-peserta-form .msf-field-required:invalid { border-color:rgba(162,58,44,.6); }
.msf-data-peserta-form .msf-field-required:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }
.msf-form-validation-message { margin:0 0 16px; padding:12px 14px; border:1px solid rgba(162,58,44,.3); border-left:3px solid #a23a2c; border-radius:0 10px 10px 0; background:#fff5f3; color:#863126; font-size:.8rem; line-height:1.5; }
.msf-eticket-kajian-page { min-height:calc(100svh - 96px); padding:150px 0 90px; background:radial-gradient(circle at 86% 12%,rgba(152,115,11,.16),transparent 28%),linear-gradient(135deg,var(--msf-ivory),var(--msf-sand)); }
.msf-eticket-kajian-page h1 { margin:0 0 18px; color:var(--msf-ink); font:600 clamp(2.6rem,5vw,4.7rem)/1 var(--msf-serif); letter-spacing:-.06em; }
.msf-eticket-kajian-page h1 em { color:var(--msf-gold); font-weight:500; }
.msf-eticket-intro { max-width:680px; margin:0 0 27px; color:var(--msf-muted); font-size:.98rem; line-height:1.65; }
.msf-eticket-kajian-card { max-width:820px; padding:30px; border:1px solid rgba(152,115,11,.26); border-radius:20px; background:var(--msf-white); box-shadow:0 14px 32px rgba(22,20,15,.07); }
.msf-eticket-card-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.msf-eticket-kajian-card h2 { margin:14px 0 22px; color:var(--msf-ink); font:600 clamp(1.9rem,3.8vw,2.8rem)/1 var(--msf-serif); letter-spacing:-.05em; }
.msf-eticket-kajian-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin:0 0 25px; }
.msf-eticket-kajian-card dl div { display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-top:1px solid var(--msf-line); font-size:.8rem; }
.msf-eticket-kajian-card dt { color:var(--msf-muted); }
.msf-eticket-kajian-card dd { margin:0; color:var(--msf-ink); font-weight:750; text-align:right; }
.msf-eticket-event-note { margin:0 0 22px; padding:14px 16px; border:1px solid rgba(152,115,11,.25); border-left:3px solid var(--msf-gold); border-radius:0 12px 12px 0; background:#fffdf8; color:var(--msf-muted); font-size:.82rem; line-height:1.6; }
.msf-eticket-summary { margin-bottom:27px !important; }
.msf-eticket-official,.msf-eticket-pending { display:grid; justify-items:center; margin:0 0 22px; padding:25px; border:1px solid rgba(152,115,11,.32); border-radius:17px; background:linear-gradient(135deg,#fffdf8,#fff); text-align:center; }
.msf-eticket-official h3,.msf-eticket-pending h3 { margin:0 0 13px; color:var(--msf-ink); font:600 1.45rem/1.1 var(--msf-serif); }
.msf-eticket-pending { justify-items:start; border-color:rgba(152,115,11,.23); background:#fffdf8; text-align:left; }
.msf-eticket-pending>p { margin:0 0 20px; color:var(--msf-muted); font-size:.83rem; line-height:1.6; }
.msf-eticket-official-qr { display:grid; justify-items:center; gap:10px; margin:0 0 19px; }
.msf-eticket-official-qr img { display:block; max-width:100%; padding:13px; border:1px solid rgba(152,115,11,.27); border-radius:15px; background:var(--msf-white); box-shadow:0 9px 22px rgba(22,20,15,.07); }
.msf-eticket-official-qr figcaption { color:var(--msf-muted); font-size:.78rem; line-height:1.5; }
.msf-eticket-ticket-code { margin:0; color:var(--msf-muted); font-size:.73rem; }
.msf-eticket-ticket-code code { display:inline-block; margin-left:4px; padding:4px 7px; border-radius:6px; background:var(--msf-sand); color:var(--msf-ink); font:700 .76rem ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; }
.msf-eticket-official .msf-portal-actions { justify-content:center; }
.msf-modal-open { overflow:hidden; }
.msf-eticket-modal[hidden] { display:none; }
.msf-eticket-modal { position:fixed; z-index:1200; inset:0; display:grid; place-items:center; overflow:auto; padding:24px; background:rgba(20,17,12,.68); backdrop-filter:blur(3px); }
.msf-eticket-modal-dialog { position:relative; width:min(100%,620px); padding:30px; border:1px solid rgba(152,115,11,.42); border-radius:20px; background:linear-gradient(145deg,#fffdf8,var(--msf-white)); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.msf-eticket-modal-dialog h3 { margin:10px 34px 8px 0; color:var(--msf-ink); font:600 clamp(1.8rem,4vw,2.5rem)/1 var(--msf-serif); letter-spacing:-.045em; }
.msf-eticket-modal-intro { margin:0 34px 22px 0; color:var(--msf-muted); font-size:.86rem; line-height:1.6; }
.msf-eticket-modal-close { position:absolute; top:16px; right:16px; display:grid; width:34px; height:34px; place-items:center; padding:0; border:1px solid rgba(152,115,11,.28); border-radius:50%; background:var(--msf-white); color:var(--msf-ink); font-size:1.4rem; line-height:1; cursor:pointer; }
.msf-eticket-modal-close:hover,.msf-eticket-modal-close:focus-visible { border-color:var(--msf-gold); color:var(--msf-gold); outline:none; box-shadow:0 0 0 3px rgba(152,115,11,.13); }
.msf-eticket-modal-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin:0; }
.msf-eticket-modal-details div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--msf-line); font-size:.78rem; }
.msf-eticket-modal-details dt { color:var(--msf-muted); }
.msf-eticket-modal-details dd { margin:0; color:var(--msf-ink); font-weight:750; text-align:right; overflow-wrap:anywhere; }
.msf-eticket-modal-qr { display:grid; justify-items:center; gap:10px; margin:24px 0; }
.msf-eticket-modal-qr img { display:block; width:min(260px,100%); height:auto; padding:12px; border:1px solid rgba(152,115,11,.28); border-radius:15px; background:var(--msf-white); box-shadow:0 9px 22px rgba(22,20,15,.07); }
.msf-eticket-modal-qr figcaption { color:var(--msf-muted); font-size:.77rem; line-height:1.5; text-align:center; }
.msf-eticket-modal-qr code { display:inline-block; max-width:100%; margin-left:4px; padding:4px 7px; border-radius:6px; background:var(--msf-sand); color:var(--msf-ink); font:700 .75rem ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; vertical-align:middle; }
.msf-eticket-modal-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.msf-eticket-whatsapp h3 { margin:0 0 6px; color:var(--msf-ink); font-family:var(--msf-serif); font-size:1rem; }
.msf-eticket-whatsapp p { margin:0; }
.msf-whatsapp-status { scroll-margin-top:120px; }
.msf-whatsapp-card { padding:24px; border:1px solid rgba(152,115,11,.25); border-radius:18px; background:linear-gradient(135deg,#fffdf8 0%,var(--msf-white) 72%); box-shadow:0 10px 26px rgba(22,20,15,.045); }
.msf-whatsapp-card > p { max-width:680px; margin:0 0 18px; color:var(--msf-muted); line-height:1.65; }
.msf-whatsapp-card ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 20px; padding:0; list-style:none; }
.msf-whatsapp-card li { min-width:0; padding:13px 14px; border:1px solid rgba(152,115,11,.17); border-radius:12px; background:rgba(255,255,255,.82); }
.msf-whatsapp-card li strong,.msf-whatsapp-card li span { display:block; }
.msf-whatsapp-card li strong { margin-bottom:4px; color:var(--msf-ink); font-size:.8rem; }
.msf-whatsapp-card li span { color:var(--msf-muted); font-size:.76rem; line-height:1.45; }
.msf-whatsapp-actions,.msf-payment-whatsapp { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.msf-payment-whatsapp { margin-top:18px; }
.msf-payment-whatsapp-note { width:100%; margin:0 0 3px; color:var(--msf-muted); font-size:.83rem; line-height:1.55; }
.msf-portal-kajian .msf-portal-program-card .msf-tag { color:var(--msf-gold); }

/* Odoo Events: public event and registration pages only. */
.o_wevent_event,.o_wevent_index { background:var(--msf-ivory); }
.o_wevent_event .btn-primary,.o_wevent_index .btn-primary,.o_wevent_event .o_wevent_cta .btn,.o_wevent_index .o_wevent_cta .btn { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-white); box-shadow:none; }
.o_wevent_event .btn-primary:hover,.o_wevent_index .btn-primary:hover,.o_wevent_event .o_wevent_cta .btn:hover,.o_wevent_index .o_wevent_cta .btn:hover { border-color:#785a08; background:#785a08; color:var(--msf-white); }
.o_wevent_event #registration_form,.o_wevent_event #o_wevent_tickets,.o_wevent_event #o_wevent_tickets_collapse,.o_wevent_event .o_wevent_event_main_sidebar,.o_wevent_event .card,.o_wevent_index .card { border:1px solid rgba(152,115,11,.2); border-radius:18px; background:var(--msf-white); box-shadow:0 10px 26px rgba(22,20,15,.055); }
.o_wevent_event #registration_form,.o_wevent_event #o_wevent_tickets,.o_wevent_event #o_wevent_tickets_collapse { padding:22px; }
.o_wevent_event .form-control,.o_wevent_event .form-select { min-height:46px; border-color:var(--msf-line); border-radius:11px; }
.o_wevent_event .form-control:focus,.o_wevent_event .form-select:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.13); }
.o_wevent_event .o_wevent_event_name,.o_wevent_event .o_wevent_registration_title,.o_wevent_index h1,.o_wevent_index h2 { color:var(--msf-ink); font-family:var(--msf-serif); }
.o_wevent_event .o_wevent_ticket_selector,.o_wevent_event .o_wevent_ticket_selector .form-select { border-color:rgba(152,115,11,.24); border-radius:12px; }
.o_wevent_event .o_wevent_badge,.o_wevent_index .o_wevent_badge { background:rgba(152,115,11,.12) !important; color:var(--msf-gold) !important; }

/* Stage eight: compact Kajian focus and public Odoo Events polish. */
.msf-kajian-ongoing-layout { display:grid; grid-template-columns:minmax(0,1.32fr) minmax(280px,.68fr); gap:20px; align-items:stretch; }
.msf-kajian-ongoing-featured { min-height:340px; padding:30px; border:1px solid rgba(152,115,11,.46); background:linear-gradient(145deg,#fffdf8 0%,var(--msf-white) 72%); }
.msf-kajian-ongoing-featured h3 { font-size:clamp(2rem,3.5vw,3.15rem); }
.msf-kajian-ongoing-featured .program-theme { max-width:640px; color:var(--msf-muted); font-size:.95rem; font-weight:500; line-height:1.65; }
.msf-kajian-ongoing-featured dl { max-width:620px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 22px; }
.msf-other-programs { display:grid; gap:12px; }
.msf-other-programs-heading { margin:0 0 1px; color:var(--msf-muted); font-size:.75rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.msf-other-programs .ongoing-card { min-height:0; padding:20px; }
.msf-other-programs .ongoing-card h3 { font-size:1.35rem; }
.msf-other-programs .ongoing-card>p:not(.program-theme) { margin:0 0 16px; color:var(--msf-muted); font-size:.8rem; line-height:1.55; }
.msf-program-consultation .msf-kajian-ongoing-actions { margin-top:auto; }

.msf-portal-minimal .msf-portal-dashboard-hero { padding-bottom:34px; }
.msf-portal-minimal .msf-portal-content { padding-top:28px; }
.msf-portal-minimal .msf-portal-section { padding:30px 0; }
.msf-portal-minimal .msf-portal-program-card figure { min-height:250px; }
.msf-portal-minimal .msf-portal-program-card dl { margin-bottom:18px; }
.msf-portal-minimal .msf-portal-payment-compact,.msf-portal-minimal .msf-portal-document-single { max-width:760px; }
.msf-portal-payment-compact>p,.msf-portal-document-single>p { margin:18px 0; color:var(--msf-muted); font-size:.83rem; line-height:1.6; }
.msf-portal-document-single { padding:22px 24px; border:1px solid var(--msf-line); border-radius:17px; background:var(--msf-white); box-shadow:0 8px 20px rgba(0,0,0,.04); }
.msf-portal-minimal .msf-whatsapp-card { max-width:760px; padding:20px 22px; }
.msf-portal-minimal .msf-whatsapp-card>p { margin-bottom:14px; }
.msf-portal-kajian-status { max-width:960px; margin-inline:auto; }
.msf-portal-kajian-status .msf-portal-program-card { grid-template-columns:minmax(220px,.56fr) minmax(0,1fr); }
.msf-portal-kajian-status .msf-portal-program-card h2 { margin:8px 0 13px; color:var(--msf-ink); font:600 clamp(2rem,3.6vw,3rem)/1 var(--msf-serif); letter-spacing:-.05em; }
.msf-portal-kajian-status .msf-portal-status { margin-bottom:16px; }
.msf-portal-access-note { margin:18px 0 0; color:var(--msf-muted); font-size:.83rem; line-height:1.6; }
.msf-portal-dashboard-hero .msf-portal-access-note { max-width:620px; color:#e7ddc9; }
.msf-portal-login-prompt { max-width:960px; margin-inline:auto; }

#wrap.msf-event-page { min-height:100%; padding-top:110px; background:var(--msf-ivory); }
#wrap.msf-event-page #o_wevent_event_submenu { display:none; }
#wrap.msf-event-page .container { width:min(100% - 48px,1120px); }
#wrap.msf-event-page #o_wevent_event_main { padding:0 0 70px; }
#wrap.msf-event-page #o_wevent_event_main .container { overflow:visible !important; }
.msf-event-kajian-intro { padding:30px 0 8px; background:linear-gradient(135deg,#f7f1e6 0%,#fffdf8 68%,#ead9a8 140%); }
.msf-event-kajian-intro .container { padding:28px 32px; border:1px solid rgba(152,115,11,.25); border-radius:22px; background:rgba(255,255,255,.64); box-shadow:0 15px 34px rgba(47,37,17,.07); }
.msf-event-kajian-badge { display:inline-flex; margin:0 0 12px; padding:6px 10px; border-radius:999px; background:rgba(152,115,11,.12); color:var(--msf-gold); font-size:.7rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.msf-event-kajian-intro h1 { margin:0 0 10px; color:var(--msf-ink); font:600 clamp(2.35rem,5vw,4.3rem)/1 var(--msf-serif); letter-spacing:-.06em; }
.msf-event-kajian-intro>div>p:not(.msf-event-kajian-badge) { max-width:690px; margin:0; color:var(--msf-muted); font-size:1rem; line-height:1.7; }
.msf-event-kajian-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.msf-event-kajian-meta span { padding:7px 10px; border:1px solid rgba(152,115,11,.22); border-radius:999px; background:var(--msf-white); color:var(--msf-ink); font-size:.72rem; font-weight:700; }
#wrap.msf-event-page .o_wevent_event_main_cover { min-height:310px; border:1px solid rgba(152,115,11,.24); border-radius:20px !important; box-shadow:0 13px 30px rgba(33,27,15,.1); }
#wrap.msf-event-page #o_wevent_event_main_cover_content { padding:24px !important; background:linear-gradient(0deg,rgba(22,20,15,.74),transparent 72%); }
#wrap.msf-event-page .o_wevent_event_main_cover h2 { color:var(--msf-white); font-family:var(--msf-serif); font-size:clamp(2rem,4vw,3.3rem); }
#wrap.msf-event-page .o_wevent_event_main_cover .lead { color:#f7f1e6; }
.msf-event-description-card,#wrap.msf-event-page #o_wevent_event_main_col > .mt-4 { margin-top:24px; padding:26px; border:1px solid rgba(152,115,11,.19); border-radius:18px; background:var(--msf-white); box-shadow:0 9px 22px rgba(0,0,0,.04); line-height:1.75; }
.msf-event-description-card h2 { margin:0 0 11px; color:var(--msf-ink); font:600 clamp(1.8rem,3vw,2.55rem)/1.08 var(--msf-serif); letter-spacing:-.045em; }
.msf-event-description-card>p:not(.msf-event-kajian-badge) { max-width:720px; margin:0; color:var(--msf-muted); }
.msf-event-description-points { display:flex; flex-wrap:wrap; gap:8px; margin-top:19px; }
.msf-event-description-points span { padding:7px 10px; border-radius:999px; background:var(--msf-ivory); color:var(--msf-ink); font-size:.73rem; font-weight:700; }
#wrap.msf-event-page #o_wevent_event_main_sidebar { margin-top:0 !important; padding:22px; border:1px solid rgba(152,115,11,.22); border-radius:18px; background:var(--msf-white); box-shadow:0 10px 24px rgba(0,0,0,.05); }
#wrap.msf-event-page .o_wevent_sidebar_block { border-color:var(--msf-line) !important; }
#wrap.msf-event-page .o_wevent_sidebar_title { color:var(--msf-ink); font:600 1rem var(--msf-serif); }
#wrap.msf-event-page .o_wevent_dates_block .card { border:1px solid rgba(152,115,11,.2); border-radius:14px; background:#fffdf8 !important; box-shadow:none; }
#wrap.msf-event-page .o_wevent_day_header_number { color:var(--msf-gold); font-family:var(--msf-serif); }
#wrap.msf-event-page .btn-primary,#wrap.msf-event-page .msf-event-register-button { border-color:var(--msf-gold) !important; background:var(--msf-gold) !important; color:var(--msf-white) !important; box-shadow:none !important; }
#wrap.msf-event-page .btn-primary:hover,#wrap.msf-event-page .msf-event-register-button:hover { border-color:#785a08 !important; background:#785a08 !important; }
#wrap.msf-event-page #registration_form,#wrap.msf-event-page #o_wevent_tickets,#wrap.msf-event-page .modal-content { border:1px solid rgba(152,115,11,.23); border-radius:18px; background:var(--msf-white); box-shadow:0 15px 35px rgba(0,0,0,.09); }
#wrap.msf-event-page .o_wevent_ticket_selector { padding:14px 0; border-color:var(--msf-line) !important; }
#wrap.msf-event-page .form-control:focus,#wrap.msf-event-page .form-select:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.13); }

@media (max-width:991px) {
  .msf-kajian-ongoing-layout { grid-template-columns:1fr; }
  .msf-other-programs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .msf-other-programs-heading { grid-column:1 / -1; }
  .msf-kajian-intro>.msf-container { grid-template-columns:1fr; gap:18px; }
  .msf-ticket-grid { grid-template-columns:repeat(3,minmax(210px,1fr)); overflow-x:auto; padding:3px 2px 12px; scroll-snap-type:x proximity; }
  .msf-ticket-card { scroll-snap-align:start; }
}

@media (max-width:767px) {
  .msf-kajian-ongoing-featured { min-height:0; padding:23px; }
  .msf-kajian-ongoing-featured dl,.msf-other-programs { grid-template-columns:1fr; }
  #wrap.msf-event-page { padding-top:92px; }
  #wrap.msf-event-page .container { width:min(100% - 32px,1120px); }
  .msf-event-kajian-intro { padding-top:20px; }
  .msf-event-kajian-intro .container { padding:22px 20px; border-radius:16px; }
  .msf-event-kajian-intro h1 { font-size:2.35rem; }
  #wrap.msf-event-page #o_wevent_event_main { padding-bottom:48px; }
  .msf-event-description-card,#wrap.msf-event-page #o_wevent_event_main_col > .mt-4,#wrap.msf-event-page #o_wevent_event_main_sidebar { padding:19px; border-radius:15px; }
  #wrap.msf-event-page #o_wevent_event_main_sidebar { margin-top:18px !important; }
  .msf-kajian-hero-chips { margin-top:16px; }
  .msf-kajian-hero-chips span { font-size:.71rem; }
  .msf-kajian-intro>.msf-container>p { font-size:.96rem; }
  .msf-ticket-grid { grid-template-columns:1fr; overflow:visible; padding:0; }
  .msf-ticket-card { min-height:0; padding:22px; }
  .msf-ticket-price { margin-top:22px; }
  .msf-ticket-event-note { margin-top:8px !important; }
  .msf-ticket-selection-summary { align-items:flex-start; flex-direction:column; }
  .msf-ticket-selection-summary>div,.msf-ticket-selection-summary .msf-button,.msf-ticket-actions,.msf-ticket-actions .msf-button { width:100%; }
  .msf-kajian-detail-grid { grid-template-columns:1fr; }
  .msf-ticket-flow ul { grid-template-columns:1fr; }
  .msf-bank-transfer-note .msf-shop-button { width:100%; }
  .msf-data-peserta-form #div_zip,.msf-data-peserta-form #div_city,.msf-data-peserta-form #div_country { flex:0 0 100%; max-width:100%; }
  .msf-eticket-kajian-page { padding:122px 0 68px; }
  .msf-eticket-kajian-card { padding:22px; border-radius:16px; }
  .msf-eticket-card-heading { display:grid; }
  .msf-eticket-kajian-card dl { grid-template-columns:1fr; }
  .msf-eticket-modal { align-items:end; padding:16px; }
  .msf-eticket-modal-dialog { padding:23px 20px; border-radius:17px; }
  .msf-eticket-modal-details { grid-template-columns:1fr; }
  .msf-eticket-modal-actions { display:grid; }
  .msf-eticket-modal-actions .msf-button { width:100%; }
  .msf-payment-status-page>.container { width:min(100% - 24px,960px); padding-top:102px; padding-bottom:42px; }
  .msf-payment-status-card { padding:22px; border-radius:16px; }
  .msf-payment-status-page #o_payment_status_alert,.msf-payment-status-page .msf-payment-actions { padding:17px; border-radius:14px; }
  .msf-payment-status-page .msf-payment-actions { display:grid; }
  .msf-payment-status-page .msf-payment-actions .msf-shop-button { width:100%; }
  .msf-payment-status-page .msf-payment-actions .msf-shop-link { margin-left:0; text-align:center; }
  .msf-payment-confirmation-hero { padding:22px; border-radius:16px; }
  .msf-payment-confirmation-grid { grid-template-columns:1fr; }
  .msf-payment-confirmation-card,.msf-payment-confirmation-actions { padding:17px; border-radius:14px; }
  .msf-payment-confirmation-actions { display:grid; }
  .msf-payment-confirmation-actions .msf-shop-button { width:100%; }
  .msf-whatsapp-card { padding:19px; border-radius:15px; }
  .msf-whatsapp-card ul { grid-template-columns:1fr; }
  .msf-whatsapp-actions,.msf-payment-whatsapp { display:grid; }
  .msf-whatsapp-actions .msf-button,.msf-payment-whatsapp .msf-shop-button { width:100%; }
  .msf-kajian-details { padding-bottom:158px; }
  .o_wevent_event #registration_form,.o_wevent_event #o_wevent_tickets,.o_wevent_event #o_wevent_tickets_collapse { padding:17px; border-radius:14px; }
  .msf-kajian-ongoing-actions,.msf-kajian-ongoing-actions .msf-button { width:100%; }
}

/* Native Odoo login, signup, and password reset pages. */
.msf-auth-wrap { min-height:100%; }
.msf-auth-page { display:grid; min-height:100svh; place-items:center; padding:36px 24px; background:radial-gradient(circle at 82% 12%,rgba(152,115,11,.18),transparent 29%),linear-gradient(135deg,var(--msf-ivory),var(--msf-sand)); }
.msf-auth-shell { display:grid; width:min(100%,1040px); grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr); gap:clamp(42px,9vw,116px); align-items:center; }
.msf-auth-intro { padding:24px 0; }
.msf-auth-logo,.msf-auth-card-brand { display:inline-flex; align-items:center; }
.msf-auth-logo img { width:min(218px,70vw); height:auto; }
.msf-auth-intro .eyebrow { margin:42px 0 15px; }
.msf-auth-intro h1 { max-width:650px; margin:0 0 18px; color:var(--msf-ink); font:600 clamp(3.1rem,6vw,5.55rem)/.97 var(--msf-serif); letter-spacing:-.07em; }
.msf-auth-intro h1 em { color:var(--msf-gold); font-weight:500; }
.msf-auth-intro>p:not(.eyebrow) { max-width:590px; margin:0; color:var(--msf-muted); font-size:1rem; line-height:1.7; }
.msf-auth-card { padding:clamp(26px,4vw,38px); border:1px solid rgba(152,115,11,.32); border-radius:22px; background:linear-gradient(145deg,#fffdf8,var(--msf-white)); box-shadow:0 21px 46px rgba(32,25,13,.11); }
.msf-auth-card-brand { margin-bottom:28px; }
.msf-auth-card-brand img { width:148px; height:auto; }
.msf-auth-heading { margin:0 0 22px; }
.msf-auth-heading .msf-tag { margin:0 0 12px; }
.msf-auth-heading h2 { margin:0 0 10px; color:var(--msf-ink); font:600 clamp(2rem,4vw,2.6rem)/1 var(--msf-serif); letter-spacing:-.055em; }
.msf-auth-heading>p:not(.msf-tag) { margin:0; color:var(--msf-muted); font-size:.84rem; line-height:1.6; }
.msf-auth-card .msf-auth-form { margin:0; }
.msf-auth-card .form-label,.msf-auth-card label { color:var(--msf-ink); font-size:.79rem; font-weight:750; }
.msf-auth-card .field-login label,.msf-auth-card .field-name label,.msf-auth-card .field-password label,.msf-auth-card .field-confirm_password label { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.msf-auth-card .form-control { min-height:47px; margin-top:7px; padding:11px 13px; border-color:var(--msf-line); border-radius:10px; background:var(--msf-ivory); color:var(--msf-ink); box-shadow:none; font-size:.9rem; }
.msf-auth-card .form-control:focus { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.13); }
.msf-auth-card .oe_login_buttons { gap:11px !important; margin-bottom:0 !important; padding-top:11px !important; }
.msf-auth-card .btn-primary { min-height:47px; border-color:var(--msf-gold); border-radius:10px; background:var(--msf-gold); color:var(--msf-white); font-weight:750; box-shadow:none; }
.msf-auth-card .btn-primary:hover,.msf-auth-card .btn-primary:focus { border-color:#785a08; background:#785a08; color:var(--msf-white); box-shadow:0 0 0 3px rgba(152,115,11,.13); }
.msf-auth-forgot,.msf-auth-signup-link a,.msf-auth-signin-link,.msf-auth-card .oe_login_buttons a:not(.btn-primary),.msf-auth-card .oe_login_form label a { color:var(--msf-gold); font-size:.79rem; font-weight:750; text-decoration:none; }
.msf-auth-forgot:hover,.msf-auth-signup-link a:hover,.msf-auth-signin-link:hover,.msf-auth-card .oe_login_buttons a:not(.btn-primary):hover,.msf-auth-card .oe_login_form label a:hover { color:#785a08; text-decoration:underline; }
.msf-auth-signup-link { margin:18px 0 0; color:var(--msf-muted); font-size:.8rem; text-align:center; }
.msf-auth-signin-link { display:block; margin-top:12px; text-align:center; }
.msf-auth-card .alert { margin-top:16px; border-radius:10px; font-size:.82rem; }
.msf-auth-card .o_login_auth:not(:empty) { margin-top:12px; }
.msf-auth-home-link { display:inline-flex; align-items:center; gap:8px; margin-top:26px; color:var(--msf-muted); font-size:.77rem; font-weight:700; text-decoration:none; }
.msf-auth-home-link:hover { color:var(--msf-gold); }

@media (max-width:860px) {
  .msf-auth-page { padding:30px 20px; }
  .msf-auth-shell { width:min(100%,540px); grid-template-columns:1fr; gap:18px; }
  .msf-auth-intro { padding:0; text-align:center; }
  .msf-auth-logo { justify-content:center; }
  .msf-auth-intro .eyebrow { justify-content:center; margin:22px 0 12px; }
  .msf-auth-intro h1 { display:none; }
  .msf-auth-intro>p:not(.eyebrow) { display:none; }
  .msf-auth-card { padding:28px; }
}

@media (max-width:480px) {
  .msf-auth-page { padding:20px 14px; }
  .msf-auth-card { padding:23px 20px; border-radius:17px; }
  .msf-auth-card-brand { margin-bottom:23px; }
  .msf-auth-heading { margin-bottom:19px; }
  .msf-auth-heading h2 { font-size:2rem; }
}

/* Shared public footer: replaces the generic Website footer on fallback pages. */
.msf-footer-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(150px,.7fr) minmax(160px,.65fr); gap:34px; padding:22px 0 28px; }.msf-footer-grid section { display:grid; align-content:start; gap:10px; }.msf-footer-grid .msf-brand { margin-bottom:5px; }.msf-footer-grid p { max-width:390px; color:#c8c1b6; font-size:.78rem; line-height:1.65; }.msf-footer-grid nav { display:grid; gap:7px; }.msf-footer-grid a { color:#e4ddd1; font-size:.76rem; text-decoration:none; }.msf-footer-grid a:hover { color:var(--msf-gold-light); }.msf-footer-grid .msf-footer-title { color:var(--msf-gold-light); font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.msf-footer-bottom { display:flex; justify-content:space-between; gap:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.13); }.msf-footer-bottom span,.msf-footer-bottom a { color:#a9a296; font-size:.7rem; text-decoration:none; }.msf-footer-bottom a:hover { color:var(--msf-gold-light); }
@media (max-width:800px) { .msf-footer-grid { grid-template-columns:1fr; gap:25px; }.msf-footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; } }




/* HOTFIX 18.0.1.0.3: Odoo frontend utility fallback.
   These rules only restore the two core UI behaviors that must never be visible
   when Bootstrap utility CSS is unavailable/stale. They do not replace Odoo's
   frontend bundle. */
.o_skip_to_content:not(:focus):not(:focus-within) {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.o_skip_to_content:focus, .o_skip_to_content:focus-within {
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:.75rem 1rem !important;
  overflow:visible !important;
  clip:auto !important;
  white-space:normal !important;
  z-index:100000 !important;
}
/* Odoo 18 renders this bridge for authenticated backend users and relies on
   Bootstrap's d-none utility to keep it hidden until JS explicitly opens it. */
.o_frontend_to_backend_nav.d-none { display:none !important; }

/* Stage P3: public programme and Event registration branding only. */
.msf-program-catalogue-page .msf-program-catalogue-grid { align-items:stretch; gap:26px; }.msf-program-catalogue-page .msf-program-catalogue-card { padding:0; border-color:rgba(152,115,11,.2); box-shadow:0 14px 32px rgba(36,33,27,.07); transition:transform .25s ease,box-shadow .25s ease; }.msf-program-catalogue-page .msf-program-catalogue-card:hover { transform:translateY(-5px); box-shadow:0 22px 42px rgba(36,33,27,.13); }.msf-program-catalogue-page .msf-program-catalogue-image { position:relative; min-height:238px; overflow:hidden; background:linear-gradient(145deg,var(--msf-sand),var(--msf-ivory)); }.msf-program-catalogue-page .msf-program-catalogue-image img { width:100%; height:100%; min-height:238px; margin:0; object-fit:cover; transition:transform .45s ease; }.msf-program-catalogue-page .msf-program-catalogue-card:hover .msf-program-catalogue-image img { transform:scale(1.035); }.msf-program-catalogue-page .msf-program-catalogue-badges { position:absolute; right:16px; bottom:15px; left:16px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }.msf-program-catalogue-page .msf-program-catalogue-badges .msf-tag,.msf-program-availability { margin:0; padding:7px 10px; border-radius:999px; background:rgba(255,253,248,.94); color:var(--msf-ink); box-shadow:0 4px 12px rgba(0,0,0,.08); }.msf-program-availability { font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.msf-program-availability.is-open { background:var(--msf-gold); color:var(--msf-white); }.msf-program-catalogue-page .msf-program-catalogue-content { display:flex; min-width:0; min-height:278px; flex-direction:column; padding:22px; }.msf-program-catalogue-page .msf-program-catalogue-content h2 { font:600 clamp(1.65rem,2.7vw,2.2rem)/1.05 var(--msf-serif); letter-spacing:-.045em; }.msf-program-catalogue-page .msf-program-excerpt { min-height:48px; margin-bottom:18px; color:var(--msf-muted); line-height:1.65; }.msf-program-catalogue-page .msf-program-catalogue-content dl { margin:0 0 20px; }.msf-program-catalogue-page .msf-program-catalogue-content .msf-button { margin-top:auto; }.msf-kajian-ticket-preview { margin-top:32px; padding:26px; border:1px solid rgba(152,115,11,.2); border-radius:20px; background:linear-gradient(145deg,#fffdf8,var(--msf-white)); }.msf-kajian-ticket-preview-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }.msf-kajian-ticket-preview-heading h2 { margin:0; font:600 clamp(1.8rem,3vw,2.5rem)/1 var(--msf-serif); }.msf-kajian-ticket-preview-heading>p { max-width:240px; margin:0; color:var(--msf-muted); font-size:.84rem; text-align:right; }.msf-program-ticket-grid article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 18px; border-color:rgba(152,115,11,.18); background:var(--msf-ivory); }.msf-program-ticket-grid article>strong { color:var(--msf-gold); font-size:1.05rem; }.msf-program-ticket-grid article>p { grid-column:1 / -1; margin:5px 0 0; color:var(--msf-muted); font-size:.77rem; }.msf-program-ticket-grid article h3,.msf-program-ticket-grid article p { margin:0; }.msf-kajian-detail-action { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:22px; padding:20px 24px; border-radius:16px; background:var(--msf-ink); }.msf-kajian-detail-action p { max-width:390px; margin:0; color:#e4ddd1; font-size:.82rem; }.msf-kajian-detail-action .msf-button { flex:0 0 auto; }.o_wevent_event .btn-primary,.o_wevent_event .btn-outline-primary,.o_wevent_event .form-check-input:checked { border-color:var(--msf-gold) !important; background-color:var(--msf-gold) !important; color:var(--msf-white) !important; }.o_wevent_event a:not(.msf-site-header a):not(.msf-footer a) { color:var(--msf-gold); }.o_wevent_event .form-check-input:focus,.o_wevent_event .form-control:focus,.o_wevent_event .form-select:focus { border-color:var(--msf-gold) !important; box-shadow:0 0 0 3px rgba(152,115,11,.14) !important; }.o_wevent_event .modal-header,.o_wevent_event .modal-footer { border-color:var(--msf-line); }.o_wevent_event .btn-close:focus { box-shadow:0 0 0 3px rgba(152,115,11,.14); }
@media (max-width:700px) { .msf-program-catalogue-page .msf-program-catalogue-image,.msf-program-catalogue-page .msf-program-catalogue-image img { min-height:210px; }.msf-program-catalogue-page .msf-program-catalogue-content { min-height:0; }.msf-kajian-ticket-preview { padding:20px; }.msf-kajian-ticket-preview-heading,.msf-kajian-detail-action { align-items:flex-start; flex-direction:column; }.msf-kajian-ticket-preview-heading>p { max-width:none; text-align:left; }.msf-kajian-detail-action .msf-button { width:100%; justify-content:center; } }

/* Stage P3.5-A: editorial directory layout for the live programme catalogue. */
.msf-program-catalogue-page .msf-program-directory-intro { max-width:760px; padding:76px 0 42px; }.msf-program-directory-intro h1,.msf-program-directory-section h2 { margin:0; color:var(--msf-ink); font:600 clamp(2.7rem,5.8vw,5.2rem)/1 var(--msf-serif); letter-spacing:-.065em; }.msf-program-directory-intro h1 em { color:var(--msf-gold); font-weight:500; }.msf-program-directory-intro>p:not(.eyebrow) { max-width:610px; margin:22px 0 0; color:var(--msf-muted); font-size:clamp(.96rem,1.5vw,1.08rem); line-height:1.75; }.msf-program-directory-controls { display:flex; align-items:center; gap:14px; margin:0 0 72px; padding:13px; border:1px solid rgba(152,115,11,.2); border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 10px 28px rgba(36,33,27,.045); }.msf-program-directory-search { display:flex; flex:1 1 270px; align-items:center; gap:10px; min-width:220px; padding:0 13px; border:1px solid var(--msf-line); border-radius:12px; background:var(--msf-ivory); color:var(--msf-gold); }.msf-program-directory-search input { width:100%; min-width:0; height:43px; border:0; outline:0; background:transparent; color:var(--msf-ink); font:600 .82rem var(--msf-sans); }.msf-program-directory-search input::placeholder { color:var(--msf-muted); }.msf-program-directory-search:focus-within { border-color:var(--msf-gold); box-shadow:0 0 0 3px rgba(152,115,11,.12); }.msf-program-catalogue-filter { display:flex; flex:0 1 auto; flex-wrap:wrap; gap:8px; margin:0 !important; }.msf-program-catalogue-page .msf-program-catalogue-filter a { display:inline-flex; align-items:center; justify-content:center; min-height:43px; padding:9px 14px; border:1px solid var(--msf-line); border-radius:11px; background:var(--msf-white); color:var(--msf-ink); font-size:.76rem; font-weight:750; text-decoration:none; transition:background .2s ease,border-color .2s ease,color .2s ease; }.msf-program-catalogue-page .msf-program-catalogue-filter a.is-active,.msf-program-catalogue-page .msf-program-catalogue-filter a:hover { border-color:var(--msf-gold); background:var(--msf-gold); color:var(--msf-ink); }.msf-program-catalogue-page .msf-program-catalogue-filter a:focus-visible,.msf-program-directory-card a:focus-visible,.msf-program-directory-more button:focus-visible { outline:3px solid rgba(152,115,11,.38); outline-offset:3px; }.msf-program-directory-section>header { margin:0 auto 32px; text-align:center; }.msf-program-directory-section>header .eyebrow { justify-content:center; }.msf-program-directory-section h2 { font-size:clamp(2.2rem,4vw,3.7rem); }.msf-program-directory-count { min-height:1.35em; margin:12px 0 0; color:var(--msf-muted); font-size:.82rem; }.msf-program-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:26px; }.msf-program-directory-card { min-width:0; overflow:hidden; border:1px solid rgba(152,115,11,.19); border-radius:17px; background:var(--msf-white); box-shadow:0 8px 24px rgba(36,33,27,.055); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }.msf-program-directory-card:hover { border-color:rgba(152,115,11,.43); box-shadow:0 18px 34px rgba(36,33,27,.11); transform:translateY(-4px); }.msf-program-directory-media { display:block; aspect-ratio:16 / 9; overflow:hidden; background:var(--msf-sand); }.msf-program-directory-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }.msf-program-directory-card:hover .msf-program-directory-media img { transform:scale(1.03); }.msf-program-directory-content { display:flex; min-width:0; flex-direction:column; padding:21px; }.msf-program-directory-content .msf-tag { margin-bottom:8px; }.msf-program-directory-content h2 { display:-webkit-box; overflow:hidden; margin:0; color:var(--msf-ink); font:600 clamp(1.55rem,2.1vw,2rem)/1.1 var(--msf-serif); letter-spacing:-.045em; -webkit-box-orient:vertical; -webkit-line-clamp:3; }.msf-program-directory-content h2 a { color:inherit; text-decoration:none; }.msf-program-directory-summary { display:-webkit-box; min-height:0; overflow:hidden; margin:11px 0 17px; color:var(--msf-muted); font-size:.83rem; line-height:1.62; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.msf-program-directory-meta { display:grid; gap:8px; margin:0 0 19px; }.msf-program-directory-meta div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:10px; padding-top:8px; border-top:1px solid var(--msf-line); font-size:.75rem; line-height:1.45; }.msf-program-directory-meta dt { color:var(--msf-muted); }.msf-program-directory-meta dd { overflow-wrap:anywhere; margin:0; color:var(--msf-ink); font-weight:700; text-align:right; }.msf-program-directory-footer { display:flex; align-items:end; justify-content:space-between; gap:13px; margin-top:auto; padding-top:15px; border-top:1px solid var(--msf-line); }.msf-program-directory-footer>div { display:grid; gap:3px; min-width:0; }.msf-program-directory-footer span { color:var(--msf-muted); font-size:.65rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }.msf-program-directory-footer strong { overflow-wrap:anywhere; color:var(--msf-gold); font-size:.88rem; line-height:1.3; }.msf-program-directory-footer .msf-button { flex:0 0 auto; min-height:40px; padding:10px 13px; font-size:.72rem; white-space:nowrap; }.msf-program-directory-more { display:flex; justify-content:center; margin-top:36px; }.msf-button-secondary { border-color:rgba(152,115,11,.42); background:var(--msf-white); color:var(--msf-ink); cursor:pointer; }.msf-button-secondary:hover { border-color:var(--msf-gold); background:var(--msf-sand); color:var(--msf-ink); }.msf-program-directory-no-results { margin:24px 0 0; padding:21px; border:1px dashed rgba(152,115,11,.34); border-radius:14px; background:var(--msf-white); color:var(--msf-muted); text-align:center; }.msf-home-program-grid { margin-top:0; }.msf-home-program-grid .msf-program-directory-card { box-shadow:0 8px 23px rgba(36,33,27,.05); }
@media (max-width:1199px) { .msf-program-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.msf-program-directory-controls { align-items:stretch; flex-direction:column; }.msf-program-catalogue-filter { width:100%; }.msf-program-catalogue-page .msf-program-catalogue-filter a { flex:1 1 auto; } }
@media (max-width:700px) { .msf-program-catalogue-page .msf-program-directory-intro { padding-top:52px; }.msf-program-directory-controls { margin-bottom:52px; padding:11px; border-radius:15px; }.msf-program-directory-search { min-width:0; }.msf-program-catalogue-filter { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; scrollbar-width:thin; }.msf-program-catalogue-page .msf-program-catalogue-filter a { flex:0 0 auto; }.msf-program-directory-grid { grid-template-columns:1fr; gap:18px; }.msf-program-directory-content { padding:19px; }.msf-program-directory-footer { align-items:stretch; flex-direction:column; }.msf-program-directory-footer .msf-button { width:100%; }.msf-home-program-grid { gap:18px; } }
