/* Morocco keeps its riad folio, geometric hero, route ticket and desert panel. */
.mg.tt-country-hybrid { --ttch-accent: #175d4c; --ttch-ink: #17261f; --ttch-sand: #f7f0e3; overflow: clip; }
.mg.tt-country-hybrid .mg-hero h1,
.mg.tt-country-hybrid .mg-hero .mg-lead,
.mg.tt-country-hybrid .mg-crumb a,
.mg.tt-country-hybrid .mg-btn--line,
.mg.tt-country-hybrid .mg-check :is(b,label),
.mg.tt-country-hybrid .mg-riad :is(h3,li,a),
.mg.tt-country-hybrid .mg-city--wide :is(p,h3,dd),
.mg.tt-country-hybrid .mg-builder__grid > div:first-child > p,
.mg.tt-country-hybrid .mg-final p { color: #fff !important; }
.mg.tt-country-hybrid .mg-hero .mg-kicker { color: #f6c46e !important; }
.mg.tt-country-hybrid .mg-final .mg-kicker { color: #f4c46e !important; }
.mg.tt-country-hybrid .mg-builder__grid > div:first-child > .mg-kicker { color: #ffe2a4 !important; }
.mg.tt-country-hybrid .mg-btn--gold { color: #171d18 !important; }
.mg.tt-country-hybrid .ttch-retained { margin-top: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mg.tt-country-hybrid .ttch-retained .mg-city--wide { grid-column: 1 / -1; }
.mg.tt-country-hybrid .ttch-card dl { margin: 18px 0 0; padding-top: 12px; border-top: 1px solid #d9e3dc; }
.mg.tt-country-hybrid .ttch-card dl > div { display: flex; justify-content: space-between; gap: 16px; }
.mg.tt-country-hybrid .ttch-card dt { color: #536158; font-size: .85rem; }
.mg.tt-country-hybrid .ttch-card dd { margin: 0; font-weight: 800; }
.mg.tt-country-hybrid :is(section[id], .ttch-card[id]) { scroll-margin-top: calc(var(--nav-height, 90px) + 24px); }
@media (max-width: 680px) { .mg.tt-country-hybrid .ttch-retained { grid-template-columns: 1fr; } }

/* A photographic city folio, keeping the original Moroccan pattern and route ticket. */
.mg.tt-country-hybrid .mg-hero { padding-block: calc(var(--nav-height, 90px) + 28px) 56px; }
.mg.tt-country-hybrid .mg-hero__grid { grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.mg.tt-country-hybrid .mg-hero h1 { font-size: clamp(2.6rem, 4.5vw, 4.35rem); line-height: 1.3; }
.mg.tt-country-hybrid .mg-hero .mg-lead { font-size: 1.1rem; line-height: 1.95; }
.mg.tt-country-hybrid .mg-hero-visual { min-width: 0; }
.mg.tt-country-hybrid .mg-city-portrait { position: relative; margin: 0; overflow: hidden; border: 1px solid #c9ac73; border-radius: 90px 90px 8px 8px; background: #173f37; }
.mg.tt-country-hybrid .mg-city-portrait img { display: block; width: 100%; height: 240px; object-fit: cover; }
.mg.tt-country-hybrid .mg-city-portrait figcaption { position: absolute; inset: auto 0 0; padding: 26px 20px 12px; color: #fff; background: linear-gradient(transparent, #132d28e6); font-size: .85rem; }
.mg.tt-country-hybrid .mg-hero .mg-pass { transform: none; margin: -1px 14px 0; padding: 20px; border-radius: 0 0 12px 12px; width: auto; }
.mg.tt-country-hybrid .mg-pass > strong { font-size: 1.35rem; margin-block: 8px; }
.mg.tt-country-hybrid .mg-pass > strong br { display: none; }
.mg.tt-country-hybrid .mg-pass > strong i { margin-inline-start: 10px; font-size: .7rem; }
.mg.tt-country-hybrid .mg-pass dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin: 12px 0; }
.mg.tt-country-hybrid .mg-pass dl > div { display: block; padding: 0; border: 0; }
.mg.tt-country-hybrid .mg-pass dt { font-size: .75rem; }
.mg.tt-country-hybrid .mg-pass dd { font-size: .9rem; margin: 4px 0 0; }
.mg.tt-country-hybrid .mg-city-doorways { background: #faf4e9; }
.mg.tt-country-hybrid .mg-doorways-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.mg.tt-country-hybrid .mg-doorway { min-width: 0; border: 1px solid #d7cdbb; border-radius: 34px 34px 12px 12px; overflow: hidden; background: #fffdf8; }
.mg.tt-country-hybrid .mg-doorway a { display: block; height: 100%; text-decoration: none; color: #183d32; }
.mg.tt-country-hybrid .mg-doorway img { display: block; width: 100%; height: 180px; object-fit: cover; transition: transform .25s; }
.mg.tt-country-hybrid .mg-doorway a > div { padding: 18px; }
.mg.tt-country-hybrid .mg-doorway h3 { margin: 8px 0; font-size: 1.5rem; color: #183d32; }
.mg.tt-country-hybrid .mg-doorway p { color: #4c5b52; font-size: .95rem; min-height: 3.6em; }
.mg.tt-country-hybrid .mg-doorway b { font-size: .9rem; border-block-start: 1px solid #dfd6c7; padding-block-start: 12px; display: block; color: #1e4d3a; }
.mg.tt-country-hybrid .mg-doorway a:hover img { transform: scale(1.025); }
.mg.tt-country-hybrid .mg-doorway a:focus-visible { outline: 3px solid #8b502c; outline-offset: -4px; }
.mg.tt-country-hybrid .mg-photo-credits { margin-top: 24px; font-size: .8rem; color: #485b52; overflow-wrap: anywhere; }
.mg.tt-country-hybrid .mg-photo-credits summary { cursor: pointer; padding-block: 10px; }
.mg.tt-country-hybrid .mg-photo-credits a { color: #315946; text-decoration: underline; }
@media (max-width: 950px) { .mg.tt-country-hybrid .mg-hero__grid { gap: 28px; } .mg.tt-country-hybrid .mg-doorways-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) {
 .mg.tt-country-hybrid .mg-hero__grid { grid-template-columns: 1fr; }
 .mg.tt-country-hybrid .mg-hero { padding-block-start: 28px; }
 .mg.tt-country-hybrid .mg-hero h1 { font-size: clamp(2.1rem,8vw,3rem); }
 .mg.tt-country-hybrid .mg-city-portrait img { height: 230px; }
 .mg.tt-country-hybrid .mg-hero-visual { max-width: 560px; width: 100%; margin-inline: auto; }
}
@media (max-width: 480px) { .mg.tt-country-hybrid .mg-doorways-grid { grid-template-columns: 1fr; } .mg.tt-country-hybrid .mg-doorway p { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .mg.tt-country-hybrid .mg-doorway img { transition: none; } }
