/*
Theme Name: Syd Records DIY
Theme URI: https://sydrecords.com
Author: Syd Records
Description: Custom WooCommerce theme mockup — punk/DIY zine aesthetic, xerox halftone textures, Oswald category typography. Built as a staging redesign concept.
Version: 1.0.0
Text Domain: syd-records-diy
Requires PHP: 7.4
Tags: e-commerce, woocommerce, custom-menu, footer-widgets
*/

:root{
  --black:#111110;
  --white:#f7f5ee;
  --paper:#efece0;
  --grey:#8a877c;
}

*{box-sizing:border-box;}
html,body{margin:0;background:var(--white);color:var(--black);font-family:'JetBrains Mono',monospace;}
a{color:inherit;}
img{max-width:100%;display:block;}
.site-noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:repeating-linear-gradient(0deg, rgba(0,0,0,.5) 0px, transparent 1px, transparent 2px, rgba(0,0,0,.5) 3px),
    radial-gradient(circle at 1px 1px, #000 1px, transparent 0);background-size:100% 4px, 3px 3px;}

/* ===== ticker ===== */
.site-ticker{background:var(--black);color:var(--white);border-bottom:4px solid var(--black);overflow:hidden;
  white-space:nowrap;font-family:'Archivo Black',sans-serif;font-size:12px;}
.site-ticker div{display:inline-block;padding:9px 0;animation:sydscroll 18s linear infinite;}
.site-ticker span{margin-right:36px;}
@keyframes sydscroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== header ===== */
.site-header{background:var(--white);border-bottom:5px solid var(--black);}
.header-row{
  max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;
  padding:20px 24px;gap:24px;flex-wrap:wrap;
}
.logo{display:flex;align-items:baseline;gap:14px;text-decoration:none;color:var(--black);flex-wrap:wrap;}
.logo .mark{font-family:'Anton',sans-serif;font-size:clamp(26px,4vw,34px);line-height:1;text-transform:uppercase;letter-spacing:-.01em;}
.logo .mark .hi{background:var(--black);color:var(--white);padding:0 6px;margin-left:2px;}
.logo .tagline{
  font-family:'Special Elite',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;
  border-left:2px solid var(--black);padding-left:12px;color:#4a4840;line-height:1.4;max-width:220px;
}
.header-actions{display:flex;align-items:center;gap:18px;}
.icon-btn{background:none;border:none;font-size:18px;cursor:pointer;color:var(--black);text-decoration:none;padding:0;}
.cart-btn{position:relative;}
.cart-btn sup{
  position:absolute;top:-8px;right:-11px;background:var(--black);color:var(--white);
  font-family:'Archivo Black',sans-serif;font-size:9px;border-radius:50%;width:15px;height:15px;
  display:flex;align-items:center;justify-content:center;
}

/* "Dig In" — the mobile menu trigger. Hidden on desktop, shown below the nav breakpoint. */
.dig-in-btn{
  display:none;align-items:center;justify-content:center;
  width:34px;height:34px;flex:0 0 auto;
  background:var(--black);color:var(--white);border:none;cursor:pointer;
  transform:rotate(-4deg);
}
.dig-in-btn .sym{font-size:17px;line-height:1;}

@media (max-width:860px){
  .header-row{flex-wrap:nowrap;}
  .logo .tagline{display:none;}
}

/* ===== primary nav (desktop) ===== */
.main-navigation{border-top:2px solid var(--black);}
.main-navigation ul{list-style:none;margin:0;padding:0;max-width:1400px;margin-left:auto;margin-right:auto;
  display:flex;flex-wrap:wrap;gap:2px 0;}
.main-navigation li{position:relative;}
.main-navigation a{position:relative;display:block;font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;
  text-transform:uppercase;text-decoration:none;padding:14px 20px;letter-spacing:.1em;color:var(--black);}
.main-navigation a::after{content:"";position:absolute;left:20px;right:20px;bottom:8px;height:2px;background:var(--black);
  transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.main-navigation a:hover::after,
.main-navigation .current-menu-item a::after{transform:scaleX(1);}
.main-navigation .current-menu-item a{font-weight:700;}
.main-navigation li.sale a{color:var(--grey);}

@media (max-width:860px){
  .main-navigation{display:none;}
  .dig-in-btn{display:inline-flex;}
}

/* ===== full-screen mobile menu overlay ===== */
.mobile-menu-overlay{
  position:fixed;inset:0;background:var(--black);color:var(--white);z-index:200;
  display:none;flex-direction:column;padding:20px 22px;overflow-y:auto;
}
.mobile-menu-overlay.open{display:flex;}
.mmo-top{display:flex;justify-content:space-between;align-items:center;}
.mmo-logo{font-family:'Anton',sans-serif;font-size:20px;text-transform:uppercase;color:var(--white);}
.mmo-close{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Archivo Black',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
  background:var(--white);color:var(--black);border:none;padding:9px 15px;cursor:pointer;transform:rotate(1.5deg);
}
.mmo-nav{margin-top:34px;flex:1;}
.mmo-list{list-style:none;margin:0;padding:0;}
.mmo-list li{border-bottom:2px solid rgba(247,245,238,.15);}
.mmo-list li:first-child{border-top:2px solid rgba(247,245,238,.15);}
.mmo-list a{
  display:flex;justify-content:space-between;align-items:center;
  font-family:'Anton',sans-serif;font-size:clamp(24px,7vw,32px);text-transform:uppercase;color:var(--white);
  text-decoration:none;padding:16px 2px;
}
.mmo-list .idx{font-family:'JetBrains Mono',monospace;font-size:11px;opacity:.4;}
.mmo-list li.sale a{color:#c9c6b8;}
.mmo-footer{
  font-family:'Special Elite',monospace;font-size:10px;letter-spacing:.05em;color:#8a877c;
  padding-top:16px;border-top:2px solid rgba(247,245,238,.15);text-transform:uppercase;
}
@media (min-width:861px){
  .mobile-menu-overlay{display:none !important;} /* never triggerable on desktop widths */
}

/* ===== search overlay — same treatment as the mobile menu, but available at every width ===== */
.search-overlay{
  position:fixed;inset:0;background:var(--black);color:var(--white);z-index:210;
  display:none;flex-direction:column;padding:20px 22px;overflow-y:auto;
}
.search-overlay.open{display:flex;}
.so-top{display:flex;justify-content:space-between;align-items:center;max-width:900px;width:100%;margin:0 auto;}
.so-logo{font-family:'Anton',sans-serif;font-size:20px;text-transform:uppercase;color:var(--white);}
.so-close{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Archivo Black',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.05em;
  background:var(--white);color:var(--black);border:none;padding:9px 15px;cursor:pointer;transform:rotate(1.5deg);
}
.so-form{max-width:900px;width:100%;margin:60px auto 0;}
.so-label{font-family:'Special Elite',monospace;font-size:11px;color:#8a877c;text-transform:uppercase;margin-bottom:14px;}
.so-input-row{display:flex;align-items:flex-end;border-bottom:3px solid var(--white);padding-bottom:14px;gap:14px;}
.so-input-row input{
  flex:1;background:transparent;border:none;color:var(--white);font-family:'Anton',sans-serif;
  font-size:clamp(28px,6vw,52px);text-transform:uppercase;outline:none;padding:0;min-width:0;
}
.so-input-row input::placeholder{color:#4a4840;}
.so-submit{background:none;border:none;color:var(--white);font-size:28px;cursor:pointer;padding:0;line-height:1;}
.so-hint{font-family:'JetBrains Mono',monospace;font-size:11px;color:#5a5850;margin-top:16px;}

/* On mobile only one column fits anyway — force cards to fill the full row
   width exactly, rather than growing up to max-width and leaving an
   unpredictable leftover gap that ends up looking randomly misaligned
   between products. */
@media (max-width:600px){
  .woocommerce ul.products li.product,
  .woocommerce ul.products[class*="columns-"] li.product{
    flex:1 1 100% !important;
    max-width:100% !important;
  }
}

/* ===== page head (shop/cart/contact banner) ===== */
.page-head{padding:40px 24px 30px;border-bottom:3px solid var(--black);background:var(--paper);}
.page-head-inner{max-width:1400px;margin:0 auto;}
.page-head .crumb{font-family:'Special Elite',monospace;font-size:11px;opacity:.6;margin-bottom:10px;}
.page-head h1{font-family:'Anton',sans-serif;font-size:clamp(36px,6vw,64px);text-transform:uppercase;margin:0;line-height:.9;}
.page-head p{max-width:560px;font-size:13px;line-height:1.7;margin:14px 0 0;color:#3a382f;}

/* ===== hero (front page) ===== */
.hero{position:relative;padding:80px 24px 100px;border-bottom:5px solid var(--black);background:var(--paper);overflow:hidden;}
.hero-inner{max-width:920px;position:relative;margin:0 auto;}
.hero h1{font-family:'Anton',sans-serif;font-size:clamp(38px,8vw,100px);line-height:.92;text-transform:uppercase;margin:0 0 20px;}
.hero h1 .out{-webkit-text-stroke:2px var(--black);color:var(--paper);}
.hero .marker-line{font-family:'Permanent Marker',cursive;font-size:clamp(18px,3vw,28px);color:var(--grey);
  transform:rotate(-2deg);display:inline-block;margin-bottom:22px;}
.hero p{max-width:560px;font-size:13.5px;line-height:1.8;color:#3a382f;margin-bottom:32px;}
.hero .cta{display:inline-flex;align-items:center;gap:12px;background:var(--black);color:var(--white);
  font-family:'Archivo Black',sans-serif;font-size:13px;text-transform:uppercase;padding:15px 24px;text-decoration:none;
  clip-path:polygon(0 0,97% 0,100% 25%,100% 100%,3% 100%,0 75%);border:2px solid var(--black);}
.hero .cta:hover{background:var(--white);color:var(--black);}

/* ===== generic section ===== */
.syd-section{padding:64px 24px;max-width:1400px;margin:0 auto;}
@media (max-width:600px){
  .syd-section{padding:34px 20px;}
  .sessions-banner{padding:34px 20px;}
  .sounds-of-syd-section,
  .fight-club-section{padding:34px 20px;}
}
.syd-section.alt{background:var(--paper);max-width:none;padding-left:24px;padding-right:24px;}
.syd-section-alt-inner{max-width:1400px;margin:0 auto;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px;
  border-bottom:4px solid var(--black);padding-bottom:14px;margin-bottom:38px;}
.section-head h2{font-family:'Anton',sans-serif;font-size:clamp(30px,5.5vw,58px);text-transform:uppercase;margin:0;line-height:.88;}
.section-head .meta{font-family:'Oswald',sans-serif;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.09em;opacity:.65;}

/* ===== Syd Sessions banner ===== */
.sessions-banner{background:var(--white);color:var(--black);padding:54px 24px;
  border-top:5px solid var(--black);border-bottom:5px solid var(--black);}
.sessions-banner-inner{max-width:1400px;margin:0 auto;display:flex;gap:40px;flex-wrap:wrap;
  align-items:center;justify-content:space-between;}
.sessions-banner h3{font-family:'Anton',sans-serif;font-size:clamp(28px,5.5vw,50px);text-transform:uppercase;margin:0;}
.sessions-banner p{max-width:440px;font-size:13px;line-height:1.7;color:#3a382f;}
.sessions-banner .tape-block{background:var(--black);color:var(--white);padding:16px 22px;font-size:11px;
  letter-spacing:.05em;display:flex;gap:12px;align-items:center;border:2px solid var(--black);}
.sessions-banner .dot{width:9px;height:9px;background:var(--white);border-radius:50%;}

/* ===== Staff Pick Spotlight + List ===== */
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.sp-spot img{display:block;width:auto;height:auto;max-width:100%;max-height:460px;margin:0 0 20px;border:3px solid var(--black);}
.sp-spot .eyebrow{
  font-family:'Archivo Black',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  background:var(--black);color:var(--white);display:inline-block;padding:5px 10px;margin-bottom:14px;
}
.sp-spot h3{font-family:'Anton',sans-serif;font-size:clamp(24px,3vw,34px);text-transform:uppercase;margin:0 0 10px;line-height:1;}
.sp-spot h3 a{color:inherit;text-decoration:none;}
.sp-spot p{font-size:12.5px;line-height:1.75;color:#3a382f;margin:0 0 16px;max-width:440px;}
.sp-spot .price-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.sp-spot .price{font-family:'Archivo Black',sans-serif;font-size:24px;}
.sp-spot .price del{opacity:.5;font-size:16px;}
.sp-spot .price ins{text-decoration:none;}
.sp-spot .btn{
  font-family:'JetBrains Mono',monospace;font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  border:2px solid var(--black);background:transparent;color:var(--black);padding:11px 18px;text-decoration:none;display:inline-block;
}
.sp-spot .btn:hover{background:var(--black);color:var(--white);}

.sp-list-label{font-family:'Oswald',sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;
  letter-spacing:.06em;border-bottom:2px solid var(--black);padding-bottom:10px;margin-bottom:6px;}
.sp-list-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #d8d4c5;text-decoration:none;color:inherit;}
.sp-list-row img{width:64px;height:64px;object-fit:cover;border:2px solid var(--black);flex:0 0 auto;}
.sp-list-info{flex:1;}
.sp-list-info .name{font-family:'Oswald',sans-serif;font-weight:600;font-size:12.5px;text-transform:uppercase;margin-bottom:2px;}
.sp-list-info .price{font-family:'JetBrains Mono',monospace;font-size:11.5px;opacity:.75;}
.sp-list-row .go{font-family:'JetBrains Mono',monospace;font-size:14px;opacity:.4;}
.sp-list-more{
  display:block;text-align:center;margin-top:18px;padding:14px;border:2px solid var(--black);
  font-family:'JetBrains Mono',monospace;font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--black);text-decoration:none;
}
.sp-list-more:hover{background:var(--black);color:var(--white);}

@media (max-width:820px){
  .sp-grid{grid-template-columns:1fr;gap:30px;}
}

/* ===== Sounds Of Syd (paper — sits between two white sections, keeps the black moment reserved for Fight Club) ===== */
.sounds-of-syd-section{
  background:var(--paper);color:var(--black);padding:44px 24px;display:flex;gap:30px;align-items:center;
  flex-wrap:wrap;border-top:5px solid var(--black);
}
.sounds-of-syd-section-inner{max-width:1400px;margin:0 auto;display:flex;gap:30px;align-items:center;flex-wrap:wrap;width:100%;}
.sos-art{
  width:100px;height:100px;flex:0 0 auto;background:repeating-linear-gradient(45deg,#dcd8c8 0 8px,#cfcbba 8px 16px);
  border:2px solid var(--black);display:flex;align-items:center;justify-content:center;font-size:26px;
}
.sos-eyebrow{font-family:'Archivo Black',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.sounds-of-syd-section p{font-size:12.5px;color:#3a382f;max-width:460px;margin:0 0 10px;line-height:1.7;}
.sos-embed{max-width:560px;}
.sos-embed iframe{max-width:100%;}
.sos-placeholder{font-family:'Special Elite',monospace;opacity:.5;}

/* ===== Genre Fight Club — the one deliberate black section in this run ===== */
.fight-club-section{
  padding:44px 24px;background:var(--black);color:var(--white);text-align:center;
  border-top:5px solid var(--black);
}
.fight-club-section-inner{max-width:1400px;margin:0 auto;}
.fight-club-section h3{font-family:'Anton',sans-serif;font-size:24px;text-transform:uppercase;margin:0 0 6px;}
.fc-round{font-family:'Special Elite',monospace;font-size:10px;color:#c9c6b8;margin-bottom:22px;text-transform:uppercase;}
.fc-row{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
.fc-side{
  border:2px solid var(--white);background:transparent;color:var(--white);padding:16px 22px;
  font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;font-size:14px;cursor:pointer;
  flex:1 1 150px;max-width:220px;
}
.fc-side:hover:not(:disabled){background:var(--white);color:var(--black);}
.fc-side:disabled{opacity:.5;cursor:default;}
.fc-mid{font-family:'Anton',sans-serif;font-size:20px;opacity:.5;flex:0 0 auto;}
@media (max-width:520px){
  .fc-row{flex-direction:column;align-items:stretch;}
  .fc-side{max-width:none;width:100%;}
}
.fc-tally{font-family:'JetBrains Mono',monospace;font-size:11px;color:#8a877c;margin-top:16px;}

/* ===== The Blacklist ===== */
.blacklist-section .blacklist-list{max-width:800px;}
.bl-row{display:flex;background:var(--white);border:2px solid var(--black);margin-bottom:14px;}
.bl-num{
  flex:0 0 56px;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:center;
  font-family:'Anton',sans-serif;font-size:18px;
}
.bl-body{flex:1;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.bl-body .name{font-family:'Oswald',sans-serif;font-weight:700;font-size:13.5px;text-transform:uppercase;text-decoration:line-through;}
.bl-body .reason{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:#5a5850;}
@media (max-width:460px){
  .bl-num{flex-basis:44px;font-size:15px;}
  .bl-body{padding:12px 14px;}
}

/* ===== Mailing List — slim bar sitting above the footer columns ===== */
.footer-subscribe-bar{background:var(--black);color:var(--white);padding:26px 24px;border-top:5px solid var(--black);}
.footer-subscribe-inner{
  max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
}
.fsb-text h4{font-family:'Anton',sans-serif;font-size:20px;text-transform:uppercase;margin:0 0 4px;}
.fsb-text p{font-size:11.5px;color:#cfcdc4;margin:0;}
.footer-subscribe-bar form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.footer-subscribe-bar input[type="email"]{
  background:transparent;border:none;border-bottom:2px solid var(--white);color:var(--white);
  font-family:'JetBrains Mono',monospace;font-size:12px;padding:8px 0;min-width:200px;
}
.footer-subscribe-bar input::placeholder{color:#8a877c;}
.footer-subscribe-bar button{
  background:var(--white);color:var(--black);border:none;padding:10px 18px;
  font-family:'Archivo Black',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;
}
.mc-success{font-family:'Oswald',sans-serif;font-weight:600;color:var(--white);margin:0;}
.mc-error{font-family:'JetBrains Mono',monospace;font-size:11px;color:#ff9b9b;}

/* ===================================================
   WooCommerce overrides — shop / product / cart pages
   =================================================== */

/* --- product grid (shop archive + related products) ---
   Using flexbox rather than CSS grid on purpose: some WooCommerce
   versions set their own grid-template-columns/--columns custom
   property on ul.products with higher effective priority, which was
   leaving a mystery empty first column. Flexbox has no equivalent
   "phantom track" concept, so it sidesteps that entirely. */
.woocommerce ul.products,
.woocommerce ul.products[class*="columns-"]{
  display:flex !important;flex-wrap:wrap !important;justify-content:flex-start !important;
  gap:30px 26px;list-style:none;padding:0;margin:0;
}
.woocommerce ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product{
  position:relative;text-align:left;display:flex;flex-direction:column;
  flex:1 1 215px !important;max-width:300px !important;
  width:auto !important;float:none !important;margin:0 !important;clear:none !important;
}
/* On mobile, skip the variable flex-grow math entirely — one product
   per row, always exactly 100% width, so every card matches every
   other card with zero ambiguity. */
@media (max-width:600px){
  .woocommerce ul.products li.product,
  .woocommerce ul.products[class*="columns-"] li.product{
    flex:1 1 100% !important;max-width:100% !important;
  }
}
/* the product link wraps image+title+price — let it grow so the button
   underneath always lands on the same baseline across a row */
.woocommerce ul.products li.product > a:first-child{
  display:flex;flex-direction:column;flex:1 1 auto;text-decoration:none;color:inherit;
}
.woocommerce ul.products li.product img{
  border:3px solid var(--black);
  aspect-ratio:1/1;object-fit:cover;width:100% !important;height:auto !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Oswald',sans-serif;font-weight:600;font-size:13.5px;text-transform:uppercase;line-height:1.3;
  letter-spacing:.02em;margin:14px 0 6px;color:var(--black);}
.woocommerce ul.products li.product .price{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--black);margin:0 0 10px;display:block;margin-top:auto;}
.woocommerce ul.products li.product .price del{opacity:.5;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button{
  display:block;width:100%;border:2px solid var(--black) !important;background:transparent !important;color:var(--black) !important;
  font-family:'JetBrains Mono',monospace;font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  padding:11px !important;cursor:pointer;text-align:center;border-radius:0 !important;margin-top:12px;}
.woocommerce ul.products li.product .button:hover{background:var(--black) !important;color:var(--white) !important;}
.woocommerce span.onsale{
  position:absolute;top:8px;right:-6px;left:auto;background:var(--black) !important;color:var(--white);
  font-family:'Archivo Black',sans-serif;font-size:12px;padding:6px 10px;transform:rotate(7deg);border-radius:0;
  min-height:auto;min-width:auto;line-height:1;}

/* --- shop toolbar / sorting / result count --- */
.woocommerce-result-count,.woocommerce-ordering select{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;}
.woocommerce-ordering select{border:2px solid var(--black);padding:9px 14px;background:var(--white);font-size:12px;}

/* --- sidebar filter widgets (WooCommerce widgets: layered nav, price filter) --- */
.woocommerce-widget-layered-nav h3,.widget_price_filter h3,.widget_product_categories h2{
  font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;
  border-bottom:2px solid var(--black);padding-bottom:10px;margin:0 0 14px;}
.woocommerce-widget-layered-nav ul,.widget_product_categories ul{list-style:none;padding:0;margin:0 0 30px;}
.woocommerce-widget-layered-nav li,.widget_product_categories li{
  font-family:'Oswald',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.03em;padding:6px 0;}
.woocommerce-widget-layered-nav li a,.widget_product_categories li a{text-decoration:none;color:#2a2a28;}

/* --- single product page --- */
.single-product div.product::after{content:"";display:table;clear:both;} /* contain floated image/summary columns without clipping content like overflow:hidden would */
.single-product div.images img{border:3px solid var(--black);margin-bottom:20px;}
.single-product div.summary{padding-top:6px;}
.single-product div.summary .product_title{font-family:'Anton',sans-serif;font-size:clamp(30px,4vw,44px);
  text-transform:uppercase;line-height:1.05;margin:0 0 14px;}
.single-product div.summary p.price{font-family:'Archivo Black',sans-serif;font-size:34px;margin-bottom:24px;color:var(--black);}
.single-product div.summary p.price del{font-family:'JetBrains Mono',monospace;font-size:16px;opacity:.45;}

/* --- attribute meta-table (Format / Genre / Label / Condition / Released) --- */
.syd-meta-table{border-top:2px solid var(--black);border-bottom:2px solid var(--black);margin-bottom:26px;}
.syd-meta-table div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding:11px 0;border-bottom:1px solid #d8d4c5;font-size:12.5px;}
.syd-meta-table div:last-child{border-bottom:none;}
.syd-meta-table .k{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;opacity:.6;}
.syd-meta-table .v{font-family:'JetBrains Mono',monospace;font-weight:700;text-align:right;word-break:break-word;}

/* --- Option 1: Always-Visible Stacked Sections (Description + Tracklist) --- */
.syd-stacked-block{clear:both;margin-top:36px;padding-top:30px;border-top:3px solid var(--black);}
.syd-stacked-block h3{font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:.08em;border-bottom:2px solid var(--black);padding-bottom:10px;margin:0 0 16px;}
.syd-stacked-block .syd-block-content{font-size:13px;line-height:1.8;color:#3a382f;}
.syd-tracklist{list-style:none;margin:0;padding:0;}
.syd-tracklist li{display:flex;justify-content:space-between;gap:20px;font-family:'JetBrains Mono',monospace;font-size:12px;
  padding:9px 0;border-bottom:1px solid #d8d4c5;}
.syd-tracklist li:last-child{border-bottom:none;}
.single-product .stock{display:inline-flex;align-items:center;gap:8px;font-family:'Oswald',sans-serif;font-size:12px;
  text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--black);padding:6px 12px;margin-bottom:20px;}
.single-product .stock.in-stock::before{content:"";width:8px;height:8px;background:#2c7a3f;border-radius:50%;display:inline-block;}
.single-product .stock.out-of-stock{
  display:inline-flex;align-items:center;gap:8px;font-family:'Oswald',sans-serif;font-size:12px;
  text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--black);padding:6px 12px;margin-bottom:20px;
  color:var(--black) !important;background:var(--paper);
}
.single-product .stock.out-of-stock::before{content:"";width:8px;height:8px;background:var(--black);border-radius:50%;display:inline-block;}
.woocommerce-breadcrumb{
  font-family:'Special Elite',monospace;font-size:11px;opacity:.6;text-transform:uppercase;
  letter-spacing:.03em;margin-bottom:20px;display:block;
}
.woocommerce-breadcrumb a{text-decoration:underline;}
.product_meta{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#3a382f;margin-top:24px;padding-top:16px;border-top:1px solid #d8d4c5;}
.product_meta a{text-decoration:underline;}
.related.products{clear:both;display:block;width:100%;margin-top:60px;padding-top:40px;border-top:4px solid var(--black);}
.related.products > h2{font-family:'Anton',sans-serif;font-size:clamp(26px,4vw,40px);text-transform:uppercase;margin:0 0 30px;}
.single-product form.cart .quantity input.qty{border:2px solid var(--black);height:48px;width:56px;text-align:center;
  font-family:'JetBrains Mono',monospace;font-weight:700;}
.single-product form.cart .single_add_to_cart_button{
  background:var(--black) !important;color:var(--white) !important;border:2px solid var(--black) !important;
  font-family:'Archivo Black',sans-serif !important;font-size:13px !important;text-transform:uppercase;letter-spacing:.03em;
  border-radius:0 !important;padding:14px 26px !important;
  clip-path:polygon(0 0,97% 0,100% 30%,100% 100%,3% 100%,0 70%);}
.single-product form.cart .single_add_to_cart_button:hover{background:var(--white) !important;color:var(--black) !important;}
.single-product .woocommerce-product-details__short-description{font-size:13px;line-height:1.8;color:#3a382f;}

/* --- cart page --- */
.woocommerce-cart table.cart{border-top:3px solid var(--black);border-collapse:collapse;width:100%;}
.woocommerce-cart table.cart th{font-family:'Oswald',sans-serif;font-size:11px;text-transform:uppercase;
  letter-spacing:.08em;opacity:.55;padding:12px 10px;text-align:left;border-bottom:2px solid var(--black);}
.woocommerce-cart table.cart td{padding:16px 10px;border-bottom:2px solid var(--black);vertical-align:middle;}
.woocommerce-cart table.cart img{border:3px solid var(--black);width:70px !important;}
.woocommerce-cart table.cart .product-name a{font-family:'Oswald',sans-serif;font-weight:600;font-size:14px;text-transform:uppercase;}
.woocommerce-cart table.cart .quantity input.qty{border:2px solid var(--black);height:38px;width:50px;text-align:center;font-family:'JetBrains Mono',monospace;}
.woocommerce-cart .cart-collaterals .cart_totals{border:3px solid var(--black);padding:28px;background:var(--paper);}
.woocommerce-cart .cart_totals h2{font-family:'Anton',sans-serif;font-size:26px;text-transform:uppercase;margin:0 0 20px;}
.woocommerce-cart .cart_totals table{width:100%;}
.woocommerce-cart .cart_totals table td,.woocommerce-cart .cart_totals table th{border:none;border-bottom:1px solid #ccc8ba;
  padding:10px 0;font-family:'JetBrains Mono',monospace;font-size:13px;}
.woocommerce-cart .cart_totals .order-total td,.woocommerce-cart .cart_totals .order-total th{
  border-top:2px solid var(--black);border-bottom:none;font-family:'Archivo Black',sans-serif;font-size:18px;padding-top:16px;}
.wc-proceed-to-checkout .checkout-button{
  display:block;width:100%;text-align:center;background:var(--black) !important;color:var(--white) !important;
  border:2px solid var(--black) !important;font-family:'Archivo Black',sans-serif !important;font-size:14px !important;
  text-transform:uppercase;letter-spacing:.03em;padding:17px !important;border-radius:0 !important;
  clip-path:polygon(0 0,97% 0,100% 20%,100% 100%,3% 100%,0 80%);}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--white) !important;color:var(--black) !important;}

/* ===== contact page ===== */
.contact-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:50px 24px 80px;}
.info-block{border-left:4px solid var(--black);padding-left:22px;margin-bottom:34px;}
.info-block h4{font-family:'Oswald',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;}
.info-block p,.info-block a{display:block;font-size:13px;line-height:1.6;color:#3a382f;text-decoration:none;}
.info-block a:hover{color:var(--black);text-decoration:underline;}
.hours-table div{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:12px;padding:8px 0;border-bottom:1px solid #d8d4c5;}
.hours-table .day{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.04em;}
.social-row{display:flex;gap:12px;margin-top:8px;}
.social-row a{border:2px solid var(--black);padding:9px 16px;font-family:'Oswald',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;}
.social-row a:hover{background:var(--black);color:var(--white);}
.contact-form-wrap{border:3px solid var(--black);padding:32px;background:var(--paper);}
.contact-form-wrap h3{font-family:'Anton',sans-serif;font-size:28px;text-transform:uppercase;margin:0 0 20px;}
.contact-form-wrap .field{margin-bottom:18px;}
.contact-form-wrap label{display:block;font-family:'Oswald',sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;}
.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select{
  width:100%;border:2px solid var(--black);background:var(--white);padding:12px;font-family:'JetBrains Mono',monospace;font-size:13px;}
.contact-form-wrap textarea{resize:vertical;min-height:110px;}
.contact-form-wrap .submit-btn{
  display:inline-flex;align-items:center;gap:10px;background:var(--black);color:var(--white);border:2px solid var(--black);
  font-family:'Archivo Black',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.03em;padding:15px 26px;
  cursor:pointer;margin-top:6px;clip-path:polygon(0 0,97% 0,100% 25%,100% 100%,3% 100%,0 75%);}
.contact-form-wrap .submit-btn:hover{background:var(--white);color:var(--black);}
.map-strip{max-width:1200px;margin:0 auto;padding:0 24px 70px;}
.map-box{border:3px solid var(--black);aspect-ratio:16/5;position:relative;overflow:hidden;
  background:repeating-linear-gradient(45deg,#e6e2d2 0 2px,#dcd8c8 2px 16px);display:flex;align-items:center;justify-content:center;}
.map-pin{font-family:'Archivo Black',sans-serif;text-align:center;position:relative;z-index:2;}
.map-pin .label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-top:6px;}
@media (max-width:820px){.contact-wrap{grid-template-columns:1fr;}}

/* ===== footer ===== */
.site-footer{background:var(--white);padding:50px 24px 26px;border-top:5px solid var(--black);}
.footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px;font-size:11.5px;max-width:1400px;margin:0 auto;}
.footer-columns h4{font-family:'Archivo Black',sans-serif;font-size:12px;text-transform:uppercase;margin:0 0 12px;letter-spacing:.04em;}
.footer-columns a{display:block;text-decoration:none;margin-bottom:6px;color:#4a4840;}
.footer-columns a:hover{color:var(--black);}
.footer-columns ul{list-style:none;margin:0;padding:0;}
.footer-bottom{border-top:2px solid #ccc8ba;margin-top:28px;padding-top:16px;text-align:center;
  font-family:'Special Elite',monospace;font-size:10px;letter-spacing:.05em;color:var(--grey);text-transform:uppercase;}
