/* DevWander v0.3.10 — Stories + shared pages */

/* Stories */
.dw-stories-archive{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:clamp(64px,8vw,104px) 0 100px}
.dw-stories-intro{max-width:820px;margin-bottom:34px}
.dw-stories-title{margin:0;letter-spacing:-.055em;font-size:clamp(3.4rem,8vw,6.5rem);line-height:.95}
.dw-stories-description{max-width:760px;margin:22px 0 0;color:var(--dw-muted);font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.7}
.dw-story-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 44px;padding:0}
.dw-story-filters a{display:inline-flex;padding:9px 15px;border:1px solid var(--dw-line);border-radius:999px;text-decoration:none;color:var(--dw-text);font-size:.8rem;font-weight:750;transition:.2s ease}
.dw-story-filters a:hover,.dw-story-filters a.is-active{background:var(--dw-green);border-color:var(--dw-green);color:#fff}
.dw-stories-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:52px;align-items:start}
.dw-stories-feed{min-width:0;width:100%}
.dw-stories-feed .wp-block-query{width:100%!important;max-width:none!important;margin:0!important}
.dw-stories-feed .wp-block-post-template{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.dw-stories-feed .wp-block-post-template>li{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important}
.dw-story-card{display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:360px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;border:1px solid var(--dw-line);border-radius:24px;overflow:hidden;background:var(--dw-surface);box-shadow:0 12px 40px rgba(21,23,20,.055);transition:transform .2s ease,box-shadow .2s ease}
.dw-story-card:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(21,23,20,.1)}
.dw-story-card.is-layout-constrained>*{max-width:none!important}
.dw-story-card .wp-block-post-featured-image{width:100%!important;max-width:none!important;margin:0!important;aspect-ratio:16/9;background:var(--dw-surface-soft);overflow:hidden}
.dw-story-card .wp-block-post-featured-image img{display:block;width:100%;height:100%;object-fit:cover}
.dw-story-card .wp-block-post-featured-image:empty{display:none!important}
.dw-story-card-body{display:flex;flex:1;flex-direction:column;width:100%;max-width:none!important;box-sizing:border-box;padding:26px 28px 24px}
.dw-story-category{margin:0 0 12px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dw-story-card .wp-block-post-title{margin:0;max-width:none!important;font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.16;letter-spacing:-.035em;word-break:normal;overflow-wrap:normal;hyphens:none}
.dw-story-card .wp-block-post-title a{text-decoration:none;color:inherit;display:block;word-break:normal;overflow-wrap:normal;hyphens:none}
.dw-story-card .wp-block-post-excerpt{margin:14px 0 0;max-width:60ch!important;color:var(--dw-muted);line-height:1.65}
.dw-story-tags{display:flex;flex-wrap:wrap;gap:7px;margin:auto 0 0!important;padding-top:20px;font-size:.72rem}
.dw-story-tags a{display:inline-flex;padding:5px 9px;border:1px solid var(--dw-line);border-radius:999px;text-decoration:none;color:var(--dw-muted);transition:.18s ease}
.dw-story-tags a:hover{border-color:var(--dw-green);color:var(--dw-green);background:var(--dw-surface-soft)}
.dw-story-tags .wp-block-post-terms__separator{display:none}
.dw-story-card .wp-block-post-date{margin-top:16px;color:var(--dw-muted);font-size:.72rem}
.dw-story-sidebar{position:sticky;top:100px;padding-left:26px;border-left:1px solid var(--dw-line)}
.dw-story-sidebar h2{margin:0 0 18px;font-size:1.45rem;letter-spacing:-.03em}
.dw-topic-cloud{display:flex!important;flex-wrap:wrap;gap:8px;line-height:1.2}
.dw-topic-cloud a{display:inline-flex;font-size:.72rem!important;text-decoration:none;border:1px solid var(--dw-line);border-radius:999px;padding:6px 9px;color:var(--dw-muted);transition:.18s ease}
.dw-topic-cloud a:hover{border-color:var(--dw-green);color:var(--dw-green);background:var(--dw-surface-soft)}
.dw-story-empty{grid-column:1/-1;margin:8px 0 0;padding:clamp(32px,6vw,64px);border:1px dashed var(--dw-line);border-radius:var(--dw-radius);background:var(--dw-surface-soft)}
.dw-story-empty h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em}
.dw-story-empty p:not(.dw-section-label){max-width:600px;color:var(--dw-muted);line-height:1.7}
.dw-empty-link{display:inline-block;margin-top:14px;padding:10px 15px;border-radius:999px;background:var(--dw-green);color:#fff!important;font-size:.76rem;font-weight:800;text-decoration:none}

/* Legacy database-saved page templates */
body.page #wp--skip-link--target.wp-block-group{width:min(1160px,calc(100% - 40px));margin:0 auto!important;padding:clamp(64px,8vw,104px) 0 96px}
body.page #wp--skip-link--target>.wp-block-post-title{max-width:900px;margin:0 0 48px!important;font-size:clamp(3.2rem,7vw,6rem)!important;line-height:.95!important;letter-spacing:-.065em!important;font-weight:750!important}
body.page #wp--skip-link--target>.entry-content{width:min(100%,820px)!important;max-width:820px!important;margin:0!important;font-size:1.02rem;line-height:1.8}
body.page #wp--skip-link--target>.entry-content h2{margin:52px 0 18px!important;font-size:clamp(1.55rem,3vw,2.35rem)!important;line-height:1.08!important;letter-spacing:-.04em}
body.page #wp--skip-link--target>.entry-content h2:first-child{margin-top:0!important}
body.page #wp--skip-link--target>.entry-content p{margin:0 0 22px;line-height:1.8}
body.page #wp--skip-link--target>.entry-content ul,body.page #wp--skip-link--target>.entry-content ol{margin:0 0 24px;padding-left:1.35em}
body.page #wp--skip-link--target>.entry-content a{color:var(--dw-green);text-underline-offset:3px}

/* Pages */
.dw-page-shell{width:min(1160px,calc(100% - 40px));margin:0 auto!important;padding:clamp(64px,8vw,104px) 0 96px}
.dw-page-title{margin:0 0 48px!important;font-size:clamp(3.2rem,7vw,6rem)!important;line-height:.95!important;letter-spacing:-.065em!important;font-weight:750!important}
.dw-page-content{width:min(100%,820px)!important;max-width:820px!important;margin:0!important;font-size:1.02rem;line-height:1.8}
.dw-page-content h2{margin:52px 0 18px!important;font-size:clamp(1.55rem,3vw,2.35rem)!important;line-height:1.08!important;letter-spacing:-.04em}
.dw-page-content h3{margin:36px 0 14px!important}
.dw-page-content p,.dw-page-content li{line-height:1.8}
.dw-page-content p{margin:0 0 22px}
.dw-page-content ul,.dw-page-content ol{margin:0 0 24px;padding-left:1.35em}
.dw-page-content a{color:var(--dw-green);text-underline-offset:3px}
.dw-page-content em{color:var(--dw-muted)}
.dw-policy-page .dw-page-content{max-width:800px!important}
.dw-contact-page .dw-page-content{max-width:760px!important}
.dw-about-page .dw-page-content{max-width:820px!important}

/* Footer */
.dw-footer-shell{background:var(--dw-bg)!important;color:var(--dw-text)!important;border-top:1px solid var(--dw-line)!important}
.dw-footer-shell .dw-footer-inner{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:64px 0 56px;display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr) minmax(180px,.7fr);gap:48px;align-items:start;box-sizing:border-box}
.dw-footer-brand{display:flex;align-items:flex-start;gap:18px;min-width:0}
.dw-footer-logo{width:42px;height:42px;flex:0 0 42px;color:var(--dw-text);margin-top:2px}
.dw-footer-logo svg{display:block;width:100%;height:100%}
.dw-footer-name{margin:0;color:var(--dw-text);font-size:clamp(2rem,3vw,2.55rem);line-height:.95;font-weight:800;letter-spacing:-.06em;white-space:nowrap}
.dw-footer-description{max-width:390px;margin:16px 0 0;color:var(--dw-muted);font-size:.92rem;line-height:1.65}
.dw-footer-nav{display:grid!important;grid-template-columns:repeat(2,minmax(90px,1fr));gap:14px 30px!important;margin:0!important;padding:4px 0 4px 36px!important;border-left:1px solid var(--dw-line);box-sizing:border-box}
.dw-footer-nav a{color:var(--dw-text);text-decoration:none;font-size:.9rem}
.dw-footer-nav a:hover{color:var(--dw-green)}
.dw-footer-bottom{margin:0!important;padding:4px 0 0!important;color:var(--dw-muted);font-size:.82rem;line-height:1.6}
html.dw-theme-light .dw-footer-shell,html.dw-theme-dark .dw-footer-shell{background:var(--dw-bg)!important;color:var(--dw-text)!important}

