/*
Theme Name: Can Travel, Wheel Travel
Theme URI: https://example.com
Author: Dean Martelozzo
Description: Premium editorial travel theme for Can Travel, Wheel Travel.
Version: 3.8.0
Text Domain: ctwt
*/

:root{
  --ctwt-bg:#f7f4ee;
  --ctwt-surface:#fffdf9;
  --ctwt-text:#1f2a24;
  --ctwt-muted:#6e776f;
  --ctwt-line:#d9d8d0;
  --ctwt-accent:#6f7f69;
  --ctwt-accent-soft:#e8ece4;
  --ctwt-max:1180px;
  --ctwt-reading:760px;
  --ctwt-radius:18px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ctwt-bg);color:var(--ctwt-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;height:auto;display:block}
.ctwt-shell{width:min(calc(100% - 32px),var(--ctwt-max));margin-inline:auto}
.ctwt-reading{width:min(calc(100% - 32px),var(--ctwt-reading));margin-inline:auto}
.ctwt-site-header{position:sticky;top:0;z-index:20;background:rgba(247,244,238,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--ctwt-line)}
.ctwt-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.ctwt-brand{display:flex;align-items:center;gap:14px;font-weight:700;letter-spacing:.02em;text-decoration:none;color:var(--ctwt-text);min-width:0}
.ctwt-brand-mark{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ctwt-brand-logo{width:56px;height:56px;display:block;object-fit:contain}
.ctwt-brand-text{display:flex;flex-direction:column;min-width:0}
.ctwt-brand-title{font-size:1.08rem;line-height:1.1;color:var(--ctwt-text)}
.ctwt-brand-tag{font-size:.76rem;line-height:1.2;color:var(--ctwt-muted);font-weight:500;letter-spacing:0}
.ctwt-nav{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.ctwt-nav a{text-decoration:none;color:var(--ctwt-muted)}.ctwt-nav a:hover{color:var(--ctwt-text)}
.ctwt-hero{margin:32px auto 48px}.ctwt-hero-media{min-height:52vh;border-radius:var(--ctwt-radius);overflow:hidden;background:#d7d7cf}.ctwt-hero-media img{width:100%;height:100%;object-fit:cover}
.ctwt-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--ctwt-muted)}
.ctwt-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,7vw,6.5rem);line-height:.96;letter-spacing:-.03em;margin:.35em 0 .2em}
.ctwt-standfirst{font-size:clamp(1.1rem,2vw,1.45rem);max-width:760px;color:var(--ctwt-muted)}
.ctwt-meta{display:flex;flex-wrap:wrap;gap:14px 24px;color:var(--ctwt-muted);font-size:.92rem;margin-top:16px}
.ctwt-section{padding:36px 0}.ctwt-section h2,.ctwt-section h3{font-family:Georgia,"Times New Roman",serif;line-height:1.1}.ctwt-section h2{font-size:clamp(2rem,4vw,3.2rem);margin:.2em 0 .5em}.ctwt-section h3{font-size:1.45rem;margin:.2em 0 .4em}
.ctwt-prose p{font-size:1.08rem;margin:0 0 1.15em}.ctwt-prose blockquote{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;line-height:1.35;border-left:2px solid var(--ctwt-accent);padding-left:20px;margin:28px 0;color:#39423c}
.ctwt-grid{display:grid;gap:20px}.ctwt-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ctwt-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ctwt-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ctwt-card{background:var(--ctwt-surface);border:1px solid var(--ctwt-line);border-radius:var(--ctwt-radius);padding:22px}.ctwt-card img{border-radius:12px;margin-bottom:16px}.ctwt-card h3{margin-top:0}
.ctwt-at-glance{margin:34px auto}.ctwt-fact-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ctwt-muted)}.ctwt-fact-value{font-weight:650;margin-top:4px}
.ctwt-photo-break{margin:40px auto}.ctwt-photo-break img{width:100%;max-height:760px;object-fit:cover;border-radius:var(--ctwt-radius)}
.ctwt-reality{background:var(--ctwt-accent-soft);border-radius:var(--ctwt-radius);padding:30px}
.ctwt-signature{border-top:1px solid var(--ctwt-line);padding-top:24px}
.ctwt-list{padding-left:1.1rem}.ctwt-list li{margin:.5rem 0}
.ctwt-footer{border-top:1px solid var(--ctwt-line);margin-top:56px;padding:40px 0 56px;color:var(--ctwt-muted)}
.ctwt-footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.ctwt-article-content .wp-block-image{margin:34px 0}.ctwt-article-content .alignwide{width:min(1100px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
.ctwt-related{padding-top:24px;border-top:1px solid var(--ctwt-line)}
@media(max-width:900px){.ctwt-grid-4,.ctwt-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.ctwt-header-inner{align-items:flex-start;padding:16px 0;gap:14px;flex-wrap:wrap}.ctwt-nav{gap:12px 16px}.ctwt-brand-logo{width:50px;height:50px}.ctwt-brand-tag{display:none}}
@media(max-width:620px){.ctwt-grid-4,.ctwt-grid-3,.ctwt-grid-2{grid-template-columns:1fr}.ctwt-nav{font-size:.9rem}.ctwt-brand{gap:10px}.ctwt-brand-logo{width:42px;height:42px}.ctwt-brand-title{font-size:1rem}.ctwt-hero{margin-top:18px}.ctwt-hero-media{min-height:38vh}.ctwt-section{padding:26px 0}.ctwt-reality{padding:22px}}

/* v0.2 editorial page system */
.ctwt-home-hero{margin:32px auto 24px}.ctwt-home-hero-media{position:relative;min-height:min(74vh,820px);overflow:hidden;border-radius:var(--ctwt-radius);background:#cfd5cb}.ctwt-home-hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ctwt-hero-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--ctwt-muted);background:linear-gradient(135deg,#d9ddd4,#aeb8a8)}.ctwt-home-hero-copy{position:absolute;left:clamp(20px,5vw,64px);bottom:clamp(20px,5vw,64px);width:min(720px,calc(100% - 40px));padding:clamp(22px,4vw,40px);border-radius:18px;background:rgba(247,244,238,.9);backdrop-filter:blur(8px)}.ctwt-home-hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,7vw,6.4rem);line-height:.94;letter-spacing:-.04em;margin:.25em 0}.ctwt-home-hero-copy p{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--ctwt-muted);max-width:620px}.ctwt-button{display:inline-block;margin-top:10px;padding:12px 18px;border-radius:999px;background:var(--ctwt-text);color:var(--ctwt-bg);text-decoration:none;font-weight:650}.ctwt-text-link{font-weight:650;text-decoration:none}.ctwt-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.ctwt-section-head h2{margin:.15em 0 0}.ctwt-soft-section{background:var(--ctwt-accent-soft);border-radius:var(--ctwt-radius);padding:42px 28px}.ctwt-about-strip{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid var(--ctwt-line);border-bottom:1px solid var(--ctwt-line)}.ctwt-about-strip-copy{max-width:760px}.ctwt-page-hero{padding:70px 0 28px;max-width:1000px}.ctwt-page-hero h1,.ctwt-about-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,8vw,7rem);line-height:.94;letter-spacing:-.04em;margin:.2em 0}.ctwt-page-hero p{max-width:760px;font-size:1.25rem;color:var(--ctwt-muted)}.ctwt-story-card{min-width:0}.ctwt-story-card-image{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:15px;background:#d9ddd4;text-decoration:none}.ctwt-story-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.ctwt-story-card:hover .ctwt-story-card-image img{transform:scale(1.025)}.ctwt-image-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:.85rem;color:var(--ctwt-muted)}.ctwt-story-card-body{padding:16px 2px 4px}.ctwt-story-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.08;margin:.35em 0}.ctwt-story-card h3 a{text-decoration:none}.ctwt-story-card p{color:var(--ctwt-muted);margin:.5em 0 0}.ctwt-destination-card{display:block;text-decoration:none}.ctwt-destination-card-image{aspect-ratio:16/10;border-radius:var(--ctwt-radius);background:linear-gradient(135deg,#d8ddd4,#9faa9b);display:flex;align-items:flex-end;padding:22px;overflow:hidden}.ctwt-destination-card-image span{font-family:Georgia,"Times New Roman",serif;font-size:2rem;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.25)}.ctwt-destination-card h2,.ctwt-destination-card h3{font-family:Georgia,"Times New Roman",serif;margin:.65em 0 .2em}.ctwt-destination-card p{color:var(--ctwt-muted);margin:0}.ctwt-filter-row{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0 22px}.ctwt-filter-row a{display:inline-block;border:1px solid var(--ctwt-line);border-radius:999px;padding:8px 13px;text-decoration:none;background:var(--ctwt-surface)}.ctwt-empty{grid-column:1/-1;padding:26px;border:1px dashed var(--ctwt-line);border-radius:var(--ctwt-radius);color:var(--ctwt-muted);background:rgba(255,255,255,.28)}.ctwt-about-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px);align-items:center;padding:60px 0}.ctwt-about-image{aspect-ratio:4/5;border-radius:var(--ctwt-radius);overflow:hidden;background:#d9ddd4;display:grid;place-items:center;color:var(--ctwt-muted)}.ctwt-about-image img{width:100%;height:100%;object-fit:cover}.ctwt-about-copy{max-width:620px}
@media(max-width:760px){.ctwt-home-hero-media{min-height:70vh}.ctwt-home-hero-copy{left:16px;right:16px;bottom:16px;width:auto}.ctwt-about-strip{align-items:flex-start;flex-direction:column}.ctwt-about-hero{grid-template-columns:1fr;padding:28px 0}.ctwt-about-image{aspect-ratio:16/12}.ctwt-page-hero{padding-top:42px}}


/* v0.4 photo-first editorial system */
.ctwt-visual-hero{margin:24px auto 0}.ctwt-visual-hero-media{position:relative;width:100%;height:clamp(420px,68vh,820px);overflow:hidden;border-radius:var(--ctwt-radius);background:#d7d7cf}.ctwt-visual-hero-media img{width:100%;height:100%;object-fit:cover}.ctwt-title-block{padding:34px 0 24px;max-width:1000px}.ctwt-title-block h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,8vw,7rem);line-height:.94;letter-spacing:-.04em;margin:.18em 0}.ctwt-title-block p{max-width:780px;font-size:clamp(1.08rem,2vw,1.4rem);color:var(--ctwt-muted);margin:.7em 0}.ctwt-trip-context{padding-top:8px}.ctwt-about-wide-image{height:clamp(480px,72vh,860px)}.ctwt-inline-placeholder{min-height:320px;display:grid;place-items:center;border-radius:var(--ctwt-radius);background:#d9ddd4;color:var(--ctwt-muted);text-align:center;padding:24px}.ctwt-article-content>.wp-block-image,.ctwt-article-content>.wp-block-gallery{margin-top:42px;margin-bottom:42px}.ctwt-article-content>.wp-block-image img{border-radius:14px}.ctwt-article-content>.wp-block-gallery img{border-radius:12px}.ctwt-article-content h2{margin-top:1.8em}.ctwt-article-content h2+.wp-block-image{margin-top:22px}.ctwt-article-content .ctwt-reality{width:min(980px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%);padding:clamp(24px,5vw,48px)}
@media(max-width:620px){.ctwt-visual-hero{width:100%;}.ctwt-visual-hero-media{height:58vh;min-height:360px;border-radius:0}.ctwt-title-block{padding-top:26px}.ctwt-about-wide-image{height:62vh}.ctwt-article-content>.wp-block-image,.ctwt-article-content>.wp-block-gallery{margin-top:30px;margin-bottom:30px}}

/* v0.6 interactive travel map */
.ctwt-map-section{padding:22px 0 44px}.ctwt-map-section .ctwt-section-head{align-items:start}.ctwt-map-intro{max-width:560px;color:var(--ctwt-muted);margin:6px 0 0}.ctwt-map-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:4px 0 22px;font-size:.88rem;color:var(--ctwt-muted)}.ctwt-map-legend span{display:inline-flex;align-items:center;gap:7px}.ctwt-map-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(55,55,50,.25);display:inline-block}.ctwt-map-base{background:#8b5e3c}.ctwt-map-before{background:#4d79a6}.ctwt-map-after{background:#4f8a62}.ctwt-map-both{background:#2d6673}.ctwt-map-upcoming{background:#c68a2b}.ctwt-map-unvisited{background:#f5f2ec}.ctwt-world-map{width:100%;height:clamp(390px,56vw,670px);background:var(--ctwt-surface);border:1px solid var(--ctwt-line);border-radius:var(--ctwt-radius);overflow:hidden;padding:12px}.ctwt-world-map .jvm-tooltip{border-radius:9px;background:#232620;color:#fff;padding:8px 11px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.84rem;box-shadow:0 8px 30px rgba(0,0,0,.14)}.ctwt-map-country-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.ctwt-map-country-pill{display:flex;flex-direction:column;gap:2px;border:1px solid var(--ctwt-line);border-left-width:5px;border-radius:10px;background:var(--ctwt-surface);padding:10px 12px;text-decoration:none;transition:.18s ease}.ctwt-map-country-pill span{font-size:.76rem;color:var(--ctwt-muted)}.ctwt-map-status-base{border-left-color:#8b5e3c}.ctwt-map-status-before{border-left-color:#4d79a6}.ctwt-map-status-after{border-left-color:#4f8a62}.ctwt-map-status-both{border-left-color:#2d6673}.ctwt-map-status-upcoming{border-left-color:#c68a2b}.ctwt-map-country-pill:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.06)}
@media(max-width:900px){.ctwt-map-country-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ctwt-map-section .ctwt-section-head{display:block}.ctwt-map-intro{margin-top:8px}}
@media(max-width:620px){.ctwt-world-map{height:420px;border-radius:12px;padding:4px}.ctwt-map-country-list{grid-template-columns:1fr}.ctwt-map-legend{gap:8px 12px}}

.ctwt-map-error{display:flex;min-height:280px;align-items:center;justify-content:center;text-align:center;padding:28px;color:var(--ctwt-muted);background:var(--ctwt-surface);border:1px dashed var(--ctwt-line);border-radius:12px;}

/* v0.8 fully local SVG travel map */
.ctwt-world-map-svg-wrap{position:relative;height:auto;min-height:0;padding:10px;background:var(--ctwt-surface)}
.ctwt-world-svg{display:block;width:100%;height:auto;aspect-ratio:2/1;overflow:visible}
.ctwt-map-ocean{fill:#fbfaf7}
.ctwt-map-country{stroke:#aaa79f;stroke-width:.7;vector-effect:non-scaling-stroke;fill:transparent;fill-rule:evenodd;transition:fill .16s ease,opacity .16s ease,stroke .16s ease;outline:none}
.ctwt-map-fill-unvisited{fill:transparent}
.ctwt-map-fill-base{fill:#8b5e3c}
.ctwt-map-fill-before{fill:#4d79a6}
.ctwt-map-fill-after{fill:#4f8a62}
.ctwt-map-fill-both{fill:#2d6673}
.ctwt-map-fill-upcoming{fill:#c68a2b}
.ctwt-map-country-link .ctwt-map-country{cursor:pointer}
.ctwt-map-country:hover,.ctwt-map-country-link:focus .ctwt-map-country{opacity:.78;stroke:#484840;stroke-width:1.15}
.ctwt-map-fill-unvisited:hover{fill:#ebe8e1}
.ctwt-map-tooltip{position:absolute;z-index:5;max-width:220px;padding:8px 10px;border-radius:9px;background:#232620;color:#fff;font-size:.82rem;line-height:1.3;pointer-events:none;box-shadow:0 8px 30px rgba(0,0,0,.14)}
.ctwt-map-tooltip[hidden]{display:none}
@media(max-width:620px){.ctwt-world-map-svg-wrap{padding:2px}.ctwt-world-svg{aspect-ratio:1.85/1}.ctwt-map-tooltip{display:none!important}}


/* v0.9 zoomable local SVG travel map */
.ctwt-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.ctwt-map-control{appearance:none;border:1px solid var(--ctwt-line);background:var(--ctwt-surface);color:var(--ctwt-text);min-width:42px;height:38px;padding:0 12px;border-radius:9px;font:inherit;font-weight:600;cursor:pointer}
.ctwt-map-control:hover,.ctwt-map-control:focus-visible{border-color:#747168;background:#f3f0e9}
.ctwt-map-control-wide{min-width:auto;font-size:.86rem;font-weight:600}
.ctwt-map-help{margin-left:auto;color:var(--ctwt-muted);font-size:.8rem}
.ctwt-world-svg{touch-action:none;cursor:grab;user-select:none}
.ctwt-world-svg.is-panning{cursor:grabbing}
@media(max-width:620px){.ctwt-map-help{width:100%;margin-left:0}.ctwt-map-control{height:40px}.ctwt-map-tooltip{display:none!important}}

/* v1.0 interactive place pins */
.ctwt-map-country.is-visited{cursor:pointer}
.ctwt-map-tooltip{display:flex;flex-direction:column;gap:3px;max-width:320px}
.ctwt-map-tooltip strong{font-size:.9rem}
.ctwt-map-tooltip span{font-size:.76rem;color:#d8ddd7}
.ctwt-map-tooltip small{font-size:.75rem;line-height:1.4;color:#fff;display:block;margin-top:3px}
.ctwt-map-active-country{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 12px;padding:13px 15px;border:1px solid var(--ctwt-line);border-radius:12px;background:var(--ctwt-surface)}
.ctwt-map-active-country[hidden]{display:none}
.ctwt-map-active-country strong{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem}
.ctwt-map-active-country>a{white-space:nowrap;font-weight:650;text-decoration:none;border-bottom:1px solid currentColor}
.ctwt-active-place-list{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:5px;font-size:.78rem;color:var(--ctwt-muted)}
.ctwt-active-place-list em{font-style:normal;font-size:.7rem;opacity:.78}
.ctwt-map-place[hidden]{display:none}
.ctwt-map-place{cursor:pointer;outline:none}
.ctwt-map-pin-ring{fill:#fffdf9;stroke:#242a25;stroke-width:1.3;vector-effect:non-scaling-stroke}
.ctwt-map-pin-dot{fill:#242a25;stroke:none}
.ctwt-map-place:hover .ctwt-map-pin-ring,.ctwt-map-place:focus .ctwt-map-pin-ring{fill:#f1d6a2;stroke-width:2}
.ctwt-map-place:hover .ctwt-map-pin-dot,.ctwt-map-place:focus .ctwt-map-pin-dot{fill:#111}
@media(max-width:620px){.ctwt-map-active-country{display:block}.ctwt-map-active-country>a{display:inline-block;margin-top:10px}.ctwt-active-place-list{gap:5px 9px}.ctwt-map-tooltip{display:none!important}}


/* v1.1 map palette and progressive pin reveal */
.ctwt-map-base{background:#7c3aed}.ctwt-map-before{background:#2563eb}.ctwt-map-after{background:#16a34a}.ctwt-map-both{background:#0891b2}.ctwt-map-upcoming{background:#f59e0b}.ctwt-map-unvisited{background:#f8fafc}
.ctwt-map-fill-base{fill:#7c3aed}.ctwt-map-fill-before{fill:#2563eb}.ctwt-map-fill-after{fill:#16a34a}.ctwt-map-fill-both{fill:#0891b2}.ctwt-map-fill-upcoming{fill:#f59e0b}.ctwt-map-fill-unvisited{fill:#f8fafc}
.ctwt-map-status-base{border-left-color:#7c3aed}.ctwt-map-status-before{border-left-color:#2563eb}.ctwt-map-status-after{border-left-color:#16a34a}.ctwt-map-status-both{border-left-color:#0891b2}.ctwt-map-status-upcoming{border-left-color:#f59e0b}
.ctwt-map-country{stroke:#a1a1aa;stroke-width:.72}.ctwt-map-fill-unvisited:hover{fill:#eef2f7}
.ctwt-map-pin-ring{fill:#ffffff;stroke:#111827;stroke-width:1.35}.ctwt-map-pin-dot{fill:#ef4444}.ctwt-map-place:hover .ctwt-map-pin-ring,.ctwt-map-place:focus .ctwt-map-pin-ring{fill:#fff7ed;stroke:#ef4444}.ctwt-map-place:hover .ctwt-map-pin-dot,.ctwt-map-place:focus .ctwt-map-pin-dot{fill:#dc2626}
.ctwt-map-active-country{box-shadow:0 8px 28px rgba(15,23,42,.06)}
.ctwt-map-second-click{display:block;margin-top:3px;font-size:.72rem;color:var(--ctwt-muted)}

/* v1.2 stronger map palette */
.ctwt-map-base{background:#ea580c}.ctwt-map-before{background:#2563eb}.ctwt-map-after{background:#16a34a}.ctwt-map-both{background:#a855f7}.ctwt-map-upcoming{background:#f59e0b}.ctwt-map-unvisited{background:#f8fafc}
.ctwt-map-fill-base{fill:#ea580c}.ctwt-map-fill-before{fill:#2563eb}.ctwt-map-fill-after{fill:#16a34a}.ctwt-map-fill-both{fill:#a855f7}.ctwt-map-fill-upcoming{fill:#f59e0b}
.ctwt-map-status-base{border-left-color:#ea580c}.ctwt-map-status-before{border-left-color:#2563eb}.ctwt-map-status-after{border-left-color:#16a34a}.ctwt-map-status-both{border-left-color:#a855f7}.ctwt-map-status-upcoming{border-left-color:#f59e0b}
.ctwt-map-place.is-linked .ctwt-map-pin-ring{stroke:#111827}.ctwt-map-place.is-linked .ctwt-map-pin-dot{fill:#111827}

/* v1.3 map interaction refinements */
.ctwt-map-toolbar-simple{justify-content:flex-end;margin-bottom:10px}
.ctwt-map-toolbar-simple .ctwt-map-help{margin-left:0}
.ctwt-map-active-country em{display:none}
.ctwt-map-pin-ring{fill:#fff;stroke:#111827;stroke-width:1.6}
.ctwt-map-pin-dot{fill:#dc2626}

/* v14 robust map links */
.ctwt-map-open-country{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;background:#111827;color:#fff!important;border:0!important;text-decoration:none!important;font-weight:700;box-shadow:0 5px 14px rgba(15,23,42,.12)}
.ctwt-map-open-country:hover{transform:translateY(-1px);background:#263244}
.ctwt-map-place-link{cursor:pointer;outline:none}
.ctwt-map-place-link:focus .ctwt-map-pin-ring{fill:#fff7ed;stroke:#ef4444;stroke-width:2}

/* v1.5 reliable map navigation panel */
.ctwt-map-selection{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 14px;padding:16px 18px;border:1px solid var(--ctwt-line);border-radius:14px;background:var(--ctwt-surface)}
.ctwt-map-selection[hidden]{display:none}.ctwt-map-selection-copy{min-width:0}.ctwt-map-selection-title{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;margin-bottom:4px}.ctwt-map-selection-subtitle{display:block;color:var(--ctwt-muted);font-size:.82rem;margin-bottom:10px}.ctwt-map-selection-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:190px}.ctwt-map-selection-actions a{display:inline-block;padding:9px 13px;border-radius:9px;background:#232620;color:#fff;text-decoration:none;font-weight:650;font-size:.86rem}.ctwt-map-selection-actions a:hover{background:#41463f}.ctwt-map-selection-actions a[hidden]{display:none}.ctwt-map-place-choice{appearance:none;border:0;background:transparent;padding:0;color:var(--ctwt-text);font:inherit;font-size:.82rem;text-decoration:underline;text-decoration-color:#b7b4ac;text-underline-offset:3px;cursor:pointer}.ctwt-map-place-choice:hover,.ctwt-map-place-choice:focus-visible{text-decoration-color:currentColor}.ctwt-map-place-link{cursor:pointer}
@media(max-width:700px){.ctwt-map-selection{display:block}.ctwt-map-selection-actions{align-items:flex-start;margin-top:14px;min-width:0}}


/* v1.6 simplified before/after map + article-status pins */
.ctwt-map-both,.ctwt-map-status-both{display:none!important}
.ctwt-map-pin-legend{margin-top:-10px;margin-bottom:16px}
.ctwt-pin-legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(15,23,42,.18)}
.ctwt-pin-legend-dot.has-article{background:#111827}.ctwt-pin-legend-dot.needs-article{background:#dc2626}
.ctwt-map-place.has-article .ctwt-map-pin-ring{stroke:#111827;fill:#fff}.ctwt-map-place.has-article .ctwt-map-pin-dot{fill:#111827}
.ctwt-map-place.needs-article .ctwt-map-pin-ring{stroke:#dc2626;fill:#fff}.ctwt-map-place.needs-article .ctwt-map-pin-dot{fill:#dc2626}
.ctwt-map-place.has-article:hover .ctwt-map-pin-ring,.ctwt-map-place.has-article:focus .ctwt-map-pin-ring{fill:#f3f4f6;stroke:#111827}
.ctwt-map-place.needs-article:hover .ctwt-map-pin-ring,.ctwt-map-place.needs-article:focus .ctwt-map-pin-ring{fill:#fef2f2;stroke:#b91c1c}
.ctwt-map-country.is-visited{cursor:pointer}


/* v1.7 final map rules: native navigation + unequivocal pin colours */
.ctwt-map-country-link{cursor:pointer;text-decoration:none;outline:none}
.ctwt-map-country-link:hover .ctwt-map-country,.ctwt-map-country-link:focus .ctwt-map-country{opacity:.76;stroke:#111827;stroke-width:1.15}
.ctwt-map-place.needs-article .ctwt-map-pin-ring{fill:#fff;stroke:#b91c1c;stroke-width:1.55}
.ctwt-map-place.needs-article .ctwt-map-pin-dot{fill:#dc2626}
.ctwt-map-place.has-article .ctwt-map-pin-ring,.ctwt-map-place.is-linked .ctwt-map-pin-ring{fill:#fff;stroke:#111827;stroke-width:1.7}
.ctwt-map-place.has-article .ctwt-map-pin-dot,.ctwt-map-place.is-linked .ctwt-map-pin-dot{fill:#111827}
.ctwt-pin-legend-dot.has-article{background:#111827;border-color:#111827}
.ctwt-pin-legend-dot.needs-article{background:#dc2626;border-color:#b91c1c}


/* v18 photo-rich article refinements — map styles intentionally unchanged from v17. */
.ctwt-article-content .ctwt-photo-pair{gap:18px;margin-top:42px;margin-bottom:42px}
.ctwt-article-content .ctwt-photo-pair .wp-block-image{margin:0;height:100%}
.ctwt-article-content .ctwt-photo-pair img{width:100%;height:100%;min-height:360px;object-fit:cover;border-radius:14px}
.ctwt-article-content .ctwt-access-gallery,.ctwt-article-content .ctwt-picks-gallery{width:min(1100px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%);margin-top:42px;margin-bottom:42px}
.ctwt-article-content .ctwt-access-gallery img,.ctwt-article-content .ctwt-picks-gallery img{border-radius:14px}
.ctwt-article-content figcaption{font-size:.82rem;line-height:1.45;color:var(--ctwt-muted);margin-top:8px}
.ctwt-article-content .alignfull{width:100vw;max-width:100vw;margin-left:50%;transform:translateX(-50%)}
@media(max-width:720px){.ctwt-article-content .ctwt-photo-pair{gap:12px}.ctwt-article-content .ctwt-photo-pair img{min-height:260px}.ctwt-article-content .ctwt-picks-gallery{grid-template-columns:1fr 1fr}}


/* v19 Yosemite reference-article system. Destinations map behaviour remains unchanged. */
.ctwt-article-content .ctwt-photo-slot{min-height:300px;display:grid;place-items:center;text-align:center;padding:28px;border:1px dashed #aeb4ad;border-radius:16px;background:linear-gradient(135deg,#ecebe5,#d9ddd6);color:#5d665f;margin-top:34px;margin-bottom:34px}
.ctwt-article-content .ctwt-photo-slot-wide{min-height:440px}
.ctwt-article-content .ctwt-photo-slot p{max-width:520px;margin:0;font-size:.93rem;line-height:1.55}
.ctwt-article-content .ctwt-photo-grid{gap:16px;margin-top:38px;margin-bottom:42px;width:min(1100px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
.ctwt-article-content .ctwt-photo-grid .wp-block-column{margin:0}
.ctwt-article-content .ctwt-photo-grid .ctwt-photo-slot{height:100%;min-height:290px;margin:0}
.ctwt-article-content .ctwt-visit-note,.ctwt-article-content .ctwt-quick-facts{width:min(980px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%);padding:clamp(24px,4vw,42px);border-radius:18px;margin-top:42px;margin-bottom:42px}
.ctwt-article-content .ctwt-visit-note{background:#ece8df;border:1px solid #d7d0c4}
.ctwt-article-content .ctwt-quick-facts{background:#202722;color:#f7f4ee}
.ctwt-article-content .ctwt-quick-facts h3{color:#fff;margin-top:0}
.ctwt-article-content .ctwt-quick-facts li{margin-bottom:8px}
.ctwt-article-content img{cursor:zoom-in}
.ctwt-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(12,15,13,.94);display:none;align-items:center;justify-content:center;padding:24px}
.ctwt-lightbox.is-open{display:flex}
.ctwt-lightbox-stage{max-width:min(1400px,94vw);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.ctwt-lightbox-stage img{max-width:100%;max-height:82vh;object-fit:contain;cursor:default}
.ctwt-lightbox-caption{color:#f5f3ee;font-size:.9rem;text-align:center;max-width:820px}
.ctwt-lightbox-close,.ctwt-lightbox-prev,.ctwt-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.5rem;cursor:pointer}
.ctwt-lightbox-close{right:18px;top:18px}.ctwt-lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}.ctwt-lightbox-next{right:18px;top:50%;transform:translateY(-50%)}
@media(max-width:720px){.ctwt-article-content .ctwt-photo-slot-wide{min-height:300px}.ctwt-article-content .ctwt-photo-grid{gap:10px}.ctwt-article-content .ctwt-photo-grid-3{display:grid;grid-template-columns:1fr 1fr}.ctwt-article-content .ctwt-photo-grid-3 .wp-block-column:last-child{grid-column:1/-1}.ctwt-lightbox-prev,.ctwt-lightbox-next{width:40px;height:40px}.ctwt-lightbox-prev{left:8px}.ctwt-lightbox-next{right:8px}}


/* v20 Yosemite editorial/SEO refinements. Destinations map rules remain untouched. */
.ctwt-hero{margin-top:18px}
.ctwt-hero-media{height:clamp(460px,72vh,860px);min-height:0}
.ctwt-hero-media img{width:100%;height:100%;object-fit:cover}
.ctwt-article-jump{width:min(980px,calc(100vw - 32px));margin:34px auto 8px;padding:18px 20px;border-top:1px solid var(--ctwt-line);border-bottom:1px solid var(--ctwt-line)}
.ctwt-article-jump strong{display:block;margin-bottom:8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ctwt-muted)}
.ctwt-article-jump a{display:inline-block;margin:3px 16px 3px 0;font-size:.92rem;text-decoration:none;border-bottom:1px solid #b7b4ac}
.ctwt-article-jump a:hover{border-color:currentColor}
.ctwt-access-at-glance{width:min(980px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%);padding:clamp(24px,4vw,42px);border-radius:18px;background:#eef1eb;border:1px solid #d5dbd1;margin-top:38px;margin-bottom:44px}
.ctwt-access-at-glance h2{margin-top:0!important}
.ctwt-access-at-glance ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;padding-left:1.2em}
.ctwt-access-at-glance li{margin:0}
.ctwt-official-links{width:min(980px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%);padding:26px 30px;border-radius:18px;background:#fffdf9;border:1px solid var(--ctwt-line);margin-top:42px;margin-bottom:42px}
.ctwt-official-links h2{margin-top:0!important}.ctwt-official-links p:last-child{margin-bottom:0}
@media(max-width:720px){.ctwt-hero-media{height:56vh;min-height:380px;border-radius:0}.ctwt-hero{width:100%;margin-top:0}.ctwt-hero>div:not(.ctwt-hero-media){width:min(calc(100% - 32px),900px);margin-left:auto;margin-right:auto}.ctwt-access-at-glance ul{grid-template-columns:1fr}.ctwt-article-jump{margin-top:26px}}


/* v2.1 flexible editorial media patterns */
.ctwt-media-authenticity{width:min(980px,calc(100vw - 32px));margin:36px 0;padding:24px 28px;border:1px solid var(--ctwt-line);border-radius:16px;background:rgba(255,253,249,.72)}
.ctwt-media-authenticity h3{margin-top:0;font-family:Georgia,"Times New Roman",serif}.ctwt-media-authenticity p:last-child{margin-bottom:0}
.ctwt-video-slot{min-height:260px;display:grid;place-items:center;border:2px dashed #aaa79f;border-radius:14px;background:#eeeae2;color:var(--ctwt-muted);text-align:center;padding:28px;margin-top:30px;margin-bottom:42px}.ctwt-video-slot-wide{width:min(1100px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
.ctwt-media-grid,.ctwt-media-large-two{width:min(1100px,calc(100vw - 32px));margin-top:34px;margin-bottom:42px}.ctwt-media-grid .wp-block-image,.ctwt-media-grid .wp-block-video,.ctwt-media-large-two .wp-block-image{margin:0}.ctwt-media-grid img,.ctwt-media-large-two img,.ctwt-media-grid video,.ctwt-media-video-feature video{width:100%;border-radius:14px;display:block}.ctwt-media-grid img{height:auto}.ctwt-media-portrait-pair{max-width:860px}.ctwt-media-portrait img{height:auto;object-fit:contain}.ctwt-media-large-two>.wp-block-column:last-child{display:grid;gap:14px;align-content:start}.ctwt-media-video video{background:#111;max-height:620px}.ctwt-media-video-feature{width:min(1100px,calc(100vw - 32px));margin-top:38px;margin-bottom:42px}.ctwt-access-sequence figcaption{font-weight:600}
@media(max-width:900px){.ctwt-media-grid-4{display:grid!important;grid-template-columns:1fr 1fr;gap:12px}.ctwt-media-grid-4>.wp-block-column{margin:0!important}.ctwt-media-large-two{flex-wrap:wrap!important}.ctwt-media-large-two>.wp-block-column{flex-basis:100%!important}.ctwt-media-large-two>.wp-block-column:last-child{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ctwt-media-grid-3,.ctwt-media-photo-video,.ctwt-media-portrait-pair{display:grid!important;grid-template-columns:1fr;gap:12px}.ctwt-media-grid-4{gap:8px}.ctwt-media-grid-4 figcaption{font-size:.78rem}.ctwt-media-authenticity{padding:20px}.ctwt-media-large-two>.wp-block-column:last-child{grid-template-columns:1fr 1fr}}

/* v2.2 lightweight provenance note + internal-story teaser */
.ctwt-media-note{width:min(820px,100%);margin:18px 0 28px;padding:12px 16px;border-left:3px solid var(--ctwt-accent);background:rgba(255,253,249,.72);color:var(--ctwt-muted);font-size:.92rem;line-height:1.55}
.ctwt-media-note a{font-weight:700;color:var(--ctwt-text)}
.ctwt-related-story{margin:18px 0 34px}.ctwt-related-story a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--ctwt-text);border-radius:999px;text-decoration:none;font-weight:700}.ctwt-related-story a:hover{background:var(--ctwt-text);color:var(--ctwt-surface)}
.ctwt-related-story-coming{color:var(--ctwt-muted);font-style:italic}


/* v2.3 safe editorial media system. Destinations/map rules are intentionally unchanged. */
.ctwt-hero-copy{max-width:900px;margin-top:28px}
.ctwt-hero-portrait .ctwt-hero-media{height:auto;max-width:760px;margin-left:auto;margin-right:auto;background:#ece9e2;display:flex;justify-content:center;border-radius:18px;overflow:hidden}
.ctwt-hero-portrait .ctwt-hero-media img{width:auto;max-width:100%;height:auto;max-height:78vh;object-fit:contain}
.ctwt-hero-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(30px,5vw,72px);align-items:center;padding-top:30px;padding-bottom:20px}
.ctwt-hero-split .ctwt-hero-media{height:min(74vh,760px);min-height:520px;margin:0;background:#ece9e2;border-radius:18px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ctwt-hero-split .ctwt-hero-media img{width:100%;height:100%;object-fit:contain}
.ctwt-hero-split .ctwt-hero-copy{margin:0;max-width:620px}
.ctwt-hero-wide .ctwt-hero-copy{max-width:900px;margin-top:28px}

.ctwt-article-content figcaption,.ctwt-media-group figcaption{font-size:.82rem;line-height:1.45;color:var(--ctwt-muted);margin-top:8px;font-style:normal}
.ctwt-media-group{width:min(1100px,calc(100vw - 32px));margin-top:34px;margin-bottom:42px}
.ctwt-media-same-height{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;justify-content:center;gap:12px;overflow:visible}
.ctwt-media-same-height figure{margin:0!important;flex:0 0 auto;min-width:0}
.ctwt-media-same-height img{display:block!important;width:auto!important;max-width:none!important;height:var(--ctwt-row-height,320px)!important;object-fit:contain!important;border-radius:14px}
.ctwt-media-same-height figcaption{max-width:var(--ctwt-caption-width,320px)}

/* Keep related photo groups together on phones; tap opens the full-size lightbox. */
@media(max-width:620px){
  .ctwt-hero-split{display:block;padding-top:0}.ctwt-hero-split .ctwt-hero-media{height:auto;min-height:0;max-height:68vh;border-radius:0;background:#ece9e2}.ctwt-hero-split .ctwt-hero-media img{width:auto;max-width:100%;height:auto;max-height:68vh}.ctwt-hero-split .ctwt-hero-copy{margin:26px auto 0;width:min(calc(100% - 32px),900px)}
  .ctwt-hero-portrait .ctwt-hero-media{border-radius:0;max-height:68vh}.ctwt-hero-portrait .ctwt-hero-media img{max-height:68vh}
  .ctwt-media-grid-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .ctwt-media-grid-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .ctwt-media-grid-3 .wp-block-column:last-child{grid-column:auto!important}
  .ctwt-media-grid-4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .ctwt-media-portrait-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .ctwt-media-grid-2 .wp-block-column,.ctwt-media-grid-3 .wp-block-column,.ctwt-media-grid-4 .wp-block-column,.ctwt-media-portrait-pair .wp-block-column{min-width:0!important;margin:0!important}
  .ctwt-media-grid-2 img,.ctwt-media-grid-3 img,.ctwt-media-grid-4 img,.ctwt-media-portrait-pair img{width:100%!important;height:auto!important;min-height:0!important;object-fit:contain!important}
  .ctwt-media-grid-2 figcaption,.ctwt-media-grid-3 figcaption,.ctwt-media-grid-4 figcaption,.ctwt-media-portrait-pair figcaption{font-size:.68rem;line-height:1.3;margin-top:5px}
  .ctwt-media-same-height{gap:6px!important;width:calc(100vw - 20px)!important;margin-left:50%!important;transform:translateX(-50%)!important}
  .ctwt-media-same-height figcaption{font-size:.68rem;line-height:1.3;margin-top:5px}
  .ctwt-media-photo-video{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
}

.ctwt-lightbox-stage{touch-action:none;overflow:hidden;width:100%;height:100%;justify-content:center}
.ctwt-lightbox-stage img{transform-origin:center center;will-change:transform;user-select:none;-webkit-user-drag:none}
.ctwt-lightbox-counter{color:#d9ded9;font-size:.78rem;letter-spacing:.04em}
.ctwt-lightbox-prev[hidden],.ctwt-lightbox-next[hidden],.ctwt-lightbox-counter[hidden]{display:none!important}

/* v2.4 About-site editorial helpers. */
.ctwt-editor-check{margin:30px 0;padding:18px 20px;border:1px solid #d3a64a;border-left:5px solid #b77b16;border-radius:12px;background:#fff4d7;color:#4f3b16}
.ctwt-editor-check p{margin:0}.ctwt-editor-check strong{letter-spacing:.02em}
.ctwt-about-resources{width:min(980px,calc(100vw - 32px));margin:54px 50% 10px;transform:translateX(-50%);padding-top:30px;border-top:1px solid var(--ctwt-line)}
.ctwt-about-resources h2{margin-top:0}.ctwt-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ctwt-resource-card{position:relative;display:flex;flex-direction:column;gap:7px;min-height:150px;padding:22px;border:1px solid var(--ctwt-line);border-radius:16px;background:var(--ctwt-surface);text-decoration:none;transition:transform .2s ease,border-color .2s ease}
.ctwt-resource-card:hover{transform:translateY(-2px);border-color:#aeb5ad}.ctwt-resource-card strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.1}.ctwt-resource-card span:not(.ctwt-resource-draft){color:var(--ctwt-muted);font-size:.93rem;line-height:1.5}
.ctwt-resource-draft{position:absolute;top:14px;right:14px;padding:3px 8px;border-radius:999px;background:#eee8dc;color:#6e6658;font-size:.68rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:680px){.ctwt-resource-grid{grid-template-columns:1fr}.ctwt-resource-card{min-height:0}.ctwt-about-resources{margin-top:40px}}


/* v2.6 About dropdown navigation. Destinations/map rules remain untouched. */
.ctwt-nav>li{list-style:none;position:relative;margin:0;padding:0}
.ctwt-nav>li>a{display:flex;align-items:center;gap:6px;padding:8px 0}
.ctwt-nav>.menu-item-has-children>a::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.ctwt-nav .sub-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;display:grid;gap:2px;min-width:265px;margin:0;padding:9px;background:var(--ctwt-surface);border:1px solid var(--ctwt-line);border-radius:13px;box-shadow:0 16px 40px rgba(20,28,23,.12);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.ctwt-nav .sub-menu li{list-style:none;margin:0;padding:0}
.ctwt-nav .sub-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--ctwt-text);font-size:.92rem;line-height:1.25;white-space:normal}
.ctwt-nav .sub-menu a:hover,.ctwt-nav .sub-menu a:focus{background:var(--ctwt-accent-soft)}
.ctwt-nav>.menu-item-has-children:hover>.sub-menu,.ctwt-nav>.menu-item-has-children:focus-within>.sub-menu,.ctwt-nav>.menu-item-has-children.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.ctwt-nav>.menu-item-has-children.is-open>a::after{transform:rotate(225deg) translate(-1px,-1px)}
@media(max-width:760px){.ctwt-nav .sub-menu{right:0;min-width:min(280px,calc(100vw - 32px));top:100%}.ctwt-nav>li>a{padding:4px 0}}
.ctwt-nav>.menu-item-has-children{position:relative}


/* v2.8 approved CTWT branding + portrait-led About page */
.ctwt-nav>.menu-item-has-children{display:flex;align-items:center;position:relative}
.ctwt-nav>.menu-item-has-children>a::after{display:none!important}
.ctwt-submenu-toggle{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:2px;padding:0;border:0;background:transparent;color:var(--ctwt-muted);cursor:pointer;border-radius:50%}
.ctwt-submenu-toggle:hover,.ctwt-submenu-toggle:focus-visible{background:var(--ctwt-accent-soft);color:var(--ctwt-text)}
.ctwt-submenu-toggle span{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .18s ease}
.ctwt-nav>.menu-item-has-children.is-open>.ctwt-submenu-toggle span{transform:rotate(225deg) translate(-1px,-1px)}
.ctwt-brand-logo{border-radius:10px;background:#fff}
.ctwt-footer-brand{display:flex;align-items:center;gap:12px}.ctwt-footer-brand img{width:46px;height:46px;object-fit:contain;border-radius:10px;background:#fff}

.ctwt-about-hero-v28{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(34px,6vw,90px);align-items:center;padding-top:clamp(34px,6vw,78px);padding-bottom:clamp(42px,7vw,92px)}
.ctwt-about-hero-photo{display:flex;justify-content:center;align-items:center;min-width:0}
.ctwt-about-hero-photo img{display:block;width:min(100%,520px);max-height:680px;object-fit:cover;object-position:center;border-radius:24px;box-shadow:0 22px 60px rgba(24,34,27,.13)}
.ctwt-about-portrait-placeholder{width:min(100%,460px);aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:34px;text-align:center;border:1px dashed #aeb4ad;border-radius:24px;background:linear-gradient(145deg,#ebeae4,#dadfd8);color:var(--ctwt-muted)}
.ctwt-about-portrait-placeholder strong{font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;color:var(--ctwt-text)}
.ctwt-about-hero-copy h1{font-size:clamp(3.2rem,7vw,6.7rem);line-height:.93;margin:.12em 0 .22em}
.ctwt-about-standfirst{font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.55;max-width:760px;color:#465049}
.ctwt-about-quickline{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.ctwt-about-quickline span{padding:7px 11px;border:1px solid var(--ctwt-line);border-radius:999px;font-size:.78rem;color:var(--ctwt-muted);background:rgba(255,253,249,.68)}
.ctwt-about-content-v28{padding-top:12px}
.ctwt-about-content-v28 h2{margin-top:2.5em}
.ctwt-about-photo-guide{width:min(1080px,calc(100vw - 32px));margin:38px 0 48px;margin-left:50%;transform:translateX(-50%)}
.ctwt-about-photo-guide .wp-block-columns{gap:14px;margin:0}
.ctwt-about-photo-placeholder{height:100%;min-height:220px;display:grid;place-items:center;padding:24px;text-align:center;border:1px dashed #aab1aa;border-radius:16px;background:linear-gradient(145deg,#efeee9,#e0e4dd);color:var(--ctwt-muted)}
.ctwt-about-photo-placeholder strong{display:block;color:var(--ctwt-text);margin-bottom:7px}
.ctwt-about-photo-placeholder small{display:block;line-height:1.45}
.ctwt-about-photo-guide-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ctwt-muted);margin-bottom:10px;font-weight:700}
.ctwt-about-work-note{width:min(940px,calc(100vw - 32px));margin:36px 0 42px;margin-left:50%;transform:translateX(-50%);padding:clamp(24px,4vw,38px);border-radius:18px;background:#eef1eb;border:1px solid #d5dbd1}
.ctwt-about-work-note h2{margin-top:0!important}
@media(max-width:800px){.ctwt-about-hero-v28{grid-template-columns:1fr;gap:28px}.ctwt-about-hero-photo{justify-content:flex-start}.ctwt-about-hero-photo img,.ctwt-about-portrait-placeholder{width:min(82vw,430px)}.ctwt-about-hero-copy h1{font-size:clamp(3rem,14vw,5rem)}.ctwt-about-photo-guide .wp-block-columns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ctwt-about-photo-placeholder{min-height:140px;padding:12px;font-size:.82rem}.ctwt-about-photo-placeholder small{font-size:.72rem}}
@media(max-width:520px){.ctwt-about-photo-guide .wp-block-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.ctwt-about-photo-placeholder{min-height:112px;padding:8px}.ctwt-about-photo-placeholder small{display:none}.ctwt-about-quickline{gap:6px}.ctwt-about-quickline span{font-size:.72rem;padding:6px 9px}}

.ctwt-about-photo-guide:has(.ctwt-editor-marker){display:none!important}


/* v2.9 editable About-page layout. Content lives in Gutenberg, not the template. */
.ctwt-about-editor-hero{width:min(1100px,calc(100vw - 32px));margin:0 auto 54px;align-items:center;gap:clamp(28px,5vw,72px)}
.ctwt-about-editor-hero>.wp-block-column:first-child{flex-basis:38%}
.ctwt-about-editor-hero>.wp-block-column:last-child{flex-basis:62%}
.ctwt-about-editor-hero .ctwt-about-photo-placeholder{min-height:520px;margin:0;border-radius:24px}
.ctwt-about-editor-hero .wp-block-image{margin:0}
.ctwt-about-editor-hero .wp-block-image img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover;border-radius:24px}
.ctwt-about-editor-hero h2{font-size:clamp(2.4rem,5vw,4.7rem);line-height:.98;margin:0 0 20px}
.ctwt-about-editor-hero .ctwt-about-intro{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.65;margin-bottom:20px}
.ctwt-about-editor-hero .ctwt-about-quickline{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ctwt-about-editor-hero .ctwt-about-quickline span{display:inline-flex;padding:7px 11px;border:1px solid var(--ctwt-line);border-radius:999px;font-size:.78rem;color:var(--ctwt-muted);background:var(--ctwt-surface)}
@media(max-width:760px){.ctwt-about-editor-hero{display:flex!important;flex-direction:column;gap:24px;margin-bottom:40px}.ctwt-about-editor-hero>.wp-block-column{flex-basis:auto!important;width:100%}.ctwt-about-editor-hero .ctwt-about-photo-placeholder{min-height:420px}.ctwt-about-editor-hero .wp-block-image{max-width:520px;margin:0 auto}.ctwt-about-editor-hero h2{font-size:clamp(2.3rem,12vw,3.7rem)}}


/* v3.0 mixed-media equal-height system. Editorial post/page content is untouched. */
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill,
.ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-contain,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-fill{
  --ctwt-mixed-height:320px;
  align-items:flex-start!important;
  gap:14px!important;
}

/* Sizes adapt to the number of media items while remaining overrideable. */
.ctwt-article-content .wp-block-columns[data-ctwt-media-count="1"]{--ctwt-mixed-height:500px}
.ctwt-article-content .wp-block-columns[data-ctwt-media-count="2"]{--ctwt-mixed-height:400px}
.ctwt-article-content .wp-block-columns[data-ctwt-media-count="3"]{--ctwt-mixed-height:320px}
.ctwt-article-content .wp-block-columns[data-ctwt-media-count="4"]{--ctwt-mixed-height:250px}

.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain .wp-block-group,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill .wp-block-group,
.ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media .wp-block-group,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-contain .wp-block-group,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-fill .wp-block-group{
  min-width:0;
}

.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-image,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-video,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-image,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-video,
.ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media figure.wp-block-image,
.ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media figure.wp-block-video,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-image,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-video,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-image,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-video{
  position:relative;
  margin:0!important;
  min-width:0;
}

.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-video video,
.ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media figure.wp-block-video video,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-image img,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-contain figure.wp-block-video video{
  display:block!important;
  width:100%!important;
  height:var(--ctwt-mixed-height)!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:14px;
  background:#e8e7e1;
}

.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-video video,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-image img,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-fill figure.wp-block-video video{
  display:block!important;
  width:100%!important;
  height:var(--ctwt-mixed-height)!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:14px;
  background:#e8e7e1;
}

/* Keep captions outside the equal-height media frame. */
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain figcaption,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill figcaption,
.ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media figcaption{
  min-height:0!important;
  margin-top:8px!important;
}

/* Small, unobtrusive affordances. They never intercept the click/tap. */
.ctwt-article-content figure.wp-block-image.ctwt-interactive-media::after,
.ctwt-article-content figure.wp-block-video.ctwt-interactive-media::after{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(20,24,22,.72);
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 2px 10px rgba(0,0,0,.16);
  font-size:16px;
  line-height:1;
  pointer-events:none;
  opacity:.88;
  transition:opacity .16s ease,transform .16s ease,background .16s ease;
}
.ctwt-article-content figure.wp-block-image.ctwt-interactive-media::after{content:"⤢"}
.ctwt-article-content figure.wp-block-video.ctwt-interactive-media::after{content:"▶";font-size:13px;padding-left:2px}
@media (hover:hover) and (pointer:fine){
  .ctwt-article-content figure.wp-block-image.ctwt-interactive-media:hover::after,
  .ctwt-article-content figure.wp-block-video.ctwt-interactive-media:hover::after{
    opacity:1;
    transform:scale(1.06);
    background:rgba(20,24,22,.88);
  }
}

/* Gutenberg editor preview for the new selectable styles. */
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-contain,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-equal-height-fill{--ctwt-mixed-height:260px}

@media(max-width:760px){
  .ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain,
  .ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill,
  .ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media{
    --ctwt-mixed-height:135px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    align-items:flex-start!important;
  }
  .ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain > *,
  .ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill > *,
  .ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media > *{
    flex:1 1 0!important;
    min-width:0!important;
  }
  .ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain figcaption,
  .ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-fill figcaption,
  .ctwt-article-content .wp-block-columns.ctwt-auto-mixed-media figcaption{
    font-size:.68rem!important;
    line-height:1.28!important;
    margin-top:5px!important;
  }
  .ctwt-article-content figure.wp-block-image.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-video.ctwt-interactive-media::after{
    top:6px;right:6px;width:28px;height:28px;font-size:13px;
  }
  .ctwt-article-content figure.wp-block-video.ctwt-interactive-media::after{font-size:11px}
}


/* Optional compact treatment for standalone feature videos such as Yosemite Falls. */
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-feature-video{
  width:min(760px,100%);
  margin:34px auto 42px!important;
  position:relative;
}
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video video,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-feature-video video{
  display:block;
  width:100%!important;
  height:auto!important;
  max-height:620px;
  object-fit:contain;
  border-radius:14px;
  background:#111;
}
@media(max-width:760px){
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video{width:100%;margin:28px auto 34px!important}
}


/* v3.1 media viewer + caption consistency. Editorial content is not rewritten. */

/* WordPress galleries can position captions over images by default. CTWT always
   treats captions as editorial text below the media. */
.ctwt-article-content figure.wp-block-image > figcaption,
.ctwt-article-content figure.wp-block-video > figcaption,
.ctwt-article-content .wp-block-gallery.has-nested-images figure.wp-block-image > figcaption,
.editor-styles-wrapper figure.wp-block-image > figcaption,
.editor-styles-wrapper figure.wp-block-video > figcaption,
.editor-styles-wrapper .wp-block-gallery.has-nested-images figure.wp-block-image > figcaption{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  margin:8px 0 0!important;
  padding:0!important;
  background:none!important;
  color:var(--ctwt-muted)!important;
  font-size:.82rem!important;
  line-height:1.45!important;
  text-align:left!important;
  font-style:normal!important;
  opacity:1!important;
}

/* Single-media presentation options. These alter only display size; WordPress
   keeps the original media file and Gutenberg content unchanged. */
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-media,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media,
.editor-styles-wrapper figure.wp-block-image.is-style-ctwt-compact-media,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-media{
  width:min(760px,100%);
  margin:34px auto 42px!important;
  position:relative;
}
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-media img,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media video,
.editor-styles-wrapper figure.wp-block-image.is-style-ctwt-compact-media img,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-media video{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:580px!important;
  margin-inline:auto!important;
  object-fit:contain!important;
  border-radius:14px;
}
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media video,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-media video{background:#111}

.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media,
.editor-styles-wrapper figure.wp-block-image.is-style-ctwt-compact-portrait-media,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-portrait-media{
  width:min(520px,100%);
  margin:34px auto 42px!important;
  position:relative;
}
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media img,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media video,
.editor-styles-wrapper figure.wp-block-image.is-style-ctwt-compact-portrait-media img,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-portrait-media video{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:590px!important;
  margin-inline:auto!important;
  object-fit:contain!important;
  border-radius:14px;
}
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media video,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-portrait-media video{background:#111}

/* Backwards-compatible v30 feature-video style now follows the compact system. */
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-feature-video{
  width:min(760px,100%);
}

/* Compact media gets a clearer invitation to open the viewer. */
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-media.ctwt-interactive-media::after,
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media.ctwt-interactive-media::after{
  content:"⤢  View larger";
  width:auto;
  min-width:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:650;
  letter-spacing:.01em;
}
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media.ctwt-interactive-media::after,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media.ctwt-interactive-media::after,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video.ctwt-interactive-media::after{
  content:"▶  Open video";
  width:auto;
  min-width:34px;
  padding:0 12px;
  font-size:12px;
  font-weight:650;
  letter-spacing:.01em;
}

/* All article media is presented as interactive. Video playback happens in the
   lightbox so the inline poster acts like a photo thumbnail. */
.ctwt-article-content figure.wp-block-image.ctwt-interactive-media img,
.ctwt-article-content figure.wp-block-video.ctwt-interactive-media video,
.ctwt-hero-media img.ctwt-interactive-media{
  cursor:zoom-in!important;
}
.ctwt-article-content figure.wp-block-video.ctwt-interactive-media video{cursor:pointer!important}
.ctwt-article-content .ctwt-media-keyboard-focus:focus-visible,
.ctwt-hero-media .ctwt-media-keyboard-focus:focus-visible{
  outline:3px solid currentColor;
  outline-offset:4px;
  border-radius:14px;
}

/* v3.1 lightbox supports both images and videos and keeps navigation usable. */
.ctwt-lightbox-stage{
  width:min(1400px,94vw);
  max-width:min(1400px,94vw);
  height:auto;
  max-height:92vh;
  justify-content:center;
}
.ctwt-lightbox-media{
  width:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ctwt-lightbox-stage img,
.ctwt-lightbox-stage video{
  display:block;
  max-width:100%;
  max-height:78vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:8px;
}
.ctwt-lightbox-stage video{background:#000;cursor:default}
.ctwt-lightbox-type{color:#cfd5cf;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.ctwt-lightbox-prev,.ctwt-lightbox-next,.ctwt-lightbox-close{z-index:4}

@media(max-width:760px){
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-media,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media{width:100%;margin:28px auto 34px!important}
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media{width:min(82vw,480px);margin:28px auto 34px!important}
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media img,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media video{max-height:72vh!important}
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-media.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video.ctwt-interactive-media::after{
    width:28px;
    min-width:28px;
    padding:0;
    font-size:0;
  }
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-media.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media.ctwt-interactive-media::after{content:"⤢";font-size:13px}
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media.ctwt-interactive-media::after,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video.ctwt-interactive-media::after{content:"▶";font-size:11px}
  .ctwt-lightbox{padding:14px}
  .ctwt-lightbox-stage{width:100%;max-width:100%;max-height:94vh;gap:9px}
  .ctwt-lightbox-stage img,.ctwt-lightbox-stage video{max-height:76vh}
}
.ctwt-lightbox[data-ctwt-type="video"] .ctwt-lightbox-stage{touch-action:auto}
.ctwt-hero-media.ctwt-interactive-media{position:relative}
.ctwt-hero-media.ctwt-interactive-media::after{
  content:"⤢";
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:999px;
  background:rgba(20,24,22,.72);
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 2px 10px rgba(0,0,0,.16);
  font-size:17px;
  line-height:1;
  pointer-events:none;
}


/* v3.2 single-item lightbox + consistent media thumbnails. Editorial content is untouched. */

/* Existing multi-media Columns rows (photo/photo, video/video or mixed) receive
   a safe equal-height Full Image treatment automatically. The explicit Fill
   style remains available in Gutenberg when edge-to-edge cropping is desired. */
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row{
  --ctwt-mixed-height:320px;
  align-items:flex-start!important;
  gap:14px!important;
}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row[data-ctwt-media-count="2"]{--ctwt-mixed-height:400px}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row[data-ctwt-media-count="3"]{--ctwt-mixed-height:320px}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row[data-ctwt-media-count="4"]{--ctwt-mixed-height:250px}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row .wp-block-group{min-width:0}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row figure.wp-block-image,
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row figure.wp-block-video{
  position:relative;
  margin:0!important;
  min-width:0;
}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row figure.wp-block-video video{
  display:block!important;
  width:100%!important;
  height:var(--ctwt-mixed-height)!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:14px;
  background:#e8e7e1;
}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row figure.wp-block-video video{background:#111}
.ctwt-article-content .wp-block-columns.ctwt-auto-media-row figcaption{
  min-height:0!important;
  margin-top:8px!important;
}

/* The hidden attribute must always win. v31's generic media display rule could
   otherwise make the outgoing image/video visible beside the current item. */
.ctwt-lightbox-media > [hidden]{display:none!important}
.ctwt-lightbox-media{
  position:relative;
  width:100%;
  height:min(78vh,860px);
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ctwt-lightbox-media > .ctwt-lightbox-image:not([hidden]),
.ctwt-lightbox-media > .ctwt-lightbox-video:not([hidden]){
  display:block!important;
  flex:0 1 auto;
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Make previous/next controls unmistakable while keeping them outside the
   media itself so they never cover important accessibility detail. */
.ctwt-lightbox-prev,.ctwt-lightbox-next{
  width:54px;
  height:54px;
  background:rgba(10,13,11,.82);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 4px 18px rgba(0,0,0,.32);
  color:#fff;
  font-size:2rem;
  font-weight:400;
  line-height:1;
  opacity:1;
}
.ctwt-lightbox-prev:hover,.ctwt-lightbox-next:hover,
.ctwt-lightbox-prev:focus-visible,.ctwt-lightbox-next:focus-visible{
  background:rgba(255,255,255,.96);
  color:#151915;
  outline:none;
  transform:translateY(-50%) scale(1.06);
}
.ctwt-lightbox-prev[hidden],.ctwt-lightbox-next[hidden]{display:none!important}

@media(max-width:760px){
  .ctwt-article-content .wp-block-columns.ctwt-auto-media-row{
    --ctwt-mixed-height:135px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    align-items:flex-start!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-auto-media-row > *{
    flex:1 1 0!important;
    min-width:0!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-auto-media-row figcaption{
    font-size:.68rem!important;
    line-height:1.28!important;
    margin-top:5px!important;
  }
  .ctwt-lightbox-media{height:76vh;min-height:220px}
  .ctwt-lightbox-prev,.ctwt-lightbox-next{
    width:44px;
    height:44px;
    font-size:1.7rem;
    background:rgba(10,13,11,.86);
  }
}


/* v3.3 media cards + unmistakable video thumbnails. Editorial content is untouched. */

/* CTWT media rows now use a card model: the visual frame has one consistent
   height while captions get their own breathing room underneath. Automatic
   rows use Fill because it is the most visually consistent thumbnail system;
   selecting CTWT Equal Height - Full Image in Gutenberg switches back to
   uncropped contain behaviour when documentary/accessibility detail matters. */
.ctwt-article-content .wp-block-columns.ctwt-media-card-row{
  --ctwt-card-media-height:320px;
  align-items:stretch!important;
  gap:16px!important;
}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row[data-ctwt-media-count="2"]{--ctwt-card-media-height:390px}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row[data-ctwt-media-count="3"]{--ctwt-card-media-height:300px}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row[data-ctwt-media-count="4"]{--ctwt-card-media-height:240px}

.ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card{
  min-width:0!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  background:#eef0eb!important;
  border:1px solid var(--ctwt-line)!important;
  border-radius:16px!important;
  padding:10px 10px 12px!important;
  overflow:hidden;
}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card > .wp-block-group,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card > figure,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card figure{
  min-width:0;
}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-image,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-video{
  position:relative;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto;
}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-video video,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row .ctwt-video-thumb-frame{
  width:100%!important;
  height:var(--ctwt-card-media-height)!important;
  max-height:none!important;
  border-radius:11px!important;
}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-video video{
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#e8e7e1;
}
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain.ctwt-media-card-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain.ctwt-media-card-row figure.wp-block-video video{
  object-fit:contain!important;
}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-video video{background:#111}

/* Captions can be Gutenberg figcaptions or a short paragraph placed below the
   media inside the same cell. Both live in the card rather than over the media. */
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figcaption,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card > p:last-child,
.ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card .wp-block-group > p:last-child{
  position:static!important;
  margin:9px 4px 0!important;
  padding:0!important;
  background:none!important;
  color:var(--ctwt-muted)!important;
  font-size:.8rem!important;
  line-height:1.42!important;
}

/* Every video gets the same calm card treatment, including standalone feature
   videos. Rows already have a parent card, so they do not get a second border. */
.ctwt-article-content figure.wp-block-video.ctwt-interactive-media{
  position:relative;
  background:#eef0eb;
  border:1px solid var(--ctwt-line);
  border-radius:16px;
  padding:10px 10px 12px;
}
.ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-video.ctwt-interactive-media{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
}
.ctwt-article-content .ctwt-video-thumb-frame{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:11px;
  background:#111;
  cursor:pointer;
}
.ctwt-article-content .ctwt-video-thumb-frame video{
  display:block;
  width:100%!important;
  margin:0!important;
  border-radius:11px!important;
}

/* v30-v32 put the video affordance on the figure. v33 moves it onto the media
   frame so it never floats over a caption. */
.ctwt-article-content figure.wp-block-video.ctwt-interactive-media::after,
.ctwt-article-content figure.wp-block-video.ctwt-interactive-media::before{
  content:none!important;
  display:none!important;
}
.ctwt-article-content .ctwt-video-thumb-frame::after{
  content:"Open Video";
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  display:grid;
  place-items:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(20,24,22,.72);
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
  box-shadow:0 2px 10px rgba(0,0,0,.16);
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
  pointer-events:none;
}
.ctwt-article-content .ctwt-video-thumb-frame::before{
  content:"▶";
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  width:76px;
  height:76px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  padding-left:5px;
  border-radius:999px;
  background:rgba(18,22,20,.52);
  color:#fff;
  border:2px solid rgba(255,255,255,.78);
  box-shadow:0 5px 22px rgba(0,0,0,.24);
  font-size:31px;
  line-height:1;
  pointer-events:none;
  transition:transform .16s ease,background .16s ease,opacity .16s ease;
}
@media (hover:hover) and (pointer:fine){
  .ctwt-article-content .ctwt-video-thumb-frame:hover::before{
    transform:translate(-50%,-50%) scale(1.07);
    background:rgba(18,22,20,.66);
  }
  .ctwt-article-content .ctwt-video-thumb-frame:hover::after{background:rgba(20,24,22,.9)}
}

/* Existing compact portrait/feature video choices still control the size of the
   outer figure; the new video frame simply inherits that presentation. */
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media .ctwt-video-thumb-frame video,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media .ctwt-video-thumb-frame video,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video .ctwt-video-thumb-frame video{
  width:100%!important;
}

@media(max-width:760px){
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row{
    --ctwt-card-media-height:132px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    align-items:stretch!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card{
    flex:1 1 0!important;
    min-width:0!important;
    padding:5px 5px 7px!important;
    border-radius:11px!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-image img,
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row figure.wp-block-video video,
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row .ctwt-video-thumb-frame{
    height:var(--ctwt-card-media-height)!important;
    border-radius:8px!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row figcaption,
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card > p:last-child,
  .ctwt-article-content .wp-block-columns.ctwt-media-card-row > .ctwt-media-card .wp-block-group > p:last-child{
    margin:6px 2px 0!important;
    font-size:.66rem!important;
    line-height:1.28!important;
  }
  .ctwt-article-content .ctwt-video-thumb-frame::before{
    width:48px;
    height:48px;
    font-size:20px;
    padding-left:3px;
  }
  .ctwt-article-content .ctwt-video-thumb-frame::after{
    top:6px;
    right:6px;
    min-height:26px;
    padding:0 8px;
    font-size:9px;
  }
}


/* v3.4 UNIFIED MEDIA PANELS
   The El Capitan/climber row is now the default CTWT visual model:
   one outer panel around the whole media row, equal-height thumbnails inside,
   and captions below each item. This is a front-end presentation layer only. */

.ctwt-article-content .wp-block-columns.ctwt-media-panel-row{
  --ctwt-panel-media-height:320px;
  width:min(var(--ctwt-max), calc(100vw - 40px))!important;
  max-width:var(--ctwt-max)!important;
  margin:34px 0 38px 50%!important;
  transform:translateX(-50%);
  display:flex!important;
  align-items:stretch!important;
  gap:18px!important;
  padding:clamp(18px,3.2vw,46px)!important;
  background:#eef0eb!important;
  border:1px dashed #aeb5ad!important;
  border-radius:20px!important;
  overflow:visible;
}
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row[data-ctwt-media-count="2"]{--ctwt-panel-media-height:clamp(300px,31vw,455px)}
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row[data-ctwt-media-count="3"]{--ctwt-panel-media-height:clamp(230px,22vw,330px)}
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row[data-ctwt-media-count="4"]{--ctwt-panel-media-height:clamp(185px,17vw,255px)}

/* v33 used separate cards around each item. v34 deliberately removes those
   inner boxes so the row reads as one coherent El Capitan-style media group. */
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-panel-item,
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-card{
  min-width:0!important;
  flex:1 1 0!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  overflow:visible!important;
}
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row .wp-block-group{
  min-width:0!important;
}
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row figure.wp-block-image,
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row figure.wp-block-video{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  display:flex!important;
  flex-direction:column!important;
}

/* Every thumbnail gets one identical frame height. Cover is the site-wide
   default because it is the only way portrait photos, landscape photos and
   video posters can form a clean row. The full uncropped media is in lightbox. */
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row .ctwt-video-thumb-frame{
  display:block!important;
  width:100%!important;
  height:var(--ctwt-panel-media-height)!important;
  min-height:var(--ctwt-panel-media-height)!important;
  max-height:var(--ctwt-panel-media-height)!important;
  border-radius:13px!important;
  overflow:hidden!important;
  background:#e5e7e2!important;
}
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row .ctwt-video-thumb-frame video{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:13px!important;
}
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain.ctwt-media-panel-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.is-style-ctwt-equal-height-contain.ctwt-media-panel-row .ctwt-video-thumb-frame video{
  object-fit:contain!important;
}

/* Gutenberg figcaptions and short paragraph captions both sit below the frame,
   never over the media. There is a little reserved breathing room so rows feel
   deliberate even when captions have different lengths. */
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row figcaption,
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-panel-item > p:last-child,
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-panel-item .wp-block-group > p:last-child{
  position:static!important;
  display:block!important;
  margin:12px 0 0!important;
  padding:0!important;
  min-height:2.9em;
  background:none!important;
  color:var(--ctwt-muted)!important;
  font-size:.88rem!important;
  line-height:1.45!important;
  text-align:left!important;
}

/* Single media uses the same restrained panel language. Existing Compact and
   Compact Portrait block styles still determine how small the media itself is. */
.ctwt-article-content figure.ctwt-standalone-media-card{
  width:min(100%,920px)!important;
  margin:32px auto 38px!important;
  padding:14px 14px 16px!important;
  background:#eef0eb!important;
  border:1px dashed #aeb5ad!important;
  border-radius:18px!important;
}
.ctwt-article-content figure.ctwt-standalone-media-card img,
.ctwt-article-content figure.ctwt-standalone-media-card .ctwt-video-thumb-frame{
  border-radius:12px!important;
}
.ctwt-article-content figure.ctwt-standalone-media-card figcaption{
  position:static!important;
  margin:10px 4px 0!important;
  padding:0!important;
  background:none!important;
  color:var(--ctwt-muted)!important;
  font-size:.86rem!important;
  line-height:1.45!important;
  text-align:left!important;
}

/* Keep the large video affordance from v33. In a unified row it sits only on
   the thumbnail frame, so Open Video and the play button never cover captions. */
.ctwt-article-content .wp-block-columns.ctwt-media-panel-row .ctwt-video-thumb-frame::before,
.ctwt-article-content figure.ctwt-standalone-media-card .ctwt-video-thumb-frame::before{
  width:78px;
  height:78px;
  font-size:32px;
  background:rgba(18,22,20,.48);
  border-color:rgba(255,255,255,.82);
}

@media(max-width:760px){
  .ctwt-article-content .wp-block-columns.ctwt-media-panel-row{
    --ctwt-panel-media-height:132px!important;
    width:calc(100vw - 20px)!important;
    margin:26px 0 30px 50%!important;
    padding:8px!important;
    gap:7px!important;
    flex-wrap:nowrap!important;
    border-radius:14px!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-panel-item,
  .ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-card{
    flex:1 1 0!important;
    min-width:0!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-media-panel-row figcaption,
  .ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-panel-item > p:last-child,
  .ctwt-article-content .wp-block-columns.ctwt-media-panel-row > .ctwt-media-panel-item .wp-block-group > p:last-child{
    min-height:0;
    margin-top:7px!important;
    font-size:.68rem!important;
    line-height:1.3!important;
  }
  .ctwt-article-content .wp-block-columns.ctwt-media-panel-row .ctwt-video-thumb-frame::before{
    width:48px;
    height:48px;
    font-size:20px;
  }
  .ctwt-article-content figure.ctwt-standalone-media-card{
    width:100%!important;
    margin:26px auto 30px!important;
    padding:8px!important;
    border-radius:14px!important;
  }
}

/* v3.6 MEDIA LAYOUT PRESETS
   Keep the v3.4 El Capitan/media-panel behaviour for rows already recognised,
   and add a safe fallback panel for nested Gutenberg structures such as the
   Mirror Lake row. Saved post content is never rewritten. */

:root{--ctwt-portrait-feature-height:390px}

/* Fallback media-only containers become one outer CTWT panel. Structural
   Gutenberg wrappers are flattened only when the container contains no prose
   outside normal figure captions. */
.ctwt-article-content .ctwt-runtime-media-panel{
  width:min(var(--ctwt-max),calc(100vw - 40px))!important;
  max-width:var(--ctwt-max)!important;
  margin:34px 0 38px 50%!important;
  transform:translateX(-50%);
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  padding:clamp(18px,3.2vw,46px)!important;
  background:#eef0eb!important;
  border:1px dashed #aeb5ad!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.ctwt-article-content .ctwt-runtime-media-panel .ctwt-runtime-structure{
  display:contents!important;
}
.ctwt-article-content .ctwt-runtime-media-panel figure.ctwt-runtime-media-item{
  position:relative!important;
  flex:0 1 var(--ctwt-runtime-width,280px)!important;
  width:var(--ctwt-runtime-width,280px)!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-matching figure.ctwt-runtime-media-item img,
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-matching figure.ctwt-runtime-media-item .ctwt-video-thumb-frame{
  display:block!important;
  width:100%!important;
  height:var(--ctwt-runtime-height,300px)!important;
  min-height:var(--ctwt-runtime-height,300px)!important;
  max-height:var(--ctwt-runtime-height,300px)!important;
  margin:0!important;
  border-radius:13px!important;
  overflow:hidden!important;
  background:#e5e7e2!important;
}
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-matching figure.ctwt-runtime-media-item img,
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-matching figure.ctwt-runtime-media-item .ctwt-video-thumb-frame video{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:13px!important;
}
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-matching figure.wp-block-video .ctwt-video-thumb-frame,
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-matching figure.wp-block-video .ctwt-video-thumb-frame video{
  background:#111!important;
}
.ctwt-article-content .ctwt-runtime-media-panel figcaption{
  position:static!important;
  display:block!important;
  margin:12px 0 0!important;
  padding:0!important;
  background:none!important;
  color:var(--ctwt-muted)!important;
  font-size:.88rem!important;
  line-height:1.45!important;
  text-align:left!important;
}

/* Mixed alternating rows such as video / photo / video intentionally keep a
   looser editorial rhythm. The video may be smaller than the photo; the user
   explicitly preferred this for Bridalveil Fall. */
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.ctwt-runtime-media-item{
  flex:1 1 0!important;
  width:auto!important;
}
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.ctwt-runtime-media-item img,
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.ctwt-runtime-media-item .ctwt-video-thumb-frame{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:330px!important;
  margin:0 auto!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.wp-block-video .ctwt-video-thumb-frame{
  max-height:285px!important;
  background:#111!important;
}
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.ctwt-runtime-media-item img,
.ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.ctwt-runtime-media-item .ctwt-video-thumb-frame video{
  object-fit:contain!important;
}

/* Compact portrait standard: roughly two-thirds of the previous 590px feature
   height. It applies automatically to standalone portrait media and remains a
   selectable block style for deliberate use. */
.ctwt-article-content figure.ctwt-standalone-media-card.ctwt-portrait-source,
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video,
.editor-styles-wrapper figure.wp-block-image.is-style-ctwt-compact-portrait-media,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-portrait-media,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-feature-video{
  width:fit-content!important;
  max-width:min(560px,100%)!important;
  margin:32px auto 38px!important;
}
.ctwt-article-content figure.ctwt-standalone-media-card.ctwt-portrait-source img,
.ctwt-article-content figure.ctwt-standalone-media-card.ctwt-portrait-source .ctwt-video-thumb-frame,
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media img,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media .ctwt-video-thumb-frame,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video .ctwt-video-thumb-frame,
.editor-styles-wrapper figure.wp-block-image.is-style-ctwt-compact-portrait-media img,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-portrait-media video,
.editor-styles-wrapper figure.wp-block-video.is-style-ctwt-compact-feature-video video{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:var(--ctwt-portrait-feature-height)!important;
  margin-inline:auto!important;
  object-fit:contain!important;
}
.ctwt-article-content figure.ctwt-standalone-media-card.ctwt-portrait-source .ctwt-video-thumb-frame video,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media .ctwt-video-thumb-frame video,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video .ctwt-video-thumb-frame video{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:var(--ctwt-portrait-feature-height)!important;
  margin:auto!important;
}

/* Clear selectable presets in Gutenberg. Existing legacy styles remain valid. */
.ctwt-article-content .wp-block-columns.is-style-ctwt-layout-matching,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-layout-matching,
.ctwt-article-content .wp-block-columns.is-style-ctwt-layout-editorial-pair,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-layout-editorial-pair,
.ctwt-article-content .wp-block-columns.is-style-ctwt-layout-compact-portrait,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-layout-compact-portrait{
  border-radius:20px;
}
.ctwt-article-content .wp-block-columns.is-style-ctwt-layout-compact-portrait.ctwt-media-panel-row{
  --ctwt-panel-media-height:var(--ctwt-portrait-feature-height)!important;
}
.ctwt-article-content .wp-block-columns.is-style-ctwt-layout-alternating.ctwt-media-panel-row figure.wp-block-video .ctwt-video-thumb-frame,
.ctwt-article-content .wp-block-columns.is-style-ctwt-layout-alternating.ctwt-media-panel-row figure.wp-block-video video{
  max-height:285px!important;
}

@media(max-width:760px){
  :root{--ctwt-portrait-feature-height:62vh}
  .ctwt-article-content .ctwt-runtime-media-panel{
    width:calc(100vw - 20px)!important;
    margin:26px 0 30px 50%!important;
    padding:8px!important;
    gap:7px!important;
    border-radius:14px!important;
  }
  .ctwt-article-content .ctwt-runtime-media-panel figure.ctwt-runtime-media-item{
    min-width:0!important;
  }
  .ctwt-article-content .ctwt-runtime-media-panel figcaption{
    margin-top:7px!important;
    font-size:.68rem!important;
    line-height:1.3!important;
  }
  .ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.ctwt-runtime-media-item img,
  .ctwt-article-content .ctwt-runtime-media-panel.ctwt-runtime-alternating figure.ctwt-runtime-media-item .ctwt-video-thumb-frame{
    max-height:150px!important;
  }
  .ctwt-article-content figure.ctwt-standalone-media-card.ctwt-portrait-source,
  .ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-portrait-media,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-portrait-media,
  .ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-feature-video{
    max-width:min(82vw,480px)!important;
  }
}

/* v3.8 MANUAL THUMBNAIL CONTROLS
   The editor can now choose gallery thumbnail height and fit mode on the outer
   Columns block. This preserves existing content and stops the theme guessing
   every gallery size. */
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-thumb-small,
.ctwt-article-content .wp-block-columns.is-style-ctwt-thumb-small,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-thumb-small{--ctwt-panel-media-height:260px;--ctwt-runtime-height:260px}
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-thumb-medium,
.ctwt-article-content .wp-block-columns.is-style-ctwt-thumb-medium,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-thumb-medium{--ctwt-panel-media-height:320px;--ctwt-runtime-height:320px}
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-thumb-large,
.ctwt-article-content .wp-block-columns.is-style-ctwt-thumb-large,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-thumb-large{--ctwt-panel-media-height:390px;--ctwt-runtime-height:390px}
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-thumb-xlarge,
.ctwt-article-content .wp-block-columns.is-style-ctwt-thumb-xlarge,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-thumb-xlarge{--ctwt-panel-media-height:460px;--ctwt-runtime-height:460px}
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-thumb-portrait-compact,
.ctwt-article-content .wp-block-columns.is-style-ctwt-thumb-portrait-compact,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-thumb-portrait-compact{--ctwt-panel-media-height:390px;--ctwt-runtime-height:390px}

/* Manual fit mode aliases. Old v36 equal-height styles still work; these just
   make the editor labels easier to understand. */
.ctwt-article-content .wp-block-columns.is-style-ctwt-fit-entire-media.ctwt-media-panel-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.is-style-ctwt-fit-entire-media.ctwt-media-panel-row .ctwt-video-thumb-frame video,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-fit-entire-media figure.ctwt-runtime-media-item img,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-fit-entire-media figure.ctwt-runtime-media-item .ctwt-video-thumb-frame video,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-fit-entire-media img,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-fit-entire-media video{object-fit:contain!important}

.ctwt-article-content .wp-block-columns.is-style-ctwt-fit-fill-thumbnail.ctwt-media-panel-row figure.wp-block-image img,
.ctwt-article-content .wp-block-columns.is-style-ctwt-fit-fill-thumbnail.ctwt-media-panel-row .ctwt-video-thumb-frame video,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-fit-fill-thumbnail figure.ctwt-runtime-media-item img,
.ctwt-article-content .ctwt-runtime-media-panel.is-style-ctwt-fit-fill-thumbnail figure.ctwt-runtime-media-item .ctwt-video-thumb-frame video,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-fit-fill-thumbnail img,
.editor-styles-wrapper .wp-block-columns.is-style-ctwt-fit-fill-thumbnail video{object-fit:cover!important}

/* Slightly more restrained single-item compact media when portrait-oriented. */
.ctwt-article-content figure.wp-block-image.is-style-ctwt-compact-media.ctwt-portrait-source img,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media.ctwt-portrait-source .ctwt-video-thumb-frame,
.ctwt-article-content figure.wp-block-video.is-style-ctwt-compact-media.ctwt-portrait-source .ctwt-video-thumb-frame video{max-height:320px!important}
