/* Morocco Out Loud: same proportions, typography and colors as the approved V4 concept. */
:root:has(body.mol) {
  color-scheme: light;
  --paper:#fff; --white:#fff; --ink:#161b19; --muted:#52605a; --line:#d6ddd8;
  --secondary:#005846; --secondary-strong:#004537; --secondary-soft:#eff5f1;
  --accent:#be2637; --accent-strong:#a41f2e; --accent-soft:#fde8eb; --surface-subtle:#f2f5f3;
  --control-border:#81918a; --mol-focus:#2639aa; --mol-blue:#2639aa; --mol-button:#be2637;
  font-family:Manrope,Arial,sans-serif;
}
:root[data-mol-theme=dark]:has(body.mol) {
  color-scheme: dark;
  --paper:#101815; --white:#19251f; --ink:#f0f5f2; --muted:#b6c5be; --line:#3b4942;
  --secondary:#81dec0; --secondary-strong:#b4f1dc; --secondary-soft:#2a3d34;
  --accent:#ff8b94; --accent-strong:#ffb2b8; --accent-soft:#492e31; --surface-subtle:#19251f;
  --control-border:#83958c; --mol-focus:#f8cb3e; --mol-blue:#a7b6ff;
}
.mol [hidden]{display:none!important}
.mol :focus-visible{outline:3px solid var(--mol-focus);outline-offset:3px}
.mol .skip-link{z-index:10}
.mol .button:not(.button-outline){background:var(--mol-button);color:#fff}
.mol .button:not(.button-outline):hover{background:#a41f2e}
.mol :is(.event-card,.event-detail,.filter-form input,.filter-form select,.search-bar,.hero-search input,.hero-search select,.table-wrap){background-color:var(--white)}
.mol-wrap{width:min(1296px,calc(100% - 112px));margin-inline:auto}
.mol-masthead{border-block-start:5px solid var(--accent);border-block-end:1px solid var(--line);background:var(--paper)}
.mol-top{display:flex;align-items:center;min-height:77px;gap:28px}
.mol-wordmark{display:flex;align-items:center;gap:12px;font-weight:800;font-size:24px;letter-spacing:-.055em;white-space:nowrap}
.mol-wordmark img{flex:none}
.mol-tools,.mol-masthead .mol-nav,.mol-languages{display:flex;align-items:center}
.mol-tools{gap:24px;margin-inline-start:auto}
.mol-masthead .mol-nav{gap:24px;font-size:14px;font-weight:750}
.mol-languages{gap:3px;padding-inline-start:23px;border-inline-start:1px solid var(--line)}
.mol-languages a{display:block;padding:8px 9px;font-size:12px;font-weight:800}
.mol-languages a[aria-current=true]{background:#005846;color:#fff}
[data-mol-theme=dark] .mol-languages a[aria-current=true]{background:var(--secondary-soft)}
.mol-list{border:1px solid var(--ink);padding:9px 13px;font-size:13px;font-weight:800;white-space:nowrap}
.mol-theme{flex:none;display:flex;align-items:center;justify-content:center;gap:6px;min-width:62px;min-height:36px;background:var(--white);border:1px solid var(--line);color:var(--muted);padding:4px 5px}
.mol-theme svg{width:15px;height:15px;display:block}
.mol-theme span{display:grid;place-items:center;width:23px;height:24px}
:root:not([data-mol-theme=dark]) .mol-sun,[data-mol-theme=dark] .mol-moon{background:var(--secondary-soft);color:var(--ink)}
.mol-theme:hover{border-color:var(--secondary)}
.mol-browse{display:grid;grid-template-columns:1.05fr 1fr;column-gap:32px;margin-block-start:29px}
.mol-intro{grid-area:1/1/2/2;min-width:0;align-self:center;padding-block:16px 17px}
.mol-kicker{display:flex;align-items:center;gap:10px;color:var(--secondary);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 17px}
.mol-kicker::before{content:"";height:2px;width:32px;background:var(--accent);flex:none}
.mol-intro h1{font-size:clamp(42px,6.5vw,105px);line-height:.93;font-weight:800;letter-spacing:-.075em;margin:0;overflow-wrap:anywhere}
.mol-home h1 span{display:block}
.mol-home h1 span:last-child{color:var(--secondary)}
.mol-search-results .mol-intro{grid-column:1/-1}
.mol-search-results .mol-intro h1{font-size:clamp(38px,5vw,74px)}
.mol-lead{color:var(--muted);font-size:17px;line-height:1.55;font-weight:600;margin:23px 0 0;max-width:44ch}
.mol-poster{grid-area:1/2/2/3;display:grid;grid-template-columns:42% 58%;height:306px;min-width:0;background:#005846;overflow:hidden;direction:ltr}
.mol-tile{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.mol-hero-photo{min-width:0;position:relative;margin:0;border-inline-start:3px solid #f8cb3e;overflow:hidden}
.mol-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.mol-hero-photo figcaption{position:absolute;inset:auto 0 0 auto;background:#10241f;color:#fff;padding:7px 11px;font-size:10px;font-weight:750}
[dir=rtl] .mol-hero-photo figcaption{direction:rtl}
.mol-search,.mol-cities,.mol-results{grid-column:1/-1;min-width:0}
.mol-search{display:grid;grid-template-columns:1fr 1fr 1.52fr auto;border:1px solid var(--ink);margin-block:21px 0;min-height:75px}
.mol-field{display:grid;align-content:center;gap:1px;padding:9px 18px;border-inline-end:1px solid var(--line);min-width:0}
.mol-field span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.mol-field :is(input,select){display:block;width:100%;min-width:0;border:0;border-radius:0;background:var(--paper);color:var(--ink);font-weight:750;font-size:16px;padding:3px 0;margin:0}
.mol-field input::placeholder{color:var(--muted);opacity:1}
.mol-submit{margin:7px;min-width:158px;background:var(--mol-button);color:#fff;border:0;font-weight:800;padding:12px 18px}
.mol-submit:hover{background:#a41f2e}
.mol-submit span{margin-inline-start:12px}
.mol-cities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block-end:1px solid var(--line);margin-block-start:17px}
.mol-cities a{text-align:start;border-block-end:3px solid transparent;padding:13px 0;font-size:16px;font-weight:800}
.mol-cities a:hover,.mol-cities a[aria-current=true]{border-block-end-color:var(--accent)}
.mol-cities small{font-size:10px;letter-spacing:.07em;color:var(--accent);margin-inline-end:11px}
.mol-section-top{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-block:26px 12px}
.mol-section-top h2{font-size:clamp(32px,4vw,53px);font-weight:800;letter-spacing:-.075em;line-height:1;margin:0}
.mol-section-top a,.mol-pagination a,.mol-empty a{color:var(--secondary);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.mol-agenda{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;border-block-start:2px solid var(--ink);list-style:none;padding:16px 0 0;margin:0}
.mol-event{min-width:0;border:1px solid var(--line);background:var(--white);--mol-category:var(--secondary)}
.mol-event.mol-card-red{--mol-category:var(--accent)}
.mol-event.mol-card-blue{--mol-category:var(--mol-blue)}
.mol-event-link{display:block;border-block-end:4px solid var(--mol-category)}
.mol-event-link img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--surface-subtle)}
.mol-event-content{padding:14px 15px 16px}
.mol-event-meta{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;margin-block-end:6px}
.mol-date,.mol-category{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.mol-category{color:var(--mol-category)}
.mol-event h3{font-size:clamp(17px,1.7vw,25px);font-weight:800;line-height:1.14;letter-spacing:-.05em;margin:0;overflow-wrap:anywhere}
.mol-details{font-size:12px;font-weight:700;color:var(--muted);margin-block-start:6px}
.mol-event-state{display:inline-block;color:var(--muted);font-size:10px;margin-block-start:6px}
.mol-event-state:empty{display:none}
.mol-demo,.mol-empty,.mol-footer{color:var(--muted)}
.mol-demo{font-size:11px;margin:12px 0 0}
.mol-empty,.mol-pagination,.mol-filters{padding-block:12px;border-block-start:1px solid var(--line)}
.mol-pagination{display:flex;justify-content:space-between;margin-block-start:14px}
.mol-filters summary{cursor:pointer;font-weight:700;padding:8px 0}
.mol-filters form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.mol-filters label{display:grid;gap:4px;min-width:100px}
.mol-filters :is(input,select){width:100%;min-width:0;color:var(--ink);background:var(--white);border-color:var(--line)}
.mol-filters .mol-submit{min-width:0;margin:0}
.mol-footer{margin-block-start:22px;border-block-start:1px solid var(--line);font-size:12px}
.mol-footer-inner,.mol-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.mol-footer-inner{justify-content:space-between;padding-block:15px}
.mol .language-note{margin-block:12px 0;color:var(--muted);font-size:12px}
[dir=rtl] .mol :is(h1,h2,h3,.mol-kicker,.mol-field span,.mol-date,.mol-category){letter-spacing:normal}
[dir=rtl] .mol-home h1{line-height:1.08;font-size:clamp(44px,5.8vw,88px)}
@media(max-width:1050px){
  .mol-wrap{width:calc(100% - 64px)}
  .mol-tools{gap:15px}
  .mol-masthead .mol-nav{gap:14px}
  .mol-languages{padding-inline-start:12px}
  .mol-wordmark{font-size:20px}
}
@media(min-width:731px) and (max-width:960px){
  .mol-top{gap:12px}
  .mol-list{font-size:12px;padding:8px 10px}
  .mol-languages{padding-inline-start:8px}
  .mol-languages a{font-size:11px;padding:7px 6px}
  .mol-masthead .mol-nav{display:none}
  .mol-agenda{gap:12px}
  .mol-event-content{padding-inline:11px}
}
@media(max-width:730px){
  .mol-wrap{width:calc(100% - 32px)}
  .mol-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;min-height:auto;padding-block:10px 8px}
  .mol-theme{grid-column:2;grid-row:1;min-height:44px}
  .mol-wordmark{font-size:21px}
  .mol-wordmark img{width:26px;height:26px}
  .mol-tools{grid-column:1/-1;margin:0;justify-content:space-between;gap:8px}
  .mol-masthead .mol-nav{font-size:12px;gap:12px}
  .mol-masthead .mol-nav a{min-height:30px}
  .mol-languages{padding:0;border:0}
  .mol-languages a,.mol-list{font-size:11px;padding:7px 6px}
  .mol-list{white-space:normal;text-align:center}
  .mol-browse{display:block;margin-block-start:0}
  .mol-intro{padding-block:25px 18px}
  .mol-kicker{font-size:10px;margin-block-end:13px}
  .mol-intro h1{font-size:clamp(42px,12.5vw,76px)}
  .mol-lead{margin-block-start:15px;font-size:14px}
  .mol-poster{height:183px}
  .mol-search{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(51px,auto);margin-block:0 14px}
  .mol-field{padding:5px 10px;border-block-end:1px solid var(--line)}
  .mol-field:nth-child(2){border-inline-end:0}
  .mol-field:nth-child(3){border-block-end:0}
  .mol-field :is(input,select){font-size:13px}
  .mol-submit{min-width:0;margin:4px;padding:6px;font-size:13px}
  .mol-submit span{margin-inline-start:5px}
  .mol-cities{grid-template-columns:repeat(2,minmax(0,1fr));margin-block-start:6px}
  .mol-cities a{font-size:13px;padding-block:8px}
  .mol-section-top{margin-block:19px 9px}
  .mol-section-top a{font-size:11px}
  .mol-agenda{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block-start:12px}
  .mol-event-content{padding:10px 9px 12px}
  .mol-date,.mol-category{font-size:9px}
  .mol-event h3{font-size:16px}
  .mol-details{font-size:10px}
}
@media(max-width:460px){.mol-masthead .mol-nav{display:none}}
