/*
Theme Name: Wakanda Legacy
Theme URI: https://wakanda.ca/
Author: Camp Wakanda Forever Inc.
Description: A mobile-first WordPress theme for the Camp Wakanda Forever community vision.
Version: 1.3.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: wakanda-legacy
*/

/* Keep the site navigation visible while visitors move through long pages. */
.site-header{position:sticky;top:0}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* Form styling for WordPress form shortcodes embedded on Join the Movement. */
.wp-join-form-slot form{display:grid;gap:14px}
.wp-join-form-slot label{display:block;font-weight:700;margin-bottom:5px}
.wp-join-form-slot input:not([type=checkbox]):not([type=radio]):not([type=submit]),.wp-join-form-slot select,.wp-join-form-slot textarea{width:100%;min-height:48px;border:1px solid #c9c4b9;border-radius:5px;background:#fff;padding:11px 13px;color:#171914}
.wp-join-form-slot textarea{min-height:120px}
.wp-join-form-slot input[type=submit],.wp-join-form-slot button[type=submit]{min-height:48px;padding:0 22px;border:0;border-radius:5px;background:#e92f37;color:#fff;font-weight:900;cursor:pointer}
.wp-join-form-slot .screen-reader-response,.wp-join-form-slot .wpcf7-spinner{position:relative}
.wp-join-form-slot{width:min(100%,520px);text-align:left;color:#fff}
.wp-join-form-slot p{color:inherit}

/* Let the full sign-up form flow on narrow screens without clipping controls. */
.join-form-card{grid-template-columns:.9fr 1.1fr}
.join-form-aside{min-width:0}
.wp-join-form-slot form{width:100%;max-width:100%}
.wp-join-form-slot input,.wp-join-form-slot select,.wp-join-form-slot textarea,.wp-join-form-slot button{max-width:100%;box-sizing:border-box}
.wp-join-form-slot>*,.wp-join-form-slot [class*="field"],.wp-join-form-slot [class*="row"]{max-width:100%;min-width:0}
.wp-join-form-slot input[type=submit],.wp-join-form-slot button[type=submit]{width:auto;min-width:160px}
@media(max-width:650px){
  .join-form-card{grid-template-columns:1fr;overflow:visible}
  .join-form-copy{padding:24px 18px}
  .join-form-aside{align-items:stretch;min-height:0;padding:24px 18px;text-align:left;overflow:visible}
  .join-form-aside .join-orbit,.join-form-aside>b,.join-form-aside>span:not(.join-orbit){align-self:center;text-align:center}
  .wp-join-form-slot{width:100%;max-width:100%;overflow:visible}
  .wp-join-form-slot form,.wp-join-form-slot .wpcf7 form,.wp-join-form-slot .gform_wrapper{width:100%;max-width:100%}
  .wp-join-form-slot input:not([type=checkbox]):not([type=radio]):not([type=submit]),.wp-join-form-slot select,.wp-join-form-slot textarea{width:100%;min-width:0}
  .wp-join-form-slot input[type=submit],.wp-join-form-slot button[type=submit]{width:100%}
  #join-form{scroll-margin-top:84px}
}

/* FAQ groups sit side by side on desktop and stack on phones. */
.faq-page>.faq-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
@media(max-width:760px){.faq-page>.faq-groups{grid-template-columns:1fr;gap:26px}}

/* Land destination buttons and their planned-project details. */
.land-tags a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #2675e8;border-radius:999px;background:transparent;color:var(--green);font-size:13px;font-weight:800;line-height:1.25;transition:background .18s,color .18s,transform .18s}
.land-tags a:hover,.land-tags a:focus-visible{background:#2675e8;color:#fff;transform:translateY(-2px)}
.land-tags a span{color:#2675e8}.land-tags a:hover span,.land-tags a:focus-visible span{color:#fff}

/* WordPress gallery blocks and imported calendar content inherit the site theme. */
.gallery-upload-area{margin:42px 0 48px;padding:clamp(20px,4vw,40px);border:1px solid var(--line);border-radius:12px;background:#f4efe4}
.gallery-upload-heading{margin-bottom:22px}.gallery-upload-heading h2{font-size:clamp(32px,4vw,48px);margin:10px 0}.gallery-upload-heading p{margin:0;color:var(--muted)}
.wp-gallery-content-slot{width:100%;overflow:hidden}
.wp-gallery-content-slot .wp-block-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wp-gallery-content-slot .wp-block-gallery .wp-block-image{width:auto!important;margin:0!important}
.wp-gallery-content-slot img{width:100%;height:260px;object-fit:cover;border-radius:8px}
.wp-gallery-content-slot figure{margin:0}.wp-gallery-content-slot figcaption{color:var(--muted);font-size:13px}
.gallery-empty{padding:28px;border:1px dashed #b9b19f;border-radius:8px;color:var(--muted);text-align:center;background:rgba(255,255,255,.55)}
.event-calendar-page{padding-top:62px;padding-bottom:70px}
.event-calendar-intro{max-width:720px;margin-bottom:32px}
.event-calendar-intro h2{font-size:clamp(40px,5vw,62px);margin:12px 0}
.event-calendar-intro p,.event-calendar-cta p{color:var(--muted);line-height:1.65}
.wp-event-calendar-slot{min-width:0;overflow-x:auto;padding:clamp(16px,3vw,30px);border:1px solid var(--line);border-radius:12px;background:#fff}
.wp-event-calendar-slot .event-empty{text-align:center;padding:35px 15px}
.wp-event-calendar-slot .event-empty .note-star{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e5edf8;color:#2675e8;font-size:26px}
.wp-event-calendar-slot .event-empty h3{margin:17px 0 8px;font-size:25px}.wp-event-calendar-slot .event-empty p{color:var(--muted)}
.event-calendar-cta{margin-top:32px;padding:28px;border-radius:10px;background:var(--green);color:#fff}
.event-calendar-cta h2{font-size:34px;margin-bottom:10px}.event-calendar-cta p{color:rgba(255,255,255,.78)}
.wp-event-calendar-slot table{max-width:100%;border-collapse:collapse}.wp-event-calendar-slot img{max-width:100%;height:auto}
@media(max-width:650px){.event-calendar-page{padding-top:42px}.wp-gallery-content-slot .wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wp-gallery-content-slot img{height:180px}.gallery-upload-area{padding:18px;margin:30px 0}.event-calendar-cta{padding:22px 18px}.event-calendar-cta .button{width:100%}}

/* The public Radio Wakanda player is embedded on The Sound page. */
.radio-live-panel{display:grid;grid-template-columns:.72fr 1.28fr;gap:24px;align-items:stretch;margin:30px 0 40px;padding:clamp(20px,4vw,38px);border-radius:12px;background:#f4efe4}
.radio-live-heading{align-self:center}.radio-live-heading h2{font-size:clamp(34px,4vw,48px);margin:11px 0}.radio-live-heading p{color:var(--muted);line-height:1.6}.radio-live-heading .button{margin-top:10px}
.radio-live-panel iframe{width:100%;height:620px;border:1px solid var(--line);border-radius:10px;background:#fff}
@media(max-width:760px){.radio-live-panel{grid-template-columns:1fr;gap:16px;padding:18px}.radio-live-panel iframe{height:680px}}
@media(max-width:450px){.radio-live-panel iframe{height:740px}}

/* Contact popup opens the visitor's email app with their message ready to send. */
.contact-dialog{position:fixed;inset:0;width:min(620px,calc(100% - 28px));max-width:620px;max-height:min(90dvh,850px);margin:auto;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.28);overflow:auto}
.contact-dialog::backdrop{background:rgba(8,22,15,.68);backdrop-filter:blur(3px)}
.contact-dialog form{position:relative;display:grid;gap:13px;padding:clamp(22px,5vw,38px)}
.contact-dialog-close{position:absolute;right:15px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:#e5edf8;color:var(--green);font-size:25px}
.contact-dialog h2{font-size:clamp(36px,6vw,52px);margin:0}.contact-dialog form>p{margin:0;color:var(--muted);line-height:1.5}
.contact-dialog label{display:grid;gap:5px;font-size:13px;font-weight:800}
.contact-dialog input,.contact-dialog textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #c9c4b9;border-radius:5px;background:#fff;color:var(--ink)}
.contact-dialog textarea{min-height:120px;resize:vertical}
.contact-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px}
.button-green{background:var(--green);color:#fff}.button-green:hover{background:#0b7046}
@media(max-width:480px){.contact-dialog-actions{display:grid;grid-template-columns:1fr}.contact-dialog-actions .button{width:100%}}

/* Release refinements: clearer navigation, reliable mobile form flow, and complete responsive sections. */
@media(max-width:1200px){.desktop-nav{gap:clamp(8px,1.2vw,18px);font-size:12px}.desktop-nav .nav-card{padding:.68rem .82rem}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:flex}}

/* Keep the entire WordPress sign-up form in normal page flow on phones. */
.join-form-card,.join-form-aside,.wp-join-form-slot,.wp-join-form-slot form,.wp-join-form-slot .wpcf7,.wp-join-form-slot .wpforms-container,.wp-join-form-slot .gform_wrapper{height:auto!important;max-height:none!important;min-width:0;overflow:visible!important}
.wp-join-form-slot{width:100%;max-width:100%}
.wp-join-form-slot input:not([type=checkbox]):not([type=radio]),.wp-join-form-slot select,.wp-join-form-slot textarea{font-size:16px}
@media(max-width:650px){.join-form-card{display:flex;flex-direction:column}.join-form-copy{order:0}.join-form-aside{order:1;padding:20px 16px}.join-form-aside>a{align-self:center}.join-form-aside .wp-join-form-slot{margin:0}.wp-join-form-slot form{gap:11px}.wp-join-form-slot label,.wp-join-form-slot p{max-width:100%;overflow-wrap:anywhere}}

/* Two question columns on desktop; a single readable column on phones. */
.faq-page>.faq-groups{display:block}
.faq-page>.faq-groups>section{margin:0 0 30px}
.faq-page .faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:0}
.faq-page .faq-item{min-width:0;border:1px solid var(--line);border-radius:7px;align-self:start}
.faq-page .faq-item summary{padding-top:17px;padding-bottom:17px}
@media(max-width:760px){.faq-page .faq-list{grid-template-columns:1fr;gap:8px}}

/* Destination links read and behave like buttons, with each one jumping to its detail card. */
.land-tags{gap:10px}
.land-tags a{border:0;background:var(--green);color:#fff;box-shadow:0 3px 10px rgba(7,85,54,.13)}
.land-tags a:nth-child(4n+2){background:var(--red);color:#fff}
.land-tags a:nth-child(4n+3){background:var(--gold);color:var(--ink)}
.land-tags a:nth-child(4n){background:#2675e8;color:#fff}
.land-tags a span,.land-tags a:nth-child(4n+3) span{color:inherit}
.land-tags a:hover,.land-tags a:focus-visible{filter:brightness(.92);transform:translateY(-2px)}

/* Keep WordPress gallery blocks and event calendar embeds inside the mobile viewport. */
.wp-gallery-content-slot,.wp-event-calendar-slot{min-width:0;max-width:100%}
.wp-gallery-content-slot .wp-block-gallery{margin:0}
.wp-event-calendar-slot iframe{max-width:100%;border:0}
.wp-event-calendar-slot table{width:100%;font-size:14px}
.wp-event-calendar-slot th,.wp-event-calendar-slot td{padding:8px;border:1px solid var(--line);text-align:left}
@media(max-width:650px){.wp-event-calendar-slot{padding:12px}.wp-event-calendar-slot table{font-size:12px}.wp-event-calendar-slot th,.wp-event-calendar-slot td{padding:5px}}

/* Status, spam-trap, and sending state for the contact message dialog. */
.contact-website{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;left:-10000px!important}
.contact-status:empty{display:none}.contact-status{margin:0;padding:10px 12px;border-radius:5px;background:#e5edf8;color:#173b74;font-size:14px}
.contact-status[data-state="success"]{background:#e2eee5;color:#075536}.contact-status[data-state="error"]{background:#f6dfdf;color:#8b1720}
.contact-dialog button:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){.join-form-aside .wp-join-form-slot{order:1}.join-form-aside>.join-orbit{order:2}.join-form-aside>b{order:3}.join-form-aside>span:not(.join-orbit){order:4}.join-form-aside>a{order:5}}
.contact-status{overflow-wrap:anywhere}

/* Illustrated, clickable concept cards for the eight future campus destinations. */
.destination-visual-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:30px 0 38px}
.destination-visual-card{position:relative;display:flex;min-width:0;min-height:286px;flex-direction:column;overflow:hidden;border-radius:10px;background:#143b2b;color:#fff;text-decoration:none;box-shadow:0 5px 18px rgba(17,45,31,.12);transition:transform .2s,box-shadow .2s}
.destination-visual-card:hover,.destination-visual-card:focus-visible{color:#fff;transform:translateY(-4px);box-shadow:0 12px 26px rgba(17,45,31,.2)}
.destination-visual-card img{width:100%;height:158px;object-fit:cover;background:#d9e4d7}
.destination-visual-copy{display:flex;flex:1;flex-direction:column;padding:15px 16px 16px}
.destination-visual-copy small{color:#f5cc69;font-size:9px;font-weight:900;letter-spacing:.1em}
.destination-visual-copy strong{margin:7px 0 4px;font-size:19px;line-height:1.13}
.destination-visual-copy em{color:rgba(255,255,255,.76);font-size:12px;font-style:normal;line-height:1.4}
.destination-visual-copy>b{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;color:#f5cc69;font-size:11px}
.destination-visual-copy>b span{font-size:15px}
.contact-form-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,72px);margin:38px 0;padding:clamp(24px,5vw,52px);border-radius:12px;background:#f4efe4}
.contact-form-intro h2{margin:12px 0;font-size:clamp(36px,4.7vw,54px);line-height:1.05}
.contact-form-intro p{max-width:350px;color:var(--muted);line-height:1.65}
.contact-inline-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}
.contact-inline-form label{display:grid;gap:6px;font-size:13px;font-weight:800}
.contact-inline-form label:nth-of-type(3),.contact-inline-form label:nth-of-type(4),.contact-inline-form .contact-status,.contact-inline-form>button{grid-column:1/-1}
.contact-inline-form input,.contact-inline-form textarea{width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #c9c4b9;border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.contact-inline-form textarea{min-height:130px;resize:vertical}
.contact-inline-form>button{justify-self:start}
@media(max-width:900px){.destination-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.contact-form-panel{grid-template-columns:1fr;gap:16px;padding:22px 18px}.destination-visual-card{min-height:260px}.destination-visual-card img{height:135px}.destination-visual-copy{padding:13px}.destination-visual-copy strong{font-size:17px}}
@media(max-width:460px){.destination-visual-grid{gap:9px}.destination-visual-card{min-height:255px}.destination-visual-card img{height:112px}.destination-visual-copy strong{font-size:15px}.destination-visual-copy em{font-size:11px}.contact-inline-form{grid-template-columns:1fr}.contact-inline-form label,.contact-inline-form label:nth-of-type(3),.contact-inline-form label:nth-of-type(4),.contact-inline-form .contact-status,.contact-inline-form>button{grid-column:1}.contact-inline-form>button{width:100%}}

/* Uploaded gallery photos stay square in a responsive grid, including classic image blocks. */
.wp-gallery-content-slot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start;overflow:visible}
.wp-gallery-content-slot>.wp-block-gallery{display:contents!important}
.wp-gallery-content-slot figure,.wp-gallery-content-slot .wp-block-image,.wp-gallery-content-slot>p{width:100%;min-width:0;margin:0!important}
.wp-gallery-content-slot img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.wp-gallery-content-slot figcaption{padding:7px 2px 0;line-height:1.4}
.wp-gallery-content-slot>.gallery-empty{grid-column:1/-1}
@media(max-width:950px){.wp-gallery-content-slot{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.wp-gallery-content-slot{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}


/* Native Donate Money page, rebuilt as clear payment and participation cards. */
.donation-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:40px}
.donation-intro h2,.donation-section-heading h2{font-size:clamp(40px,5vw,62px);margin:12px 0;line-height:.98}
.donation-intro>p{max-width:560px;margin:0 0 5px;color:var(--muted);line-height:1.65}
.donation-methods{scroll-margin-top:100px}
.donation-section-heading{margin:0 0 22px}
.donation-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.donation-method{display:flex;min-width:0;min-height:320px;flex-direction:column;padding:22px;border-radius:10px;background:#e2eee5;border-top:4px solid var(--green)}
.donation-method:nth-child(2){background:#f6dfdf;border-color:var(--red)}
.donation-method:nth-child(3){background:#e5edf8;border-color:#2675e8}
.donation-method:nth-child(4){background:#f6e9c5;border-color:var(--gold)}
.donation-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:17px;border-radius:50%;background:var(--green);color:#fff;font-size:22px;font-weight:900}
.donation-method:nth-child(2) .donation-icon{background:var(--red)}.donation-method:nth-child(3) .donation-icon{background:#2675e8}.donation-method:nth-child(4) .donation-icon{background:var(--gold);color:var(--ink)}
.donation-method>small,.other-support-grid> a>span{font-size:9px;font-weight:900;letter-spacing:.12em;color:var(--green)}
.donation-method h3{margin:9px 0;font-size:24px}
.donation-method p{margin:0 0 18px;color:#4c514a;font-size:14px;line-height:1.55}
.donation-method .button{width:100%;min-height:46px;margin-top:auto;padding:0 12px;background:var(--green);color:#fff;font-size:11px}
.donation-method:nth-child(2) .button{background:var(--red)}.donation-method:nth-child(3) .button{background:#2675e8}.donation-method:nth-child(4) .button{background:#d4a900;color:var(--ink)}
.other-support{margin-top:66px}
.other-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.other-support-grid>a{display:flex;min-width:0;min-height:190px;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:8px;background:#fffaf1;transition:transform .18s,box-shadow .18s}
.other-support-grid>a:hover,.other-support-grid>a:focus-visible{transform:translateY(-3px);box-shadow:0 10px 22px rgba(17,45,31,.12)}
.other-support-grid h3{margin:14px 0 7px;font-size:22px}.other-support-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.other-support-grid b{margin-top:auto;padding-top:12px;color:var(--green);font-size:12px}
.donate-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:46px 0 20px;padding:clamp(24px,4vw,40px);border-radius:10px;background:var(--green);color:#fff}
.donate-cta h2{margin:11px 0;font-size:clamp(34px,4.5vw,52px)}.donate-cta p{margin:0;color:rgba(255,255,255,.8)}.donate-cta>.button{flex:none}
.donation-disclaimer{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:1000px){.donation-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.other-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.donation-intro{grid-template-columns:1fr;gap:9px;margin-bottom:30px}.donation-method-grid,.other-support-grid{grid-template-columns:1fr;gap:9px}.donation-method{min-height:0;padding:20px}.donation-method .button{width:100%}.other-support{margin-top:46px}.donate-cta{display:grid;gap:18px;margin-top:34px;padding:24px 18px}.donate-cta>.button{width:100%}}

/* Force nested WordPress Gallery blocks into the same four-up tile layout. */
.wp-gallery-content-slot .wp-block-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%;max-width:100%;align-items:start}
.wp-gallery-content-slot>.wp-block-gallery{grid-column:1/-1}
.wp-gallery-content-slot .wp-block-gallery>.wp-block-image,.wp-gallery-content-slot .wp-block-gallery figure{width:100%!important;max-width:none!important;min-width:0;margin:0!important}
.wp-gallery-content-slot .wp-block-gallery img{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover}
@media(max-width:950px){.wp-gallery-content-slot .wp-block-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.wp-gallery-content-slot .wp-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}}

/* The current Photo Gallery uses the classic [gallery] shortcode inside native column wrappers. */
.wp-gallery-content-slot>.wf-native-grid,.wp-gallery-content-slot .wf-native-col{display:contents!important}
.wp-gallery-content-slot .gallery.gallery-columns-4{display:grid!important;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%!important;max-width:100%;margin:0!important;float:none!important}
.wp-gallery-content-slot .gallery.gallery-columns-4>.gallery-item{float:none!important;width:auto!important;max-width:none!important;min-width:0;margin:0!important;padding:0!important}
.wp-gallery-content-slot .gallery.gallery-columns-4 .gallery-icon{width:100%;margin:0}
@media(max-width:950px){.wp-gallery-content-slot .gallery.gallery-columns-4{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.wp-gallery-content-slot .gallery.gallery-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}}

/* Rebuilt gallery tiles are rendered outside WordPress' legacy layout wrappers. */
.wp-gallery-content-slot{display:block!important;width:100%;overflow:visible}
.wp-gallery-content-slot .wf-native-grid,.wp-gallery-content-slot .wf-native-col{display:block!important;width:100%!important;max-width:100%;min-width:0;float:none!important}
.wp-gallery-content-slot .gallery-tile-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;width:100%!important;max-width:100%;margin:0!important;align-items:start}
.wp-gallery-content-slot .gallery-tile-grid>.gallery-tile{display:block!important;width:100%!important;max-width:none!important;min-width:0;margin:0!important;padding:0!important;float:none!important}
.wp-gallery-content-slot .gallery-tile-grid .gallery-icon{width:100%;margin:0}
.wp-gallery-content-slot .gallery-tile-grid img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.wp-gallery-content-slot .gallery-tile-grid figcaption{padding:7px 2px 0;color:var(--muted);font-size:13px;line-height:1.4}
@media(max-width:950px){.wp-gallery-content-slot .gallery-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:650px){.wp-gallery-content-slot .gallery-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}}

/* Single-card destination details replace the duplicate campus grid. */
.destination-dialog{position:fixed;inset:0;width:min(560px,calc(100% - 28px));max-width:560px;max-height:min(82dvh,620px);margin:auto;padding:clamp(25px,5vw,42px);border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.3)}
.destination-dialog::backdrop{background:rgba(8,22,15,.7);backdrop-filter:blur(3px)}
.destination-dialog-close{position:absolute;right:14px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#e5edf8;color:var(--green);font-size:26px;cursor:pointer}
.destination-dialog h2{margin:12px 48px 16px 0;font-size:clamp(32px,5vw,46px);line-height:1.04}
.destination-dialog>p{color:var(--muted);font-size:16px;line-height:1.65}
.destination-dialog .destination-dialog-note{margin-top:22px;padding:14px;border-left:3px solid var(--gold);background:#f6e9c5;font-size:13px}

/* First 100 opt-in Wakandians, with square photo tiles. */
.wall-of-fame-page{padding-top:58px;padding-bottom:70px}
.wall-intro{max-width:680px;margin-bottom:28px}.wall-intro h2{margin:12px 0;font-size:clamp(38px,5vw,58px)}.wall-intro p{color:var(--muted);line-height:1.65}
.wakandians-wall-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.wakandian-wall-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(17,45,31,.08)}
.wakandian-wall-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#e5e7eb}
.wakandian-wall-name{padding:12px 14px 3px;color:var(--ink);font-size:17px;font-weight:800}.wakandian-wall-label{display:block;padding:0 14px 12px;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.12em}
.wall-status{grid-column:1/-1;padding:28px;border:1px dashed #b9b19f;border-radius:8px;color:var(--muted);text-align:center;background:rgba(255,255,255,.6)}
.wall-cta{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:50px;padding:clamp(24px,5vw,44px);border-radius:12px;background:var(--green);color:#fff}.wall-cta h2{margin:10px 0;font-size:clamp(34px,4vw,50px)}.wall-cta p{max-width:620px;color:rgba(255,255,255,.82);line-height:1.65}
@media(max-width:900px){.wakandians-wall-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.wakandians-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wall-of-fame-page{padding-top:42px}.wall-cta{align-items:stretch;flex-direction:column}.wall-cta .button{width:100%;text-align:center}}

/* Global one-tap entry into the persistent Radio Wakanda browsing shell. */
.radio-listen-launch{position:fixed;z-index:89;left:max(18px,env(safe-area-inset-left));bottom:calc(22px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 17px;border:1px solid #e7b84b;border-radius:28px;background:#071b13;color:#fff;text-decoration:none;font-size:13px;font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.2);transition:transform .18s,background .18s}
.radio-listen-launch:hover,.radio-listen-launch:focus-visible{transform:translateY(-2px);background:#075536;color:#fff}.radio-listen-launch span:first-child{color:#e7b84b;font-size:19px}
@media(max-width:760px){.radio-listen-launch{left:max(12px,env(safe-area-inset-left));bottom:calc(78px + env(safe-area-inset-bottom));min-height:42px;padding:0 13px;font-size:12px}}


/* Public events synchronized from the MY Wakanda event feed. */
.wakanda-public-events{width:100%;min-width:0}
.wakanda-events-sync-note{margin:0 0 18px;padding:12px 15px;border-radius:8px;background:#f4edd9;color:#465343;font-size:14px}
.wakanda-public-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.wakanda-public-event-card{display:grid;grid-template-columns:minmax(110px, .72fr) minmax(0,1.28fr);min-width:0;overflow:hidden;border:1px solid var(--line,#e5e0d7);border-radius:12px;background:#fff;box-shadow:0 8px 28px rgba(23,25,20,.06)}
.wakanda-public-event-card.is-past{opacity:.84}
.wakanda-public-event-image{display:block;min-height:100%;background:#f0eee8}
.wakanda-public-event-image img{display:block;width:100%;height:100%;min-height:190px;object-fit:cover}
.wakanda-public-event-copy{min-width:0;padding:18px;display:flex;flex-direction:column;align-items:flex-start}
.wakanda-public-event-meta{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;color:#50544c;font-size:12px;font-weight:800;letter-spacing:.03em}
.wakanda-public-event-meta span{color:#075536}
.wakanda-public-event-copy h3{margin:12px 0 7px;color:#171914;font-size:22px;line-height:1.15;overflow-wrap:anywhere}
.wakanda-public-event-location{margin:0 0 8px;color:#55594f;font-size:14px;font-weight:700}
.wakanda-public-event-summary{margin:0 0 16px;color:#62665c;font-size:14px;line-height:1.55}
.wakanda-public-event-link{margin-top:auto;max-width:100%;white-space:normal}
@media(max-width:850px){.wakanda-public-event-grid{grid-template-columns:1fr}}
@media(max-width:560px){.wakanda-public-event-card{grid-template-columns:1fr}.wakanda-public-event-image img{height:190px;min-height:0}.wakanda-public-event-copy{padding:17px}.wakanda-public-event-copy h3{font-size:20px}.wakanda-public-event-link{width:100%;justify-content:center}}
