/*
Theme Name: Rootly Urban
Theme URI: https://www.cpagardens.com/
Description: A bold, high-contrast editorial alternate theme for Rootly-managed WordPress sites — same content and dynamic features as Rootly Standard/Modern, with a dark accordion-style menu, a split-screen hero with a vertical headline ticker, and a magazine-style article layout with a bold block category sidebar.
Author: Rootly
Version: 1.0
*/
:root{
  --ink:#20312b;--green:#417505;--cream:#f7f5ed;--line:#dfe7db;--muted:#68736b;
  /* This theme's bold blocks/accent are driven by the site's own configured
     Site Identity colors, not a fixed black/orange — --urban-black and
     --urban-accent are just this theme's naming for "the site's ink" and
     "the site's accent," so every Rootly theme stays visually on-brand
     for whatever a client sets. */
  --urban-black:var(--ink);--urban-accent:var(--green);
}
*{box-sizing:border-box}
/* Site Fonts (Rootly Site Fonts plugin) exposes --rootly-font-* /
   --rootly-*-size vars globally; fall back to sane defaults if that
   plugin isn't active. The plugin also applies its own !important
   body{} rule site-wide, this just keeps things correct without it. */
body{margin:0;color:var(--urban-black);font-family:var(--rootly-font-body,"Helvetica Neue",Arial,sans-serif);font-size:var(--rootly-body-size,16px);line-height:var(--rootly-line-height,1.6);background:#fff}
a{color:var(--urban-accent);text-decoration:none}
.wrap{max-width:1220px;margin:auto;padding-left:24px;padding-right:24px}

/* ---- Header: dark full-bleed bar, uppercase links, accordion submenus ---- */
.urban-header{background:var(--urban-black);color:#fff}
.urban-topline{font-size:var(--rootly-small-size,11px);color:#9a9a9e;border-bottom:1px solid #232326}
.urban-topline .wrap{display:flex;justify-content:flex-end;gap:20px;padding:6px 24px}
.urban-header-main{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 24px}
.urban-brand{color:#fff}
.urban-brand strong{display:block;font-family:var(--rootly-font-heading,inherit);font-size:22px;text-transform:uppercase;letter-spacing:1px}
.urban-brand small{display:block;text-transform:uppercase;letter-spacing:2px;font-size:var(--rootly-small-size,10px);color:#9a9a9e}
.urban-brand-logo{max-height:44px;display:block;filter:brightness(0) invert(1)}
.urban-menu{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.urban-menu>li{position:relative}
.urban-menu>li>a{display:block;padding:10px 16px;color:#fff;font-size:var(--rootly-menu-size,12.5px);text-transform:uppercase;letter-spacing:1.5px;font-weight:700}
.urban-menu>li>a:hover,.urban-menu>li.current-menu-item>a{background:var(--urban-accent)}
.urban-menu>li.menu-item-has-children>a::after{content:'+';margin-left:8px}
.urban-menu>li.menu-item-has-children>a[aria-expanded="true"]::after{content:'−'}
.urban-menu .sub-menu{display:none;list-style:none;margin:0;padding:0;background:#1a1a1d}
.urban-menu li.submenu-open>.sub-menu{display:block}
.urban-menu .sub-menu a{display:block;padding:10px 16px;color:#d8d8da;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.urban-menu .sub-menu a:hover{color:var(--urban-accent)}
.urban-menu-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.urban-burger{display:flex;flex-direction:column;gap:5px;width:26px}
.urban-burger span{height:2px;background:#fff;transition:transform .25s ease,opacity .25s ease}
.urban-menu-toggle.is-open .urban-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.urban-menu-toggle.is-open .urban-burger span:nth-child(2){opacity:0}
.urban-menu-toggle.is-open .urban-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  .urban-menu-toggle{display:block}
  .urban-primary-nav{display:none;width:100%}
  .urban-primary-nav.is-open{display:block}
  .urban-header-main{flex-wrap:wrap}
  .urban-menu{flex-direction:column;width:100%}
}
body.urban-nav-locked{overflow:hidden}

/* ---- Hero: asymmetric split, vertical headline ticker ---- */
.urban-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:520px}
.urban-hero-panel{background:var(--urban-black);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:60px 56px;position:relative;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.urban-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:var(--rootly-small-size,11px);color:var(--urban-accent);font-weight:700}
.urban-hero h1{font-family:var(--rootly-font-heading,inherit);font-size:var(--rootly-heading-size,clamp(30px,5vw,52px));line-height:1.08;margin:16px 0 20px;text-transform:uppercase;letter-spacing:-.01em}
.urban-hero p{font-size:16px;color:#c9c9cc;max-width:460px;margin:0 0 26px}
.urban-button{display:inline-block;background:var(--urban-accent);color:#fff!important;padding:14px 26px;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:13px}
.urban-hero-ticker{position:relative;overflow:hidden;background:var(--ink)}
.rootly-home-slider{display:flex;flex-direction:column;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.rootly-home-slide{flex:0 0 100%;height:520px;background-size:cover;background-position:center;position:relative}
.rootly-home-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,16,.15),rgba(14,14,16,.55))}
.rootly-home-dots{display:none}
.urban-ticker-index{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:2}
.urban-ticker-index button{width:8px;height:8px;border-radius:0;border:1px solid #fff;background:transparent;padding:0;cursor:pointer}
.urban-ticker-index button.is-active{background:var(--urban-accent);border-color:var(--urban-accent)}
@media(max-width:900px){.urban-hero{grid-template-columns:1fr}.urban-hero-panel{clip-path:none;padding:44px 24px}.rootly-home-slide{height:320px}}

/* ---- Two-column layout: content + bold block right sidebar ---- */
.urban-two-col{display:grid;grid-template-columns:1fr 260px;gap:0;padding:0}
.urban-main-col{padding:56px 40px 56px 0}
.urban-main-col h1{font-family:var(--rootly-font-heading,inherit);font-size:clamp(28px,4vw,42px);line-height:1.1;margin:0 0 10px;text-transform:uppercase}
.urban-article-published{color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:1px}
.urban-article-tags{margin:16px 0}
.urban-tag{display:inline-block;background:var(--urban-black);color:#fff;padding:5px 12px;font-size:11px;letter-spacing:1px;margin-right:6px}
.urban-article-featured{width:100%;height:auto;margin:20px 0;display:block}
.urban-article-body h2{font-family:var(--rootly-font-heading,inherit);font-size:26px;margin-top:34px;text-transform:uppercase}
.urban-listing-heading{font-family:var(--rootly-font-heading,inherit);font-size:26px;margin:0 0 24px;border-bottom:4px solid var(--urban-black);padding-bottom:12px}

.urban-sidebar{border-left:4px solid var(--urban-black)}
.urban-sidebar-sticky{position:sticky;top:20px;display:flex;flex-direction:column}
.urban-category-block{border-bottom:1px solid #e3e3e5}
.urban-category-block a{display:flex;justify-content:space-between;gap:8px;padding:16px 20px;color:var(--urban-black);font-size:12.5px;font-weight:700;letter-spacing:.5px}
.urban-category-block:hover{background:var(--urban-black)}
.urban-category-block:hover a{color:#fff}
.urban-category-block.is-current{background:var(--urban-accent)}
.urban-category-block.is-current a{color:#fff!important}
.urban-category-count{color:var(--muted);font-weight:400}
.urban-category-block.is-current .urban-category-count,.urban-category-block:hover .urban-category-count{color:#e6e6e6}

/* ---- Magazine-style article list: big feature + dense list ---- */
.urban-article-list{display:flex;flex-direction:column}
.urban-article-item{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
.urban-article-item.is-feature{grid-template-columns:1fr;border-left:6px solid var(--urban-accent);padding:0 0 30px 20px;margin-bottom:10px}
.urban-item-thumb{width:100%;height:130px;object-fit:cover;display:block}
.urban-article-item.is-feature .urban-item-thumb{height:320px}
.urban-item-body h3{font-family:var(--rootly-font-heading,inherit);font-size:18px;margin:0 0 6px}
.urban-article-item.is-feature h3{font-size:30px;text-transform:uppercase}
.urban-item-body p{margin:8px 0 0;color:#3a3a3d;font-size:14.5px}
.urban-pagination{margin-top:30px;display:flex;gap:10px}
.urban-pagination a,.urban-pagination span{padding:8px 12px;border:1px solid var(--urban-black);font-size:13px}

.urban-plain-page{padding:56px 24px;max-width:820px;margin:auto}

/* ---- Contact form (raw markup embedded in the Contact page content,
   not a theme template — class names below are shared boilerplate used
   on every Rootly site's Contact page: .demo-contact / .button-link) ---- */
.demo-contact p{margin:0 0 18px}
.demo-contact label{display:block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--urban-black);margin-bottom:8px}
.demo-contact input,.demo-contact textarea{width:100%;max-width:560px;padding:13px 14px;border:2px solid var(--urban-black);border-radius:0;font:inherit;font-size:15px;background:#fff}
.demo-contact input:focus,.demo-contact textarea:focus{outline:2px solid var(--urban-accent);outline-offset:2px}
.button-link{display:inline-block;background:var(--urban-accent);color:#fff!important;text-decoration:none;padding:14px 26px;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:13px;border:0;cursor:pointer;margin-top:6px}
.button-link:hover{background:var(--urban-black)}

/* ---- Footer ---- */
.urban-footer{margin-top:0;background:var(--urban-black);color:#fff;padding:56px 0 26px}
.urban-footer a{color:#fff}
.urban-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.urban-footer-grid h3{font-family:var(--rootly-font-heading,inherit);text-transform:uppercase;letter-spacing:1px}
.urban-footer-contact{color:#c9c9cc}
.urban-footer-meta{margin-top:36px;padding-top:20px;border-top:1px solid #232326;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:#8c8c90;text-transform:uppercase;letter-spacing:.5px}
.urban-footer-legal a{color:#8c8c90;margin:0 6px}

@media(max-width:900px){
  .urban-two-col{grid-template-columns:1fr}
  .urban-main-col{padding:36px 20px}
  .urban-sidebar{border-left:0;border-top:4px solid var(--urban-black)}
  .urban-sidebar-sticky{position:static}
  .urban-article-item{grid-template-columns:1fr}
  .urban-footer-grid{grid-template-columns:1fr}
}
