:root{
  --walnut:#18120c;
  --walnut-2:#241a10;
  --paper:#f3e8d3;
  --rust:#a8502e;
  --gold:#c79a4b;
  --denim:#93a8b5;
  --denim-dim:#5c7280;
  --ink:#1a130d;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background-color:var(--walnut);
  background-image:
    repeating-linear-gradient(90deg, rgba(0,0,0,0.35) 0px, rgba(0,0,0,0.35) 1px, transparent 1px, transparent 3px),
    repeating-linear-gradient(89deg, rgba(230,190,140,0.05) 0px, transparent 2px, transparent 5px),
    repeating-linear-gradient(0deg, rgba(0,0,0,0.4) 0px, rgba(0,0,0,0.4) 2px, transparent 2px, transparent 46px);
  color:var(--paper);
  font-family:'PT Serif', serif;
  line-height:1.6;
  position:relative;
}
.wrap{max-width:1100px; margin:0 auto; padding:0 32px; position:relative; z-index:2;}
a{color:inherit;}

/* NAV (header.html) */
header.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(36,27,19,0.92);
  backdrop-filter:blur(4px);
  border-bottom:1px solid rgba(199,154,75,0.25);
}
.site-nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{font-family:'Rye', serif; font-size:1.4rem; letter-spacing:1px; color:var(--paper); text-decoration:none;}
nav.links{display:flex; gap:32px; list-style:none;}
nav.links a{
  text-decoration:none; font-family:'Courier Prime', monospace;
  font-size:0.85rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--paper); opacity:0.85; border-bottom:1px solid transparent;
  padding-bottom:4px; transition:opacity 0.2s, border-color 0.2s;
}
nav.links a:hover{opacity:1; border-color:var(--rust);}

/* HERO */
.hero{
  position:relative;
  padding:120px 0 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(199,154,75,0.14), transparent 60%),
    repeating-linear-gradient(180deg, rgba(0,0,0,0.12) 0px, rgba(0,0,0,0.12) 1px, transparent 1px, transparent 42px),
    linear-gradient(180deg, var(--walnut-2), var(--walnut) 70%);
  overflow:hidden;
}
.hero .wrap{position:relative; z-index:2; text-align:center; padding-bottom:70px;}
.eyebrow{
  font-family:'Courier Prime', monospace; letter-spacing:5px; font-size:0.8rem;
  color:var(--gold); text-transform:uppercase; opacity:0.9; margin-bottom:22px;
}
h1.name{
  font-family:'Rye', serif;
  font-size:clamp(3.2rem, 9vw, 6.4rem);
  color:var(--paper);
  text-shadow: 0 2px 0 rgba(0,0,0,0.4);
  line-height:1.05;
}
.tagline{
  font-style:italic; font-size:1.25rem; color:var(--paper); opacity:0.85;
  max-width:520px; margin:26px auto 40px;
}
.cta-row{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}
.btn{
  display:inline-block; padding:14px 30px; font-family:'Courier Prime', monospace;
  letter-spacing:2px; text-transform:uppercase; font-size:0.82rem; text-decoration:none;
  border-radius:2px; transition:transform 0.15s ease; cursor:pointer; border:none;
}
.btn:hover{transform:translateY(-2px);}
.btn.primary{background:var(--rust); color:var(--paper);}
.btn.ghost{border:1px solid var(--gold); color:var(--gold); background:transparent;}

/* FENCE DIVIDER */
.fence{display:block; width:100%; height:90px;}
.fence path.hill{fill:var(--walnut);}

/* SECTIONS */
section{padding:90px 0;}
.section-label{
  font-family:'Courier Prime', monospace; letter-spacing:4px; text-transform:uppercase;
  color:var(--rust); font-size:0.8rem; margin-bottom:14px;
}
h2{font-family:'Rye', serif; font-size:2.3rem; color:var(--gold); margin-bottom:28px; font-weight:400;}

