/* Airvian cart drawer — restored from the original uploaded Vents & Covers theme behavior. */

.av-cart-trigger{
  position:relative;
  cursor:pointer;
}

.av-cart-count{
  position:absolute;
  right:-4px;
  top:-5px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:999px;
  background:var(--av-red);
  color:#fff;
  font-size:10px;
  font-weight:800;
  line-height:1;
}

.av-cart-count[hidden]{
  display:none!important;
}

.av-cart-drawer-open{
  overflow:hidden;
}

.av-cart-drawer-layer{
  position:fixed;
  inset:0;
  z-index:100000;
  visibility:hidden;
  pointer-events:none;
}

.av-cart-drawer-layer.is-open{
  visibility:visible;
  pointer-events:auto;
}

.av-cart-drawer-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,40,104,.38);
  opacity:0;
  transition:opacity .22s ease;
}

.av-cart-drawer-layer.is-open .av-cart-drawer-overlay{
  opacity:1;
}

.av-cart-drawer{
  position:absolute;
  top:0;
  right:0;
  display:flex;
  flex-direction:column;
  width:min(460px,100%);
  height:100%;
  background:#fff;
  box-shadow:-20px 0 54px rgba(0,40,104,.18);
  transform:translateX(100%);
  transition:transform .26s ease;
  outline:0;
}

.av-cart-drawer-layer.is-open .av-cart-drawer{
  transform:translateX(0);
}

.av-cart-drawer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-shrink:0;
  padding:22px 24px;
  border-bottom:1px solid var(--av-line);
}

.av-cart-drawer-header span{
  display:block;
  margin-bottom:3px;
  color:var(--av-red);
  font:800 11px/1.3 'IBM Plex Mono',monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.av-cart-drawer-header h2{
  margin:0;
  color:var(--av-navy);
  font-family:'Urbanist',sans-serif;
  font-size:28px;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.035em;
}

.av-cart-drawer-close{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--av-line);
  border-radius:50%;
  background:#fff;
  color:var(--av-navy);
  font:500 28px/1 'Urbanist',sans-serif;
  cursor:pointer;
}

.av-cart-drawer-close:hover{
  border-color:#b8c7d8;
  background:var(--av-soft);
}

.av-cart-drawer-content{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:24px;
  font-family:'Urbanist',sans-serif;
}

.av-cart-drawer-success[hidden]{
  display:none;
}

.av-cart-drawer-success{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:12px;
  align-items:center;
  margin-bottom:22px;
  padding:14px;
  border:1px solid #cfe2d3;
  border-radius:12px;
  background:#f2f8f3;
}

.av-cart-drawer-success>span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#26733a;
  color:#fff;
  font-weight:900;
}

.av-cart-drawer-success strong,
.av-cart-drawer-success small{
  display:block;
}

.av-cart-drawer-success strong{
  color:var(--av-navy);
  font-size:14px;
}

.av-cart-drawer-success small{
  margin-top:2px;
  color:var(--av-muted);
  font-size:12px;
}

.av-cart-drawer-items{
  display:block;
}

.av-cart-drawer-item{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  gap:16px;
  padding-bottom:22px;
  border-bottom:1px solid #e5eaf0;
}

.av-cart-drawer-item+.av-cart-drawer-item{
  padding-top:22px;
}

.av-cart-drawer-media{
  display:block;
  overflow:hidden;
  border:1px solid #e1e7ee;
  border-radius:12px;
  background:#f8fafc;
  text-decoration:none;
}

.av-cart-drawer-media img{
  display:block;
  width:108px!important;
  height:108px!important;
  object-fit:contain;
  background:#f8fafc;
}

.av-cart-drawer-name{
  display:block;
  margin-bottom:10px;
  color:var(--av-navy)!important;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
  text-decoration:none!important;
}

.av-cart-drawer-name:hover{
  color:var(--av-red)!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}

.av-cart-drawer-copy dl{
  display:grid;
  gap:5px;
  margin:0 0 10px;
}

.av-cart-drawer-copy dl>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.av-cart-drawer-copy dt,
.av-cart-drawer-copy dd{
  margin:0;
  font-size:12px;
}

.av-cart-drawer-copy dt{
  color:#718198;
}

.av-cart-drawer-copy dd{
  color:#263a58;
  font-weight:800;
  text-align:right;
}

