:root{--cream:#fff7e7;--paper:#f5e6c8;--red:#8f1d2c;--wine:#58101b;--gold:#c78c25;--ink:#341d18;--line:#e8cfa0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.5 Nunito,Arial,sans-serif}a{color:var(--red)}header{height:82px;padding:0 clamp(18px,5vw,80px);display:flex;justify-content:space-between;align-items:center;background:#fffaf0;border-bottom:3px solid var(--red);position:sticky;top:0;z-index:3}.logo{display:block;height:65px}.logo img{display:block;height:100%;max-width:min(310px,42vw);object-fit:contain}nav{display:flex;gap:22px;align-items:center;font-weight:800}nav a,.textbtn{background:none;border:0;font:inherit;color:var(--ink);cursor:pointer;text-decoration:none}.hero{min-height:650px;background:linear-gradient(90deg,#fff8e8 0%,rgba(255,248,232,.95) 43%,rgba(255,248,232,.08) 75%),url('images/hero-cafe-v2.png') center/cover;display:flex;align-items:center;padding:70px clamp(20px,10vw,170px)}.hero-copy{max-width:630px}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-size:.78rem;margin:0 0 10px}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;line-height:1.05}h1{font-size:clamp(3rem,7vw,6.2rem);margin:0;color:var(--wine)}h1 em{color:var(--red)}h2{font-size:clamp(2.2rem,4vw,4rem);margin:.1em 0 .35em}.hero-copy>p:not(.eyebrow){max-width:530px;font-size:1.25rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-block;border:0;border-radius:4px;padding:13px 19px;background:var(--red);color:#fffaf0;text-decoration:none;font:800 1rem Nunito;cursor:pointer;box-shadow:0 3px 0 var(--wine)}.button.beer{background:var(--gold);color:var(--ink)}.button.small{padding:8px 12px;font-size:.9rem}.section{padding:75px max(20px,calc((100% - 1160px)/2));border-top:1px solid var(--line)}.music{background:var(--paper)}iframe{border:0;border-radius:10px;width:100%;max-width:760px;display:block;margin:25px 0}.social-links,.footer-socials{display:flex;gap:14px;align-items:center}.social-links a{display:flex;gap:6px;align-items:center;font-weight:800}.social-links svg,.footer-socials svg{width:23px;height:23px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.carousel-wrap{position:relative;margin-top:25px}.carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:3px 2px 16px;scrollbar-width:thin}.mini-card{scroll-snap-align:start;flex:0 0 calc((100% - 64px)/5);min-width:190px;background:#fffdf7;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 5px 14px #59101b12}.mini-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.mini-card>div{padding:12px}.mini-card h3{font-size:1.25rem;margin:0 0 8px}.mini-card audio{width:100%;height:32px;margin:0 0 8px}.mini-card .price{font-size:1rem;margin:0 0 5px}.price{font-weight:800;color:var(--red)}.price small{display:block;color:var(--ink);font-size:.75rem}.size-note{font-size:.85rem;margin:0 0 10px}.carousel-arrow{position:absolute;z-index:1;top:42%;border:0;border-radius:50%;width:38px;height:38px;background:var(--wine);color:#fff;font-size:28px;cursor:pointer;line-height:1}.carousel-arrow.prev{left:-18px}.carousel-arrow.next{right:-18px}.merch{background:linear-gradient(135deg,#fff7e7,#fff0d4)}.about{max-width:1000px}.about>p:last-child{font-size:1.2rem;max-width:800px}footer{background:var(--wine);color:#fff7e7;padding:34px max(20px,calc((100% - 1160px)/2));font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}footer a,footer .textbtn{color:#f8d993}dialog{border:0;border-radius:12px;max-width:600px;width:calc(100% - 36px);padding:32px;background:#fff9ed;color:var(--ink);box-shadow:0 20px 70px #0008}dialog::backdrop{background:#3c0710aa}.close{float:right;border:0;background:none;font-size:2rem;cursor:pointer}.tip-options{display:grid;gap:10px}.tip-options a{border:1px solid var(--line);padding:14px 16px;text-decoration:none;color:var(--ink);display:flex;justify-content:space-between;border-radius:6px}label{display:block;font-weight:800;margin:13px 0}input,textarea{width:100%;display:block;border:1px solid #c9a779;border-radius:4px;padding:10px;font:inherit}textarea{min-height:120px}.hp{position:absolute;left:-10000px}.size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quantity{display:grid;grid-template-columns:1fr 28px 32px 28px;align-items:center;gap:3px;margin:0;font-size:.85rem}.quantity button{border:1px solid var(--line);background:#fff;padding:3px;cursor:pointer}.quantity input{text-align:center;padding:3px;border-color:var(--line)}@media(max-width:850px){.mini-card{flex-basis:calc((100% - 32px)/3)}.carousel-arrow{display:none}}@media(max-width:680px){header{height:auto;padding:8px 18px;align-items:center}.logo{height:48px}.logo img{max-width:180px}nav{gap:9px;font-size:.8rem;justify-content:flex-end}.hero{min-height:620px;background:linear-gradient(180deg,#fff8e8ee 0%,#fff8e8e0 68%,#fff8e8a0),url('images/hero-cafe-v2.png') 65% center/cover;padding:55px 20px}.section{padding:55px 20px}.section-heading{align-items:start;flex-direction:column}.mini-card{flex-basis:84%}.size-grid{grid-template-columns:repeat(2,1fr)}}
select{width:100%;display:block;border:1px solid #c9a779;border-radius:4px;padding:10px;font:inherit}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fffdf7}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:14px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line)}.admin-table th{background:var(--paper);font-weight:800}.admin-thumb{width:88px;height:88px;object-fit:cover;border-radius:5px;display:block;margin-bottom:8px}.admin-upload{min-width:220px}.admin-upload label{font-size:.82rem}.admin-upload input{font-size:.78rem;padding:6px}.admin-json{margin:16px 0;border:1px solid var(--line);border-radius:7px;background:#fffdf7}.admin-json summary{display:inline-block;margin:10px;cursor:pointer;border-radius:4px;padding:9px 13px;background:var(--red);color:#fffaf0;font-weight:800;box-shadow:0 3px 0 var(--wine)}.admin-json[open] summary{margin-bottom:0}.admin-json form,.admin-json>label{display:block;padding:0 14px 14px}
.admin-actions{gap:10px}.admin-actions .button{box-shadow:none}.admin-import-menu{position:relative}.admin-import-menu summary{list-style:none}.admin-import-menu summary::-webkit-details-marker{display:none}.admin-import-menu form{position:absolute;right:0;top:calc(100% + 8px);width:290px;padding:12px;background:#fffdf7;border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 22px #341d1840}.admin-import-menu label{font-size:.8rem;margin:0 0 9px}.admin-import-menu input{font-size:.75rem;padding:6px}@media(max-width:680px){.admin-actions{gap:6px}.admin-actions .button,.admin-actions>a{font-size:.72rem;padding:7px 8px}.admin-import-menu form{right:-45px;width:260px}}body{min-height:100vh;display:flex;flex-direction:column}body>main{flex:1}

[hidden]{display:none!important}.reel-card{flex-basis:220px;min-width:190px}.reel-card video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;background:#24120f}.reel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;margin-top:25px}.admin-media{width:100%}.admin-media section{margin:35px 0}.admin-media video{max-width:240px;max-height:360px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}#import-status{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.cover-missing{aspect-ratio:1;display:grid;place-items:center;background:var(--paper);color:var(--wine);font-family:Georgia,serif}.social-links{flex-wrap:wrap}@media(max-width:480px){header{flex-wrap:wrap;gap:8px}header nav{flex-wrap:wrap}.reel-card{flex-basis:65%}.admin-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html,.carousel{scroll-behavior:auto}}

.music-treat{font-weight:800;color:var(--red);margin:0 0 14px;font-size:1.1rem}.album-filter{margin-top:26px;max-width:520px}.album-filter label{margin-bottom:6px}.album-filter-controls{display:flex;gap:12px;align-items:center}.album-filter select{min-width:0;flex:1;background:#fffdf7}.album-status{font-size:.9rem;margin:10px 0}.album-filter-controls button{white-space:nowrap}

.album-overview{display:flex;gap:20px;align-items:center;margin:22px 0}.album-overview>img{width:144px;height:144px;flex:0 0 144px;object-fit:contain;border-radius:8px;box-shadow:0 4px 14px #59101b22}.album-overview h3{font-size:1.6rem;margin:0}.album-overview p{margin:8px 0 0}@media(max-width:480px){.album-overview{gap:12px}.album-overview>img{width:96px;height:96px;flex-basis:96px}.album-overview h2,.album-overview h3{font-size:1.35rem;overflow-wrap:anywhere}}

.downloads-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.downloads-heading h2{margin:0}.downloads-heading>.button{flex-shrink:0}.download-album-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}.download-album-picker .album-filter{margin-top:22px}.home-album-art img{display:block;width:144px;height:144px;object-fit:contain;border-radius:8px;box-shadow:0 4px 14px #59101b22}@media(max-width:480px){.downloads-heading{gap:12px}.downloads-heading h2{font-size:clamp(1.7rem,7.5vw,2.2rem)}.downloads-heading>.button{font-size:.78rem;padding:8px 10px}.download-album-picker{gap:14px}.home-album-art img{width:96px;height:96px}.download-album-picker .button.beer{font-size:.78rem;padding:8px 10px}.album-filter-controls{flex-wrap:wrap}.album-filter-controls select{flex-basis:100%}}

.album-art-link{display:block;cursor:zoom-in;border-radius:8px}.album-art-link:focus-visible{outline:3px solid var(--red);outline-offset:5px}.album-overview>.album-art-link{flex:0 0 144px}.album-overview>.album-art-link img{display:block;width:144px;height:144px;object-fit:contain;border-radius:8px;box-shadow:0 4px 14px #59101b22}.image-preview{width:min(960px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:12px}.image-preview .button{display:block;margin:0 0 12px auto}.image-preview img{display:block;width:100%;height:auto;max-height:calc(100dvh - 112px);object-fit:contain}.image-preview-open{overflow:hidden}@media(max-width:480px){.album-overview>.album-art-link{flex-basis:96px}.album-overview>.album-art-link img{width:96px;height:96px}}
