/*
Theme Name: CITA Meridian
Theme URI: https://conservationintheamericas.org/
Author: Rotary Club of Newport Beach
Description: Custom theme for Conservation in the Americas. A shared header, navigation and footer frame every page; each page keeps its own design in its editable content.
Version: 1.0
Requires at least: 6.0
Update URI: false
Text Domain: citameridian
*/
:root{
  color-scheme:dark;
  --cx-bg:#101B1F;--cx-surface:#16262B;--cx-band:#0D171A;
  --cx-ink:#F3EFE6;--cx-ink-soft:#D9D6CC;--cx-muted:#A3B5B2;
  --cx-line:rgba(243,239,230,.12);--cx-line-strong:rgba(243,239,230,.28);
  --cx-pink:#F2798B;--cx-pink-soft:rgba(242,121,139,.12);--cx-on-pink:#1A0F12;
  --cx-gold:#F3C15B;--cx-jade:#8AD0B8;--cx-jade-soft:rgba(138,208,184,.13);--cx-jade-deep:#173A33;
  --cx-glow:rgba(242,121,139,.16);
  --cx-display:"Epilogue","Helvetica Neue",Arial,sans-serif;
  --cx-body:"Alegreya Sans","Helvetica Neue",Arial,sans-serif;
  --cx-mono:"Azeret Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--cx-bg:#0A1316;--cx-surface:#112024;--cx-band:#081013;--cx-jade-deep:#12302A}}
:root[data-theme="dark"]{--cx-bg:#0A1316;--cx-surface:#112024;--cx-band:#081013;--cx-jade-deep:#12302A}

/* Page designs that carry their own tokens are mapped onto the theme palette */
html:root{
  --bg:var(--cx-bg);--ink:var(--cx-ink);--muted:var(--cx-muted);--line:var(--cx-line);
  --macaw:var(--cx-pink);--glow:var(--cx-gold);--leaf:var(--cx-jade);
  --sans:var(--cx-body);--mono:var(--cx-mono);
}
*{box-sizing:border-box}
html{background:var(--cx-bg);-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--cx-bg);color:var(--cx-ink);font-family:var(--cx-body);font-size:17px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--cx-gold);outline-offset:3px}
.cx-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--cx-gold);color:#1A0F12;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.cx-skip:focus{top:12px}
.cx-in{max-width:1180px;margin:0 auto;padding-inline:20px}

/* header */
.cx-head{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--cx-bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px);border-bottom:1px solid var(--cx-line)}
.cx-head .cx-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.cx-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.cx-brand svg{flex:none}
.cx-brand b{display:block;font-family:var(--cx-display);font-weight:800;font-size:20px;letter-spacing:-.02em;line-height:1}
.cx-brand small{display:block;font-family:var(--cx-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cx-muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-nav{display:flex;align-items:center;gap:4px}
.cx-nav a{text-decoration:none;font-size:15px;font-weight:600;color:var(--cx-muted);padding:8px 12px;border-radius:999px}
.cx-nav a:hover,.cx-nav a[aria-current="page"]{color:var(--cx-ink);background:var(--cx-surface)}
.cx-nav a.cx-cta{background:var(--cx-pink);color:var(--cx-on-pink);margin-left:6px}
.cx-nav a.cx-cta:hover{background:var(--cx-gold);color:var(--cx-on-pink)}
.cx-menu{display:none;position:relative}
.cx-menu summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--cx-line-strong)}
.cx-menu summary::-webkit-details-marker{display:none}
.cx-menu summary span,.cx-menu summary span::before,.cx-menu summary span::after{display:block;width:18px;height:2px;background:var(--cx-ink);border-radius:2px;position:relative}
.cx-menu summary span::before,.cx-menu summary span::after{content:"";position:absolute;left:0}
.cx-menu summary span::before{top:-6px}.cx-menu summary span::after{top:6px}
.cx-menu[open] summary span{background:transparent}
.cx-menu[open] summary span::before{top:0;transform:rotate(45deg)}
.cx-menu[open] summary span::after{top:0;transform:rotate(-45deg)}
.cx-drop{position:absolute;right:0;top:54px;width:min(300px,calc(100vw - 32px));padding:10px;border-radius:16px;background:var(--cx-surface);border:1px solid var(--cx-line-strong);box-shadow:0 20px 50px rgba(0,0,0,.45);display:grid;gap:2px}
.cx-drop a{display:block;padding:12px 14px;border-radius:10px;text-decoration:none;font-weight:600}
.cx-drop a:hover,.cx-drop a[aria-current="page"]{background:var(--cx-bg);color:var(--cx-pink)}
@media (max-width:800px){
  .cx-nav a:not(.cx-cta){display:none}
  .cx-menu{display:block}
  .cx-head .cx-in{gap:10px}
}
@media (max-width:420px){.cx-brand small{display:none}.cx-nav a.cx-cta{padding:8px 12px;font-size:14px}}

