/* CapybaraMag Overhaul – design layer for Astra */
:root{
  --cm-bg:#fbf5ea;--cm-surface:#fffdf8;--cm-sand:#f1e4cc;--cm-line:#e8dcc7;
  --cm-ink:#2a211a;--cm-muted:#6b5b4d;
  --cm-brand:#2f5d50;--cm-brand-dark:#234840;--cm-accent:#c8663b;--cm-accent-soft:#f7e3d5;
  --cm-legal:#3f7d4e;--cm-permit:#c98a1c;--cm-banned:#b8472f;
  --cm-r:18px;--cm-r-sm:10px;
  --cm-head:"Caprasimo",Georgia,serif;--cm-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ast-global-color-0:#2f5d50;--ast-global-color-1:#234840;--ast-global-color-2:#2a211a;--ast-global-color-3:#3b2f25;
  --ast-global-color-4:#fbf5ea;--ast-global-color-5:#fffdf8;--ast-global-color-6:#f1e4cc;--ast-global-color-7:#e8dcc7;--ast-global-color-8:#6b5b4d;
}
.cm-system-fonts{--cm-head:Georgia,"Times New Roman",serif;--cm-body:system-ui,-apple-system,"Segoe UI",sans-serif}

/* Base */
body.cm-design{background:var(--cm-bg);color:var(--cm-ink);font-family:var(--cm-body);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
.cm-design h1,.cm-design h2,.cm-design h3,.cm-design h4,.cm-design .entry-title,.cm-design .site-title{font-family:var(--cm-head);font-weight:400;color:var(--cm-ink);letter-spacing:-.005em;line-height:1.2;text-wrap:balance}
.cm-design h4,.cm-design h5,.cm-design h6{font-family:var(--cm-body);font-weight:700}
.cm-design a{color:var(--cm-brand)}
.cm-design a:hover{color:var(--cm-accent)}
.cm-design ::selection{background:var(--cm-accent-soft)}
.cm-design :focus-visible{outline:3px solid var(--cm-accent);outline-offset:2px;border-radius:4px}
.cm-design .site-content,.cm-design.ast-separate-container,.cm-design .ast-separate-container{background:var(--cm-bg)}

/* Header (forced so old Customizer colors can't win) */
.cm-design .site-header,.cm-design .main-header-bar,.cm-design .ast-primary-header-bar,.cm-design .ast-above-header-bar,.cm-design .ast-above-header-wrap,.cm-design .ast-below-header-bar,.cm-design .ast-below-header-wrap,.cm-design .ast-main-header-wrap,.cm-design .ast-mobile-header-wrap .ast-primary-header-bar,.cm-design .ast-builder-menu-1,.cm-design .ast-builder-menu-1 .main-header-menu,.cm-design .main-header-bar-navigation,.cm-design .ast-builder-menu-1 .menu-item>.menu-link{background:var(--cm-surface)!important;background-image:none!important}
.cm-design .ast-primary-header-bar,.cm-design .main-header-bar{border-bottom:1px solid var(--cm-line)!important;box-shadow:none!important}
.cm-design .ast-above-header-bar,.cm-design .ast-below-header-bar{border:0!important}
.cm-design .ast-builder-menu-1 .main-header-menu>.menu-item>.menu-link,.cm-design .ast-builder-menu-1 .menu-item .ast-menu-toggle,.cm-design .ast-builder-menu-1 .menu-item>.menu-link .dropdown-menu-toggle{color:var(--cm-ink)!important}
.cm-design .ast-builder-menu-1 .main-header-menu>.menu-item:hover>.menu-link,.cm-design .ast-builder-menu-1 .main-header-menu>.current-menu-item>.menu-link{color:var(--cm-brand)!important}
.cm-design .ast-builder-menu-1 .main-header-menu .cm-menu-cta>.menu-link{background:var(--cm-accent)!important;color:#fff!important;height:auto;line-height:42px;align-self:center}
.cm-design .ast-mobile-menu-trigger-minimal,.cm-design .menu-toggle{color:var(--cm-ink)!important;background:transparent!important}
.cm-design .ast-mobile-popup-content,.cm-design .ast-mobile-popup-drawer .ast-mobile-popup-inner,.cm-design .ast-mobile-header-content{background:var(--cm-surface)!important}
.cm-design .ast-mobile-popup-content .menu-link{color:var(--cm-ink)!important}
.cm-design .ast-primary-header-bar{position:sticky;top:0;z-index:99}
.cm-design .site-title a,.cm-design .site-title a:hover{font-family:var(--cm-head);color:var(--cm-brand);font-size:28px}
.cm-design .main-header-menu>.menu-item>.menu-link{font-weight:600;font-size:16px;color:var(--cm-ink);padding:0 14px}
.cm-design .main-header-menu>.menu-item>.menu-link:hover,.cm-design .main-header-menu>.current-menu-item>.menu-link{color:var(--cm-brand)}
.cm-design .main-header-menu .sub-menu{background:var(--cm-surface);border:1px solid var(--cm-line)!important;border-radius:var(--cm-r-sm);box-shadow:0 12px 30px rgba(42,33,26,.1);padding:6px 0}
.cm-design .main-header-menu .sub-menu .menu-link{font-size:15px;color:var(--cm-ink);padding:9px 18px}
.cm-design .main-header-menu .sub-menu .menu-link:hover{background:var(--cm-bg);color:var(--cm-brand)}
.cm-design .main-header-menu .cm-menu-cta>.menu-link{background:var(--cm-accent);color:#fff!important;border-radius:999px;padding:0 20px;line-height:40px;margin-left:8px}
.cm-design .main-header-menu .cm-menu-cta>.menu-link:hover{background:#a9522c}
.cm-design .ast-mobile-popup-drawer .ast-mobile-popup-inner,.cm-design .ast-header-break-point .main-header-bar-navigation{background:var(--cm-surface)}

/* Single post */
.cm-design.ast-separate-container .ast-article-single,.cm-design.ast-separate-container .ast-article-post{background:var(--cm-surface);border:1px solid var(--cm-line);border-radius:var(--cm-r);padding:clamp(22px,4vw,52px)}
.cm-design .ast-single-post .entry-title,.cm-design.single .entry-title{font-size:clamp(32px,4.4vw,48px);margin-bottom:12px}
.cm-design .entry-meta,.cm-design .entry-meta *{color:var(--cm-muted);font-size:15px}
.cm-readtime::before{content:"·";margin:0 8px}
.cm-design.single-post .entry-content{max-width:72ch}
.cm-design.page .entry-content,.cm-design.home .entry-content{max-width:none}
.cm-design.home.page .site-content>.ast-container,.cm-design .cm-home{width:100%}
.cm-design.home .ast-article-single,.cm-design.home .ast-article-post{background:transparent!important;border:0!important;padding:0!important}
.cm-design .entry-content p,.cm-design .entry-content li{font-size:18.5px;line-height:1.75;text-wrap:pretty}
.cm-design .entry-content h2{font-size:clamp(26px,3vw,32px);margin:2em 0 .6em}
.cm-design .entry-content h3{font-size:clamp(21px,2.3vw,24px);margin:1.6em 0 .5em}
.cm-design .entry-content a{text-decoration:underline;text-decoration-color:rgba(47,93,80,.35);text-underline-offset:3px;text-decoration-thickness:2px}
.cm-design .entry-content a:hover{text-decoration-color:var(--cm-accent)}
.cm-design .entry-content img{border-radius:var(--cm-r-sm);height:auto}
.cm-design .entry-content blockquote{border-left:0;background:var(--cm-sand);border-radius:var(--cm-r-sm);padding:20px 24px;font-style:normal}
.cm-design .entry-content table{border-collapse:collapse;width:100%;font-size:16px;border-radius:var(--cm-r-sm);overflow:hidden}
.cm-design .entry-content th{background:var(--cm-brand);color:#fff;text-align:left}
.cm-design .entry-content th,.cm-design .entry-content td{padding:10px 14px;border:1px solid var(--cm-line)}
.cm-design .entry-content tr:nth-child(even) td{background:var(--cm-bg)}
.cm-design .post-thumb-img-content img,.cm-design .ast-single-post .post-thumb img{border-radius:var(--cm-r);width:100%}
/* Yoast / Easy TOC boxes */
.cm-design #ez-toc-container,.cm-design .wp-block-yoast-seo-table-of-contents{background:var(--cm-bg);border:1px solid var(--cm-line);border-radius:var(--cm-r-sm);padding:18px 22px;box-shadow:none;width:100%}
.cm-design .schema-faq-section{border-bottom:1px solid var(--cm-line);padding:14px 0}
.cm-design .schema-faq-question{font-weight:700;font-size:19px}

.cm-pill{display:inline-flex;gap:6px;align-items:center;background:var(--cm-accent-soft);border-radius:999px;padding:4px 14px;font-size:14px!important;margin:0 0 20px!important}
.cm-pill span{color:var(--cm-muted)}
.cm-pill a{font-weight:700;text-decoration:none!important}
.cm-disclosure{font-size:14px!important;color:var(--cm-muted);border-top:1px solid var(--cm-line);border-bottom:1px solid var(--cm-line);padding:8px 0}

/* Related */
.cm-related{margin-top:48px;padding-top:28px;border-top:2px solid var(--cm-line)}
.cm-related__h{font-family:var(--cm-head);font-size:26px;margin-bottom:16px}
.cm-related__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.cm-design .entry-content .cm-related a,.cm-design .entry-content .cm-grid a{text-decoration:none}

/* Cards & grids */
.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.cm-grid--list{grid-template-columns:1fr}
.cm-card{display:flex;flex-direction:column;gap:8px;background:var(--cm-surface);border:1px solid var(--cm-line);border-radius:var(--cm-r);overflow:hidden;color:var(--cm-ink)!important;text-decoration:none!important;transition:transform .15s ease,box-shadow .15s ease}
.cm-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(42,33,26,.09)}
.cm-card__img{display:block;aspect-ratio:16/10;background:var(--cm-sand);overflow:hidden}
.cm-card__img img{width:100%;height:100%;object-fit:cover;border-radius:0!important;margin:0!important}
.cm-card__t{font-weight:700;font-size:17px;line-height:1.35;padding:4px 16px 0}
.cm-card__m{font-size:14px;color:var(--cm-muted);padding:0 16px 16px;margin-top:auto}
.cm-grid--list .cm-card__t{padding-top:14px}

/* Blog / archive cards */
.cm-design.blog .ast-row,.cm-design.archive .ast-row,.cm-design.search .ast-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin:0}
.cm-design.blog .ast-row>article,.cm-design.archive .ast-row>article,.cm-design.search .ast-row>article{width:auto!important;max-width:none;padding:0!important;margin:0!important}
.cm-design.blog .ast-article-post .ast-article-inner,.cm-design.archive .ast-article-post .ast-article-inner{background:transparent}
.cm-design.blog .entry-title,.cm-design.archive .entry-title,.cm-design.search .entry-title{font-family:var(--cm-body);font-weight:700;font-size:19px;line-height:1.35}
.cm-design.blog .entry-title a,.cm-design.archive .entry-title a{color:var(--cm-ink)}
.cm-design .ast-archive-description{background:var(--cm-sand);border-radius:var(--cm-r);border:0;padding:clamp(24px,4vw,44px)}
.cm-design .ast-archive-description .ast-archive-title{font-size:clamp(30px,4vw,44px)}
.cm-design .ast-pagination .page-numbers{border-radius:999px;border:1px solid var(--cm-line);background:var(--cm-surface)}
.cm-design .ast-pagination .page-numbers.current{background:var(--cm-brand);color:#fff;border-color:var(--cm-brand)}

/* Sidebar */
.cm-design #secondary{font-size:16px}
.cm-side{background:var(--cm-surface);border:1px solid var(--cm-line);border-radius:var(--cm-r);padding:22px;margin-bottom:22px}
.cm-side p{margin-bottom:12px;line-height:1.55}
.cm-side__h{font-family:var(--cm-head);font-size:22px;line-height:1.2;color:var(--cm-ink)}
.cm-side__kicker{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cm-accent);margin-bottom:4px!important}
.cm-pop{list-style:none;margin:0;padding:0;counter-reset:p}
.cm-pop li{counter-increment:p;display:grid;grid-template-columns:34px 1fr;gap:6px;padding:10px 0;border-top:1px solid var(--cm-line)}
.cm-pop li:first-child{border-top:0}
.cm-pop li::before{content:counter(p);font-family:var(--cm-head);font-size:22px;color:var(--cm-accent);line-height:1.2}
.cm-pop a{color:var(--cm-ink);font-weight:600;line-height:1.4;text-decoration:none}
.cm-pop a:hover{color:var(--cm-brand)}
.cm-side--news{background:var(--cm-brand);border-color:var(--cm-brand);color:#fff}
.cm-side--news .cm-side__h{color:#fff}
.cm-side--shop{background:var(--cm-accent-soft);border-color:transparent}
.cm-side--laws{background:var(--cm-sand);border-color:transparent}
@media(min-width:922px){.cm-design #secondary .sidebar-main>.cm-side:last-of-type{position:sticky;top:100px}}

/* Buttons & forms */
.cm-btn,.cm-news button,.cm-search button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;background:var(--cm-accent);color:#fff!important;font-weight:700;font-size:16px;border:0;cursor:pointer;text-decoration:none!important}
.cm-btn:hover,.cm-news button:hover,.cm-search button:hover{background:#a9522c;color:#fff}
.cm-btn--ghost{background:transparent;color:var(--cm-brand)!important;border:2px solid var(--cm-brand)}
.cm-btn--ghost:hover{background:var(--cm-brand);color:#fff!important}
.cm-news,.cm-search{display:flex;gap:8px;flex-wrap:wrap}
.cm-news input,.cm-search input{flex:1 1 200px;min-height:46px;border-radius:999px;border:1px solid var(--cm-line);background:#fff;padding:0 18px;font-size:16px;color:var(--cm-ink)}
.cm-side--news .cm-news input{border-color:transparent}
.cm-news--compact input{min-height:42px}
.cm-hp{position:absolute!important;left:-9999px!important}
.cm-news__ok{font-weight:700}

/* Hub pages */
.cm-hero{padding:clamp(32px,6vw,72px) 0 clamp(24px,4vw,40px);max-width:780px}
.cm-hero__kicker{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cm-accent);margin-bottom:10px}
.cm-hero__t{font-size:clamp(36px,6vw,64px);margin:0 0 16px}
.cm-hero__intro{font-size:clamp(18px,2vw,21px);color:var(--cm-muted);line-height:1.6}
.cm-hero--home{max-width:860px}
.cm-hero--home .cm-search{margin-top:26px;max-width:560px}
.cm-block{margin:clamp(36px,5vw,64px) 0}
.cm-block__h{font-size:clamp(26px,3vw,34px);margin-bottom:20px}
.cm-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:12px 0 0}
.cm-topic{position:relative;display:flex;flex-direction:column;gap:8px;padding:26px 24px 56px;border-radius:var(--cm-r);color:var(--cm-ink)!important;text-decoration:none!important;transition:transform .15s}
.cm-topic:hover{transform:translateY(-3px)}
.cm-topic--0{background:#dde9df}.cm-topic--1{background:var(--cm-accent-soft)}.cm-topic--2{background:var(--cm-sand)}.cm-topic--3{background:#e7e1f0}
.cm-topic__t{font-family:var(--cm-head);font-size:30px}
.cm-topic__d{font-size:16px;line-height:1.5;color:var(--cm-muted)}
.cm-topic__go{position:absolute;left:24px;bottom:20px;font-size:22px;color:var(--cm-brand)}
.cm-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(20px,4vw,48px);align-items:center;background:var(--cm-surface);border:1px solid var(--cm-line);border-radius:var(--cm-r);padding:clamp(22px,4vw,44px);margin:clamp(36px,5vw,64px) 0}
.cm-band--news{background:var(--cm-brand);border-color:var(--cm-brand);color:#fff}
.cm-band--news .cm-block__h{color:#fff}
@media(max-width:760px){.cm-band{grid-template-columns:1fr}}

/* State map */
.cm-map{margin:10px 0 30px}
.cm-map__tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}
.cm-map__tools input{flex:1 1 220px;min-height:46px;border-radius:999px;border:1px solid var(--cm-line);padding:0 18px;background:#fff}
.cm-map__filters{display:flex;gap:6px;flex-wrap:wrap}
.cm-map__filters button{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--cm-line);background:var(--cm-surface);color:var(--cm-ink);font-weight:600;cursor:pointer}
.cm-map__filters button.is-on{background:var(--cm-ink);color:#fff;border-color:var(--cm-ink)}
.cm-map__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;max-width:720px}
.cm-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-weight:700;font-size:clamp(10px,1.6vw,15px);color:#fff!important;text-decoration:none!important;transition:transform .12s,opacity .2s}
.cm-tile:hover{transform:scale(1.12);z-index:1}
.cm-tile.is-dim{opacity:.18}
.cm-s-legal.cm-tile,.cm-legend .cm-s-legal::before,.cm-badge.cm-s-legal{background:var(--cm-legal)}
.cm-s-permit.cm-tile,.cm-legend .cm-s-permit::before,.cm-badge.cm-s-permit{background:var(--cm-permit)}
.cm-s-banned.cm-tile,.cm-legend .cm-s-banned::before,.cm-badge.cm-s-banned{background:var(--cm-banned)}
.cm-s-permit.cm-tile,.cm-badge.cm-s-permit{color:#2a211a!important}
.cm-legend{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:14px 0 0;padding:0;font-size:15px}
.cm-legend li{display:flex;align-items:center;gap:8px}
.cm-legend li::before{content:"";width:14px;height:14px;border-radius:4px}
.cm-band--news .cm-legend,.cm-band .cm-legend{color:inherit}
.cm-table{width:100%;border-collapse:collapse;margin-top:28px;font-size:16px}
.cm-table th,.cm-table td{padding:10px 12px;border-bottom:1px solid var(--cm-line);text-align:left}
.cm-table th{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--cm-muted)}
.cm-badge{display:inline-block;padding:3px 10px;border-radius:999px;color:#fff;font-size:13px;font-weight:700;white-space:nowrap}

/* Reading progress */
.cm-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--cm-accent);z-index:1000;pointer-events:none}

/* Footer */
.cm-footer{background:var(--cm-ink);color:#e9dfd2;padding:clamp(40px,6vw,72px) 20px 30px}
.cm-footer__in{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:32px}
.cm-footer__logo{font-family:var(--cm-head);font-size:30px;color:#fff;margin-bottom:8px}
.cm-footer__brand p{color:#d6c9b9;font-size:16px}
.cm-footer__h{font-weight:700;color:#fff;margin-bottom:10px;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.cm-footer ul{list-style:none;margin:0;padding:0}
.cm-footer li{margin:0 0 8px}
.cm-footer a{color:#e9dfd2;text-decoration:none;font-size:16px}
.cm-footer a:hover{color:#f3b48f}
.cm-footer .cm-news{margin-top:16px}
@media(max-width:900px){.cm-footer__in{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-footer__brand{grid-column:1/-1}}
.cm-design .site-below-footer-wrap,.cm-design .ast-small-footer{background:#1f1812!important;color:#bfb1a1;border:0}
.cm-design .site-below-footer-wrap a{color:#e9dfd2}

.cm-ad{margin:28px 0;text-align:center;min-height:250px}
.cm-ad--side{min-height:600px}
@media(max-width:544px){body.cm-design{font-size:17px}.cm-design .entry-content p,.cm-design .entry-content li{font-size:17.5px}}
@media(prefers-reduced-motion:reduce){.cm-card,.cm-topic,.cm-tile{transition:none}}
