.visit-morocco-article{font-family:var(--it-ff-primary),sans-serif;color:#444;line-height:1.8;font-size:1.1rem}.visit-morocco-article h1,.visit-morocco-article h2,.visit-morocco-article h3,.visit-morocco-article h4,.visit-morocco-article h5{color:#222;font-weight:700}.visit-morocco-article h1{font-size:2.5rem;position:relative;padding-bottom:1rem}.visit-morocco-article h1:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:60px;background-color:var(--it-theme-1,#f48020);border-radius:2px}.visit-morocco-article h2{font-size:2rem;margin-top:3rem;padding-bottom:.5rem;border-bottom:1px solid #eaeaea}.visit-morocco-article h3{font-size:1.4rem;margin-top:2rem;color:#333}.visit-morocco-article .intro-card{background:#fdfbf7;border-left:5px solid var(--it-theme-1,#f48020);padding:2rem;border-radius:0 8px 8px 0;font-size:1.15rem;box-shadow:0 4px 15px rgba(0,0,0,.03)}.visit-morocco-article .intro-card p:last-child{margin-bottom:0}.visit-morocco-article .internal-link{display:inline-flex;align-items:center;color:var(--it-theme-1,#f48020)!important;font-weight:600;text-decoration:none!important;position:relative;padding:.5rem 1rem;margin-top:.5rem;background:rgba(244,128,32,.05);border-radius:6px;transition:all .3s ease}.visit-morocco-article .internal-link:before{content:"→";margin-right:8px;transition:transform .3s ease}.visit-morocco-article .internal-link:hover{background:var(--it-theme-1,#f48020);color:#fff!important}.visit-morocco-article .internal-link:hover:before{transform:translateX(3px)}.visit-morocco-article .custom-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.06);overflow:hidden;margin:2.5rem 0;border:1px solid rgba(244,128,32,.2);border-top:4px solid var(--it-theme-1,#f48020)}.visit-morocco-article .custom-table-wrapper table{margin-bottom:0}.visit-morocco-article .custom-table-wrapper table thead{background:#fffcf8}.visit-morocco-article .custom-table-wrapper table thead th{border-bottom:2px solid rgba(244,128,32,.15);font-weight:700;color:#222;padding:1.25rem 1rem;text-transform:uppercase;font-size:.9rem;letter-spacing:.5px}.visit-morocco-article .custom-table-wrapper table tbody tr{transition:all .2s ease;border-bottom:1px solid #f6f6f6}.visit-morocco-article .custom-table-wrapper table tbody tr:last-child{border-bottom:none}.visit-morocco-article .custom-table-wrapper table tbody tr:nth-child(2n){background-color:#fafafa}.visit-morocco-article .custom-table-wrapper table tbody tr:hover{background-color:rgba(244,128,32,.04);transform:translateX(4px)}.visit-morocco-article .custom-table-wrapper table tbody tr td{padding:1.25rem 1rem;vertical-align:middle;color:#555;font-size:1.05rem;border:none}.toc-sticky-card{position:sticky;top:var(--sticky-top,100px);background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 10px 30px rgba(0,0,0,.06);border:1px solid #f0f0f0}.toc-sticky-card h4{font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:10px}.toc-sticky-card h4:before{content:"📌";font-size:1.2rem}.toc-sticky-card ul li{margin-bottom:.75rem;position:relative;padding-left:15px}.toc-sticky-card ul li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:#ddd;transition:all .3s ease}.toc-sticky-card ul li a{color:#666;font-size:.95rem;transition:all .2s ease;display:block;line-height:1.4}.toc-sticky-card ul li a:hover{color:var(--it-theme-1,#f48020);transform:translateX(3px)}.toc-sticky-card ul li:hover:before{background:var(--it-theme-1,#f48020)}.drive-times,.route-map{margin:2rem 0 2.5rem;background:#fff;border:1px solid #e6ebe8;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.05);padding:1.25rem;line-height:1.4}@media(max-width:575px){.drive-times,.route-map{padding:1rem .85rem;border-radius:12px}}.drive-times__title,.route-map__title{font-size:1.05rem;font-weight:700;color:#161b18;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.6px}.route-map__tabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:1rem}@media(max-width:767px){.route-map__tabs{grid-template-columns:repeat(2,1fr)}}.route-map__tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1.5px solid #e6ebe8;background:#fff;border-radius:12px;padding:10px 12px;color:#161b18;cursor:pointer;transition:border-color .15s ease,background .15s ease}.route-map__tab strong{font-size:1rem}.route-map__tab span{font-size:.8rem;color:#6b6f6a;line-height:1.25}.route-map__tab:hover{border-color:#c9d3ce}.route-map__tab:focus-visible{outline:3px solid rgba(211,47,47,.35);outline-offset:2px}.route-map__tab.is-on{background:var(--it-theme-1,#d32f2f);border-color:var(--it-theme-1,#d32f2f);color:#fff}.route-map__tab.is-on span{color:hsla(0,0%,100%,.85)}@media(max-width:575px){.route-map__tab{padding:8px 9px}.route-map__tab span{font-size:.72rem}}.route-map__frame{height:440px;border-radius:12px;overflow:hidden;border:1px solid #e6ebe8;position:relative;z-index:1}@media(max-width:575px){.route-map__frame{height:340px}}.route-map__loading{height:100%;display:flex;align-items:center;justify-content:center;color:#6b6f6a;background:#f3f8f6;font-size:.95rem}.route-map__caption{margin-top:.9rem}.route-map__stops{list-style:none;padding:0;margin:0;flex-wrap:wrap;gap:6px 4px}.route-map__stops,.route-map__stops li{display:flex;align-items:center}.route-map__stops li:not(:first-child):before{content:"";width:10px;height:2px;margin-right:4px;background:repeating-linear-gradient(90deg,var(--it-theme-1,#d32f2f) 0 3px,transparent 3px 5px)}.route-map__stop{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #e6ebe8;background:#fff;border-radius:999px;padding:4px 11px 4px 4px;font-size:.88rem;font-weight:500;color:#161b18;cursor:pointer;transition:border-color .15s ease}.route-map__stop.is-on,.route-map__stop:hover{border-color:var(--it-theme-1,#d32f2f)}.route-map__stop:focus-visible{outline:3px solid rgba(211,47,47,.35);outline-offset:2px}.route-map__num{width:22px;height:22px;border-radius:50%;background:var(--it-theme-1,#d32f2f);color:#fff;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.route-map__tour{display:inline-block;margin-top:.85rem;font-size:.92rem;font-weight:600;color:var(--it-theme-1,#d32f2f);text-decoration:underline;text-underline-offset:3px}.route-map__tour:after{content:" →"}.route-map__return{font-size:.85rem;color:#6b6f6a;gap:4px}.drive-times__title{margin-bottom:.15rem}.drive-times__hint{font-size:.88rem;color:#6b6f6a;margin:0 0 .75rem}.drive-times__body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;align-items:center}@media(max-width:767px){.drive-times__body{grid-template-columns:1fr;gap:.75rem}}.drive-times__svg{width:100%;height:auto;display:block;background:radial-gradient(circle at 1px 1px,rgba(22,27,24,.07) 1px,transparent 0) 0 0/18px 18px,#fbfaf7;border-radius:12px;font-family:var(--it-ff-primary),sans-serif;touch-action:manipulation}.drive-times__leg{cursor:pointer;outline:none}.drive-times__leg path{transition:stroke-width .15s ease}.drive-times__leg:hover path:not([stroke=transparent]){filter:brightness(.92)}.drive-times__leg:focus-visible path:last-child{stroke:rgba(22,27,24,.12)}.drive-times__name{font-size:15px;font-weight:700;fill:#161b18;paint-order:stroke;stroke:#fbfaf7;stroke-width:5px;stroke-linejoin:round}.drive-times__name.is-lit{fill:var(--it-theme-1,#d32f2f)}.drive-times__pill{cursor:pointer}.drive-times__pill text{font-size:13px;font-weight:700}.drive-times__card{background:#fff;border:1px solid #e6ebe8;border-radius:12px;padding:1.1rem 1.1rem 1rem}.drive-times__route{font-size:.95rem;font-weight:600;color:#161b18;margin:0}.drive-times__time{font-size:2.1rem;font-weight:800;line-height:1.15;margin:.15rem 0 .4rem;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.drive-times__band{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 9px;border-radius:999px}.drive-times__facts{list-style:none;padding:0;margin:0 0 1rem;font-size:.9rem;color:#6b6f6a}.drive-times__facts li{padding:2px 0}.drive-times__meter{padding:22px 6px 0}.drive-times__track{position:relative;height:10px;border-radius:999px;display:flex;overflow:visible}.drive-times__track .z{height:100%}.drive-times__track .z1{width:30%;background:rgba(50,134,78,.18);border-radius:999px 0 0 999px}.drive-times__track .z2{width:30%;background:rgba(224,155,26,.2)}.drive-times__track .z3{width:40%;background:rgba(211,47,47,.14);border-radius:0 999px 999px 0}.drive-times__fill{position:absolute;left:0;top:0;height:100%;border-radius:999px;transition:width .5s cubic-bezier(.3,.7,.2,1),background .3s ease}.drive-times__car{position:absolute;top:-21px;transform:translateX(-50%);transition:left .5s cubic-bezier(.3,.7,.2,1),color .3s ease;line-height:0}.drive-times__ticks{position:relative;height:20px;margin-top:6px;font-size:.72rem;color:#6b6f6a}.drive-times__ticks span{position:absolute;transform:translateX(-50%)}.drive-times__ticks span:first-child{transform:none}.drive-times__verdict{margin:.6rem 0 0;font-size:.92rem;color:#161b18;font-weight:500}.drive-times__legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:1rem;font-size:.85rem;color:#6b6f6a}.drive-times__legend span{display:inline-flex;align-items:center;gap:7px}.drive-times__legend .sw{width:26px;height:6px;border-radius:3px;display:inline-block}.drive-times__legend .sw-train{height:10px;border-radius:0;background:linear-gradient(#5f6b73,#5f6b73) 50%/100% 2px no-repeat,repeating-linear-gradient(90deg,#5f6b73 0 2px,transparent 2px 7px)}@media(prefers-reduced-motion:reduce){.drive-times__car,.drive-times__fill{transition:none}}.season{margin:2rem 0 2.5rem;background:#fff;border:1px solid #e6ebe8;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.05);padding:1.25rem;line-height:1.4}@media(max-width:575px){.season{padding:1rem .85rem;border-radius:12px}}.season__title{font-size:1.05rem;font-weight:700;color:#161b18;margin:0 0 .15rem;text-transform:uppercase;letter-spacing:.6px}.season__hint{font-size:.88rem;color:#6b6f6a;margin:0 0 .9rem}.season__grid{--label-w:130px}@media(max-width:575px){.season__grid{--label-w:0px}}.season__row{display:grid;grid-template-columns:var(--label-w) 1fr;align-items:center;margin-bottom:4px}@media(max-width:575px){.season__row{grid-template-columns:1fr;margin-bottom:8px}}.season__label{font-size:.9rem;font-weight:700;color:#161b18;padding-right:10px}@media(max-width:575px){.season__label{font-size:.8rem;padding:0 0 3px}.season__label:empty{display:none}}.season__track{position:relative;height:24px}.season__best{position:absolute;top:2px;height:20px;border:2px solid #32864e;border-bottom:0;border-radius:8px 8px 0 0;text-align:center;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#1f5c34;line-height:16px;white-space:nowrap;overflow:hidden}.season__best .short{display:none}@media(max-width:575px){.season__best .long{display:none}.season__best .short{display:inline}}.season__row--top{margin-bottom:0}.season__row--months{margin-bottom:6px}.season__cells{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:3px;gap:3px}.season__month{text-align:center;font-size:.75rem;font-weight:600;color:#6b6f6a;text-transform:uppercase}.season__month.is-on{color:#161b18}@media(max-width:575px){.season__month{font-size:.6rem;letter-spacing:-.2px}}.season__cell{height:38px;border:0;border-radius:6px;font-size:.8rem;font-weight:700;padding:0;cursor:pointer;position:relative;transition:transform .12s ease,box-shadow .12s ease}.season__cell.is-ideal{background:#32864e;color:#fff}.season__cell.is-ok{background:#f2c14e;color:#4a3300}.season__cell.is-avoid{background:#d32f2f;color:#fff}.season__cell:hover{transform:translateY(-1px)}.season__cell:focus-visible{outline:3px solid rgba(22,27,24,.4);outline-offset:1px}.season__cell.is-on{box-shadow:0 0 0 3px #fff,0 0 0 5px #161b18;z-index:2}@media(max-width:575px){.season__cell{height:32px;font-size:.66rem;border-radius:4px}}.season__row--ramadan{margin-top:6px}.season__row--ramadan .season__label{font-size:.8rem;font-weight:600;color:#6b6f6a}.season__row--ramadan .season__track{height:16px}.season__ramadan{position:absolute;top:3px;height:10px;border-radius:999px;background:repeating-linear-gradient(135deg,#161B18 0 3px,rgba(22,27,24,.35) 3px 6px)}.season__ramadan-text{position:absolute;top:0;font-size:.75rem;color:#6b6f6a;white-space:nowrap}.season__detail{display:flex;gap:16px;align-items:center;margin-top:.75rem;padding:.9rem 1rem;border-radius:12px;border:1px solid #e6ebe8;border-left:5px solid #32864e}.season__detail.is-ok{border-left-color:#f2c14e}.season__detail.is-avoid{border-left-color:#d32f2f}.season__detail p{margin:0}.season__thermo{display:flex;flex-direction:column;align-items:center;min-width:56px}@media(max-width:575px){.season__thermo{min-width:44px!important}.season__thermo .season__hi{font-size:1.5rem!important}}.season__thermo .season__hi{font-size:1.9rem;font-weight:800;color:#161b18;line-height:1}.season__thermo .season__lo{font-size:1rem;font-weight:600;color:#6b6f6a;margin-top:4px}.season__where{font-weight:700;color:#161b18;font-size:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.season__tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:999px}.season__tag.is-ideal{background:rgba(50,134,78,.14);color:#1f5c34}.season__tag.is-ok{background:rgba(242,193,78,.25);color:#6b4a00}.season__tag.is-avoid{background:rgba(211,47,47,.12);color:#9e1f1f}.season__why{font-size:.92rem;color:#161b18;margin-top:4px!important}.season__src{font-size:.8rem;color:#6b6f6a;margin-top:2px!important}.season__legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:1rem;font-size:.85rem;color:#6b6f6a}.season__legend span{display:inline-flex;align-items:center;gap:7px}.season__legend .sw{width:16px;height:16px;border-radius:4px;display:inline-block}.season__legend .sw.is-ideal{background:#32864e}.season__legend .sw.is-ok{background:#f2c14e}.season__legend .sw.is-avoid{background:#d32f2f}.season__legend .sw-ramadan{height:10px;border-radius:999px;background:repeating-linear-gradient(135deg,#161B18 0 3px,rgba(22,27,24,.35) 3px 6px)}.season__legend .season__legend-note{flex-basis:100%;font-size:.8rem}