/* canvas for pages that carry their own design */
.cx-canvas{display:block;min-height:50vh}
.cx-canvas header.nav,.cx-canvas>footer{display:none!important}
.cx-canvas h1,.cx-canvas h2,.cx-canvas h3,.cx-canvas h4{font-family:var(--cx-display);letter-spacing:-.02em}
.cx-canvas h1{font-weight:800}
.cx-canvas .hero{background:radial-gradient(800px 380px at 90% 0%,var(--cx-glow),transparent 65%)!important}
.cx-canvas .controls input,.cx-canvas .controls select{background:var(--cx-surface)!important;color:var(--cx-ink)!important;border-color:var(--cx-line-strong)!important;min-height:44px}
.cx-canvas th{background:var(--cx-surface)!important}
.cx-canvas .tablewrap{background:var(--cx-surface)!important}
.cx-canvas .opt{background:var(--cx-surface)!important}
.cx-canvas .mina{border-color:var(--cx-pink)!important;background:radial-gradient(600px 260px at 90% 0%,var(--cx-jade-soft),transparent 60%),var(--cx-surface)!important}
.cx-canvas .visit{background:linear-gradient(135deg,var(--cx-jade-deep),var(--cx-surface) 70%)!important}
.cx-canvas .visit .go:hover{color:var(--cx-bg)!important}
.cx-canvas tr.ours{background:linear-gradient(90deg,var(--cx-pink-soft),transparent 60%)!important}
.cx-canvas .type,.cx-canvas .tag{font-family:var(--cx-mono)}
.cx-canvas td.web a{color:var(--cx-pink)}
.cx-canvas .steps li::before{color:var(--cx-on-pink)!important}
.cx-canvas .wrap{max-width:1180px}

