/*
 * Camp Wakanda Forever | Mobile-first refinements for Theme 2.1
 * Scoped to the public Wakanda theme. Keeps the network manager and full calendar.
 */
:root{--wakanda-touch-target:48px}
body.wakanda-theme-two :is(.button,.menu-toggle,.filter-button,button[data-wf-share],button[data-wf-copy],button[data-wf-builder]){min-height:var(--wakanda-touch-target)}
body.wakanda-theme-two :is(.button,.filter-button,button,a):focus-visible{outline:3px solid #d99e17;outline-offset:3px}
body.wakanda-theme-two .site-header{z-index:120;background:#faf8f0}
body.wakanda-theme-two .header-cta .cta-mobile{display:none}
body.wakanda-theme-two .header-cta .cta-desktop{display:inline}
body.wakanda-theme-two .nav-main .menu a{white-space:normal}
body.wakanda-theme-two .wf-pillar,
body.wakanda-theme-two .feature-card,
body.wakanda-theme-two .wf-mini-event,
body.wakanda-theme-two .tile{min-width:0}
body.wakanda-theme-two .wf-footer-links a{display:inline-flex;align-items:center;min-height:40px}
body.wakanda-theme-two .wf-builder-form :is(select,input){font-size:max(16px,1rem)}
body.wakanda-theme-two [data-directory-card][hidden]{display:none!important}
body.wakanda-theme-two .wf-builder-form button{max-width:100%;white-space:normal}
body.wakanda-theme-two .page-content :is(a,button,input,textarea,select):focus-visible{outline-offset:3px}
/* Tablet: navigation is an intentionally full-width popover, not a wrapped row. */
@media(max-width:1100px){
  body.wakanda-theme-two .site-header .header-inner{position:relative;gap:12px;min-height:76px}
  body.wakanda-theme-two .nav-main{z-index:150;max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 20px;border-bottom:1px solid #d5e4d8;box-shadow:0 18px 42px rgba(6,39,28,.16);-webkit-overflow-scrolling:touch}
  body.wakanda-theme-two .nav-main .menu{width:100%;flex-wrap:nowrap}
  body.wakanda-theme-two .nav-main .menu li>a{display:flex;align-items:center;min-height:50px;padding:13px 10px;font-size:1rem;line-height:1.3}
  body.wakanda-theme-two .menu-toggle{flex-shrink:0;min-width:48px;min-height:48px;font-size:1.55rem;line-height:1}
}
/* Phones-first spacing, clear text hierarchy, and easy tap targets. */
@media(max-width:760px){
  body.wakanda-theme-two{font-size:16px;line-height:1.62}
  body.wakanda-theme-two .section{padding-block:clamp(48px,10vw,78px)}
  body.wakanda-theme-two :is(.container,.page-banner .container,section.container.section){width:min(calc(100% - 32px),var(--wide));max-width:var(--wide);margin-inline:auto}
  body.wakanda-theme-two .site-header .header-inner{min-height:70px;gap:10px}
  body.wakanda-theme-two .brand{gap:8px}
  body.wakanda-theme-two .brand-mark{width:48px;height:48px;object-fit:contain}
  body.wakanda-theme-two .brand-lettering{font-size:.94rem}
  body.wakanda-theme-two .brand-lettering span{font-size:.68rem;margin-top:6px}
  body.wakanda-theme-two .menu-toggle{margin-left:auto}
  body.wakanda-theme-two .header-cta{display:inline-flex!important;margin-left:0;padding:8px 12px;min-width:62px;min-height:44px;font-size:.78rem;line-height:1.2}
  body.wakanda-theme-two .header-cta .cta-desktop{display:none}
  body.wakanda-theme-two .header-cta .cta-mobile{display:inline}
  body.wakanda-theme-two .nav-main{max-height:calc(100dvh - 70px)}
  body.admin-bar.wakanda-theme-two .nav-main{max-height:calc(100dvh - 115px)}
  body.wakanda-theme-two .wf-hero{min-height:625px}
  body.wakanda-theme-two .wf-hero:before{background:linear-gradient(90deg,rgba(2,30,23,.64) 0%,rgba(2,30,23,.33) 54%,rgba(2,30,23,.08) 100%),var(--hero-image,linear-gradient(135deg,#1d6350,#32725a));background-size:cover;background-position:52% 37%}
  body.wakanda-theme-two .hero-body{width:calc(100% - 36px);max-width:680px;padding:40px 0 120px}
  body.wakanda-theme-two .hero .lead{font-size:1rem;line-height:1.55;max-width:34ch}
  body.wakanda-theme-two .hero-actions{gap:10px;margin-top:24px}
  body.wakanda-theme-two .hero-actions .button{flex:1 1 auto;padding:12px 14px;font-size:.87rem}
  body.wakanda-theme-two .hero-foot{min-height:76px}
  body.wakanda-theme-two .hero-stats{gap:10px;justify-content:space-between}
  body.wakanda-theme-two .hero-stats div{gap:7px;min-width:0}
  body.wakanda-theme-two .hero-stats strong{font-size:1.42rem;line-height:1}
  body.wakanda-theme-two .hero-stats span{font-size:.68rem;line-height:1.3}
  body.wakanda-theme-two .section-head{gap:16px;margin-bottom:25px}
  body.wakanda-theme-two .section-head p{max-width:100%;font-size:.96rem}
  body.wakanda-theme-two :is(.intro-grid,.feature-grid,.campaign-grid){grid-template-columns:1fr;gap:20px}
  body.wakanda-theme-two .wf-intro .panel-photo{min-height:300px}
  body.wakanda-theme-two .wf-journey .intro-grid{gap:30px}
  body.wakanda-theme-two .wf-timeline li{gap:15px;padding:14px 0}
  body.wakanda-theme-two .wf-timeline li>b{width:40px;height:40px}
  body.wakanda-theme-two .feature-card{min-height:205px;padding:24px}
  body.wakanda-theme-two .campaign-block{min-height:280px;padding:26px}
  body.wakanda-theme-two .wf-five{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  body.wakanda-theme-two .wf-cornerstones .wf-pillar-art{height:clamp(128px,31vw,170px)}
  body.wakanda-theme-two .wf-cornerstones .wf-pillar-content{padding:14px 13px 18px}
  body.wakanda-theme-two .wf-cornerstones .wf-pillar-content p{min-height:0;margin:8px 0 12px;font-size:.8rem;line-height:1.48}
  body.wakanda-theme-two .wf-cornerstones .wf-pillar-content b{margin-top:4px;font-size:.79rem}
  body.wakanda-theme-two .wf-network .logo-cloud{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body.wakanda-theme-two .wf-network .logo-cloud a{min-height:64px;padding:12px 9px;text-align:center;font-size:.76rem}
  body.wakanda-theme-two .wf-share-section{padding-block:48px 16px}
  body.wakanda-theme-two .wf-builder-section{padding-block:52px 78px}
  body.wakanda-theme-two .wf-builder-preview{min-height:330px;max-height:500px}
  body.wakanda-theme-two .wf-builder-form :is(select,input){width:100%;min-height:48px}
  body.wakanda-theme-two .page-banner{min-height:200px;padding:38px 0 55px}
  body.wakanda-theme-two section.container.section{padding-top:0!important;padding-bottom:55px}
  body.wakanda-theme-two section.container.section>.page-content.prose{padding:clamp(18px,5vw,30px);width:100%;min-height:0;margin: -18px auto 0}
  body.wakanda-theme-two .page-content.prose :is(p,ul,ol){overflow-wrap:anywhere}
  body.wakanda-theme-two .page-content.prose :is(.wakanda-faq,.story-steps,.wp-block-columns){grid-template-columns:1fr;gap:14px}
  body.wakanda-theme-two .wf2-directory .directory-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
  body.wakanda-theme-two .wf2-directory .directory-filters{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:4px 2px 9px;min-width:0}
  body.wakanda-theme-two .wf2-directory .filter-button{flex:0 0 auto;min-height:44px;padding:9px 14px;white-space:nowrap}
  body.wakanda-theme-two .wf2-directory .directory-search{width:100%;min-width:0;min-height:48px;font-size:16px}
  body.wakanda-theme-two .wf2-directory .wf2-count{margin-top:8px}
  body.wakanda-theme-two .wf-mini-event-image{aspect-ratio:16/9}
  body.wakanda-theme-two .wf-footer{padding-bottom:25px}
  body.wakanda-theme-two .wf-footer-top{padding-top:38px;gap:15px}
  body.wakanda-theme-two .wf-footer-top p{flex-basis:100%;font-size:.92rem}
  body.wakanda-theme-two .wf-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px;padding:8px 0}
  body.wakanda-theme-two .wf-footer-links a{min-width:0;min-height:36px;padding:4px 0;font-size:.85rem;line-height:1.25;overflow-wrap:anywhere}
  body.wakanda-theme-two .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding-block:19px}
  body.wakanda-theme-two .wf-radio-float{bottom:calc(10px + env(safe-area-inset-bottom));left:10px;min-height:42px;display:inline-flex;align-items:center}
  body.wakanda-theme-two .back-to-top{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));min-width:46px;min-height:46px}
}
@media(max-width:620px){
  body.wakanda-theme-two .wf2-card-grid{grid-template-columns:1fr;gap:18px}
  body.wakanda-theme-two .wf2-card-grid .tile-cover{width:100%;aspect-ratio:16/10;overflow:hidden}
  body.wakanda-theme-two .wf2-card-grid .tile-cover img{width:100%;height:100%;object-fit:cover}
}
@media(max-width:390px){
  body.wakanda-theme-two .hero-actions .button{flex-basis:100%}
  body.wakanda-theme-two .wf-builder-form{padding:16px}
  body.wakanda-theme-two .wf-builder-preview{min-height:300px}
  body.wakanda-theme-two .wf-builder-preview-caption strong{font-size:clamp(2.2rem,10.1vw,3rem)}
  body.wakanda-theme-two .wf-builder-preview-caption b{font-size:clamp(1.2rem,6.4vw,1.85rem)}
  body.wakanda-theme-two .wf-share{padding:25px 19px}
  body.wakanda-theme-two .wf-cornerstones .wf-pillar-content{padding:12px 11px 15px}
  body.wakanda-theme-two .wf-cornerstones .wf-pillar-content .eyebrow{font-size:.6rem}
}
/* Make the complete event calendar's existing cards usable by touch and keyboard. */
body.wakanda-theme-two .wf-public-calendar .wf2-card-grid{align-items:start}
body.wakanda-theme-two .wf-public-calendar .wf2-event-card{
  position:relative;min-height:0;height:auto;overflow:hidden;
  transition:box-shadow .2s ease,transform .2s ease;
}
body.wakanda-theme-two .wf-public-calendar .wf2-event-card .tile-cover{
  display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#143b2e;
}
body.wakanda-theme-two .wf-public-calendar .wf2-event-card .tile-cover img{
  display:block;width:100%;height:100%;object-fit:cover;
}
body.wakanda-theme-two .wf-public-calendar .wf2-event-card .tile-body{
  min-height:0;height:auto;padding-bottom:22px;
}
body.wakanda-theme-two .wf-public-calendar .wf-calendar-overlay-link{
  position:absolute;inset:0;z-index:2;display:block;border-radius:inherit;
}
body.wakanda-theme-two .wf-public-calendar .wf-calendar-overlay-link:focus-visible{
  outline:4px solid #e7ac2f;outline-offset:-4px;
}
body.wakanda-theme-two .wf-public-calendar .wf2-event-card:hover{
  transform:translateY(-4px);box-shadow:0 18px 38px rgba(7,51,33,.15);
}

/* Users requesting less motion should see static cards and controls. */
@media(prefers-reduced-motion:reduce){
  body.wakanda-theme-two .wf-pillar,
  body.wakanda-theme-two .tile,
  body.wakanda-theme-two .wf-mini-event{transform:none!important;transition:none!important}
}