/* Responsive */
@media(max-width:1000px){
  .dw-stories-layout{grid-template-columns:1fr}
  .dw-story-sidebar{position:static;padding:28px 0 0;border-left:0;border-top:1px solid var(--dw-line)}
  .dw-footer-shell .dw-footer-inner{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:36px}
  .dw-footer-bottom{grid-column:1/-1}
  .dw-footer-nav{padding-left:28px!important}
}
@media(max-width:760px){
  .dw-stories-feed .wp-block-post-template{grid-template-columns:1fr!important}
}
@media(max-width:680px){
  .dw-stories-archive{width:min(100% - 32px,1240px);padding:54px 0 72px}
  .dw-stories-title{font-size:clamp(3rem,15vw,5rem)}
  .dw-story-card{min-height:320px!important;border-radius:20px}
  .dw-story-card-body{padding:22px 20px}
  .dw-story-filters{margin-bottom:30px}
  .dw-page-shell{width:min(100% - 32px,1160px);padding:52px 0 72px}
  .dw-page-title{font-size:clamp(2.6rem,12vw,4.4rem)!important;margin-bottom:34px!important}
  .dw-page-content{font-size:1rem}
  .dw-footer-shell .dw-footer-inner{width:min(100% - 32px,1160px);grid-template-columns:1fr;gap:28px;padding:48px 0 44px}
  .dw-footer-nav{border-left:0;border-top:1px solid var(--dw-line);padding:24px 0 0!important}
  .dw-footer-bottom{grid-column:auto}
  .dw-footer-name{font-size:2rem}
}