/* plain pages, posts, archives */
.cx-band{padding:clamp(40px,7vw,80px) 0 clamp(28px,4vw,44px);border-bottom:1px solid var(--cx-line);background:radial-gradient(700px 300px at 90% 0%,var(--cx-glow),transparent 70%)}
.cx-band .kicker{font-family:var(--cx-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--cx-jade);margin:0 0 10px}
.cx-band h1{font-family:var(--cx-display);font-weight:800;font-size:clamp(34px,5.6vw,64px);line-height:1.02;letter-spacing:-.03em;margin:0;text-wrap:balance}
.cx-band .meta{color:var(--cx-muted);margin:12px 0 0;font-size:15px}
.cx-prose{max-width:760px;margin:0 auto;padding:40px 20px 72px}
.cx-prose>*{margin-block:0 1.1em}
.cx-prose h2,.cx-prose h3,.cx-prose h4{font-family:var(--cx-display);letter-spacing:-.02em;line-height:1.15;margin-top:1.6em}
.cx-prose h2{font-size:clamp(26px,3.4vw,36px)}.cx-prose h3{font-size:22px}
.cx-prose a{color:var(--cx-pink);text-underline-offset:3px}
.cx-prose blockquote{margin-inline:0;padding:4px 0 4px 20px;border-left:3px solid var(--cx-pink);color:var(--cx-ink-soft);font-size:1.1em}
.cx-prose ul,.cx-prose ol{padding-left:1.3em}
.cx-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.cx-prose th,.cx-prose td{padding:10px;border-bottom:1px solid var(--cx-line);text-align:left}
.cx-prose code,.cx-prose pre{font-family:var(--cx-mono);font-size:.9em}
.cx-prose pre{overflow-x:auto;padding:16px;border-radius:12px;background:var(--cx-surface)}
.cx-prose img{border-radius:14px}
.cx-prose figcaption,.wp-element-caption{font-size:14px;color:var(--cx-muted);margin-top:8px}
.alignwide{width:min(1100px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.alignleft{float:left;margin:0 1.2em 1em 0}.alignright{float:right;margin:0 0 1em 1.2em}.aligncenter{margin-inline:auto}
.wp-block-image img{height:auto;border-radius:14px}
.wp-block-columns{display:flex;gap:24px;flex-wrap:wrap}
.wp-block-column{flex:1 1 240px;min-width:0}
.wp-block-buttons{display:flex;gap:10px;flex-wrap:wrap}
.wp-block-button__link,.cx-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 20px;border-radius:999px;background:var(--cx-pink);color:var(--cx-on-pink)!important;text-decoration:none;font-weight:700}
.wp-block-button__link:hover,.cx-btn:hover{background:var(--cx-gold)}
.is-style-outline .wp-block-button__link{background:transparent;border:1.5px solid var(--cx-pink);color:var(--cx-pink)!important}
.wp-block-separator{border:0;border-top:1px solid var(--cx-line);margin-block:2em}
.wp-block-quote{border-left:3px solid var(--cx-pink);padding-left:20px}
.wp-block-embed iframe,.wp-block-video video{max-width:100%}
.cx-list{max-width:900px;margin:0 auto;padding:36px 20px 72px;display:grid;gap:14px}
.cx-card{padding:22px;border-radius:18px;background:var(--cx-surface);border:1px solid var(--cx-line)}
.cx-card h2{font-family:var(--cx-display);font-size:22px;margin:0 0 6px;letter-spacing:-.01em}
.cx-card h2 a{text-decoration:none}.cx-card h2 a:hover{color:var(--cx-pink)}
.cx-card p{color:var(--cx-muted);margin:0}
.cx-pager{display:flex;justify-content:space-between;gap:12px}
.cx-pager a{color:var(--cx-pink)}
.cx-search{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.cx-search input{flex:1 1 220px;min-width:0;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--cx-line-strong);background:var(--cx-surface);color:var(--cx-ink);font:inherit}
.cx-search button{min-height:44px;padding:8px 18px;border-radius:999px;border:0;background:var(--cx-pink);color:var(--cx-on-pink);font:inherit;font-weight:700;cursor:pointer}

/* footer */
.cx-foot{border-top:1px solid var(--cx-line);background:var(--cx-band);padding:56px 0 28px!important;color:var(--cx-muted);font-size:15px}
.cx-foot .cols{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:32px}
.cx-foot h2{font-family:var(--cx-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--cx-jade);margin:0 0 12px}
.cx-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cx-foot a{color:var(--cx-ink);text-decoration:none}
.cx-foot a:hover{color:var(--cx-pink);text-decoration:underline}
.cx-foot .about b{display:block;font-family:var(--cx-display);font-size:22px;color:var(--cx-ink);margin:10px 0 6px;letter-spacing:-.02em}
.cx-foot .about p{margin:0 0 8px;max-width:40ch}
.cx-foot .mail{color:var(--cx-pink);font-weight:700;overflow-wrap:anywhere}
.cx-foot .base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--cx-line);font-size:13px}
@media (max-width:860px){.cx-foot .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cx-foot .about{grid-column:1/-1}}
@media (max-width:480px){.cx-foot .cols{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