.bio{display:grid; grid-template-columns:280px 1fr; gap:56px; align-items:start;}
.bio-photo{
  aspect-ratio:4/5; background:linear-gradient(160deg, var(--denim), #26384a);
  border:1px solid rgba(199,154,75,0.3); display:flex; align-items:center; justify-content:center;
  font-family:'Rye', serif; font-size:3rem; color:rgba(243,232,211,0.35);
  overflow:hidden;
}
.bio-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.bio p{max-width:60ch; opacity:0.9; margin-bottom:16px;}
.bio p:last-child{margin-bottom:0;}

/* ============ AUDIO PLAYER ============ */
.player{
  background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2);
  border-radius:4px; overflow:hidden;
}
.now-playing{padding:28px 30px 20px; border-bottom:1px solid rgba(199,154,75,0.15);}
.track-name{
  font-family:'Rye', serif; font-size:1.5rem; color:var(--paper); margin-bottom:16px;
  min-height:1.6em;
}
.progress-wrap{width:100%;}
input[type=range]{
  -webkit-appearance:none; width:100%; height:4px; background:rgba(199,154,75,0.25);
  border-radius:2px; outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; width:14px; height:14px; border-radius:50%;
  background:var(--gold); cursor:pointer; border:2px solid var(--walnut-2);
}
input[type=range]::-moz-range-thumb{
  width:14px; height:14px; border-radius:50%; background:var(--gold); cursor:pointer; border:2px solid var(--walnut-2);
}
.time-row{
  display:flex; justify-content:space-between; font-family:'Courier Prime', monospace;
  font-size:0.72rem; color:var(--paper); opacity:0.6; margin-top:6px;
}
.controls{display:flex; align-items:center; gap:18px; margin-top:18px;}
.controls button{
  background:none; border:1px solid var(--gold); color:var(--gold);
  width:42px; height:42px; border-radius:50%; font-size:1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background 0.15s, color 0.15s;
}
.controls button:hover{background:var(--gold); color:var(--walnut);}
.controls #playBtn{width:52px; height:52px; font-size:1.2rem;}
.controls .vol-wrap{display:flex; align-items:center; gap:8px; margin-left:auto; flex:0 0 140px;}
.controls .vol-wrap span{font-family:'Courier Prime', monospace; font-size:0.7rem; opacity:0.6;}

.playlist{list-style:none;}
.playlist li{
  display:flex; align-items:center; gap:16px; padding:16px 30px;
  border-bottom:1px solid rgba(199,154,75,0.1); cursor:pointer; transition:background 0.15s;
}
.playlist li:last-child{border-bottom:none;}
.playlist li:hover{background:rgba(199,154,75,0.06);}
.playlist li.active{background:rgba(199,154,75,0.12);}
.playlist li .track-icon{
  width:32px; height:32px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-size:0.7rem; color:var(--gold);
}
.playlist li .track-title{font-size:1rem;}
.playlist li .track-title small{display:block; font-family:'Courier Prime', monospace; font-size:0.7rem; opacity:0.5; margin-top:2px;}

/* ============ STREAMING / SOCIAL LINKS (list-row style) ============ */
.link-columns{
  display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:640px; margin:0 auto;
}
.link-column .footer-label{text-align:left; margin-bottom:20px;}
.link-list{list-style:none;}
.link-list li{border-bottom:1px solid rgba(199,154,75,0.12);}
.link-list li:last-child{border-bottom:none;}
.link-list a{
  display:flex; align-items:center; gap:14px; padding:12px 6px;
  text-decoration:none; color:var(--paper); opacity:0.75;
  transition:opacity 0.15s ease, padding-left 0.15s ease;
}
.link-list a:hover{opacity:1; padding-left:12px;}
.link-icon{
  width:22px; height:22px; flex-shrink:0; color:var(--gold);
  display:flex; align-items:center; justify-content:center;
}
.link-icon svg{width:20px; height:20px;}
.link-name{
  font-family:'Courier Prime', monospace; font-size:0.82rem; letter-spacing:1px; text-transform:uppercase;
}
@media (max-width:640px){
  .link-columns{grid-template-columns:1fr; gap:36px; max-width:320px;}
}

/* SHOWS */
.shows-note{text-align:center; padding:50px 0;}
.shows-note .headline{font-size:1.3rem; font-family:'Rye', serif; color:var(--gold); margin-bottom:14px;}
.shows-note p{opacity:0.8; max-width:480px; margin:0 auto;}