.av-cart-drawer-item-price{
  color:var(--av-red);
  font-size:16px;
  font-weight:800;
}

.av-cart-drawer-measure-note{
  margin-top:20px;
  padding:14px 16px;
  border-left:3px solid var(--av-navy);
  border-radius:0 10px 10px 0;
  background:var(--av-soft-blue);
}

.av-cart-drawer-measure-note strong,
.av-cart-drawer-measure-note span,
.av-cart-drawer-measure-note a{
  display:block;
}

.av-cart-drawer-measure-note strong{
  margin-bottom:3px;
  color:var(--av-navy);
  font-size:13px;
}

.av-cart-drawer-measure-note span{
  color:var(--av-muted);
  font-size:12px;
  line-height:1.5;
}

.av-cart-drawer-measure-note a{
  margin-top:5px;
  color:var(--av-red)!important;
  font-size:12px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

.av-cart-drawer-subtotal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 0 16px;
}

.av-cart-drawer-subtotal span{
  color:#53647c;
  font-size:13px;
  font-weight:700;
}

.av-cart-drawer-subtotal strong{
  color:var(--av-navy);
  font-size:20px;
  font-weight:800;
}

.av-cart-drawer-actions{
  display:grid;
  gap:10px;
}

.av-drawer-primary,
.av-drawer-secondary{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 18px;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
  text-decoration:none!important;
}

.av-drawer-primary{
  border:1px solid var(--av-navy);
  background:var(--av-navy);
  color:#fff!important;
}

.av-drawer-primary:hover{
  border-color:var(--av-red);
  background:var(--av-red);
  color:#fff!important;
}

.av-drawer-secondary{
  border:1px solid #aebfd3;
  background:#fff;
  color:var(--av-navy)!important;
}

.av-drawer-secondary:hover{
  border-color:var(--av-navy);
}

.av-cart-drawer-continue{
  min-height:42px;
  padding:8px;
  border:0;
  background:transparent;
  color:var(--av-red);
  font:800 13px 'Urbanist',sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.av-cart-drawer-empty{
  display:flex;
  min-height:65vh;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px 10px;
  text-align:center;
}

.av-cart-drawer-empty-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin-bottom:20px;
  border:1px solid #dbe3ed;
  border-radius:16px;
  background:var(--av-soft-blue);
  color:var(--av-navy);
}

.av-cart-drawer-empty-icon svg{
  width:31px;
  height:31px;
}

.av-cart-drawer-empty>strong{
  margin-bottom:7px;
  color:var(--av-navy);
  font-size:22px;
  font-weight:800;
}

.av-cart-drawer-empty>span{
  max-width:320px;
  margin-bottom:22px;
  color:var(--av-muted);
  font-size:13px;
  line-height:1.55;
}

.av-cart-drawer-empty .av-drawer-primary{
  width:100%;
  max-width:300px;
}

.av-drawer-text-link{
  margin-top:14px;
  color:var(--av-red)!important;
  font-size:13px;
  font-weight:800;
}

.av-cart-error{
  grid-column:1/-1;
  margin-top:10px;
  padding:10px 12px;
  border-left:3px solid var(--av-red);
  background:#fff4f5;
  color:#8a1c29;
  font-size:13px;
}

.single_add_to_cart_button.is-adding{
  cursor:wait!important;
  opacity:.75;
}

@media(max-width:680px){
  .av-cart-drawer{
    top:auto;
    bottom:0;
    width:100%;
    height:auto;
    max-height:90dvh;
    border-top:1px solid var(--av-line);
    box-shadow:0 -20px 54px rgba(0,40,104,.18);
    transform:translateY(100%);
  }

  .av-cart-drawer-layer.is-open .av-cart-drawer{
    transform:translateY(0);
  }

  .av-cart-drawer-header,
  .av-cart-drawer-content{
    padding-left:18px;
    padding-right:18px;
  }

  .av-cart-drawer-item{
    grid-template-columns:88px minmax(0,1fr);
  }

  .av-cart-drawer-media img{
    width:88px!important;
    height:88px!important;
  }

  .av-cart-drawer-content{
    padding-bottom:calc(24px + env(safe-area-inset-bottom));
  }
}

@media(prefers-reduced-motion:reduce){
  .av-cart-drawer,
  .av-cart-drawer-overlay{
    transition:none!important;
  }
}
