/* AvidVinyl benefits-below-hero layout — Build 020 */

:root{
  --av-red:#ef171c;
  --av-purple:#74427f;
  --av-blue:#0759b8;
  --av-black:#101417;
}

.site-header{
  position:relative;
  z-index:30;
  width:100%;
  background:#fff;
}

.av-topbar{
  min-height:178px;
  padding:22px 34px;
  display:grid;
  grid-template-columns:34% 38% 28%;
  align-items:center;
  gap:34px;
  background:linear-gradient(105deg,var(--av-red) 0%,var(--av-purple) 49%,var(--av-blue) 100%);
}

.av-brand{
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none;
}

.av-brand img{
  display:block;
  width:min(100%,500px);
  max-height:126px;
  object-fit:contain;
  object-position:left center;
}

.av-search{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 67px;
}

.av-search input{
  width:100%;
  min-width:0;
  height:67px;
  padding:0 22px;
  border:0;
  border-radius:6px 0 0 6px;
  background:#fff;
  color:#444;
  font-size:18px;
  outline:none;
}

.av-search button{
  height:67px;
  border:0;
  border-radius:0 6px 6px 0;
  background:#05090d;
  color:#fff;
  font-size:35px;
  cursor:pointer;
}

.av-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:max-content;
  color:#fff;
}

.av-account,
.av-basket{
  min-height:84px;
  padding:0 29px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  background:transparent;
  border:0;
  font:500 17px/1.15 Georgia,"Times New Roman",serif;
  cursor:pointer;
}

.av-account{
  border-right:1px solid rgba(255,255,255,.48);
}

.av-account>span:first-child,
.av-basket>span:first-child{
  font-size:31px;
  line-height:1;
}

.av-basket strong{
  display:grid;
  place-items:center;
  min-width:27px;
  height:27px;
  padding:0 7px;
  border-radius:999px;
  background:#fff;
  color:#1f66b2;
  font:700 13px/1 Arial,sans-serif;
}

.av-nav{
  min-height:78px;
  padding:0 54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  overflow-x:auto;
  background:linear-gradient(90deg,#11161a,#0b0f12);
}

.av-nav a{
  position:relative;
  min-height:78px;
  display:flex;
  align-items:center;
  padding:0 4px;
  color:#fff;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  font:600 14px/1 Arial,sans-serif;
}

.av-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:13px;
  height:3px;
  background:#e51d23;
  transform:scaleX(0);
}

.av-nav a:hover::after,
.av-nav a.is-active::after{
  transform:scaleX(1);
}

/* Embedded hero artwork */
.av-approved-hero{
  width:100%;
  aspect-ratio:1536/503;
  min-height:0;
  margin:0;
  padding:0;
  background:#1b0d07 url("images/avidvinyl-hero-build-023.jpg") center/100% 100% no-repeat;
}

/* Benefits moved below the hero */
.av-benefits{
  min-height:137px;
  padding:20px 58px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#f6f6f6;
  border-bottom:1px solid #ddd;
}

.av-benefits>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:23px;
  padding:0 36px;
  color:#17191b;
}

.av-benefits>div+div{
  border-left:1px solid #b7b7b7;
}

.av-benefit-icon{
  flex:0 0 auto;
  font-size:32px;
}

.disc-icon{
  font-size:43px;
}

.av-benefits p{
  margin:0;
}

.av-benefits strong,
.av-benefits small{
  display:block;
}

.av-benefits strong{
  text-transform:uppercase;
  font:700 17px/1.2 Arial,sans-serif;
}

.av-benefits small{
  margin-top:7px;
  font:400 16px/1.2 Georgia,"Times New Roman",serif;
  color:#202326;
}

@media(max-width:1180px){
  .av-topbar{
    grid-template-columns:1fr auto;
    min-height:auto;
  }

  .av-search{
    grid-column:1/-1;
    grid-row:2;
  }

  .av-brand img{
    width:390px;
  }

  .av-nav{
    justify-content:flex-start;
  }
}