/* NEWSLETTER */
.newsletter{
  background:var(--walnut-2); text-align:center; border-top:1px solid rgba(199,154,75,0.2);
  border-bottom:1px solid rgba(199,154,75,0.2);
}
.newsletter h2{margin-bottom:10px;}
.newsletter p{opacity:0.8; margin-bottom:30px;}
form.signup{display:flex; gap:12px; justify-content:center; max-width:440px; margin:0 auto; flex-wrap:wrap;}
form.signup input[type=email]{
  flex:1; min-width:200px; padding:14px 16px; background:var(--walnut);
  border:1px solid rgba(199,154,75,0.35); color:var(--paper); font-family:'PT Serif', serif;
}
form.signup input[type=email]:focus{outline:2px solid var(--gold); outline-offset:2px;}

/* FOOTER (footer.html) */
footer{padding:60px 0 50px;}
footer .footer-section{margin-bottom:36px;}
footer .footer-label{
  text-align:center; font-family:'Courier Prime', monospace; font-size:0.7rem;
  letter-spacing:3px; text-transform:uppercase; color:var(--rust); margin-bottom:18px;
}
footer .copy{
  text-align:center; font-family:'Courier Prime', monospace; font-size:0.75rem; opacity:0.45; margin-top:20px;
}

@media (max-width: 760px){
  nav.links{display:none;}
  .bio{grid-template-columns:1fr;}
  .controls{flex-wrap:wrap;}
  .controls .vol-wrap{flex:1 1 100%; margin-left:0; order:10;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
}

/* ============ NAV TOGGLE (mobile) ============ */
.nav-toggle{
  display:none; background:none; border:1px solid var(--gold); color:var(--gold);
  font-size:1.1rem; width:42px; height:38px; border-radius:2px; cursor:pointer;
}
@media (max-width:760px){
  .nav-toggle{display:block;}
  nav.links{
    display:none; position:absolute; top:76px; left:0; right:0;
    background:var(--walnut); flex-direction:column; gap:0;
    border-bottom:1px solid rgba(199,154,75,0.25);
  }
  nav.links.open{display:flex;}
  nav.links a{padding:16px 32px; border-bottom:1px solid rgba(199,154,75,0.1);}
  .site-nav .wrap{position:relative;}
}

/* ============ SVG BADGE ICONS ============ */
.badge-icon svg{width:26px; height:26px;}
.badge-icon{color:var(--gold);}

/* ============ PAGE HERO (subpages) ============ */
.page-hero{
  padding:110px 0 60px; text-align:center;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(199,154,75,0.14), transparent 60%),
    var(--walnut-2);
  border-bottom:1px solid rgba(199,154,75,0.2);
}
.page-hero h1{
  font-family:'Rye', serif; font-size:clamp(2.4rem, 6vw, 3.6rem); color:var(--paper);
}
.page-hero p{opacity:0.8; max-width:520px; margin:16px auto 0; font-style:italic;}

/* ============ GALLERY ============ */
.gallery-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}
.gallery-grid figure{
  aspect-ratio:1; background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2);
  display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:2px;
}
.gallery-grid figure img{width:100%; height:100%; object-fit:cover;}
.gallery-grid figure.placeholder{
  font-family:'Courier Prime', monospace; font-size:0.75rem; letter-spacing:2px;
  text-transform:uppercase; color:rgba(243,232,211,0.35); text-align:center; padding:20px;
}
@media (max-width:760px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }

/* ============ VIDEOS ============ */
.video-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.video-card{background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); border-radius:2px; overflow:hidden;}
.video-card .video-embed{aspect-ratio:16/9; background:var(--walnut); display:flex; align-items:center; justify-content:center;}
.video-card .video-embed iframe{width:100%; height:100%; border:0;}
.video-card .video-caption{padding:16px 18px; font-family:'Courier Prime', monospace; font-size:0.8rem; opacity:0.75;}
@media (max-width:760px){ .video-grid{grid-template-columns:1fr;} }

/* ============ EPK / BIO PAGE ============ */
.epk-block{margin-bottom:60px;}
.epk-block:last-child{margin-bottom:0;}
.one-sheet{
  background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); padding:34px;
  border-radius:2px;
}
.one-sheet dl{display:grid; grid-template-columns:160px 1fr; row-gap:14px;}
.one-sheet dt{font-family:'Courier Prime', monospace; letter-spacing:1px; color:var(--gold); font-size:0.82rem;}
.one-sheet dd{opacity:0.9;}
@media (max-width:760px){ .one-sheet dl{grid-template-columns:1fr;} .one-sheet dd{margin-bottom:6px;} }

