/*
Theme Name: Bounce
Theme URI: https://bounceround.com
Author: Bounce / Scott Rogo
Description: First design for Cleveland's Bounce party band. Editable WordPress pages with a companion gig and band manager. Includes clearly labeled reference artwork pending final assets.
Version: 0.2.1
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: bounce
*/
@font-face{font-family:BouncePoster;src:url('assets/bounce-poster.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#090909;--panel:#151515;--paper:#f6f5ef;--lime:#b4ff27;--purple:#b66aff;--muted:#b8b8b1;--line:#34352e;--poster:BouncePoster,Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:5px}p{margin:0 0 20px}h1,h2,h3{line-height:1.03;margin:0;font-weight:700;letter-spacing:-.025em}h1,h2,.poster{font-family:var(--poster)}h2{font-size:clamp(42px,5vw,72px);text-transform:uppercase}h3{font-weight:800;font-size:23px}img{max-width:100%;height:auto}section{scroll-margin-top:0}.container{max-width:1300px;margin:0 auto;padding-left:40px;padding-right:40px}.section{padding-top:96px;padding-bottom:96px}.section-kicker{font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--lime);margin-bottom:20px}.section-intro{color:var(--muted);max-width:580px;font-size:18px;margin-top:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading p{max-width:320px;color:var(--muted);margin:0}.site-header{position:sticky;top:0;z-index:20;background:rgba(9,9,9,.98);border-bottom:1px solid var(--line)}body.admin-bar .site-header{top:32px}.header-inner{max-width:1440px;margin:auto;padding:21px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{width:142px;flex-shrink:0}.brand a{display:block}.custom-logo{display:block;width:142px;max-height:62px;object-fit:contain}.reference-art{background-image:url('assets/design-reference.png');background-repeat:no-repeat;display:block}.logo-art{aspect-ratio:448/138;background-size:342.857% 742.029%;background-position:20.22% 8.58%}#main-navigation{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700}#main-navigation>a:not(.button){padding:10px 0}#main-navigation>a:not(.button):hover{color:var(--lime)}.menu-toggle{display:none}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:32px;border:1px solid var(--lime);border-radius:0!important;background:var(--lime);color:var(--ink);padding:15px 23px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.4;text-decoration:none}.button:hover,.wp-block-button__link:hover{background:var(--paper);border-color:var(--paper);text-decoration:none}.button-small{padding:12px 17px;gap:20px}.button-outline{background:transparent;color:var(--paper);border-color:#67685d}.button-outline:hover{color:var(--ink)}.text-link{border-bottom:1px solid var(--lime);padding-bottom:6px;font-size:14px;font-weight:700;display:inline-block}.text-link:hover{color:var(--lime);text-decoration:none}.hero{padding-top:78px;padding-bottom:68px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:45px}.hero h1{font-size:clamp(62px,6.6vw,94px);text-transform:uppercase;line-height:.96;letter-spacing:-.025em;max-width:820px}.hero h1 em{font-style:normal;color:var(--lime)}.hero-subtitle{color:var(--muted);margin-top:27px;max-width:440px;font-size:19px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:32px;flex-wrap:wrap}.peace-art{mix-blend-mode:screen;width:100%;aspect-ratio:1;background-size:590.77% 400%;background-position:83.86% 9.375%;transform:rotate(7deg)}.hero-art{max-width:345px;justify-self:end;width:100%;position:relative}.hero-art::after{content:'A LITTLE LOUDER. A LOT MORE FUN.';font-family:var(--body);display:block;font-size:10px;letter-spacing:.16em;text-align:center;margin-top:25px;color:var(--muted)}.category-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:11px;letter-spacing:.19em;font-weight:800}.category-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.category-strip b{color:var(--lime)}.watch-section{padding-top:72px;padding-bottom:80px}.watch-section .section-heading h2{font-size:clamp(38px,4vw,57px)}.video-frame{position:relative;overflow:hidden;border:1px solid #6e7e3e;background:#161318}.stage-art{aspect-ratio:1294/204;width:100%;background-size:118.70% 501.96%;background-position:50% 48.42%}.video-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#131313;padding:22px 26px;border-top:1px solid #424536}.video-caption strong{font-size:15px}.video-caption span{color:var(--muted);font-size:12px;display:block;margin-top:4px}.video-caption button{background:none;border:1px solid #515346;color:var(--muted);padding:10px 15px;font-size:12px;white-space:nowrap}.gigs-section{background:var(--lime);color:var(--ink)}.gigs-section .section-kicker{color:#344607}.gigs-section .section-heading p{color:#354410}.gigs-section .text-link{border-color:var(--ink)}.gigs-empty{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid #709c25;border-bottom:1px solid #709c25;padding:33px 0}.gigs-empty h3{font-size:25px;margin-bottom:8px}.gigs-empty p{margin:0;color:#34450f;font-size:15px;max-width:540px}.gigs-section .button{background:var(--ink);color:var(--paper);border-color:var(--ink);flex-shrink:0}.gigs-section .button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.gig-row{display:grid;grid-template-columns:100px 1fr auto;gap:30px;align-items:center;padding:26px 0;border-top:1px solid #709c25}.gig-date{font-family:var(--poster);font-size:42px;line-height:1}.gig-date span{font-family:var(--body);font-size:11px;letter-spacing:.1em;font-weight:800;display:block;margin-bottom:7px}.gig-location{font-size:14px;margin-top:8px}.gig-details{font-size:14px;margin-top:10px;max-width:600px}.gig-details p{margin-bottom:8px}.gig-action{font-size:13px;font-weight:800;border-bottom:1px solid}.band-section{padding-bottom:85px}.band-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.member{border-bottom:1px solid var(--line);padding-bottom:19px;min-width:0}.member-photo{width:100%;aspect-ratio:1.5;background:#19131f;overflow:hidden;position:relative}.member-photo img{display:block;width:100%;height:100%;object-fit:cover}.member-placeholder{width:100%;height:100%;background-size:738.46% 930.91%}.member-0{background-position:8.62% 79.87%}.member-1{background-position:25.19% 79.87%}.member-2{background-position:41.77% 79.87%}.member-3{background-position:58.35% 79.87%}.member-4{background-position:74.77% 79.87%}.member-5{background-position:91.2% 79.87%}.placeholder-label{position:absolute;bottom:9px;left:10px;max-width:calc(100% - 20px);background:rgba(0,0,0,.88);color:#e1dedf;font-size:10px;padding:3px 7px;letter-spacing:.03em}.member details{padding-top:18px}.member summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-size:22px;font-weight:800}.member summary::-webkit-details-marker{display:none}.member summary::after{content:'＋';color:var(--lime);font-size:22px;font-weight:400}.member details[open] summary::after{content:'−'}.member-bio{font-size:15px;color:var(--muted);margin-top:15px}.member-bio p:last-child{margin-bottom:0}.setlist-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:55px;padding-bottom:55px}.setlist-row{display:flex;justify-content:space-between;gap:35px;align-items:center}.setlist-row h2{font-size:clamp(38px,4vw,58px)}.setlist-row p{color:var(--muted);margin-top:16px;margin-bottom:0}.setlist-details{flex-shrink:0;max-width:390px}.setlist-details summary{cursor:pointer;list-style:none}.setlist-details summary::-webkit-details-marker{display:none}.setlist-details[open] summary{margin-bottom:18px}.setlist-details>p{font-size:14px}.photos-section{padding-top:80px;padding-bottom:85px}.photos-placeholder{border:1px dashed #5a5b50;padding:38px;display:flex;align-items:center;gap:30px;max-width:100%;background:#111}.photo-mark{font-family:var(--poster);color:var(--purple);font-size:60px;line-height:1}.photos-placeholder h3{font-size:21px;line-height:1.25}.photos-placeholder p{margin:9px 0 0;color:var(--muted);max-width:650px;font-size:15px}.booking-section{border-top:1px solid var(--line);padding-top:80px;padding-bottom:85px;background:radial-gradient(ellipse at bottom left,#212c09 0,transparent 62%)}.booking-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start}.booking-grid h2{font-size:clamp(54px,6vw,86px)}.booking-copy{margin-top:23px;color:var(--muted);max-width:420px}.booking-contact{padding-top:8px}.booking-contact .contact-label{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:15px}.booking-phone{display:block;font-family:var(--poster);font-size:clamp(32px,3.4vw,49px);line-height:1.1;margin-bottom:15px}.booking-email{color:var(--lime);font-size:clamp(16px,1.8vw,23px);overflow-wrap:anywhere}.booking-contact .contact-note{margin-top:28px;font-size:14px;color:var(--muted);max-width:440px}.site-footer{border-top:1px solid var(--line);padding:29px 0;color:var(--muted);font-size:12px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner p{margin:0}.footer-brand{font-family:var(--poster);font-size:26px;letter-spacing:-.02em;color:var(--paper)}.skip-link{position:fixed;left:15px;top:-100px;z-index:100;background:var(--lime);padding:12px;color:black}.skip-link:focus{top:15px}.document-page{padding-top:70px;padding-bottom:90px;min-height:65vh}.document-page h1{font-size:64px;margin-bottom:35px}.empty-note{padding:25px;border:1px dashed var(--line)}.wp-block-group,.wp-block-columns,.wp-block-heading,.wp-block-paragraph{margin-top:0}.wp-block-buttons{margin:0}.wp-block-gallery{gap:20px}.wp-block-gallery img{object-fit:cover}.wp-block-embed{margin:0}.wp-block-embed iframe{width:100%;aspect-ratio:16/9;height:auto}.preview-note{padding:9px 25px;background:#262020;color:#ded3d3;text-align:center;font-size:11px;letter-spacing:.01em}.editor-styles-wrapper{background:var(--ink);color:var(--paper);font-family:var(--body)}.editor-styles-wrapper .reference-art{background-image:url('assets/design-reference.png')}
@media(min-width:1500px){.hero{padding-top:96px;padding-bottom:88px}.hero-art{max-width:360px}}
@media(max-width:1000px){.container{padding-left:30px;padding-right:30px}.header-inner{padding-left:30px;padding-right:30px}#main-navigation{gap:19px}.hero h1{font-size:75px}.hero-art{max-width:270px}.booking-grid{gap:40px}}
@media(max-width:900px){.menu-toggle{display:flex;gap:15px;align-items:center;border:1px solid #555747;background:transparent;color:var(--paper);padding:8px 13px;font-size:13px}.header-inner{padding-top:16px;padding-bottom:16px;flex-wrap:wrap}.brand{width:120px}.custom-logo{width:120px}#main-navigation{display:none;width:100%;padding-top:10px;flex-direction:column;align-items:stretch;gap:0}#main-navigation.is-open{display:flex}#main-navigation>a:not(.button){padding:13px 0;border-top:1px solid var(--line)}#main-navigation .button{margin-top:14px}.hero{gap:22px;padding-top:65px;padding-bottom:60px;grid-template-columns:1.4fr .6fr}.hero h1{font-size:65px}.hero-art::after{font-size:8px}.section{padding-top:65px;padding-bottom:65px}.band-grid{gap:25px 20px}.member summary{font-size:20px}.booking-grid{grid-template-columns:1fr 1fr}.booking-grid h2{font-size:60px}.booking-phone{font-size:35px}}
@media(max-width:600px){body{font-size:16px}.container{padding-left:22px;padding-right:22px}.header-inner{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;position:relative;padding-top:49px;padding-bottom:42px;gap:0}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(57px,12vw,73px);max-width:100%}.hero-art{display:none}.section-kicker{font-size:10px;margin-bottom:18px}.hero-subtitle{font-size:17px;max-width:330px;margin-top:23px}.hero-actions{gap:18px;margin-top:27px}.button{font-size:12px;padding:14px 18px;gap:20px}.category-strip{font-size:9px;letter-spacing:.07em;padding:15px 0}.category-strip .container{gap:8px}.category-strip .strip-location{display:none}.section{padding-top:50px;padding-bottom:50px}.section-heading{display:block;margin-bottom:26px}.section-heading p{margin-top:17px;max-width:100%;font-size:15px}.watch-section .section-heading h2{font-size:39px}.stage-art{min-height:100px}.video-caption{padding:17px;flex-wrap:wrap;gap:14px}.video-caption strong{font-size:14px}.video-caption span{font-size:11px}.video-caption button{font-size:11px;padding:8px 11px}.gigs-empty{display:block;padding:26px 0}.gigs-empty h3{font-size:23px}.gigs-empty .button{margin-top:23px}.gig-row{grid-template-columns:65px 1fr;gap:18px}.gig-date{font-size:34px}.gig-action{grid-column:2;width:fit-content}.band-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.member-photo{aspect-ratio:1.2}.member summary{font-size:19px}.member-bio{font-size:14px}.placeholder-label{font-size:8px;left:5px;bottom:5px;padding:2px 4px}.setlist-row{display:block}.setlist-row h2{font-size:40px}.setlist-details{margin-top:25px}.photos-placeholder{display:block;padding:26px}.photo-mark{font-size:44px;margin-bottom:18px}.booking-grid{grid-template-columns:1fr;gap:30px}.booking-grid h2{font-size:62px}.booking-phone{font-size:40px}.booking-email{font-size:19px}.booking-contact .contact-note{margin-top:20px}.footer-inner{flex-wrap:wrap;gap:13px}.footer-inner p{flex-basis:100%;order:3}.preview-note{font-size:10px;padding:8px 15px}.document-page h1{font-size:48px}body.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Large Bounce masthead — design revision 2. */
.brand-masthead{background:#000;padding:36px 30px 30px;border-bottom:1px solid #222a37}
.masthead-inner{max-width:1220px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px}
.brand-masthead .brand{width:min(940px,100%);flex-shrink:0}
.brand-masthead .logo-art{width:100%;filter:drop-shadow(0 0 18px rgba(0,83,255,.22))}
.brand-masthead .custom-logo{width:100%;height:auto;max-height:300px;object-fit:contain;margin:auto}
.brand-tagline{font-family:var(--poster);font-size:clamp(26px,3.6vw,48px);font-weight:700;line-height:1.1;text-align:center;letter-spacing:.015em;color:var(--paper);margin:0}
.header-inner{justify-content:center;padding-top:17px;padding-bottom:17px}
.hero{padding-top:58px;padding-bottom:58px}
@media(min-width:1500px){.hero{padding-top:65px;padding-bottom:65px}}
@media(max-width:900px){.brand-masthead{padding:28px 28px 25px}.masthead-inner{gap:16px}.brand-masthead .brand{width:min(750px,100%)}.brand-tagline{font-size:clamp(25px,4.8vw,38px)}.header-inner{justify-content:flex-end;padding-top:12px;padding-bottom:12px}.hero{padding-top:48px;padding-bottom:48px}}
@media(max-width:600px){.brand-masthead{padding:25px 18px 23px}.masthead-inner{gap:15px}.brand-tagline{font-size:clamp(23px,6.2vw,33px);letter-spacing:0}.hero{padding-top:39px;padding-bottom:42px}}

/* Native Details summaries stay editable in the WordPress block editor. */
.setlist-details>summary{display:inline-flex;align-items:center;justify-content:center;gap:32px;border:1px solid #67685d;border-radius:0;background:transparent;color:var(--paper);padding:15px 23px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.4;text-decoration:none}
.setlist-details>summary:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
@media(max-width:600px){.setlist-details>summary{font-size:12px;padding:14px 18px;gap:20px}}