@media(max-width:760px){
  .av-topbar{
    padding:18px;
    gap:18px;
    grid-template-columns:1fr auto;
  }

  .av-brand img{
    width:250px;
  }

  .av-account{
    display:none;
  }

  .av-basket{
    padding:0 8px;
  }

  .av-basket span:nth-child(2){
    display:none;
  }

  .av-search{
    grid-template-columns:minmax(0,1fr) 58px;
  }

  .av-search input,
  .av-search button{
    height:54px;
  }

  .av-approved-hero{
    aspect-ratio:auto;
    min-height:430px;
    background-size:cover;
    background-position:center;
  }

  .av-benefits{
    grid-template-columns:1fr;
    padding:10px 18px;
  }

  .av-benefits>div{
    justify-content:flex-start;
    padding:16px 10px;
  }

  .av-benefits>div+div{
    border-left:0;
    border-top:1px solid #c7c7c7;
  }
}


/* Build 023 — final hero title refinement */
.av-approved-hero{
  background-image:url("images/avidvinyl-hero-build-023.jpg") !important;
  background-position:center !important;
  background-size:100% 100% !important;
}
@media(max-width:760px){
  .av-approved-hero{
    background-size:cover !important;
    background-position:center !important;
  }
}


/* Build 024 — header asset and alignment safeguards */
.av-brand img{
  display:block !important;
  width:min(100%,500px) !important;
  max-height:126px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.av-nav a,
.av-account,
.av-basket{
  visibility:visible !important;
  opacity:1 !important;
}

.av-actions{
  position:relative;
  z-index:2;
}

@media(max-width:1180px){
  .av-brand img{
    width:390px !important;
  }
}

@media(max-width:760px){
  .av-brand img{
    width:250px !important;
  }
}


/* =========================================================
   AvidVinyl Build 030 — Wimpy player surround
   ========================================================= */

/*
 * Let the player surround use the exact same background as its parent panel.
 * The Wimpy player itself is left unchanged.
 */
.audio-samples-panel{
  overflow:hidden;
}

.wimpy-player-shell{
  background:inherit !important;
  background-color:inherit !important;
  border-color:transparent !important;
  box-shadow:none !important;
  padding:clamp(20px,3vw,38px) !important;
}

.wimpy-player-scale{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  margin:0 auto !important;
}

.wimpy-player-shell::before,
.wimpy-player-shell::after,
.wimpy-player-scale::before,
.wimpy-player-scale::after{
  content:none !important;
  display:none !important;
}

/* Prevent an exposed contrasting strip around the embedded player. */
.wimpy-player-shell > div,
.wimpy-player-scale > div{
  background-color:transparent !important;
}

/* =========================================================
   AvidVinyl Build 038.4 — clearer separation between
   homepage search controls and product grid
   ========================================================= */
.wrap > .filters{
  margin-bottom:32px;
  padding:18px 0 30px;
  border-bottom:1px solid rgba(0,0,0,.14);
}

.wrap > .filters input,
.wrap > .filters select{
  border-color:#c9c1b6;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
}

.wrap > .grid{
  margin-top:6px;
}

@media(max-width:760px){
  .wrap > .filters{
    margin-bottom:24px;
    padding-bottom:24px;
  }
}


/* =========================================================
   AvidVinyl Build 038.6 — clean header without search box
   ========================================================= */
.av-topbar{
  grid-template-columns:minmax(0,1fr) auto;
  gap:48px;
  padding-left:40px;
  padding-right:52px;
}

.av-brand img{
  width:min(100%,560px) !important;
  max-height:140px !important;
}

.av-actions{
  justify-self:end;
  margin-left:auto;
}

@media(max-width:1180px){
  .av-topbar{
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    padding-left:28px;
    padding-right:34px;
  }

  .av-brand img{
    width:min(100%,440px) !important;
  }
}

@media(max-width:760px){
  .av-topbar{
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    padding:16px 18px;
  }

  .av-brand img{
    width:min(100%,250px) !important;
    max-height:110px !important;
  }

  .av-actions{
    margin-left:0;
  }
}

/* =========================================================
   AvidVinyl Build 038.7 — homepage product-card refinement
   Keeps existing product image dimensions and functionality.
   ========================================================= */
.wrap > .grid{
  align-items:stretch;
  gap:clamp(18px,2.2vw,28px);
}

.wrap > .grid .card{
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-color:rgba(70,55,42,.16);
  border-radius:9px;
  background:#fff;
  box-shadow:0 5px 18px rgba(45,35,27,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wrap > .grid .card:hover{
  transform:translateY(-3px);
  border-color:rgba(140,35,35,.24);
  box-shadow:0 10px 25px rgba(45,35,27,.11);
}

.wrap > .grid .image-wrap{
  overflow:hidden;
  background:#f8f6f2;
}

.wrap > .grid .image-wrap a{
  display:block;
  height:100%;
}

.wrap > .grid .image-wrap img{
  transition:transform .22s ease;
}

.wrap > .grid .card:hover .image-wrap img{
  transform:scale(1.018);
}

.wrap > .grid .card-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:20px 20px 18px;
}

.wrap > .grid .artist{
  margin:0 0 7px;
  font-size:1.12rem;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.01em;
}

.wrap > .grid .card h3{
  margin:0 0 13px;
  font-size:1rem;
  line-height:1.38;
  font-weight:650;
}

.wrap > .grid .meta{
  margin:0 0 7px;
  color:#6b625a;
  font-size:.91rem;
  line-height:1.45;
}

.wrap > .grid audio{
  width:100%;
  margin:10px 0 4px;
}

.wrap > .grid .buy-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:auto;
  padding-top:18px;
}

.wrap > .grid .buy-row > strong{
  color:#b52025;
  font-size:1.28rem;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}

.wrap > .grid .add{
  min-height:42px;
  padding:10px 16px;
  border-radius:6px;
  font-weight:750;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.wrap > .grid .add:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(0,0,0,.12);
  filter:brightness(.96);
}

.wrap > .grid .add:active{
  transform:translateY(0);
  box-shadow:none;
}

@media(max-width:760px){
  .wrap > .grid{
    gap:18px;
  }

  .wrap > .grid .card-body{
    padding:17px 16px 16px;
  }

  .wrap > .grid .artist{
    font-size:1.05rem;
  }

  .wrap > .grid .buy-row > strong{
    font-size:1.2rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .wrap > .grid .card,
  .wrap > .grid .image-wrap img,
  .wrap > .grid .add{
    transition:none;
  }

  .wrap > .grid .card:hover,
  .wrap > .grid .card:hover .image-wrap img,
  .wrap > .grid .add:hover{
    transform:none;
  }
}


/* =========================================================
   AvidVinyl Build 038.7.1 — premium price styling
   Dark charcoal price with a slightly smaller pound symbol.
   ========================================================= */
.wrap > .grid .buy-row > strong.av-card-price{
  color:#333333;
  font-size:1.28rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-.02em;
  white-space:nowrap;
}

.wrap > .grid .av-card-price .av-currency{
  display:inline-block;
  margin-right:.05em;
  font-size:.78em;
  font-weight:700;
  line-height:1;
  vertical-align:.08em;
}

@media(max-width:760px){
  .wrap > .grid .buy-row > strong.av-card-price{
    font-size:1.2rem;
  }
}

/* =========================================================
   AvidVinyl Build 071.0 — Mobile navigation wrap
   Keeps desktop navigation unchanged.
   ========================================================= */
@media(max-width:760px){
  .av-nav{
    min-height:auto;
    padding:8px 10px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:0 16px;
    overflow-x:visible;
  }

  .av-nav a{
    flex:0 0 auto;
    min-height:48px;
    padding:0 3px;
    font-size:12px;
    white-space:nowrap;
  }

  .av-nav a::after{
    bottom:6px;
  }
}