/* ============ MERCH ============ */
.merch-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.merch-card{
  background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); border-radius:2px;
  padding:0; overflow:hidden; text-align:center;
}
.merch-card .merch-img{aspect-ratio:1; background:linear-gradient(160deg, var(--denim), #26384a); display:flex; align-items:center; justify-content:center; font-family:'Rye', serif; color:rgba(243,232,211,0.3); font-size:1.2rem;}
.merch-card .merch-info{padding:18px;}
.merch-card .merch-info h3{font-family:'PT Serif', serif; font-size:1.05rem; margin-bottom:6px;}
.merch-card .merch-info span{font-family:'Courier Prime', monospace; font-size:0.75rem; color:var(--gold); text-transform:uppercase; letter-spacing:1px;}
@media (max-width:760px){ .merch-grid{grid-template-columns:1fr;} }
.merch-banner{text-align:center; padding:0 0 40px;}
.merch-banner p{opacity:0.85; max-width:520px; margin:0 auto;}

/* ============ NEWS / BLOG ============ */
.news-list{max-width:760px; margin:0 auto;}
.news-item{border-bottom:1px solid rgba(199,154,75,0.15); padding:28px 0;}
.news-item:first-child{padding-top:0;}
.news-item .news-date{font-family:'Courier Prime', monospace; font-size:0.75rem; color:var(--gold); letter-spacing:1px;}
.news-item h3{font-family:'Rye', serif; font-size:1.4rem; color:var(--paper); margin:8px 0 10px;}
.news-item p{opacity:0.85;}

/* ============ CONTACT ============ */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
.contact-form label{
  display:block; font-family:'Courier Prime', monospace; font-size:0.75rem;
  letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; margin-top:18px;
}
.contact-form label:first-child{margin-top:0;}
.contact-form input, .contact-form textarea{
  width:100%; padding:12px 14px; background:var(--walnut-2); border:1px solid rgba(199,154,75,0.3);
  color:var(--paper); font-family:'PT Serif', serif; font-size:0.95rem; border-radius:2px;
}
.contact-form textarea{min-height:120px; resize:vertical;}
.contact-form input:focus, .contact-form textarea:focus{outline:2px solid var(--gold); outline-offset:1px;}
.contact-form button{margin-top:22px;}
.contact-info{background:var(--walnut-2); border:1px solid rgba(199,154,75,0.2); padding:30px; border-radius:2px;}
.contact-info h3{font-family:'Rye', serif; color:var(--gold); font-size:1.3rem; margin-bottom:14px;}
.contact-info p{opacity:0.85; margin-bottom:10px;}
@media (max-width:760px){ .contact-grid{grid-template-columns:1fr;} }

/* ============ DOWNLOAD-DETERRENT NOTE STYLING ============ */
.player-note{
  font-family:'Courier Prime', monospace; font-size:0.7rem; opacity:0.45; text-align:center;
  margin-top:14px;
}

/* ============ PLAYER UPGRADE: art + waveform + thumbnails + shuffle/repeat ============ */
.now-playing{display:flex; gap:20px; align-items:flex-start;}
.now-art{
  width:90px; height:90px; border-radius:4px; overflow:hidden; flex-shrink:0;
  border:1px solid rgba(199,154,75,0.3);
}
.now-art img{width:100%; height:100%; object-fit:cover; display:block;}
.now-info{flex:1; min-width:0;}

.waveform-wrap{
  position:relative; height:56px; border-radius:2px; overflow:hidden;
  background:rgba(0,0,0,0.2);
}
.waveform-wrap .waveform-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0.55; pointer-events:none;
}
.waveform-wrap .progress-fill{
  position:absolute; top:0; left:0; height:100%; width:0%;
  background:rgba(199,154,75,0.32); pointer-events:none; transition:width 0.05s linear;
}
.waveform-wrap input[type=range].seek{
  position:absolute; inset:0; width:100%; height:100%; margin:0;
  opacity:0; cursor:pointer; -webkit-appearance:none; background:transparent;
}

.controls{flex-wrap:wrap;}
.controls .toggle-btn{
  background:none; border:1px solid rgba(199,154,75,0.5); color:var(--paper); opacity:0.6;
  font-family:'Courier Prime', monospace; font-size:0.65rem; letter-spacing:1px;
  padding:8px 12px; border-radius:20px; cursor:pointer; transition:all 0.15s; white-space:nowrap;
}
.controls .toggle-btn.active{background:var(--gold); color:var(--walnut); opacity:1; border-color:var(--gold);}
.controls .toggle-btn:hover{opacity:1;}

.playlist li{gap:14px;}
.playlist li .track-thumb{
  width:40px; height:40px; border-radius:3px; overflow:hidden; flex-shrink:0;
  border:1px solid rgba(199,154,75,0.25);
}
.playlist li .track-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.playlist li .track-title{flex:1;}
.playlist li .track-dur{
  font-family:'Courier Prime', monospace; font-size:0.72rem; opacity:0.55; flex-shrink:0;
}

@media (max-width:760px){
  .now-playing{flex-direction:column; align-items:center; text-align:center;}
  .now-art{width:120px; height:120px;}
}

/* ============ TOUR DATES LIST ============ */
.tour-list{border-top:1px solid rgba(199,154,75,0.25);}
.tour-row{
  display:grid; grid-template-columns:140px 1fr auto; gap:20px; align-items:center;
  padding:22px 0; border-bottom:1px solid rgba(199,154,75,0.15);
}
.tour-row .date{font-family:'Courier Prime', monospace; color:var(--gold); font-size:0.95rem;}
.tour-row .venue{font-size:1.05rem;}
.tour-row .city{opacity:0.65; font-size:0.9rem; display:block; margin-top:2px;}
.tour-row .status{
  font-family:'Courier Prime', monospace; font-size:0.75rem; letter-spacing:1.5px;
  text-transform:uppercase; padding:6px 14px; border:1px solid var(--rust); color:var(--rust);
  white-space:nowrap;
}
@media (max-width:760px){
  .tour-row{grid-template-columns:1fr; text-align:left; gap:6px;}
}

/* ============ MARGARITA IN MASON JARS — scoped palette override ============
   Re-themes all existing component colors (player, badges, buttons, etc.)
   within this section only, by overriding the CSS variables locally.
   Rest of the site keeps the walnut/gold Dirt Road Testimony look. */
/* margarita-theme override removed — section now matches site-wide colors */

/* ============ SITE STYLE REFRESH — matches new album cover artwork ============ */

/* AR monogram badge in header, matching the mark on every cover */
.brand-lockup{display:flex; align-items:center; gap:14px; text-decoration:none;}
.ar-badge{
  width:42px; height:42px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:'Rye', serif; font-size:0.82rem; color:var(--gold);
}

/* Gold corner-bracket frame, echoing the ornate corners on every cover */
.corner-frame{position:relative;}
.corner-frame .cf-tl, .corner-frame .cf-tr, .corner-frame .cf-bl, .corner-frame .cf-br{
  content:''; position:absolute; width:18px; height:18px; pointer-events:none;
}
.corner-frame .cf-tl{top:-1px; left:-1px; border-top:2px solid var(--gold); border-left:2px solid var(--gold);}
.corner-frame .cf-tr{top:-1px; right:-1px; border-top:2px solid var(--gold); border-right:2px solid var(--gold);}
.corner-frame .cf-bl{bottom:-1px; left:-1px; border-bottom:2px solid var(--gold); border-left:2px solid var(--gold);}
.corner-frame .cf-br{bottom:-1px; right:-1px; border-bottom:2px solid var(--gold); border-right:2px solid var(--gold);}

/* Hero title — solid cream, denim moved to rule + tagline */
h1.name{color:var(--paper);}
.title-rule{width:200px; height:2px; background:var(--denim); margin:24px auto 0; opacity:0.85;}
.tagline{color:var(--denim);}

/* Track list durations / secondary metadata now use the denim accent */
.playlist li .track-dur{color:var(--denim); opacity:0.85;}
.tour-row .date{color:var(--denim);}
