/* Keep CRT's photographs, illustrations, green identity and simple geometry. */
.crt-device-ui { --crt-polish-ink:#30352b; --crt-polish-muted:#5c6256; --crt-polish-green:#617c20; --crt-polish-border:#d6dccd; color:var(--crt-polish-ink); }
.crt-device-ui:lang(ar), .crt-device-ui:lang(ar) button, .crt-device-ui:lang(ar) input, .crt-device-ui:lang(ar) select, .crt-device-ui:lang(ar) textarea { font-family:'Noto Sans Arabic',Tahoma,sans-serif; }
.crt-device-ui h1, .crt-device-ui h2, .crt-device-ui h3 { text-wrap:balance; }
.crt-device-ui .content { max-width:820px; line-height:1.7; }
.crt-device-ui:lang(ar) .content { line-height:1.9; }
.crt-device-ui .content > h1 { font-size:clamp(26px,3.4vw,38px); line-height:1.3; margin:0 0 24px; }
.crt-device-ui .content p { max-width:66ch; }
.crt-device-ui .social-w a { opacity:1; }
.crt-device-ui .social-w img { filter:brightness(.72); }
.crt-device-ui .crt-carousel__caption { font-family:Lato,sans-serif; padding:20px 24px; background:rgba(255,255,255,.94); }
.crt-device-ui:lang(ar) .crt-carousel__caption { font-family:'Noto Sans Arabic',Tahoma,sans-serif; }
.crt-device-ui .crt-carousel__caption h2 { color:#526c09; font-size:clamp(24px,3vw,36px); line-height:1.2; }
.crt-device-ui .crt-carousel__caption p { color:#425911; font-size:16px; line-height:1.4; font-weight:700; margin-top:14px; text-decoration:underline; text-underline-offset:4px; }
.crt-device-ui .crt-carousel .crt-carousel__dot { width:44px; height:44px; }
.crt-device-ui .crt-carousel { height:78vh; height:78svh; min-height:460px; max-height:900px; }
.crt-device-ui .crt-carousel__mobile-controls, .crt-device-ui .crt-carousel .crt-carousel__pause { bottom:18px; }
.crt-device-ui .crt-home .sponsors-w { position:static; transform:none; display:flex; justify-content:center; align-items:center; gap:20px; min-width:0; width:auto; max-width:none; margin:0; padding:24px; border-top:1px solid var(--crt-polish-border); background:white; }
.crt-device-ui .crt-home .sponsor { margin:0; }
.crt-device-ui .crt-home .sponsor img { height:auto; max-height:65px; max-width:100%; }
.crt-browse-routes { display:flex; align-items:center; justify-content:center; gap:12px; min-height:52px; color:#526c09; border-bottom:1px solid var(--crt-polish-border); text-decoration:none; font-weight:700; }
.crt-route-collection { padding:64px clamp(24px,5vw,72px); background:#fff; scroll-margin-top:80px; }
.crt-collection-heading { max-width:740px; margin-bottom:32px; }
.crt-eyebrow { color:#526c09; font-size:14px; font-weight:700; margin:0 0 12px; }
.crt-collection-heading h2 { font-size:clamp(28px,3.5vw,42px); line-height:1.2; margin:0 0 16px; }
.crt-collection-heading > p:last-child { color:var(--crt-polish-muted); line-height:1.65; margin:0; font-size:18px; }
.crt-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 24px; }
.crt-route-card { display:flex; flex-direction:column; color:inherit; border:1px solid var(--crt-polish-border); text-decoration:none; border-radius:2px; overflow:hidden; background:white; transition:border-color .15s; }
.crt-route-card:hover { border-color:#617c20; }
.crt-route-card-image { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block; }
.crt-route-card-copy { display:flex; flex-direction:column; flex:1; padding:20px; }
.crt-route-card-area { color:var(--crt-polish-muted); margin:0 0 10px; font-size:13px; line-height:1.5; }
.crt-route-card h3 { color:var(--crt-polish-ink); margin:0 0 22px; font-size:23px; line-height:1.3; }
.crt-route-card-footer { margin-top:auto; display:flex; justify-content:space-between; align-items:end; gap:12px; font-size:14px; line-height:1.5; }
.crt-card-action { color:#526c09; font-weight:700; }
.rtl .crt-card-action .fa { transform:rotate(180deg); }
.crt-build-invitation { border-top:1px solid var(--crt-polish-border); margin-top:44px; padding-top:32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.crt-build-invitation h2 { margin:0 0 10px; font-size:26px; line-height:1.3; }
.crt-build-invitation p { color:var(--crt-polish-muted); margin:0; line-height:1.6; }
.crt-action, .crt-device-ui .crt-action { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; color:white; background:#617c20; border:1px solid #617c20; border-radius:2px; font-size:16px; line-height:1.4; font-weight:700; text-decoration:none; box-sizing:border-box; white-space:normal; }
.crt-action:hover { background:#4d6518; color:white; }
.crt-device-ui .crt-action:disabled { opacity:.6; cursor:wait; }
.crt-device-ui .crt-filter-panel { margin:24px 24px 20px; padding:24px; border:1px solid var(--crt-polish-border); background:#f5f7f1; }
.crt-filter-intro { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.crt-filter-intro h2 { margin:0 0 8px; font-size:24px; line-height:1.3; }
.crt-filter-intro p { margin:0; color:var(--crt-polish-muted); line-height:1.6; font-size:15px; }
.crt-filter-intro #crt-result-count { flex-shrink:0; color:#526c09; font-weight:700; }
.crt-device-ui .crt-page-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:22px 0 0; padding:0; border:0; }
.crt-device-ui .crt-page-filters .filter { margin:0; padding:0; min-width:0; }
.crt-filter-label { display:block; margin-bottom:8px; font-size:14px; font-weight:700; }
.crt-device-ui .crt-page-filters select { width:100%; min-height:48px; font-size:16px; border:1px solid #aab59c; color:#30352b; background:white; padding:10px 12px; box-shadow:none; }
.crt-device-ui .crt-page-filters .facetwp-facet { margin:0; }
.crt-device-ui .crt-page-filters .reset-btn-w { display:flex; flex-wrap:wrap; align-items:center; gap:12px; grid-column:1/-1; padding:0; margin:0; }
.crt-device-ui .crt-page-filters .crt-reset-filters { flex:0 0 auto; min-height:46px; width:auto; padding:10px 14px; border:1px solid #aab59c; color:#425911; background:white; font-size:15px; }
.crt-route-workspace { scroll-margin-top:80px; }
.crt-device-ui .crt-route-workspace #single-timeline-col.small { display:block; visibility:visible; }
.crt-device-ui .crt-page-filters select:disabled { background:#edf0e7; cursor:progress; }
.crt-device-ui .crt-route-workspace > .crt-map-link { display:none !important; }
.crt-view-controls { display:none; }
.crt-device-ui .crt-route-workspace[data-route-ready="false"] #timeline, .crt-device-ui .crt-route-workspace[data-route-ready="false"] .crt-timeline-controls { display:none !important; }
.crt-device-ui .crt-route-workspace[data-route-ready="true"] #crt-place-results { display:none; }
#crt-place-results { padding:0 12px 24px; }
#crt-results-title { font-size:24px; line-height:1.3; margin:0 0 20px; }
.crt-place-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.crt-place-card { display:flex; align-items:center; gap:14px; padding:12px; border:1px solid var(--crt-polish-border); color:var(--crt-polish-ink); text-decoration:none; min-height:76px; box-sizing:border-box; }
.crt-place-card:hover { border-color:#617c20; }
.crt-place-card img { display:block; flex-shrink:0; width:76px; height:76px; object-fit:cover; }
.crt-place-card h3 { margin:0; font-size:17px; line-height:1.5; }
.crt-results-note { font-size:15px; line-height:1.6; color:var(--crt-polish-muted); }
.crt-route-subtitle { margin:4px 0 0; font-size:14px; color:var(--crt-polish-muted); }
.crt-device-ui .crt-route-workspace #map-w { position:sticky; top:16px; }
@media (min-width:1025px) { .crt-device-ui .crt-route-workspace #single-map-col.big { flex:0 0 34%; width:34%; } }
.crt-device-ui .crt-route-workspace #crt-route-status { margin:0 0 10px; font-size:15px; line-height:1.5; }
.crt-resources h2 { margin:30px 0 14px; font-size:24px; line-height:1.4; }
.crt-resource-lead { font-size:19px; }
.crt-download-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
.crt-download { display:flex; align-items:center; gap:12px; min-height:76px; color:#425911; text-decoration:none; border:1px solid #aab59c; background:white; padding:14px; font-size:15px; line-height:1.6; }
.crt-download > .fa { margin-inline-start:auto; }
.crt-file-type { flex:0 0 auto; white-space:nowrap; border:1px solid var(--crt-polish-border); padding:4px 7px; color:#526c09; font-size:12px; font-weight:700; }
.crt-download > .fa { flex-shrink:0; }
.crt-download > span:not(.crt-file-type) { min-width:0; }
.crt-resource-list { list-style:none; padding:0; margin:0; }
.crt-resource-list li { margin:0; border-top:1px solid var(--crt-polish-border); }
.crt-resource-list a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:48px; padding:12px 0; font-size:16px; line-height:1.6; color:#425911; }
.crt-device-ui .tl-text-content p, .crt-device-ui .tl-text-content .description { line-height:1.7; }
.crt-device-ui:lang(ar) .tl-text-content p, .crt-device-ui:lang(ar) .tl-text-content .description { line-height:1.9; }
.crt-device-ui:lang(ar) #timeline .tl-text p, .crt-device-ui:lang(ar) #timeline .tl-text h2 { font-family:'Noto Sans Arabic',Tahoma,sans-serif !important; }
.crt-photo-detail { display:block; width:min(100%,480px); margin:0 auto; }
.crt-photo-detail-frame { aspect-ratio:1200/850; overflow:hidden; position:relative; width:100%; }
.crt-device-ui .crt-photo-detail-frame img { display:block; position:absolute; top:0; left:0; width:100% !important; height:auto !important; max-width:none !important; max-height:none !important; margin:0 !important; transform:none !important; border:0 !important; }
.crt-photo-detail figcaption { font:13px/1.5 Lato,sans-serif; color:#5c6256; text-align:center; padding:8px 0 0; }
.crt-device-ui .popup-w .crt-photo-detail { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); box-sizing:border-box; width:min(90vw,calc((100dvh - 130px) * 1.4118)); max-width:100%; background:white; padding:8px; }
.crt-device-ui .popup-w .crt-photo-detail figcaption { color:#30352b; }
.crt-device-ui .rtl .tl-text, .crt-device-ui:lang(ar) .tl-text { font-family:'Noto Sans Arabic',Tahoma,sans-serif; }
@media (max-width:1200px) { .crt-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .crt-place-grid { grid-template-columns:1fr; } }
@media (max-width:1024px) {
 .crt-device-ui .crt-carousel { scroll-margin-top:calc(var(--crt-header-height,64px) + 8px); }
 .crt-device-ui .crt-carousel { height:72svh; min-height:400px; max-height:820px; }
 .crt-route-collection { padding:44px 24px; }
 .crt-device-ui .crt-filter-panel { margin:16px 12px; padding:20px; }
 .crt-filter-intro { flex-direction:column; gap:12px; }
 .crt-device-ui .crt-page-filters { gap:12px; }
 .crt-view-controls { position:sticky; top:var(--crt-header-height,64px); z-index:5; display:flex; gap:4px; padding:10px 12px; margin:0 0 16px; background:white; border-bottom:1px solid var(--crt-polish-border); }
 .crt-view-controls button { flex:1; min-height:46px; color:#425911; background:white; border:1px solid #aab59c; font-size:16px; border-radius:2px; }
 .crt-view-controls button[aria-pressed="true"] { color:white; background:#617c20; border-color:#617c20; }
 .crt-device-ui .crt-route-workspace[data-view="stops"] #single-map-col, .crt-device-ui .crt-route-workspace[data-view="map"] #single-timeline-col { display:none !important; }
 .crt-device-ui .crt-route-workspace #single-map-col, .crt-device-ui .crt-route-workspace #single-timeline-col { width:100% !important; }
 .crt-device-ui .crt-route-workspace #single-map-col { margin-top:0; }
 .crt-device-ui .crt-route-workspace #map-w { position:static; }
 .crt-place-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .crt-device-ui .crt-route-workspace #map, .crt-device-ui .crt-route-workspace #facetwp-map { height:65svh !important; min-height:340px !important; }
}
@media (max-width:600px) {
 .crt-device-ui .crt-carousel__caption { max-width:calc(100% - 28px); padding:16px; }
 .crt-device-ui .crt-carousel__caption h2 { font-size:24px; line-height:1.3; }
 .crt-device-ui .crt-carousel__caption p { font-size:15px; line-height:1.5; }
 .crt-route-grid, .crt-download-grid, .crt-place-grid { grid-template-columns:1fr; }
 .crt-route-collection { padding:36px 20px; }
 .crt-route-card-copy { padding:20px; }
 .crt-route-card h3 { font-size:24px; }
 .crt-route-card-footer { font-size:14px; }
 .crt-build-invitation { flex-direction:column; align-items:start; }
 .crt-device-ui .crt-home .sponsors-w { gap:12px; padding:24px 12px; }
 .crt-device-ui .crt-home .sponsor img { max-height:45px; }
 .crt-device-ui .crt-page-filters { grid-template-columns:1fr; }
 .crt-filter-intro h2 { font-size:23px; }
 .crt-device-ui .crt-filter-panel { padding:18px; }
 .crt-device-ui .crt-page-filters .reset-btn-w > * { flex:1; }
}
@media (max-height:500px) and (max-width:1024px) {
 .crt-device-ui .crt-carousel { height:calc(100svh - var(--crt-header-height,64px)); min-height:220px; }
 .crt-device-ui .crt-carousel__link { align-items:flex-start; padding-top:16px; }
 .crt-device-ui .crt-carousel__caption { padding:10px 14px; }
 .crt-device-ui .crt-carousel__caption h2 { font-size:20px; line-height:1.25; }
 .crt-device-ui .crt-carousel__caption p { font-size:14px; margin-top:8px; }
 .crt-device-ui .crt-carousel__mobile-controls, .crt-device-ui .crt-carousel .crt-carousel__pause { bottom:12px; }
}
@media (prefers-reduced-motion:reduce) { .crt-route-card { transition:none; } }

/* Keep the planner filters in their original navigation section. */
.crt-device-ui.page-template-template-knit-your-route .menu-section-title.crt-knit-filter-title { padding:0 !important; }
.crt-device-ui .crt-knit-filter-title [aria-expanded="false"] .fa { transform:rotate(-90deg); }
.crt-device-ui.rtl .crt-knit-filter-title [aria-expanded="false"] .fa { transform:rotate(90deg); }
.crt-device-ui .menu-w .crt-filter-panel { margin:0; padding:16px 12px; border:0; border-bottom:1px solid var(--crt-polish-border); background:#f5f7f1; text-align:start; }
.crt-device-ui .menu-w .crt-filter-intro { display:block; }
.crt-device-ui .menu-w .crt-filter-intro h2 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.crt-device-ui .menu-w .crt-filter-intro p { font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.crt-device-ui .menu-w #crt-result-count { margin-top:10px; }
.crt-device-ui .menu-w .crt-page-filters { grid-template-columns:minmax(0,1fr); gap:14px; margin-top:16px; }
.crt-device-ui .menu-w .crt-filter-label { font-size:13px; margin-bottom:6px; }
.crt-device-ui .menu-w .crt-page-filters select { display:block; max-width:100%; padding:10px 6px; }
.crt-device-ui .menu-w .crt-page-filters .reset-btn-w { flex-direction:column; align-items:stretch; gap:8px; }
.crt-device-ui .menu-w .crt-page-filters .reset-btn-w > * { flex:none; width:100%; min-height:44px; margin:0; padding:10px 8px; font-size:14px; }
.crt-device-ui.rtl .menu-w #crt-route-filters { direction:rtl; }
